- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
一、题目:
根据用户设定的时间进行交通灯控制
二、问题的提出
根据用户设定的时间进行红黄绿交通灯切换控制设计。
三、总体设计
1、分析问题的功能:
具有简单红黄绿交通灯的切换控制功能。在红黄绿交通灯切换过程中伴有两个
方向上的倒计时显示。当东西方向红灯亮时,南北方向绿灯亮,当南北方向红灯亮
时,东西方向绿灯亮(期限为30),当红灯与绿灯切换时,原绿灯亮的方向转换为黄
灯闪烁,历时3秒。当有应急状况发生时,能够采取外部中断的方式使两个方向上的
红灯闪亮(期限为9秒),黄、绿灯均不亮,当应急时间结束之后,指示灯和数码管
显示器均恢复为中断前的状态。
2、系统总体结构设计
⑴硬件设计:
在硬件设计上,我们运用MCS-51单片机上的硬件资源,编写程序实现题目功能
要求。此次设计主要涉及到了6个LED指示灯的点亮和闪亮,8位数码管显示器的
数字显示,以及一个按钮用作外部中断。
⑵软件设计:
首先,我们的软件设计中包含了软件延时模块,这一部分的设置是用于红黄绿
灯的倒计时以及点亮和闪亮控制。其次,设计中还包含了中断控制模块,这一部分
的设置是为了和外部中断联合使用,达到中断功能。此外,我们的设计中还有关于8
位数码管显示器的数字显示的软件设计模块,包括参数设置以及显示控制部分。
四、详细设计:
1、硬件详细设计:
⑴画出电路图:
导线
⑵进行硬件资源分配:
8000H硬件入口地址
8003H/INT0中断入口地址
指示灯控制连线:使用排线将A2区的J61接口与D1区的J52接口相连
8位数码管显示器连线:使用导线连接:P3.0-SDA,P3.1-SCL,P3.4-RST_L
外部中断连线:使用导线将A2区的/INT0与D1区J53的KEY2口连接
2、软件详细设计:
在软件设计方面,我们的延时程序都是用软件延时来实现的。
XYS子程序用来控制指示灯的闪亮;
DELAY1子程序用来控制1S延时。
软件流程图如下:
南北方向倒计时3秒
3、设计中的主要困难及解决方案
(1)困难1:数码管显示器的接线问题不明确,运用数码管显示器显示数字总
是不能很好的完成。在这个问题上,我们参考了实验十五的程序对数码管显示器的
接口进行定义并正确连线,解决了这个问题。
(2)困难2:在设计过程中,红黄绿灯的倒计时显示不显示0,从1直接过渡
到9。我们仔细研究程序,最终找到了问题所在,并修改程序使之可以正常显示。
五、程序清单
SDABITP3.0;I2C总线定义串行数据存取位
SCLBITP3.1;I2C总线定义串行时钟位
RSTBITP3.4;MCU复位输出信号,低电平复位
ZLG7290
MTDEQU40H;I2C总线发送数据缓冲区(8字节)
MRDEQU48H;I2C总线接收数据缓冲区(8字节)
DISBUFEQU38H;显示缓冲区(8字节,可对应8位数码管显
示)
;定义ZLG7290器件地址及子地址
ZLG7290EQU70H;ZLG7290的器件地址
ACKBIT10H;应答标志位
SLADATA50H;器件的从地址
SUBADATA51H;器件的子地址
NUMBYTEDATA52H;读/写的字节数变量
SYSTEMREGEQU00H;系
文档评论(0)