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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机试验源程序文件.docx

1、单片机试验源程序文件单片机实验指导书(实验源程序)实验二、三 I/O接口实验1、 输出实验例1:ORG 0000HAJMP START ;跳转到初始化程序ORG 0033H;- 主程序开始 -START: MOV P1,#0FFH ;是所有LED熄灭ACALL DELAY ;调用延时子程序CLR P1.0 ;P1.0输出低电平,使LED3点亮 ACALL DELAY ;调用延时子程序 SETB P1.0 ;P1.0输出高电平,使LED3熄灭 CLR P1.1 ;P1.1输出低电平,使LED4点亮 ACALL DELAY ;调用延时子程序 SETB P1.1 ;P1.1输出高电平,使LED4熄灭

2、 CLR P1.2 ;P1.2输出低电平,使LED5点亮 ACALL DELAY ;调用延时子程序 SETB P1.2 ;P1.2输出高电平,使LED5熄灭 CLR P1.3 ;P1.3输出低电平,使LED6点亮 ACALL DELAY ;调用延时子程序 MOV P1, #0F0H ;LED3LED6全部发光ACALL DELAY ;调用延时子程序AJMP START ;返回到标号START处再循环;- 延时子程序 -DELAY: MOV R5,#10LOOP: MOV R6,#200LOOP1: MOV R7,#250LOOP2: DJNZ R7,LOOP2 DJNZ R6,LOOP1 DJ

3、NZ R5,LOOP RET例2:ORG 0000HAJMP START ;跳转到初始化程序ORG 0033H;- 主程序开始 -START: MOV P1,#0FFH ;是所有LED熄灭ACALL DELAY ;调用延时子程序MOV ACC,#0FEH ;ACC中先装入LED3亮的数据(二进制的11111110) MOV P1,ACC ;将ACC的数据送P1口 ACALL DELAY ;调用延时子程序MOV R0,#03H ;上句送到P1口的数据就点亮了LED1,所以将数据再移动3次就完成一个4位流水过程 LOOP3: RL A ;将ACC中的数据左移一位 MOV P1,A ;把ACC移动过

4、的数据送p1口显示 ACALL DELAY ;调用延时子程序 DJNZ R0,LOOP3 ;没有移动够4次继续移动 MOV P1, #0F0H ;LED3LED6全部发光ACALL DELAY ;调用延时子程序AJMP START ;返回到标号START处再循环;- 延时子程序 -DELAY: MOV R5,#10LOOP: MOV R6,#200LOOP1: MOV R7,#250LOOP2: DJNZ R7,LOOP2 DJNZ R6,LOOP1 DJNZ R5,LOOP RET2、 输入实验例1:;*;* K1控制LED3亮灭交替 *;*org 0star: mov p1,#0h mov

5、 p3,#0ffhst1: jb p3.2,$ jnb p3.2,$ cpl p1.0 sjmp st1 end例2:;*;* 按压实验板上的按钮K1,控制P1.0的LED亮灭 *;* 按压K1,LED点亮,再次按压K1,LED熄灭 *;* 程序没有进行按键消抖动处理,控制结果会因为按键抖动而出错 *;* 按压K1十次,大概有35次输出会因为按键抖动而发生错误 *;* 实验时请多按几次,观察一下效果,加深对按键消抖动重要性的认识 *;* ORG 0000H AJMP START ;跳转到初始化程序 ORG 0033HSTART: MOV SP,#60H ;SP初始化MOV P3,#0FFH ;

6、端口初始化MAIN: JB P3.2,MAIN ;检测按键K1有没有按下 CPL P1.0 ;执行按键命令,改变P1.0指示灯状态 JNB P3.2,$ ;等待按键K1释放 AJMP MAIN ;返回重新检测按键 END例3:;*;* 按压实验板上的按钮K1,控制P1.0的LED亮灭 *;* 按压K1,LED点亮,再次按压K1,LED熄灭 *;* 程序进行了按键消抖动处理,不会出现控制结果出错的现象 *;* 由此可以看出按键软件消抖动的功效 *;* ORG 0000H AJMP START ;跳转到初始化程序 ORG 0033HSTART: MOV SP,#60H ;SP初始化 MOV P3,

7、#0FFH ;端口初始化MAIN: JB P3.2,MAIN ;检测按键P3.2有没有按下 ACALL YS20ms ;消前沿抖动延时,实现软件去抖动 JB P3.2,MAIN ;再次检测按键,如果为高电平,则是抖动 CPL P1.0 ;执行按键命令,改变P1.0指示灯状态 JNB P3.2,$ ;等待按键释放 AJMP MAIN ;返回重新检测按键 YS20ms: MOV R7,#40 ;延时20ms子程序YS1: MOV R6,#229 DJNZ R6,$ DJNZ R7,YS1 RET实验四 多级外部中断控制实验例程:;*;* INT0,INT1为边沿触发方式,INT1为高级中断 *;*

8、 主程序中8个LED轮流闪烁 *;* 外中断程序0中,8个指示灯同时闪烁8次 *;* 外中断程序1中,左右4个指示灯交替闪烁 *;* 因为INT1为高级中断,所以INT1中断可以中断INT0中断程序 *;* 即当按压K1进入外中断0时,8个LED同时闪烁,此时按压K2可以中断 *;* TIN0的执行。相反,当INT1中断后,按压K1则不能中断INT1的执行 *;* ORG 0000H AJMP START ORG 0003H JMP PGINT0 ORG 0013H JMP PGINT1 ORG 0033HSTART: MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FF

9、H MOV P3,#0FFHMAIN: MOV IE,#10000101B ;INT0,INT1中断使能 MOV IP,#00000100B ;INT1中断优先 MOV TCON,#00000000B ;INT0,INT1为电平触发 MOV SP,#60H MOV A,#0FEHLOOP: MOV P1,A CALL DELAY RL A JMP LOOP JMP MAIN PGINT0: PUSH ACC MOV R2,#8LOOP0: MOV P1,#00H CALL DELAY MOV P1,#0FFH CALL DELAY DJNZ R2,LOOP0 POP ACC RETI PGIN

10、T1: PUSH ACC MOV R3,#8LOOP1: MOV P1,#0FH CALL DELAY MOV P1,#0F0H CALL DELAY DJNZ R3,LOOP1 POP ACC RETI ;* 延时子程序 *DELAY: MOV R4,#80D1: MOV R5,#10D2: MOV R6,#228 DJNZ R6,$ DJNZ R5,D2 DJNZ R4,D1 RETEND实验五 定时器/计数器实验程序一:ORG 0000H AJMP START ORG 000BH ;定时器0的中断向量地址 AJMP TIME0 ;跳转到真正的定时器程序处 ORG 0030HSTART:

11、MOV P1,#0FFH ;关所有灯 MOV TMOD,#00000001B ;定时/计数器0工作于方式1 MOV TH0,#15H MOV TL0,#0A0H ;即数5536 SETB EA ;开总中断允许 SETB ET0 ;开定时/计数器0允许SETB TR0 ;定时/计数器0开始运行LOOP: AJMP LOOP ;真正工作时,这里可写任意程序TIME0: ;定时器0的中断处理程序 PUSH ACC PUSH PSW ;将PSW和ACC推入堆栈保护 CPL P1.0 MOV TH0,#15H MOV TL0,#0A0H ;重置定时常数 POP PSW POP ACC RETI END程

12、序二:ORG 0000HAT0: MOV P1,#0FFH MOV TMOD,#61H ;设置T1为计数器,工作于方式2;设置T0为定时器,工作于方式1 MOV TL1,#246 MOV TH1,#246 SETB TR1AT1: CPL P1.7 AT2: MOV TL0,#00H ; MOV TH0,#4CH ;即数15536 SETB TR0 JNB TF0,$ CLR TF0 CPL P1.0 JNB TF1,AT2 CLR TF1 SJMP AT1 END实验六 数码管显示实验 ;*数码管显示6的程序1 * MAIN: CLR P0.0 ;P0.0输出低电平,点亮数码管段码a SETB P0.1 ;P0.1输出高电平,熄灭数码管段码b CLR P0.2 ;P0.2输出低电平,点亮数码管段码c CLR P0.3 ;P0.3输出低电平,点亮数码管段码d CLR P0.4 ;P0.4输出低电平,点亮数码管段码e

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

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