本科毕业设计说明书(论文)
晶体振荡器 校时电路 时计数器 分计数器 译码器 译码器 23 50 第 6页 共 48页
59 译码器 秒计数器 分频器
图2.2 数字电子钟逻辑图
本电路主要由石英晶体振荡器、分频器、计数器、译码器、LED显示器和校时电路组成,采用了COMS系统(双列直插式)中小规模集成芯片。总体方案由主体电路和扩展电路两大部分组成,其中主体电路完成数字钟的基本功能,扩展电路完成数字钟展功能,进行了各单元的设计,总体调试。
2.2 本设计采用的方案
对此次作品的方案选定:采用AT89S52作为主控制系统,LCD1602液晶模块作为显示,时钟芯片DS12C887提供时钟。硬件系统主要有单片机AT89S52、DS12C887、1602LCD等。
采用AT89S52单片机作为系统的控制核心,一是对通过I/O口组成的键盘进行定期扫描,并执行相应的键处理;二是定时读取时钟芯片数据,使之在各位LCD中显示。时钟功能采用单片集成的时钟芯片DS12C887来实现,它是保证时钟准确的重要器件。在运行时,按下相应的键,可以对显示的数据进行相应的校正处理,以显示正确的时间。
根据按键电路可实现年、月、日、时、分、秒的调整,S1键是功能键,切换需要选择调整的位,S2、S3键分别对时间进行加或减的操作,S4是复位键,进行复位操作,S5是闹钟键。
本科毕业设计说明书(论文)
设计的整体框图如图2.3所示。
第 7页 共 48页
图2.3 设计的整体框图
(1)单片机控制模块
单片机来承担单片机在系统中对其他模块进行控制,是整个系统的核心部件,主要是对其他模块进行控制和数据交换。
(2)时钟模块的设计
时钟模块主要是用于对时、分、秒、年、月、日和星期的计时。该模块采用的芯片为DS12C887时钟芯片。
(3)显示模块
显示模块主要由1602 LCD显示器完成,显示器主要是为人机交互提供即时的信息,能让人们与机器进行很好的交流。
(4)键盘模块
本系统的按键主要是用于对时钟的校对,现对按键的功能简述如下:S1键是功能键,切换需要选择调整的位,S2、S3键分别对时间进行加或减的操作,S4是复位键,进行复位操作,S5是闹钟键。
本科毕业设计说明书(论文)
3 硬件电路设计
第 8页 共 48页
根据上述,采用AT89S52单片机作为系统的控制核心。一是对通过I/O口组成的键盘进行定期扫描,并执行相应键处理;二是定时读取时钟芯片数据,使之在各位LCD中显示。时钟功能采用集成的时钟芯片DS12C887来实现,它是保证时钟准确的重要器件。在运行时,按下相应的键,可以对显示的数据进行相应的校正处理,以显示正确的时间[5]。
3.1 单片机控制电路
单片机控制系统包括AT89S52单片机以及它的外围电路(晶振电路和复位电路)。 3.1.1 单片机系统发展
随着计算机技术的发展,单片机技术已成为计算机技术中的一个独立的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。从应用领域看,单片机主要用于控制,所以也称它为微控制器。
目前计算机硬件技术向巨型化、微型化和单片化发展。自1975年美国德克萨斯仪器公司第一块单片机芯片TMS-1000问世以来,在短短的20余年间,单片机技术已发展成为计算机技术中一个非常有活力的分支,它有自己的技术特征、规范、发展道路和应用环境。按单片机的生产技术和应用对象,单片机先后经历了4位机、8位机、16位机、32位机几个有代表性的发展阶段[6]。
AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。
AT89S52的主要性能有:
(1)与MCS-51单片机产品兼容; (2)8K字节在系统可编程Flash存储器; (3)1000次擦写周期; (4)全静态操作:0Hz~33Hz; (5)三级加密程序存储器; (6)八个中断源;
本科毕业设计说明书(论文)
(7)全双工UART串行通道;
(8)低功耗空闲和掉电模式、掉电后中断可唤醒; (9)看门狗定时器; (10)双数据指针; (11)掉电标识符。
第 9页 共 48页
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止[7]。
AT89S52的引脚如图3.1所示。
图3.1 AT89S52引脚的引脚图
AT89S52的各个引脚的说明如下: VCC:电源电压 GND:接地
P0口:P0口是一个8位漏极开路的双向I/O口,即地址/数据总线复用口。作为输出口时,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种
本科毕业设计说明书(论文)
校验时,输出指令字节。程序校验时,需要外部上拉电阻。
第 10页 共 48页
模式下,P0具有内部上拉电阻,在flash编程时,P0口也用来接收指令字节;在程序
P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3.1所示[8]。
在flash编程和校验时,P1口接收低8位地址字节。
表3.1 引脚号第二功能
引脚 P1.0 P1.1 P1.5 P1.6 P1.7
第二功能
T2(定时器/计数器T2的外部计数输入),时钟输出 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
MOSI(在系统编程用) MISO(在系统编程用) SCK(在系统编程用)
P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR,A)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX @R1,A)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4 个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。