闪烁LED小灯的设计 - 图文 联系客服

发布时间 : 星期六 文章闪烁LED小灯的设计 - 图文更新完毕开始阅读d637903d27284b73f242505a

74HC164是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。74HC164是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。 时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。

主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存

器,强制所有的输出为低电平。

AT89C51通过P3.0口和P3.1口对其进行片选控制 2.2.2显示电路

3

图3 LED数码管显示电路:

本次LED显示电路主要采用74HC164与共阳极数码管相接。通过四片74HC164来控制数码管的输出。74HC164的1,2号脚接到AT89C51的P3.0口,第8脚接到P3.1口。 2.2.3十字路口交通灯显示电路:

图4 通过LED红、绿、黄三种颜色灯的亮与灭来模仿十字路口的交通灯。 交通灯的变化规律:

红灯亮20秒,黄灯亮15秒,绿灯亮5秒。假设一个十字路口为东西南北走向。分为五个状态:1初始状态为南北绿灯亮,东西红灯亮;2南北绿灯亮20秒后,转为黄灯闪烁5秒,东西红灯仍亮;3南北黄灯亮5秒后,转为红灯,东西绿灯亮;4东西绿灯亮20秒后,转为黄灯,南北红灯亮;5东西黄灯亮5秒后,转为红灯;南北为绿灯亮。重复循环。

交通灯变化过程中用数码管进行计时,以便观察。

第三章 软件设计及调试

3.1流程图 4

开始

初始化变量

a=1 a=0 N 时间显示为0 时间显示为0 状态2 状态5 0.5秒定时时间 状态标志量a=0 Y 状态 1 N 状态4 显示时间的子程序 显示时间子程序 给定端口值 给定端口值 延时子程序 延时的子程序 Y N 显示时间小于5秒 Y 显示时间小于5秒 N 显示时间的子程序 给定端口的值 显示时间的子程序 给定端口的值 延时子程序 延时子程序 N 5

返回 Y Y 返回 3.2程序

3.2.1主程序 void main(void)

{

TMOD=0x01; //设置定时方式1

TH0=0x3c; //定时初值50MS TL0=0xb0;

TR0=1; //T0溢出中断请求开启 EA=1; //总中断开启 ET0=1; //T0中断开启

EX0=1; //外部中断INT0开启 IT0=1; //设置开关下降沿有效 EX1=1; //外部中断INT0开启

if(!a) //a=0,东西显示19开始倒计时,南北14开始倒计时 IT1=1; //设置开关下降沿有效 ns_time=ns_time_green; //东西南北红黄绿灯时间赋值 ew_time=ew_time_red;

ew_time_red=ns_time_green+ns_time_yellow;

6