单片机课设(三篇课设均带带仿真图和源程序代码)(8)

2019-03-04 14:16

该系统要求完成倒计时的功能。因只需显示数字,基于上述原因,我们考虑完全采用数码管显示,四个路口分别采用一个二位阴极数码管即可。

3.1.2 状态灯显示

该系统要求完成状态灯显示的功能。求于简单,我们把各个路口的红灯和黄灯设成直行和左拐两个通行方式所共有,也就是说,一个路口只需四个状态灯,一个直行通行的绿灯,一个左拐通行的绿灯,一个共有的红灯,一个共有的黄灯。

3.2 输入方案:

该系统要求能手动改变东西与南北的通行时间、紧急情况处理,我们采用扩

展I/O

口方法,在外部中断P32口上扩展三个中断口,分别连接三个按钮。该方案的优点是:使用灵活,并且可提供较多I/O口,节省了AT89C52的中断口资源。

4 原理分析

4.1 交通灯显示时序的理论分析

下图所示为一种红绿灯规则的状态图。

图4.1 状态S1南北图4.2 状态S2南北 直行通行 左拐通行

图4.3 状态S3东图4.4 状态S4东

西直行通行 西左拐通行 共四种状态,分别设定为S1、S2、S3、S4,交通灯以这四种状态为一

个周期,循环执行如下图所示:

图4.5 交通灯状态循环图

依据上述车辆行驶的状态图,可以列出各个路口灯的逻辑表如下表所示(其中逻辑值“1”代表直行通行,逻辑值“0”代表禁止通行,逻辑值“L”代表左拐通行):

S1的状态 逻辑值 显示时间 S2的状态 逻辑值 显示时间 S3的状态 逻辑值 显示时间 S4的状态 E

E 0 S 1 W 0 N 1 正常模式下为40S E 0 S L W 0 N L 正常模式下为20S E 1 S 0 W 1 N 0 正常模式下为40S S W N 逻辑值 显示时间 L 0 L 0 正常模式下为20S 程序就是在上述四种状态下循环转化的。一个周期四个状态,在正常模式下共花费2分钟。

4.2 交通灯显示的理论分析

4.2.1 倒计时显示的理论分析 利用定时器中断,设置 TH0=TH1=(65536-50000)/256,即每0.05秒中断一次。每到第20次中断即过了20*0.05秒=1秒时,使时间的计数值减1,便实现了倒计时的功能。

4.2.2 状态灯显示的理论分析

黄灯闪烁同样可以利用定时器中断。每到第10次中断即过了10*0.05秒=0.5秒时,使黄灯标志位反置,即可让黄灯1秒闪烁一次。

5 程序设计流程图

T0响应 N 0.5s到 Y 南北黄灯标志位为1 N 东西黄灯标志位为1 N N 1s到 Y 倒计时减1,计数值置0 返回 Y 东西黄灯位置反 Y 南北黄灯位置反

图5.1 定时器0中断流程图

开始 AT89C52初始化 南北直行通行东西禁止 N 通行35秒 Y 南北黄灯闪烁 东西直行通行南北禁止 N 闪烁5秒 Y N 通行35秒 Y 东西黄灯闪烁 南北左拐通行东西禁止 N 通行15秒 Y 南北黄灯闪烁 N 闪烁5秒 Y 东西左拐通行南北禁止 N 闪烁5秒 Y N 通行15秒 Y 东西黄灯闪烁 N 闪烁5秒 Y

图5.2 主程序流程图

INT0响应 关中断 Y “正常”键按下 N “繁忙”键按下 N “特殊”键按下 N 开中断 返回 正常模式设置 Y 繁忙模式设置 Y 特殊模式设置 图5.3 外部中断0中断流程图

6 总体设计与电路图

6.1 芯片选择

AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,可以按照常规方法对其进行编程,也可以在线编程。其将通用的微处理器和Flash存储 器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。


单片机课设(三篇课设均带带仿真图和源程序代码)(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:葡萄胎1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: