ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:325.64KB ,
资源ID:6104775      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6104775.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机实验报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机实验报告.docx

1、单片机实验报告一、实验一1二、实验二7三、实验三11四、实验四15实验一 定时/计数器验证实验一、实验目的熟悉定时/计数器T0的特点,学会合理选择定时方式并能根据具体情况结合软件的方式定时。二、实验设备及器件 IBM PC机 一台 PROTEUS 硬件仿真软件 Keil C51。三、实验容用AT89C51单片机的定时/计数器T0产生1s的定时时间,作为秒计数时间,当1s产生时秒计数加1;秒计数到60时,自动从0开始。四、实验要求要求采用Proteus软件实现上述实验。 五、实验步骤 1.打开Proteus ISIS编辑环境,按照表1-1所列的元件清单添加元件。 元件名称所属类所属子类AT89C

2、51Microprocessor8051 FamilyCAPCapacitorsGenericCAP-ELECCapacitorsGenericCRYSTALMiscellaneousRESResistorsGeneric7SEG-COM-CAT-GRNOptoelectronics7-Segment DisplaysPULLUPModeling PrimitivesDigitalMiscellaneous表1-1 元件清单元件全部添加后,在Proteus ISIS的编辑区域中按图1-1所示的原理图连接硬件电路。图1-1 电路原理图2.根据参考程序绘出流程图,并辅以适当的说明。流程图如图1-2

3、所示:图1-2 程序流程图3.打开KeilVision4,新建Keil项目,选择AT89C51单片机作为CPU,将参考程序导入到“Source Group 1”中。在“Options for Target”对话窗口中,选中“Output”选项卡中的“Create HEX File”选项和“Debug”选项卡中的“Use:Proteus VSM Simulator”选项。编译汇编源程序,改正程序中的错误。4.在Proteus ISIS中,选中AT89C51并单击鼠标左键,打开“Edit Component”对话窗口,设置单片机晶振频率为12MHz,在此窗口中的“Program File”栏中,选

4、择先前用Keil生成的.HEX文件。在Proteus ISIS的菜单栏中选择“File”“Save Design”选项,保存设计,在Proteus ISIS的菜单栏中,打开“Debug”下拉菜单,在菜单中选中“Use Remote Debug Monitor”选项,以支持与Keil的联合调试。5.在Keil的菜单栏中选择“Debug”“Start/Stop Debug Session“选项,或者直接单击工具栏中的“Debug”“Start/Stop Debug Session”图标,进入程序调试环境。按“F5”键,顺序运行程序。调出“Proteus ISIS”界面可以看到7段数码管显示从059

5、s的计数值,每个数值显示1s,如图1-3所示。 图 1-3 程序运行结果六、实验程序SECOND EQU 30HCOUNT EQU 31H ORG 00H LJMP START ORG 0BH LJMP INT_T0START: MOV SECOND,#00H MOV COUNT,#00H MOV DPTR,#TABLE 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

6、$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 SECOND,#00HI1: MOV A,SECOND MOV B,#10H DIV AB MOVC A,A+DPTR MOV P0,A MOV A,B MOVC A,A+DPTR MOV P2,AI2: RETITABLE: DB 3FH,06H,5BH,4FH,66H DB 6D

7、H,7DH,07H,7FH,6FH END七、思考题 1.罗列一下Proteus软件的能带给我们的好处,指出一点最能帮助你的地方。 使用Proteus软件能使我们方便的搭建电路,同时在没有元器件的情况下进行便于仿真,方便我们在将程序写入单片机前确认运行是否正确,同时可在采购器件之前即可开始开发产品,而不必等到器件采购完后搭建电路才进行程序调试。2.用Proteus界面中的播放键运行仿真与KeilVision4的环境中联调运行它们两者的区别在什么地方? 用Proteus界面中的播放键运行仿真仅可以观察运行结果,即程序运行在硬件表面上的表现。而联调的时候可以再Keil软件里查看各寄存器和存储器的状

8、况,即硬件的部情况。3.Keil软件软件仿真与Proteus的仿真对比。 使用Proteus仿真可从硬件的角度观察仿真结果,使仿真结果更加形象直观,使我们可从硬件运行状态清楚的判断运行结果是否正确。而在Keil环境中则是从程序的角度通过观察程序中数据的变化来观察仿真结果,需要对程序运行结果充分了解。八、实验总结及相关问题通过本次实验了解了Ptoteus软件的使用方法,以及在掌握了Keil的使用方法下,学会了Proteus与Keil软件联调的方法。在用Proteus中由于忽略了要在总线处放置网络标号导致联调失败,最后通过观察发现数码管引脚电平无变化发现此问题,放置网络标号后运行仿真时数码管引脚电

9、平发生变化可是数码管却没有变亮,经过多次检查接线,未发现接线错误后,觉得可能是软件本身错误,故将总线及数码管周围硬件线路重新绘制一遍后再次运行仿真及可得到图1-3的结果。实验二 单片机I/O口控制实验一、实验目的 利用单片机的P1 口作IO 口,使同学学会利用P1 口作为输入和输出口。 二、实验设备及器件 IBM PC 机 一台 DP-51PRO.NET 单片机仿真器、编程器、实验仪三合一综合开发平台一台 三、实验容 1.编写一段程序,用P1 口作为控制端口,使D1 区的LED 轮流亮。 2.编写一段程序,用P1.0P1.6 口控制LED,P1.7 控制LED 的亮和灭(P1.7 接按键,按下

10、时LED 亮,不按时LED 灭) 。 四、实验要求 学会使用单片机的P1 口作IO 口,如果有时间同学也可以利用P3 口作IO 口来做该实验。 五、实验步骤 1.用导线把A2 区的J61 接口与D1 区的J52 接口相连。原理如图2-1 所示。 图2-1 实验二原理图2.先编写一个延时程序。延时程序见程序1子程序DELAY。 3.将LED 轮流亮的程序编写完整并使用TKStudy ICE 调试运行。 LED轮流亮程序见程序1。调试运行结果:D1区LED轮流亮。4.使用导线把A2 区的J61 接口的P1.0P1.6 与D1 区的 J52 接口的LED1LED7 相连,另外A2 区J61 接口的P

11、1.7 与D1 区的J53 的KEY1 相连。5.编写P1.7 控制LED 的程序,并调试运行。(按下K1 看是否全亮)。P1.7 控制LED 的程序见程序2。调试运行结果:按下P1.7后D1区LED全灭。6.A2 区J61 接口的P1.7 与D1 区的J54 的SW1 相连。然后再使用TKStudy ICE 运行程序,查看结果。 P1.7 控制LED 的程序见程序2。调试运行结果:按下P1.7后D1区LED全亮。六、实验参考程序 程序1:ORG 0000HLJMP MAINORG 0100HMAIN: MOV A,#0FFH CLR CMAINLOOP:CALL DELAY RLC A MO

12、V P1,A SJMP MAINLOOPDELAY: MOV R7,#0LOOP: MOV R6,#0 DJNZ R6,$ DJNZ R6,$ DJNZ R6,$ DJNZ R7,LOOP RET END程序2:ORG 000HLJMP MAINORG 0100HMAIN: P1.7,SETLEDCLRLED:CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 SJMP MAINSETLED:SETB P1.0 SETB P1.1 SETB P1.2 SETB P1.3 SETB P1.4 SETB P1.5 SETB

13、P1.6 SJMP MAIN END七、实验思考题 1.请同学思考一下,想出几个实现以上功能的编程方法。 程序1可利用单片机的定时计数器通过选择定时计数器工作方式和预置初值设定延时时间,通过定时计数器产生的中断在中断程序中对A进行移位后输出至P1口。程序2可在判断P1.7高低电平后根据判断结果直接将#80H或#7F直接送P1口而不必逐位进行位操作。2.请同学再思考一下,第二个程序中如果使用KEY1作为外部中断控制LED的亮和灭时,程序应如何修改。此时将KEY1接/INT0口,在主程序中开启外部中断设置外部中断触发方式,通过中断服务子程序控制LED亮灭。程序如下所示: ORG 000H LJMP

14、 MAIN ORG 0003H ;中断服务程序 LJMP SETLEDMAIN: MOV SP,#40H SETB ET0 ;开外部中断 CLR IT0 ;设置为电平触发 SETB EACLRLED:CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 SJMP CLRLEDSETLED:SETB P1.0 SETB P1.1 SETB P1.2 SETB P1.3 SETB P1.4 SETB P1.5 SETB P1.6 RETI END八、实验总结及相关问题通过本次实验掌握了使用TKStudy ICE进行硬件仿真调试

15、的方法,在设置仿真器驱动程序声明时对C:Keil目录下的Tools.ini文件添加描述时,由于添加的路径错误导致无法进行硬件仿真调试,修改为正确路径后方可在DEBUG窗口中的Use选项中找到对应的选项。使用TKStudy ICE进行硬件仿真调试相比本学期的电子系统设计中用到的调试方法更快捷,使用更方便。与此同时,通过本次实验对单片机的I/O控制有了更深入的了接,同时加深入对单片机I/O编程的理解。实验三 串转并I/O口实验一、实验目的 熟悉并掌握串转并的I/O口扩展方法。 二、实验设备及器件 IBM PC机 一台 DP-51PRO.NET单片机仿真器、编程器、实验仪三合一综合开发平台 一台 三

16、、实验容 1.写程序,通过单片机的P1口控制74HC164的串行输入端口,实现串并转换。 2.验证串并转换数据的正确性。 四、实验要求 熟悉串并转换芯片的工作原理,学会使用串并转换芯片扩展单片机的I/O口资源。表3-1 74HC164真值表五、实验步骤 1短接C5区JP10接口,将C5区J43接口与A2区J61接口的P10P13对应相连 (CLK对P10等等)。如图3-1所示。 图3-1 实验三原理图2 运行编写好的软件程序,完成一次串并转换。 实验程序见实验参考程序。2使用C2区的逻辑笔或D1区的J52接口(LED指示灯)测试并行输出数据Q0Q7数据的正确性。 调试运行结果:通过观察LED的

17、亮灭情况可判断完成一次串并转换,且转换结果正确无误。六、实验参考程序 CLK EQU P1.0DINA EQU P1.1DINB EQU P1.2CLR164 EQU P1.3ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,#60H NOP CLR CLK SETB DINB CLR CLR164 SETB CLR164 MOV A,#0FFH MOV R4,#08HSLCHG: RLC A MOV DINA,C SETB CLK NOP CLR CLK NOP DJNZ R4,SLCHG SJMP $ END七、 实验思考题 参考图3-2电路图,尝试编写软件程

18、序,实现8位LED流水灯的控制。图3.2 实验原理图可利用单片机的定时计数器通过选择定时计数器工作方式和预置初值设定延时时间,通过定时计数器产生的中断在中断程序中对A进行移位。程序如下所示: CLK EQU P1.0 DINA EQU P1.1 DINB EQU P1.2 CLR164 EQU P1.3 ORG 0000H LJMP MAIN ORG 000BH ;定时器0中断服务程序 LJMP SLCHGMAIN: MOV SP,#60H NOP CLR CLK SETB DINB CLR CLR164 SETB CLR164 MOV A,#0FFH MOV TMOD,#01H ;定时器0工

19、作方式1 MOV TH0,#18H ;送2ms时间常数 MOV TL0,#0FCH SETB TR0 ;开中断 SETB ET0 SETB EA SJMP $SLCHG: MOV TH0,#18H MOV TL0,#0FCH RLC A MOV DINA,C SETB CLK NOP CLR CLK RETI END八、实验总结及相关问题由于具有之前实验的基础所以本实验基本没碰到什么问题,调试运行都符合实验要求,通过本次实验对串并转化程序的编写有了一定了解,通过编写流水灯程序加深了对单片机串并口的了解。实验四 继电器控制实验一、 实验目的 加深理解继电器的工作原理和特点,掌握利用单片机的IO口

20、控制继电器的一般方法。 二、 实验设备及器件 IBM PC机 一台 DP-51PRO.NET单片机仿真器、编程器、实验仪三合一综合开发平台 一台 三、实验容 1.利用D1区的拨动开关和LED,学习继电器的工作原理和特点。 2.编写一段程序,用P1.0口控制继电器,继电器控制LED的亮和灭,(COM与CLOSE连通时,一盏LED亮;不连通时该LED灭。COM与OPEN连通时,另一盏LED亮,不通时该LED灭)。 四、实验要求 学会继电器的使用和利用单片机的IO口控制继电器的方法。 五、实验步骤 图4-1 继电器驱动控制电路图1.用短路帽短接JP7,使用导线把D1区J54接口的SW1与C7区J9接

21、口的KJ(任意一根针)相连接。 2.使用导线把D1区J52接口的LED1、LED2与C7区J103接口的OPEN1,CLOSE1分别相连,另外C7区J103接口的COM1接地(GND)。 3.接好线后,同学可以拨动D1区的SW1拨动开关,观察现象(拨到1时LED2亮,拨到0时LED1亮),并得出结论。 运行结果:拨到1时LED2亮,拨到0时LED1亮,说明每拨动一次开关改变一次继电器的状态。4.然后把C7 区J9 接口的KJ 改接到A2 区的J61 接口的P10。再编写一个程序程序(参考实验二), 使P1.0 口延时一段时间后改变电平值,来控制继电器的开关。 实验程序见实验参考程序。调试运行结

22、果:两个LED交替变亮,继电器状态不断改变。六、实验参考程序 ORG 0000HLJMP MAINORG 0100HMAIN: MOV R7,#0LOOP: MOV R6,#0 DJNZ R6,$ DJNZ R6,$ DJNZ R6,$ DJNZ R7,LOOP CPL P1.0 SJMP MAIN END七、实验思考题 1.请同学思考一下,改由OPEN2、COM2、CLOSE2时本实验如何进行。 同使用OPEN1、COM1和CLOSE1时连接方法类似,把D1区J52接口的LED1、LED2与C7区J103接口的OPEN2,CLOSE2分别相连,另外C7区J103接口的COM2接地(GND)即

23、可。2.请同学再思考一下,继电器的用途,并举例说明。继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。按照其工作原理可有以下应用:电磁继电器固体继电器温度继电器舌簧继电器时间继电器高频继电器极化继电器其他类型的继电器八、实验总结及相关问题由于具有之前实验的基础所以本实验基本没碰到什么问题,调试运行都符合实验要求,通过本次实验了解了继电器的控制方法。对继电器这一器件有了一定了解。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1