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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机实验报告.docx

1、单片机实验报告实验五 外部中断实验1实验目的掌握外部中断的使用方法2实验内容INT0端接单次脉冲发生器。接一次脉冲产生一次中断,使P1.0反转,P1.0接LED灯,一查看信号反转。3实验要求根据实验内容编写一个程序,并在试验仪上调试和验证4实验说明1)外部中断的初始化设置共有三项内容:中断总允许EA=1 ,外部中断允许EXI=1,中断方式设置。2)中断服务的关键:A.保护进入中断的状态B.必须在中断服务中设定是否允许中断重入,即设置EX0位。C.用POP指令恢复中断时的现场3)中断控制原理:中断控制是提供给用户使用的中断控制手段。4)中断响应的过程:首先中断采样然后中断查询最后中断响应。5实验

2、预习要求学习教材的相关内容,根据实验要求画出程序流程图,写出试验程序。程序:LED BIT P1.0 org 0 ljmp Start org 3 ljmp Interrupt0 org 0100HStart: clr LED mov TCON, #01h ; 外部中断0下降沿触发 mov IE, #81h ; 打开外部中断允许位(EX0)及总中断允许位(EA)OK: ljmp OKInterrupt0: push PSW ; 保护现场 cpl LED ; 取反LED pop PSW ; 恢复现场 reti end6实验步骤1)用导线连接80C51MCU的INT0端到单次脉冲模块的任一输出端;

3、用导线连接80C51模块的P10端到八位逻辑电平显示模块的L0。2)用USB数据线连接计算机与试验箱的仿真接口(con2);将直流稳压电源的直流控制开关S1打到ON,将80C51MCU模块的电源钮子开关S2拨到上端。3)启动PC机,打开keil仿真软件,建立本实验的项目文件,输入源程序,用仿真器调式程序。4)观察发光二极管显示跑马灯效果,拨动K0可改变跑马灯的方向。5)把keil仿真软件生成的可执行文件(hex文件)用ISP下载器烧录到AT89s52芯片中运行,JP3跳线器置位上方(EA为高电平)。 实验七 74LS164串转并实验1实验目的掌握使用74LS164扩展输出的方法2实验内容使用7

4、4LS164串行输出数据到LED上显示3实验要求根据实验内容编写一个程序,并在实验仪上调试和验证4实验说明用单片机端口输出数据说时,用一个端口输出一个数据位,另一个端口输出移位脉冲。5实验预习要求学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。程序:A_B BIT P1.0 CLK BIT P1.1 CLR1 BIT P1.2 ORG 0 LJMP START ORG 0100HSTART: SETB CLR1 MOV R2,#8 mov a, #01HOutput1: call Output ; 输出左移 rl a call Delay djnz R2, Output1 mov

5、 A,#0FH ; 输出0FH call Output call Delay call Delay call Delay MOV R2,#8 mov a, #80HOutput2: call Output ; 输出右移 rr a call Delay djnz R2, Output2 mov A,#0F0H ; 输出F0H call Output call Delay call Delay call Delay Sjmp STARTOutput: PUSH ACC mov R3,#8Next: RRC A MOV A_B,C clr CLK setb CLK djnz r3, Next POP

6、 ACCRET Delay: MOV R7,#3DD1: MOV R6,#0FFHDD2: MOV R5,#0FFH DJNZ R5,$ DJNZ R6,DD2 DJNZ R7,DD1 RET END6实验步骤1)用导线分别连接80C52MCU模块的P10、P11、P12到74LS164模块的A/B、CLK、CLR 端;用8位数据线连接八位逻辑电平显示模块的JD1D4到74LS164模块的JD1C5。2)用USB数据线连接计算机与试验箱的仿真接口(con2);将直流稳压电源的直流控制开关S1打到ON,将80C51MCU模块的电源钮子开关S2拨到上端。3)启动PC机,打开keil仿真软件,建立本

7、实验的项目文件,输入源程序,用仿真器调式程序。4)观察发光二极管显示跑马灯效果,拨动K0可改变跑马灯的方向。5)把keil仿真软件生成的可执行文件(hex文件)用ISP下载器烧录到AT89s52芯片中运行,JP3跳线器置位上方(EA为高电平)。实验十 串行静态数码管显示实验1实验目的1.掌握静态 数码管显示的电路原理和驱动程序的编写。2.掌握数字、字符块转换成显示段码的软件译码方法。2实验内容使用五只74LS164组成五位静态数码管显示电路,在数码管上显示“80C51”的字符。3实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。4实验说明静态数码管显示电路由五只74LS164、五只共阴

8、极LED灯数码管组成。输入只有两个信号,他们是串行数据线DIN和移位信号CLK。五只74LS164首尾相连,每只74LS164的并行输出作为LED灯数码管的段码。5实验预习要求学习教材相关内容,根据实验要求画出程序流程图,写出实验程序。程序:DBUF EQU 30H TEMP EQU 40H DIN BIT P1.0 CLK BIT P1.1 ORG 0000H LJMP START ORG 0100HSTART: MOV DBUF,#8 MOV DBUF+1,#0 MOV DBUF+2,#0CH MOV DBUF+3,#5 MOV DBUF+4,#1;显示“80C51” DISP:MOV R

9、0, #DBUF MOV R1, #TEMP MOV R2, #5 DP10:MOV DPTR,#SEGTAB MOV A, R0 MOVC A, A+DPTR MOV R1, A INC R0 INC R1 DJNZ R2, DP10 MOV R0, #TEMP MOV R1, #5 DP12:MOV R2, #8 MOV A, R0 DP13:RLC A MOV DIN, C CLR CLK SETB CLK DJNZ R2, DP13 INC R0 DJNZ R1, DP12 OK: SJMP OKSEGTAB: DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H

10、,7FH,6FH,77H,7CH DB 39H,5EH,7BH,71H,00H,40H END6实验步骤1)用导线分别连接80C51MCU模块的P10、P11到静态数码管显示模块的DIN、CLK端。2)用USB数据线连接计算机与试验箱的仿真接口(con2);将直流稳压电源的直流控制开关S1打到ON,将80C51MCU模块的电源钮子开关S2拨到上端。3)启动PC机,打开keil仿真软件,建立本实验的项目文件,输入源程序,用仿真器调式程序。4)观察发光二极管显示跑马灯效果,拨动K0可改变跑马灯的方向。5)把keil仿真软件生成的可执行文件(hex文件)用ISP下载器烧录到AT89s52芯片中运行,

11、JP3跳线器置位上方(EA为高电平)。实验十一 动态扫描数码显示实验1实验目的1.掌握数字、字符转换成显示段码的软件译码方法。2.动态显示的原理和相关程序的编写。2实验内容使用六位动态数码管显示电路,在数码管上显示数字字符。3实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。4实验说明试验箱提供了六位动态数码管显示电路,由6个共阴极LED数码管及驱动芯片构成。动态显示,也称扫描显示,各位数码管相同笔画的段码连在一起,用一片74LS245驱动,每位数码管的共阴极由74LS06驱动。5实验预习要求学习教材的相关内容,根据实验要求画出程序流程图,写出实验内容。程序: DBUF EQU 30H

12、 TEMP EQU 40H ORG 0000H LJMP disp ORG 0100Hdisp: MOV 30h,#8 ; 低位 MOV 31h,#6 MOV 32h,#1 MOV 33h,#8 MOV 34h,#6 MOV 35h,#1 ; 高位 MOV R0,#DBUF MOV R1,#TEMP MOV R2,#6 MOV DPTR,#SEGTABDP00: MOV A,R0 MOVC A,A+DPTR MOV R1,A INC R1 INC R0 DJNZ R2,DP00DISP0: MOV R0,#TEMP MOV R1,#6 MOV R2,#1 DP01: MOV A,R0 MOV

13、P0,A ; 输出段码 MOV A,R2 MOV P1,A ; 输出位码 ACALL DELAY MOV A,R2 RL A MOV R2,A INC R0 DJNZ R1,DP01 SJMP DISPSEGTAB:DB 3FH,06H,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,07H,7FH,6FH,77H,7CH ;6,7,8,9,A,B DB 58H,5EH,7BH,71H,00H,40H ;C,D,E,F, ,-DELAY: MOV R4,#03HAA1: MOV R5,#0FFHAA: NOP NOP DJNZ R5,AA DJNZ R4,AA1 RET

14、 END6实验步骤1)用8位数据线分别连接80C51MCU模块的JD0、JD1到动态数码管显示模块的JD1A3、JD2A3.2)用USB数据线连接计算机与试验箱的仿真接口(con2);将直流稳压电源的直流控制开关S1打到ON,将80C51MCU模块的电源钮子开关S2拨到上端。3)启动PC机,打开keil仿真软件,建立本实验的项目文件,输入源程序,用仿真器调式程序。4)观察发光二极管显示跑马灯效果,拨动K0可改变跑马灯的方向。5)把keil仿真软件生成的可执行文件(hex文件)用ISP下载器烧录到AT89s52芯片中运行,JP3跳线器置位上方(EA为高电平)。实验十六 LED点阵汉字显示实验1实

15、验目的1.了解16*16矩阵LED显示的基本原理和功能。2.掌握16*16矩阵LED和单片机软件设计方法。2实验内容根据系统提供的电路,掌握16*16矩阵LED的工作原理,编程实现显示一个“箭头”从左向右滚动的效果。3实验要求 根据实验内容编写一个程序,并在实验仪上调试和验证。4实验说明以显示汉字“大”为例,来说明扫描原理:在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。如果8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。一般我们把它拆分为上部和下部,上部由8*16点阵组成。在本例中单片机首先显示的是左上角的第一列的上半部分。方向为P00到P

16、07,显示汉字“大”时,P05点亮,由上往下排列,为P0.0灭,P0.1灭,P0.2灭,P0.3灭,P0.4灭,P0.4灭,P0.5亮,P0.6灭,P0,7灭。即二进制00000100,转换成16进制为04H。上半部第一列完成后,继续扫描下一半部分的第一列,为了接线方便,我们仍设计成由上往下扫描,从P27向P20方向扫描,从上图可以看到,这一列全部为不亮,即为00000000,16进制00H。然后单片机转向上半部第二列,仍为P05点亮,为00000100,16进制04H。这一列完成后继续进行下半部分的扫描,P21点亮,为二进制00000010,即16进制02H。依照这个方法,继续进行下面的扫描

17、,一共扫描32个8位,可以得出汉字“大”。5实验预习要求学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。程序:LIN_A BIT P1.0 LIN_B BIT P1.1LIN_C BIT P1.2LIN_D BIT P1.3DIN BIT P1.5CLK BIT P1.6R_CLK BIT P1.7 ORG 0000H LJMP main ORG 0100Hmain: ; 主函数 USING 0 C0026: CLR A MOV R2,AC0028: CLR A MOV R5,AC0031: LCALL L0070 SETB R_CLK NOP CLR R_CLK MOV A,R

18、4 MOV DPTR,#tab1+01H MOVC A,A+DPTR MOV DPTR,#tab1 LCALL L0067 SETB R_CLK NOP INC R5 CJNE R5,#010H,C0031C0030: INC R2 CJNE R2,#064H,C0028C0029: CLR A MOV R2,AC0034: CLR A MOV R5,AC0037: LCALL L0070 SETB R_CLK NOP CLR R_CLK MOV A,R4 MOV DPTR,#tab2+01H MOVC A,A+DPTR MOV DPTR,#tab2 LCALL L0067 SETB R_CL

19、K NOP INC R5 CJNE R5,#010H,C0037C0036: INC R2 CJNE R2,#064H,C0034C0035: CLR A MOV R2,AC0040: CLR A MOV R5,AC0043: LCALL L0070 SETB R_CLK NOP CLR R_CLK MOV A,R4 MOV DPTR,#tab3+01H MOVC A,A+DPTR MOV R1,A MOV A,R4 MOV DPTR,#tab3 LCALL L0068 SETB R_CLK NOP INC R5 CJNE R5,#010H,C0043C0042: INC R2 CJNE R2

20、,#064H,C0040C0041: CLR A MOV R2,AC0046: MOV A,R2 CLR C SUBB A,#064H JNC C0026 CLR A MOV R5,AC0049: LCALL L0070 SETB R_CLK NOP CLR R_CLK MOV A,R4 MOV DPTR,#tab4+01H MOVC A,A+DPTR MOV R1,A MOV A,R4 MOV DPTR,#tab4 LCALL L0068 SETB R_CLK NOP INC R5 CJNE R5,#010H,C0049C0048: INC R2 SJMP C0046tab1: ;自DB 0

21、FEH, 0FFH, 0FEH, 07FH, 0FDH, 0FFH, 0E0H, 007H, 0EFH, 0F7H, 0EFH, 0F7H, 0E0H, 007H, 0EFH, 0F7HDB 0EFH, 0F7H, 0EFH, 0F7H, 0E0H, 007H, 0EFH, 0F7H, 0EFH, 0F7H, 0EFH, 0F7H, 0E0H, 007H, 0EFH, 0F7Htab2: ;强DB 0FFH, 0FFH, 086H, 007H, 0F6H, 0F7H, 0F6H, 0F7H, 086H, 007H, 0BFH, 0BFH, 0BCH, 003H, 0BDH, 0BBHDB 08

22、5H, 0BBH, 0F5H, 0BBH, 0F4H, 003H, 0F7H, 0BFH, 0F7H, 0B7H, 0F7H, 0BBH, 0D7H, 081H, 0ECH, 03BHtab3: ;不DB 0FFH, 0FBH, 080H, 001H, 0FEH, 07FH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FCH, 09FH, 0FAH, 0CFHDB 0F6H, 0E7H, 0EEH, 0F3H, 0DEH, 0F7H, 0BEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FFH, 0FFHtab4:

23、;息DB 0FEH, 0FFH, 0FDH, 0FFH, 0E0H, 00FH, 0EFH, 0EFH, 0E0H, 00FH, 0EFH, 0EFH, 0E0H, 00FH, 0EFH, 0EFHDB 0E0H, 00FH, 0FFH, 0FFH, 0F6H, 0FFH, 0D7H, 07BH, 0D7H, 06DH, 097H, 0EDH, 0F8H, 00FH, 0FFH, 0FFH; ; /= 发送数据 =/L0070: CLR R_CLK MOV A,R5 ADD A,ACC MOV R4,A MOV R7,#0FFH LCALL _DataOut MOV R7,#0FFH_Data

24、Out: CLR A MOV R6,AC0001: CLR CLK MOV A,R7 JNB ACC.0,C0004 SETB DIN SJMP C0005C0004: CLR DINC0005: NOP NOP SETB CLK NOP NOP MOV A,R7 ; dat=1; CLR C RRC A MOV R7,A INC R6 CJNE R6,#08H,C0001C0006: RET ; ; /= 设置行线 =/L0067: USING 0 MOV R1,A MOV A,R4L0068: MOVC A,A+DPTR MOV R3,A MOV R7,AR1 LCALL _DataOut

25、 MOV R7,AR3 LCALL _DataOut MOV R7,AR5_SetLin: MOV A,R7 CJNE A,#010H,C0053C0053: JC $ + 5H LJMP C0025 MOV DPTR,#C0054 MOV R0,A ADD A,R0 ADD A,R0 JMP A+DPTRC0054: LJMP C0008 LJMP C0009 LJMP C0010 LJMP C0011 LJMP C0012 LJMP C0013 LJMP C0014 LJMP C0015 LJMP C0016 LJMP C0017 LJMP C0018 LJMP C0019 LJMP C0

26、020 LJMP C0021 LJMP C0022 LJMP C0023C0008: CLR LIN_A SJMP C0055C0009: SETB LIN_AC0055: CLR LIN_B SJMP C0057C0010: CLR LIN_A SETB LIN_BC0056: SJMP C0057C0011: SETB LIN_A SETB LIN_BC0057: CLR LIN_C CLR LIN_D RET C0012: CLR LIN_A SJMP C0058C0013: SETB LIN_AC0058: CLR LIN_B SJMP C0060C0014: CLR LIN_A SE

27、TB LIN_BC0059: SJMP C0060C0015: SETB LIN_A SETB LIN_BC0060: SETB LIN_C CLR LIN_D RET C0016: CLR LIN_A SJMP C0061C0017: SETB LIN_AC0061: CLR LIN_B SJMP C0063C0018: CLR LIN_A SETB LIN_BC0062: SJMP C0063C0019: SETB LIN_A SETB LIN_BC0063: CLR LIN_C SETB LIN_D RET C0020: CLR LIN_A SJMP C0064C0021: SETB L

28、IN_AC0064: CLR LIN_B SJMP C0066C0022: CLR LIN_A SETB LIN_BC0065: SJMP C0066C0023: SETB LIN_A SETB LIN_BC0066: SETB LIN_C SETB LIN_DC0025: RET END6实验步骤1)用导线分别连接80C51MCU模块的P10、P11、P12、P13、P14、P15、P16、P17到LED点阵显示模块的A、B、C、D、DIN、CLK、OUT。2)SB数据线连接计算机与试验箱的仿真接口(con2);将直流稳压电源的直流控制开关S1打到ON,将80C51MCU模块的电源钮子开关S2拨到上端。3)PC机,打开keil仿真软件,建立本实验的项目文件,输入源程序,用仿真器调式程序。4)发光二极管显示跑马灯效果,拨动K0可改变跑马灯的方向。5)eil仿真软件生成的可执行文件(hex文件)用ISP下载器烧录到AT89s52芯片中运行,JP3跳线器置位上方(EA

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

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