彩灯控制器实验.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
彩灯控制器实验.doc

彩灯控制器实验 一、实验目的 (1)、学习掌握按键编程方法。 (2)、学习掌握数码管显示编程方法。 (3)、学习掌握延时程序的编程方法。 (4)、学习掌握中断系统的编程方法。 (5)、学习掌握单片机I/O口的编程方法。 (6)、学习掌握单片机串行通信的编程方法。 二、实验内容 设计两片单片机的串行通信电路,甲机为发送机,乙机为接收机。甲机实现功能为: (1)、利用51单片机的I/O口控制八个ED发光二极管(即彩灯)D1-D8,使D1-D8从高位到低位以0.5秒的时间间隔循环点亮; (2)、设计四个按键,分别为间隔键、交替键、暂停键和闪烁键,各按键对的功能描述如下: a)闪烁键每按下一次,彩灯闪烁次数加1; b)间隔键按下,8个彩灯按照D1、D3、D5、D7和D2、D4、D6、D8的规律闪烁,闪 烁次数由闪烁键按下的次数决定; c)交替键按下,8个彩灯按照D1、D2、D3、D4和D5、D6、D7、D8的规律闪烁, 闪烁次数由闪烁键按下的次数决定; d)暂停键每按下一次,彩灯停在当前显示状态,暂停键再按下一次,恢复状态显示。 乙机实现功能为:接收甲机中闪烁键按下次数,并设计两个七段数码管用来显示闪烁次数,即显示所检测到的闪烁键按下的次数。 三、实验设备 计算机(已安装Keil和Proteus软件) 四、实验要求 1、根据实验内容设计硬件电路,原件分布合理,原理正确,器件标识清晰明朗。 2、根据实验内容和硬件电路编写相应的程序,实现相应的控制功能。 3、实验报告必须包含硬件电路图和程序清单,且程序清单中主要代码需加注释。 五、实验硬件电路 六、程序清单 甲机发送程序: KEYJG EQU P3.6 ;给引脚一个名称 KEYJT EQU P3.7 ORG 0000H LJMP START ORG 0013H ;外部中断1地址 LJMP UARTOUT ORG 0003H ;外部中断0地址 LJMP ZTCX ORG 0030H START: MOV TMOD,#20H MOV TL1,#0E6H ;设置波特率 MOV TH1,#0E6H MOV SCON,#40H ;串行通信工作方式1 SETB EA ;开中断 SETB EX1 SETB IT1 SETB IT0 SETB EX0 SETB TR1 ;定时器/计数器1启动 MOV R2,#0 ;........................................................................循环点亮程序 XHCZ1: MOV R4,#3H XHCZ: MOV A,#07FH MOV R3,#8H ;设置循环次数 XHDL: MOV P1,A RR A ;移位,保证循环点亮 LCALL DL05S ;延时0.5s DJNZ R3,XHDL ;循环8次 DJNZ R4,XHCZ MOV A,#0FFH ; MOV P1,A ;全部灯灭 ;.......................................................................不断扫面键盘程序 BDSM: JNB KEYJG,JGCX ;扫描P3.6,有信号转到间隔程序 JNB KEYJT,JTCX ;同理扫描P3.7 AJMP BDSM ;.......................................................................串行发送程序 (中断子程序) UARTOUT:PUSH ACC ;累加器A入栈保护 INC R2 ;每按一次计数加1 MOV A,R2 MOV SBUF,A ;开始串行发送 WAITOUT:JNB TI,WAITOUT ;发送完毕向下执行 CLR TI POP ACC ;出栈 RETI ;........................................................................间隔程序

文档评论(0)

docinpfd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档