微机硬件实验报告.docx
《微机硬件实验报告.docx》由会员分享,可在线阅读,更多相关《微机硬件实验报告.docx(10页珍藏版)》请在冰豆网上搜索。
![微机硬件实验报告.docx](https://file1.bdocx.com/fileroot1/2022-12/9/6fad1cdc-5d2e-42fa-90c8-767d324a2722/6fad1cdc-5d2e-42fa-90c8-767d324a27221.gif)
微机硬件实验报告
微机硬件实验报告
篇一:
计算机硬件实验报告(6000字)
计算机硬件技术
实验报告
第四次和第五次实验
姓名:
李新基学号:
XX010630
实验班号:
23机器号:
39
目录
实验四.中断技术.............................................................................
.....................................3
一.实验目的.............................................................................
..........................................3
二.实验基本任务...............................................................................................................31.中断响应过程的理解.............................................................................
...............3
2.中断程序编程练习.............................................................................
.........................6
三、已完成的选作任务。
...........................................................................
........................8
1.6)(选做)去掉l4_int.c程序最后的那条无限循环语句,看看有什么现象?
可以去掉吗?
...........................................................................
................................................8
3.(选做)采用事件标志处理中断.............................................................................
......8
4.(选做)按键抖动处理.............................................................................
..................10
实验五.基本时钟和定时功能.............................................................................
...............11
一.实验目的.............................................................................
........................................11
二.实验基础任务。
.........................................................................................................111.数字示波器的使用..................................................................................................112.测试上电复位系统的aclk、和smclk时钟频
率............................................113.掌握基本时钟模块的编程控制..............................................................................124.dco出厂校验值的频率检测..................................................................................125.利用输出的时钟信号做中断源,实现定时功
能..................................................13
三.实验小结.............................................................................
........................................13
实验代码清单。
...........................................................................
..........................................14
实验
四。
...........................................................................
..................................................14
1..............................................................................
.........................................................14
1-5............................................................................
........................................................16
2..............................................................................
.........................................................18
2.思考题.............................................................................
.............................................21
3.改进版.............................................................................
.............................................24
3选作inta...........................................................................
...........................................28
3intb..........................................................................
......................................................29
4.原程序.............................................................................
.............................................31
4选作改进版.............................................................................
.....................................33
实验
五.............................................................................
....................................................
352............................................................................
.............
..............................................35
3..............................................................................
.........................................................36
4..............................................................................
.........................................................37
5..............................................................................
.........................................................38
实验四.中断技术
一.实验目的
1.了解中断原理,包括对中断源、中断向量、中断类型号、中断程序以及中断响应过程的理解;
2.掌握单片机c语言中断程序设计方法;
二.实验基本任务
1.中断响应过程的理解
阅读下面c语言中断程序l4_int.c(见后页),说明程序执行的流程和实现功能。
上机实践,回答下面问题,掌握用c语言编写中断程序的方法。
1)从程序如何判断用的是哪个中断源?
其中断类型号是多少?
将实验板上某一按键与该中断源对应的引脚相连,运行程序,操作按键,观察现象。
2)main函数中无调用函数buzz的语句,函数buzz如何能被执行?
何时会被执行?
据此描述中断响应过程。
3)如果port_int函数中不清分中断标志p1ifg的后果是什么?
4)如果l4_int.c中的port1_vector改为port2_vector,其他不变,程序执行的后果是什么?
为什么?
(可在关中断处加一断点,运行程序,看现象,分析原因)
5)如果中断源采用的是p1.5,按键用k7,请设计连线,修改l4_int.c程序完成以中断方式响应k7的操作。
问题回答:
1.程序执行的流程和实现功能。
流程:
主循环
实现功能:
当不进行任何操作时,l4不停闪烁,如果按下k2,则l4闪烁暂停,蜂鸣器响三次后,l4继续闪烁。
1)从p1out1=bit1;可判断出中断源为p1.1中断类型号为2。
现象为当不进行任何操作时,l4不停闪烁,如果按下k2,则l4闪烁暂停,蜂鸣器响三次后,l4继续闪烁。
2)程序中有中断向量设置,当中断信号发出时,blink被暂停,而buzz作为中断子程序被调用。
中断响应过程是指在收到中断源信号时,程序暂停主程序中正在操作的过程,优先执行中断子程序,等中断子程序完成后,再次转向主程序。
3)那样会使得中断子程序一直运行而不终止,从而系统无法回到主程序。
4)后果:
无法执行中断操作。
原因:
中断向量所表示的偏执地址与中断子程序地址不一致。
5)
2.中断程序编程练习
在实验板上用跳线将按键k5、k6分别与单片机的p1.4和p1.5相连,编程以中断方式响应按键k5和k6的请求:
当按下一次k5键,实验板上的蜂鸣器发出一警报声;当按下一次k6键,实验板上的发光二极管l1闪3次。
主循环中控制l7循环闪亮。
思考:
如果用长导线将按键k5、k6分别连接在p2.2和p2.5上,如何修改程序以实现任务2功能?
原题目的电路图如下所示。
思考题的电路图为:
三、已完成的选作任务。
1.6)(选做)去掉l4_int.c程序最后的那条无限循环语句,看看有什么现象?
可以去掉吗?
6)现象:
l4闪烁一下后不再闪烁,程序停止,即使再次按下k2,也不能使蜂鸣器发出声音。
3.(选做)采用事件标志处理中断
阅读程序l4_inta.c和l4_intb.c(见后页),描述其实现功能。
在实验板上将p1.0与一个按键的控制端相连,p1.7与蜂鸣器的控制端相连。
比较l4_inta.c和l4_intb.c
二者在编程实现上有何不同。
注意各自中断子程执行时间的长短。
用l4_intb.c的方法,改写任务2的编程。
l4-ina.c实现的功能是按下k1,蜂鸣器响一下,不按则不响。
l4-inb.c与l4-ina.c功能相同。
电路图如下。
l4-ina.c和l4-inb.c的电路图。
用l4-inb.c的方式编程,电路图为
4.(选做)按键抖动处理
程序l4_key.c见后页,其功能是用中断方式相应与p1.2连接的按键,计数按键的次数,并将所计的次数用8个发光二极管显示出来。
运行该程序,并操作按键,观察实际操作的次数与显示值之间的关系。
编程改进l4_key.c程序,用软件方式去除按键抖动的影响。
实际操作次数与显示值之间的关系是,显示值用二进制的方式表现实际操作次数。
电路图如下所示。
实验五.基本时钟和定时功能
一.实验目的
1.了解msp430gxxx基本时钟模块的工作原理,掌握其控制方法;
2.掌握利用时钟信号和中断技术实现定时功能的方法;
二.实验基础任务。
1.数字示波器的使用
1)将信号源的波形在示波器上显示出来,掌握测量周期、频率、峰峰值的方法;
2)用孔孔导线将实验板的地信号与示波器的地信号相连,测量实验板上的vcc电源信号是否正常。
测试结果为3.68v。
跟预期值相差不大。
2.测试上电复位系统的aclk、和smclk时钟频率
编程输出单片机上电复位后的aclk、和smclk时钟,用示波器测量其频率,并记录下来。
思考:
上电复位后,cpu工作的时钟信号mclk频率值是多少?
aclk的时钟频率是32.89khz。
smclk的时钟频率是1.149mhz。
思考题:
在上电复位以后,进入到viewregister观察,发现bcsctl2寄存器上selm位为00,sels位为0,因此,mclk的频率与smclk的频率一样,都是1.149mhz。
3.掌握基本时钟模块的编程控制
参看附录a实验板原理图,用跳线将jp8中的插针信号接到晶振32.768khz侧,使晶振与单片机的p2.6和p2.7相连。
编程控制基本时钟模块,设置aclk分别为下面时钟频率,并通过p1.0输出aclk,用示波器观察:
1)aclk=4096hz;(时钟源外部晶振,32768hz/8)
2)aclk=3khz;(时钟源vloclk,12khz/4)
思考:
可否编程在引脚p2.0上输出aclk?
为什么?
1)4098hz。
2)2.89khz。
思考题:
不能,p2引脚不具有输出辅助时钟的功能。
4.dco出厂校验值的频率检测
1)利用出厂校验值,编程使dco分别为1mhz、8mhz、12mhz、16mhz,通过p1.4输出,用示波器测量实际值。
1)dco为1mhz时,实际值为1.010mhz,
dco为8mhz时,实际值为8.065mhz,
dco为12mhz时,实际值为12.05mhz,dco为16mhz时,实际值为16.03mhz。
5.利用输出的时钟信号做中断源,实现定时功能
将任务3中p1.0输出的3khzaclk时钟信号,作为p1.5的中断申请信号,用导线将p1.5与p1.0相连即可,在中断子程中设置一个计数变量,计数中断子程被执行的次数,中断子程每被执行3000次表示一秒时间到。
利用该定时功能,将8个发光二级管设计成一个秒表,显示秒值,每秒改变一次8个发光二级管的显示。
思考:
如果要每隔10秒蜂鸣器响一声,如何在任务5的基础上编程实现?
思考题:
只需设置一个函数,执行十分度和二分度的相互转换,然后利用十分度的输出来控制蜂鸣器即可。
三.实验小结
这两次的实验内容基本上都是与硬件技术关系密切,从这两次的实验来看,计算机硬件这门课程中,c语言的学习只是一个辅助功能,更多的是考察我们对于本课程的理解和应用。
实验代码清单。
实验四。
1.
#includein430.h#includeio430.hvoiddelay()//延时函数{unsignedintj;for(j=0;j voidblink()//led闪{p2out&=~bit3;delay();
p2out|=bit3;delay();
}
voidbuzz()//蜂鸣响{unsignedinti;for(i=0;i篇二:
计算机硬件实验报告_第三次
实验6中断技术
姓名:
王悦昶学号:
XX010439实验班号:
周四第二节机器号:
16
一、实验目的
1、了解中断原理,包括对中断源、中断向量、中断类型号以及中断过程的理解;2、掌握汇编语言中断程序的设计方法;
3、(选作)了解C语言中断程序设计方法
二、实验基本任务
1、中断过程的理解
通过阅读汇编语言中断程序L6_P1_int.s43,说明程序执行的流程和实现的功能。
回答下列问题,了解用汇编语言编写中断程序的方法。
(1)、阅读程序L6_P1_int.s43,从程序中判断用的是哪一个中断源?
其中断类型号是多少?
设计将实验板上的某一按键与该中断源对应的引脚相连。
运行程序,操作按键,观察现象。
答:
从程序中可以判断出使用的是P1口作为中断源。
P1口的中断类型是4。
在中断子程中进行了触发中断的具体引脚的检测,当触发中断的是P1.1口的时候,将P2OUT寄存器中的数值取反。
烧写程序后,每按下KEY2键一次,8个LED灯的亮灭状态改变一次。
(2)、在L6_P1_int.s43中,没有CALL语句,中断程序如何被执行?
何时会被执行?
答:
中断程序只有在其对应的中断源被触发的时候才会执行。
中断程序的执行是由硬件控制的,与软件编程无关,硬件依次自动完成入栈保护断点、入栈保护SR、清零SR,从中断向量表中取中断向量值PC,转去执行中断服务子程序。
所以不需要CALL语句也可以实现;在本例中,当KEY2键被按下之后,执行中断程序。
(3)、在L6_P1_int.s43中,如果中断子程序中不清分中断标志P1IFG的后果是什么?
答:
如果不清除分中断标志,则不论是否再次按键,中断子程序会不断的被执行。
(4)、如果L6_P1_int.s43中的PORT1-VECTOR改为PORT2_VECTOR,其他不变,程序执行的后果是什么?
为什么?
答:
不会触发中断,因为做出上述语句更改后,中断源更改为了PORT2,而在程序的初始化语句段并没有对PORT2中断相关的寄存器进行设置,故不会有中断被触发。
(5)、如果去掉L6_P1_int.s43程序最后的那条无限循环语句,程序执行的流程是什么样子的?
为什么?
答:
执行到最后一句之后,EW430软件报错:
Thestackpointerforstack‘STACK’isoutsidethestackrange。
因为去掉无限循环语句之后,CPU找不到下一条需要执行的语句。
执行此程序所需硬件连线图如下(其中电源,晶振、复位、JTAG下载部分电路图在本实验中其余任务中都是相同的):
硬件原理图如下:
1
修改后的程序如下:
#include"msp430.h";#definecontrolledincludefile
NAMEmain;modulename
PUBLICmain;makethemainlabelvissibleoutsidethismodule
;中断向量表首地址+端口2中断向量符号偏址
DC16intP1;setport2vectorto'intP1'label
RSEGCSTACK;pre-declarationofsegment
RSEGCODE;placeprogramin'CODE'segment
init:
MOV#SFE(CSTACK),SP;setupstack
main:
NOP;mainprogram
MOV.W#WDTPW+WDTHOLD,&WDTCTL;Stopwatchdogtimer
DINT;禁止可屏蔽中断GIE=0
;设置P1为基本I/O功能MOV.B#0,&P1SEL
MOV.B#0,&P1OUT;置P1OUT初值为0
MOV.B#0xFF,&P1DIR;设置P1引脚为输出
BIC.B#BIT2,&P2SEL
BIC.B#BIT2,&P2DIR
BIS.B#BIT2,&P2IES
;允许可屏蔽中断GIE=1
2
;P2.2中断相关设置BIC.B#BIT2,&P2IFGBIS.B#BIT2,&P2IEEINT
JMP$;jumptocurrentlocation'$'(endlessloop)
;中断子程序intP1:
BIT.B#BIT2,&P2IFG
JZexit
INV.B&P2OUTBIC.B#BIT2,&P2IFG;清分中断标志位
exit:
RETI
END
修改后的程序进行烧写后,按下KEY7键,LED灯亮暗状态转换一次。
(7)、在中断子程序入口处设置一个断点,观察