单片机实验报告7584.pdf
《单片机实验报告7584.pdf》由会员分享,可在线阅读,更多相关《单片机实验报告7584.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录 一、实验一 1 二、实验二 7 三、实验三 11 四、实验四 15 实验一 定时/计数器验证实验 一、实验目的 熟悉定时/计数器T0的特点,学会合理选择定时方式并能根据具体情况结合软件的方式定时。二、实验设备及器件 IBM PC机 一台 PROTEUS 硬件仿真软件 Keil C51。三、实验内容 用AT89C51单片机的定时/计数器T0产生1s的定时时间,作为秒计数时间,当1s产生时秒计数加1;秒计数到60时,自动从0开始。四、实验要求 要求采用Proteus软件实现上述实验。五、实验步骤 1.打开Proteus ISIS编辑环境,按照表1-1所列的元件清单添加元件。元件名称 所属类
2、所属子类 AT89C51 Microprocessor 8051 Family CAP Capacitors Generic CAP-ELEC Capacitors Generic CRYSTAL Miscellaneous RES Resistors Generic 7SEG-COM-CAT-GRN Optoelectronics 7-Segment Displays PULLUP Modeling Primitives DigitalMiscellaneous 表 1-1 元件清单 元件全部添加后,在Proteus ISIS的编辑区域中按图1-1所示的原理图连接硬件电路。图1-1 电路原理
3、图 2.根据参考程序绘出流程图,并辅以适当的说明。流程图如图1-2所示:开始单片机数码管初始化设置定时器0初始化开中断是否有中断?进入中断程序送时间常数COUNT+1是否计够1秒?YN中断返回NSECOND+1是否等于60秒?YSECOND归零Y分离计数值十位个位N查表显示十位个位 图1-2 程序流程图 3.打开KeilVision4,新建Keil项目,选择AT89C51单片机作为CPU,将参考程序导入到“Source Group 1”中。在“Options for Target”对话窗口中,选中“Output”选项卡中的“Create HEX File”选项和“Debug”选项卡中的“Use
4、:Proteus VSM Simulator”选项。编译汇编源程序,改正程序中的错误。4.在Proteus ISIS中,选中AT89C51并单击鼠标左键,打开“Edit Component”对话窗口,设置单片机晶振频率为12MHz,在此窗口中的“Program File”栏中,选择先前用Keil生成的.HEX文件。在Proteus ISIS的菜单栏中选择“File”“Save Design”选项,保存设计,在Proteus ISIS的菜单栏中,打开“Debug”下拉菜单,在菜单中选中“Use Remote Debug Monitor”选项,以支持与Keil的联合调试。5.在Keil的菜单栏中选
5、择“Debug”“Start/Stop Debug Session“选项,或者直接单击工具栏中的“Debug”“Start/Stop Debug Session”图标,进入程序调试环境。按“F5”键,顺序运行程序。调出“Proteus ISIS”界面可以看到7段数码管显示从059s的计数值,每个数值显示1s,如图1-3所示。图 1-3 程序运行结果 六、实验程序 SECOND EQU 30H COUNT EQU 31H ORG 00H LJMP START ORG 0BH LJMP INT_T0 START:MOV SECOND,#00H MOV COUNT,#00H MOV DPTR,#TA
6、BLE CLR A MOV P0,A MOV P2,A MOV TMOD,#00H MOV TH0,#(65536-50000)/256 MOV TL0,#(65536-50000)MOD 256 SETB TR0 SETB ET0 SETB EA MOV IE,#82H LJMP$INT_T0:MOV TH0,#(65536-50000)/256 MOV TL0,#(65536-50000)MOD 256 INC COUNT MOV A,COUNT CJNE A,#20,I2 MOV COUNT,#00H INC SECOND MOV A,SECOND CJNE A,#60,I1 MOV S
7、ECOND,#00H I1:MOV A,SECOND MOV B,#10H DIV AB MOVC A,A+DPTR MOV P0,A MOV A,B MOVC A,A+DPTR MOV P2,A I2:RETI TABLE:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END 七、思考题 1.罗列一下Proteus软件的能带给我们的好处,指出一点最能帮助你的地方。使用Proteus软件能使我们方便的搭建电路,同时在没有元器件的情况下进行便于仿真,方便我们在将程序写入单片机前确认运行是否正确,同时可在采购器件之前即可开始开发产品,而不必等到器件采购
8、完后搭建电路才进行程序调试。2.用Proteus界面中的播放键运行仿真与KeilVision4的环境中联调运行它们两者的区别在什么地方 用Proteus界面中的播放键运行仿真仅可以观察运行结果,即程序运行在硬件表面上的表现。而联调的时候可以再Keil软件里查看各寄存器和存储器的状况,即硬件的内部情况。3.Keil软件软件仿真与Proteus的仿真对比。使用Proteus仿真可从硬件的角度观察仿真结果,使仿真结果更加形象直观,使我们可从硬件运行状态清楚的判断运行结果是否正确。而在Keil环境中则是从程序的角度通过观察程序中数据的变化来观察仿真结果,需要对程序运行结果充分了解。八、实验总结及相关问
9、题 通过本次实验了解了Ptoteus软件的使用方法,以及在掌握了Keil的使用方法下,学会了Proteus与Keil软件联调的方法。在用Proteus中由于忽略了要在总线处放置网络标号导致联调失败,最后通过观察发现数码管引脚电平无变化发现此问题,放置网络标号后运行仿真时数码管引脚电平发生变化可是数码管却没有变亮,经过多次检查接线,未发现接线错误后,觉得可能是软件本身错误,故将总线及数码管周围硬件线路重新绘制一遍后再次运行仿真及可得到图1-3的结果。实验二 单片机 I/O 口控制实验 一、实验目的 利用单片机的P1 口作IO 口,使同学学会利用P1 口作为输入和输出口。二、实验设备及器件 IBM
10、 PC 机 一台 单片机仿真器、编程器、实验仪三合一综合开发平台一台 三、实验内容 1.编写一段程序,用P1 口作为控制端口,使D1 区的LED 轮流亮。2.编写一段程序,用 口控制LED,控制LED 的亮和灭 接按键,按下时LED 亮,不按时LED 灭)。四、实验要求 学会使用单片机的P1 口作IO 口,如果有时间同学也可以利用P3 口作IO 口来做该实验。五、实验步骤 1.用导线把A2 区的J61 接口与D1 区的J52 接口相连。原理如图2-1 所示。图2-1 实验二原理图 2.先编写一个延时程序。延时程序见程序1子程序DELAY。3.将LED 轮流亮的程序编写完整并使用TKStudy
11、ICE 调试运行。LED轮流亮程序见程序1。调试运行结果:D1区LED轮流亮。4.使用导线把A2 区的J61 接口的 与D1 区的 J52 接口的LED1LED7 相连,另外A2 区J61 接口的 与D1 区的J53 的KEY1 相连。5.编写 控制LED 的程序,并调试运行。(按下K1 看是否全亮)。控制LED 的程序见程序2。调试运行结果:按下后D1区LED全灭。6.A2 区J61 接口的 与D1 区的J54 的SW1 相连。然后再使用TKStudy ICE 运行程序,查看结果。控制LED 的程序见程序2。调试运行结果:按下后D1区LED全亮。六、实验参考程序 程序 1:ORG 0000H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 报告 7584
限制150内