基于stc89c52单片机的交通灯设计内容摘要:
组给主电源充电。 而当选用两个二极管串联时,假设二极管 处于截止状态,此时电压差为 , 二极截止,假设成立。 而当主电源断开时,能提供电压为 6V 减去 2 个二极管的压降为 ,此电压能保证单片机正常工作。 74HC573 的功能 9 图 SL74HC573 跟 LS/AL573 的管脚一样。 器件的输入是和标准 CMOS 输出兼容的;加上拉电阻,他们能和 LS/ALSTTL 输出兼容。 当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。 当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。 输出能直接接到 CMOS, NMOS 和 TTL 接口上 操作电压范围: ~ 低输入电流: CMO S 器件的高噪声抵抗特性 三态总线驱动输出 置数全并行存取 缓冲控制输入 使能输入有改善抗扰度的滞后作用 原理说明: 10 M54HC563/74HC563/M54HC573/74HC573 的八个锁存器都是透明的 D 型锁存器,当使能( G)为高时, Q 输出 将随数据( D)输入而变。 当使能为低时,输出将锁存在已建立的数据电平上。 输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时, 新的数据也可以置入。 这种 电路可以驱动大 电容 或低阻抗负载,可以直接与系统总线接口 并驱动总线,而不需要外接口。 特别适用于缓冲寄存器, I/O 通道,双向总线驱动器和工作寄存器。 图 为 74HC573 引脚图。 HC573 引脚功能表: 引脚号 符号 名称及功能 1 OE 3 态输出使能输入(低电平) 2, 3, 4, 5, 6, 7, 8, 9 D0 to D7 数据输入 12,13,14,15,16,17,18,19 Q0 to Q7 3 态锁存输出 11 LE 锁存使能输入 10 GND 接地 (0V) 20 VCC 电源电压 发光二 极管 半导体发光器件包括半导体发光二极管(简称 LED)、数码管、符号管、米字管及点阵式显示屏(简称矩阵管)等。 事实上,数码管、符号管、米字管及矩阵管中的每个发光单元都是一个发光二极管。 图 是发光二极管图 11 图 发光二极管图 数码管 1. LED 数码管分类: 按其内部结构可分为共阴型和共阳型; 导通时正向压降一般为 ~ 2V,额定电流为 10mA,最大电流为 40mA。 2. 数码管工作原理 共阳极数码管的 8 个发光二极管的阳极(二极管正端)连接在一起。 通常,公共阳极接高电平 (一般接电源),其它管脚接段驱动电路输出端。 当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。 根据发光字段的不同组合可显示出各种数字或字符。 此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。 图 是数码管图 图 数码管图 3 软件设计 相较于 C 语言,汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而 C 语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且 C 语言还可以嵌入汇编来解决高时效性的代码编写问题。 对于开发周期来说,中大型的软件编写用 C 语言的开发周期通常要小于汇编语言很多。 综合以上 C 语言的优点,本设计在编程的时候选择了 C 语言。 12 本设计在编程环境上也选择了 Keil μ Vision。 这款软件支持众多不同公司的MCS51 架构芯片,它集编辑、编译、仿真为一体,同时还支持 PLM、汇编和 C 语言的程序设计,界面友好、简单易学,在调试程序。 软件仿真方面都有很强大的功能。 在初期的软件调试阶段, Keil μ Vision 会提供非常便利的环境。 在本次设计中,采用了 C 语言作为程序编程的语言。 程序如下 include define uchar unsigned char define uint unsigned int sbit dula=P2^6。 sbit wela=P2^7。 sbit beep=P2^3。 unsigned int pp。 unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}。 uchar j,k,l=255。 uchar a1,a0。 uchar shijian,deng=2。 void delay(unsigned int i) { for(j=i。 j0。 j) for(k=125。 k0。 k)。 } void display(unsigned char sh_c,unsigned char g_c) { dula=0。 P0=table[sh_c]。 dula=1。 dula=0。 wela=0。 P0=0xfe。 wela=1。 wela=0。 13 delay(5)。 P0=table[g_c]。 dula=1。 dula=0。 P0=0xfd。 wela=1。 wela=0。 delay(5)。 } void main() { TMOD=0x01。 TR0=1。 TH0=(6553646080)/256。 // 由于晶振为 ,故所记 次数应为 46080,计时器每隔 50000 微秒发起一次中断。 TL0=(6553646080)%256。 //46080 的来历,为 50000* ET0=1。 EA=1。 while(1) { if(shijian==0) { switch(deng) { case 0: shijian=50。 //红灯 deng=1。 break。 case 1: shijian=15。 //黄灯 deng=2。 break。 case 2: shijian=50。 //绿灯 deng=3。 14 break。 case 3: shijian=15。 //黄灯 deng=0。 break。 } } if(pp==20) { pp=0。 shijian。 } a0=shijian%10。 a1=shijian/10。 display(a1,a0)。 switch(deng) { case 1: P1=0X00。 //红灯 break。 case 2: //黄灯 if(shijian%2==0) P1=0x00。 if(shijian%2==1) P1=0xff。 break。 case 3: //绿灯 if(shijian%2==0) P1=0x55。 if(shijian%2==1) P1=0xaa。 break。 case 0: if(shijian%2。基于stc89c52单片机的交通灯设计
相关推荐
报 , 1997. [2] 牛皖闽,何立新 .温室控制系统试验装置与系统分析 .齐齐哈尔轻工学院学报 , 1995. [3] Wray , Michelle Lynn。 A fuzzy logic controller for temperature control of a six2zone tube furnace[D]. UNIVERSITY OF LOUISVILLE 2020. [4]
戏产业的规模越来越大 , 开发一款成功的电脑游戏靠个人之力已非易事。 不过 , 随着市场上开发的游戏产品越来越丰富 , 各种题材的游戏越来越多 , 创意已成为一款成功游戏的最重要的特点。 例如目前流行的游戏 “ 植物大战僵尸 ” 、“ 愤怒的小鸟 ”, 虽然都是一些很小的休闲游戏 , 但是因其特有的风格 , 使得它们都 深受人们的喜爱。 本次毕业设计将利用 作为开发工具, 设计了基于 Qt
亚器件库 加法器 输入 /输出 操作库 函数库 乘法器 信宿库 在上述 8 个按钮中, 除双击“加法器”和“乘法器”图符按钮可 直接使用外,计算机工程系现代通信课程设计 3 双击其它按钮后会出现相应的对话框,应进一步设置图符块的操作参数。 单击图符库选择区最上边的主库开关按钮 main ,将出现选择库开关按钮 Option 下的用户库( User)、通信库( Comm)、 DSP 库( DSP)
描过程中,还要完成对输入信号的采样和对输出状态的刷新等工作。 PLC 的一个扫描周期必经输入采样、程序执行和输出刷新三个阶段。 PLC 在输入采样阶段:首先以扫描方式按顺序将所有暂存在输入锁存器中的输入端子的通断状态或输入数据读入,并将其写入各对应的输入状态寄存器中,即刷新输入。 随即关闭输入端口,进入程序执行阶段。 PLC 在程序执行阶段:按用户程序 指令存放的先后顺序扫描执行每条指令
的不同。 这些新一代台式仪器具有多种特性,可以执行多种功能。 而且外形尺寸与价格,都比过去的类似产品减少了一半。 早在 1978 年,由美国 Wavetek 公司和日本东亚 电波工业公司公布了最高取样频率为 5MHz ,可以形成 256 点 (存储长度 )波形数据,垂直分辨率为 8bit,主要用于振动、医疗、材料等领域的第一代高性能信号源,经过将近 30 年的发展,伴随着电子元器件、电路
NVIC_Init(amp。 NVIC_InitStructure)。 } /* * 函数名: GPIO_Configuration * 描述 :配置 GPIO * 输入 :无 * 输出 :无 * 调用 :外部调用 */ void GPIO_Configuration(void) { /*定义一个 GPIO_InitTypeDef 类型的结构体 */ GPIO_InitTypeDef