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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

南昌大学单片机实验报告DOC.docx

1、南昌大学单片机实验报告DOC实验一 I/O 口输入输出实验一、 实验目的掌握单片机P1 口、P3 口的使用方法。二、 实验内容以P1 口为输出口,接八位逻辑电平显示, LED显示跑马灯效果。以 P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。三、 实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。四、 实验步骤1) 系统各跳线器处在初始设置状态。 用导线连接八位逻辑电平输出模块的 K0到CPU模 块的RXDP3.0 口);用8位数据线连接八位逻辑电平显示模块的 JD4B到CPU模块JD8(P1 口)。2) 启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译

2、无误后,下载 程序运行。3) 观察发光二极管显示跑马灯效果,拨动 K0可改变跑马灯的方向。五、 实验参考程序;*;文件名:Port for MCU51;功能:I/O 口输入、输出实验;接线:用导线连接八位逻辑电平输出模块的 K0到CPU模块的RXD( P3.0 口); ;用8位数据线连接八位逻辑电平显示模块的 JD2B到CPU模块的JD8(P1 口)。;/*DIR BIT P3.0ORG 0000HLJMP STARTORG 0100HSTART:OUTPUT1:MOV A, #0FEHMOV R5, #8LOOP1: CLR CMOV C,DIRJC 0UTPUT2MOV P1, ARL A

3、ACALL DELAYDJNZ R5, LOOP1SJMP OUTPUT1OUTPUT2:MOV A, #07FHMOV R5, #8LOOP2:CLR CMOV C,DIRJNC OUTPUT1MOV P1, ARR AACALL DELAYDJNZ R5,LOOP2SJMP OUTPUT2DELAY:MOV R6,#0DELAYLOOP1:MOV R7,#0DELAYLOOP2:NOPNOPDJNZ R7,DELAYLOOP2DJNZ R6,DELAYLOOP1RETEND六、 实验结果当八位逻辑电平的 K0拨到上方,即输出高电平时,实验箱B5区的八个LED灯从左至 右循环点亮,当 K0拨

4、到下方,即输出低电平时,八个 LED灯从右至左循环点亮。七、 结果分析程序通过查询方式不断检测 P3.0 口的输入状态,当 P3.0输入为0时,由P1 口通过左移指令RL轮流输出低电平驱动 LED发光,在左移时通过软件延时控制 LED亮的时间;当P3.0输入为1时,由P1 口通过右移指令 RR轮流输出低电平驱动 LED发光,在右移时同样 通过软件延时控制 LED亮的时间,如此循环扫描查询,便可实现流水灯的效果。实验二外部中断实验一、 实验目的学习外部中断技术的基本使用方法。二、 实验内容INTO端接单次脉冲发生器。按一次脉冲产生一次中断, CPU使P1.0状态发生一次反转,P1.0接LED灯,

5、以查看信号反转。三、 实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。四、 实验步骤1) 系统各跳线器处在初始设置状态,用导线连接单次脉冲模块的输出端到 CPU模块的 P32; CPU模块的P10接八位逻辑电平显示模块的灯。2) 启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载 程序运行。3) 连续按动单次脉冲产生电路的按键,发光二极管 L0每按一次状态取反,即隔一次点五、实验参考程序;*;文件名:EXi nt for MCU51;功能:外部中断实验;接线:导线连接单次脉冲模块的输出端到 CPU模块的P32,;CPU模块的P10接八位逻辑电平显示模块的

6、 L0灯。;*LED BIT P1.0LEDBUF BIT 20HORG 0LJMP STARTORG 3INTERRUPT0:PUSH PSW ;保护现场CPL LEDBUF ;取反 LEDMOV C, LEDBUFMOV LED, CPOP PSW ;恢复现场RETISTART:CLR LEDBUFCLR LEDMOV TCON, #01H ;外部中断0下降沿触发MOV IE, #81H ;打开外部中断允许位(EX0)及总中断允许位(EA)OK: LJMP OKEND六、 实验结果每按下E3区的单次脉冲触发按钮时, B5区的发光二极管状态取反一次,即原来是亮按下时灭,原来是灭则按下时亮。七

7、、 结果分析程序由外部中断0实现,外部中断0由下降沿触发,外部输入由单次脉冲触发器输入, 每次按下按钮时会触发单次脉冲, 产生一个下降沿,从而使程序产生中断, 在中断服务函数的程序里面对P1.0取反,由P1.0驱动LED,就可实现本实验的功能。实验三定时/计数器实验一、 实验目的学习MCS-51内部计数器的使用和编程方法。二、 实验内容使用MCS-51内部定时/计数器,定时一秒钟,CPU运用定时中断方式, 实现每一秒钟输出状态发生一次反转,即发光管每隔一秒钟亮一次。三、 实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。四、 实验步骤1) 系统各跳线器处在初始设置状态, 用导线连接CP

8、U模块P10到八位逻辑电平显示模块 的L0。2) 启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载程 序运行。3) 运行程序观察发光二极管隔一秒点亮一次,点亮时间为一秒。五、 实验参考程序;/*;文件名:TIMER FOR MCU51;功能:定时/计数器实验;接线:导线连接CPU莫块P10到八位逻辑电平显示模块的 L0.;/*TICK EQU 10000 ; 10000 X 100US = 1ST100US EQU 156 ; 100US 时间常数(6M)C100US EQU 30H ; 100US 记数单元LEDBUF BIT 20HORG 0LJMP STA

9、RTORG 000BHT0INT:PUSH PSWMOV A, C100US+1JNZ GOONDEC C100USGOON:DECC100US+1MOVA, C100USORLA, C100US+1JNZEXIT ; 100US记数器不为0,返回MOVC100US, #27H ; #HIGH(TICK)MOVC100US+1, #10H ; #LOW(TICK)CPLLEDBUF ; 100US记数器为0,重置记数器取反LEDEXIT:POPRETIPSWSTART:MOVTMOD, #02H; 方式2,定时器MOVTH0, #T100USMOVTL0, #T100USMOVIE,#1000

10、0010B;EA=1, IT0 = 1SETBTR0 ;开始定时CLRLEDBUFCLRP1.0MOVC100US, #27H;#HIGH(TICK)MOVC100US+1, #10H;#LOW(TICK)LOOP:MOVC, LEDBUFMOVP1.0, CLJMPLOOPEND六、 实验结果运行程序之后,B5区的发光二极管 L0隔一秒点亮一次,每次点亮时间为一秒。七、 结果分析本实验通过定时器 0的方式2实现精确定时,但定时器的最长定时时间达不到一秒, 所 以通过一个时间变量实现,总的定时时间等于定时器定时时间乘以时间变量初值, 这样就可实现一秒的定时,程序通过扫描不断检测时间变量的值,当

11、定时时间一秒到时,对 P1.0的状态取反,实现L0每隔一秒亮一次。实验四 交通灯控制实验一、 实验目的掌握十字路口交通灯控制方法。二、 实验内容利用系统提供的双色LED显示电路,和四位静态数码管显示电路模拟十字路口交通信号 灯。4位LED数码管显示时间,LED显示红绿灯状态。三、 实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。四、 实验步骤1) 系统各跳线器处在初始设置状态。 P10同时接G1、G3; P11同时接R1、R3; P1.2同 时接G2 G4; P1.3同时接R2 R4; P1.6、P1.7分别接静态数码显示的 DIN、CLK2) 启动PC机,打开THGMW-51软件,

12、输入源程序,并编译源程序。编译无误后,下载程 序运行。3)观察十字路口交通灯效果。五、实验参考程序*;文件名:交通灯程序FOR MCU51;功能:双色LED模拟交通灯信号,并通过调用静态数码显示状态时间。;接线:P1.0 同时接 G1、G3, P1.1 接R1、R3,P1.2接G2、G4, P1.3 同时接 R2、R4, ;P1.6、P1.7接静态数码显示的 DIN、CLK / *SECOND1 EQU 30H ;东西秒寄存器SECOND2 EQU 31H ;南北秒寄存器DBUF EQU 40H ;显示缓冲1TEMP EQU 44H ;显示缓冲2LED_G1 BIT P1.0 ;东西绿灯LED

13、_R1 BIT P1.1 ;东西红灯LED_G2 BIT P1.2 ;南北绿灯LED_R2 BIT P1.3 ;南北红灯DIN BIT P1.6 ;串行显示数据CLK BIT P1.7 ;串行显示时钟ORG 0000HLJMP STARTORG 0100HSTART:LCALL STATE0 ;调用状态0LCALL DELAY ;调用延时MOV TMOD,#01H ;置T0工作方式1MOV TH0, #3CH ;置T0定时初值50MSMOV TL0, #0B0HSETB TR0 ;启动T0CLR EALOOP: MOV R2,#20 ;置1S计数初值 50MS*20=1SMOV R3,#20

14、;红灯20SMOV SECOND1,#25 ;东西秒显示初值25SMOV SECOND2,#25 ;南北秒显示初值25SLCALL DISPLAYLCALL STATE1 ;调用状态1WAIT1: JNB TF0,WAIT1 ;查询50M倒否CLR TF0MOV TH0, #3CH ;恢复T0定时初值50MSMOV TL0, #0B0HSETB TR0 ;启动T0DJNZ R2,WAIT1 ;判1S到否?未到继续状态1MOV R2,#20 ;置50MS十数初值DEC SECOND1东西秒显示减一南北秒显示减一DEC SECOND2LCALL DISPLAYDJNZ R3,WAIT1 ;MOV

15、R2,#5 ;MOV R3,#3 ;MOV R4,#4 ;MOV SECOND1,#5MOV SECOND2,#5LCALL DISPLAYWAIT2: LCALL STATE2JNB TF0,WAIT2 ;CLR TF0MOV TH0, #3CH ;MOV TL0, #0B0HDJNZ R4,WAIT2 ;CPL LED_G1 ;MOV R4,#4 ;DJNZ R2,WAIT2 ;MOV R2,#5 ;DEC SECOND1状态1维持20S置50MS+数初值5*4=20绿灯闪3S闪烁间隔200MS东西秒显示初值5S南北秒显示初值5S调用状态2查询50M倒否恢复TO定时初值50MS判200MS

16、1U否?未到继续状态2东西绿灯闪闪烁间隔200MS判1S到否?未到继续状态2置50MS十数初值东西秒显示减一南北秒显示减一DEC SECOND2LCALL DISPLAYDJNZR3,WAIT2 ;状态2维持3SMOVR2,#20 ;置50MS十数初值MOVR3,#2 ;黄灯2SMOVSECOND1,#2 ;东西秒显示初值2SMOVSECOND2,#2 ;南北秒显示初值2SLCALL.DISPLAYWAIT3: LCALL STATE3 ;调用状态3JNBTF0,WAIT3 ;查询30M倒否CLRTF0MOVTH0, #3CH ;恢复TO定时初值50MSMOVTL0, #0B0HDJNZR2,

17、WAIT3 ;判1S到否?未到继续状态3MOVR2,#20 ;置50MS十数初值DECSECOND1 ;东西秒显示减一DECSECOND2 ;南北秒显示减一LCALL.DISPLAYDJNZR3,WAIT3 ;状态3维持2SMOVR2,#20 ;置50MS十数初值MOVR3,#20 ;红灯20SMOVSECOND1,#25 ;东西秒显示初值25SMOVSECOND2,#25 ;南北秒显示初值25SLCALL.DISPLAYWAIT4: LCALL STATE4 ;调用状态4JNBTF0,WAIT4 ;查询50M倒否CLRTF0MOVTH0, #3CH ;恢复T0定时初值50MSMOVTL0,

18、#0B0HDJNZR2,WAIT4 ;判1S到否?未到继续状态4MOVR2,#20 ;置50MS十数初值DECSECOND1 ;东西秒显示减一DECSECOND2 ;南北秒显示减一LCALL.DISPLAYDJNZR3,WAIT4 ;状态4维持20SMOVR2,#5 ;置50MS十数初值5*4=20MOVR4,#4 ;闪烁间隔200MSMOVR3,#3 ;绿灯闪3SMOVSECOND1,#5 ;东西秒显示初值5SMOVSECOND2,#5 ;南北秒显示初值5SLCALL.DISPLAYWAIT5: LCALL STATE5 ;调用状态5JNBTF0,WAIT5 ;查询50M倒否CLRTF0MO

19、VTH0, #3CH ;恢复T0定时初值100MSMOVTL0, #0B0HDJNZR4,WAIT5 ;判200MS1U否?未到继续状态CPLLED_G2 ;南北绿灯闪MOVR4,#4 ;闪烁200MSDJNZR2,WAIT5 ;判1S到否?未到继续状态5MOVR2,#5 ;置100MS十数初值DECSECOND1 ;东西秒显示减一DECSECOND2 ;南北秒显示减一LCALLDISPLAYDJNZR3,WAIT5 ;状态5维持3SMOVR2,#20 ;置50MS十数初值MOVR3,#2 ;黄灯2SMOVSECOND1,#2 ;东西秒显示初值2SMOVSECOND2,#2 ;南北秒显示初值2

20、SLCALL DISPLAYWAIT6: LCALL STATE6 ; 调用状态 6JNBTF0,WAIT6 ;查询100M倒否CLRTF0MOVTH0, #3CH ;恢复TO定时初值100MSMOVTL0, #0B0HDJNZR2,WAIT6 ;判1S到否?未到继续状态6MOVR2,#20 ;置100MS十数初值DECSECOND1 ;东西秒显示减一DECSECOND2 ;南北秒显示减一LCALL DISPLAYDJNZR3,WAIT6 ;状态6维持2SLJMPLOOP ;大循环STATE0:J状态0MOVP1,#0CLRLED_G1SETBLED_R1 ;东西红灯亮CLRLED_G2SET

21、BLED_R2 ;南北红灯亮RETSTATE1:J状态1SETBLED_G1 ;东西绿灯亮CLRLED_R1CLRLED_G2SETBLED_R2 ;南北红灯亮RETSTATE2:J状态2CLRLED_R1CLRLED_G2SETBLED_R2 ;南北红灯亮STATE3:SETBJLED_G1状态3SETBLED_R1 ;东西黄灯亮CLRLED_G2SETBLED_R2 ;南北红灯亮RETSTATE4:J状态4CLRLED_G1SETBLED_R1 ;东西红灯亮SETBLED_G2 ;南北绿灯亮CLRLED_R2RETSTATE5:J状态5CLRLED_G1SETBLED_R1 ;东西红灯亮C

22、LRLED_R2RETSTATE6:J状态6CLRLED_G1SETBLED_R1 ;东西红灯亮SETBLED_G2SETBLED_R2 ;南北黄灯亮RETDISPLAY:J数码显示MOVA, SECOND1 ;东西秒寄存器MOVB, #10 ;16进制数拆成两个DIV ,ABMOVDBUF+1,AMOVA,BMOVDBUF, AMOVA, SECOND2 ;南北秒寄存器MOVB, #10 ;16进制数拆成两个DIV ,ABMOVDBUF+3, AMOVA,BMOVDBUF+2, AMOVR0,#DBUFRET10进制数10进制数MOV R1,#TEMPMOV R7,#4DP10: MOV D

23、PTR,#LEDMAPMOV A,R0MOVC A,A+DPTRMOV R1,AINC ROINC R1DJNZ R7,DP10MOVR0,#TEMPMOVR1,#4DP12:MOVR7,#8MOVA,R0DP13:RLCAMOVDIN,CCLRCLKSETBCLKDJNZR7,DP13INC 1R0DJNZR1,DP12RETLEDMAP: DB 3FH,6,5BH,4FH,66H,6DH ;O , 1 , 2, 3, 4, 5DB 7DH,7,7FH,6FH,77H,7CH ;6 , 7, 8, 9, A, BDB 58H,5EH,7BH,71H,0,40H ;C , D, E, F,-D

24、ELAY: MOV R5, #5DL00P0:M0V R6, #0DLOOP1:MOV R7, #0DLOOP2:NOPNOPDJNZ R7, DLOOP2DJNZ R6, DLOOP1DJNZ R5, DLOOP0RETEND六、实验结果程序开始运行后,B5区模拟的东西红灯亮,南北绿灯亮,同时两个方向的数码管分别从25秒开始倒计时,当倒计时到 5秒时,南北绿灯闪亮 3秒后变黄,再过2秒,即倒计时 到0时,变为东西绿灯亮,南北红灯亮,同时两个方向的数码管分别同时从 25秒开始倒计时,但倒计时到5秒时,东西绿灯闪亮3秒后变黄,再过2秒之后又回到初始状态,继续循 环运行。七、结果分析本实验通过双色

25、的 LED模拟交通灯的显示状态,并用静态数码管结合定时器实现定时 及显示功能,将交通灯的显示分为六个不同的状态, 程序运行之后进行计数显示, 当计时时间到达某一个状态之后, 跳转进入相应的状态执行, 执行完之后继续进入下一个状态, 实验通过程序模拟了交通灯的显示。实验五串转并与并转串实验一、实验目的1.掌握使用74LS164扩展输出的方法。2.掌握使用74LS165扩展输入的方法。二、 实验内容使用74LS165扩展输入数据,使用74LS164扩展输出数据。74LS165的并行口接八位逻 辑电平输出(开关),CPU使用P1.0、P1.1和P1.2串行读入开关状态;74LS164的并行口 接一只数码管,CPU使用P1.3和P1.4串行输出刚读入的开关状态, 使之在数码管上显示出来。三、 实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。四、 实验步骤1) 系统各跳线器处在初始设置状态。用导线对应连接八位逻辑电平输出模块的 QH165 CLK165 SH/LD到CPU模块的P10、P11、P12。用导线对应连接静态数码管显示模块的 DIN、 CLK 到 CPU 模块的 P13 P14。2) 启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载 程序运行。3) 观察数码(八段码)管的亮灭与拨动开关的状态是否一致。拨动开关拨下输出为低 电平,

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

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