AT89C52交通灯设计

1.设计目的、作用

1、掌握C52单片机最小系统的设计;

2、掌握按键电路设计,数码管的使用;

3、掌握C52的编程方式;

4、掌握C52各引脚的作用;

5、进一步加强对焊接技术的练习。

2.设计要求

基于AT89C52单片机的交通灯主要具有如下功能:

基本要求如下:

1、按键1为交通灯“深夜模式”开/关,按下后进入深夜模式,4个方向LED(黄)闪烁;再次按下后则退出深夜模式,交通灯正常运行。

2、按键2为“时间调整”开/关,上电后,交通灯正常运行,按下此按键后,进入调时模式,此时按键3和4均有效。

3、按键3为通行“时间加”,按键4为通行“时间减”。

4、设定好通行时间后,按键2再次按下,退出调时模式。

5、交通灯设置好正常运行时,按键3和按键4均无效。

3.设计的具体实现

3.1设计原理

(1) AT89C52单片机原理:

AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能

P0口:

P0口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:

P1是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉

电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,P1 接收低8 位地址。

引脚号

功能特性

P1.0

T2,时钟输出

P1.1

T2EX(定时/计数器2)

表3-1 P1.0和P1.1的第二功能

P2 口:

P2是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地数据存储器(例如执行MOVX @DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX@RI 指令)时,P2 口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号

P3 口:

P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能P3 口还接收一些用于Flash闪速存储器编程和程序校验的控制信号

RST复位输入:

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。中断:

AT89C52 共有6 个中断向量:两个外中断(INT0 和INT1),3 个定时器中断(定时器0、1、2)和串行口中断。所有这些中断源可通过分别设置专用寄存器IE 的置位或清0 来控制每一个中断的允许或禁止。IE 也有一个总禁止位EA,它能控制所有中断的允许或禁止。注意表5 中的IE.6 为保留位,在AT89C51 中IE.5 也是保留位。程序员不应将“1”写入这些位,它们是将来AT89 系列产品作为扩展用的。定时器2 的中断是由T2CON 中的TF2 和EXF2逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2 或EXF2 产生中断,而由软件清除中断标志位。定时器0 和定时器1 的标志位TF0 和TF1 在定时器溢出那个机器周期的S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2 的标志位TF2 在定时器溢出的那个机器周期的S2P2 状态置位,并在同一个机器周期内查询到该标志。

XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2:振荡器反相放大器的输出端。

(2)数码管工作原理:

四位数码管是一种常见的电子显示设备,它能够显示数字0~9以及一些字母和符号。四位数码管通常由七个发光二极管(或八个,其中包括一个小数点)组成,这些发光二极管的组合可以显示不同的数字和字符。四位数码管的工作原理是基于数字电路中的七段显示译码器。当输入一个四位二进制数时,七段显示译码器会将该二进制数转换为对应的七段二进制输出,从而控制七个发光二极管的亮灭状态,显示出相应的数字或字符。具体来说,四位二进制数可以表示从0000到1111共16种不同的状态。七段显示译码器可以将每个二进制数转换为对应的七段二进制输出,例如二进制数0001对应的七段二进制输出为0000001,也就是数字1的显示状态。在实际应用中,四位数码管通常与按键或传感器一起使用,用户可以通过按键或传感器来改变显示的数字或字符。例如,在电子秤中,四位数码管可以用来显示称重的重量和单价;在计时器中,四位数码管可以用来显示计时的时间和分段时间。总之,四位数码管是一种简单而实用的电子显示设备,它能够方便地显示数字和字符,在各种电子设备中得到广泛应用。共阳极数码管字符表unsigned code table[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x800x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,};

你可能感兴趣的:(mongodb,数据库)