基于AT89C51的电子钟总体设计说明书
3.6. USB供电电路
在本次设计中,电源为+5V,可以采用干电池供电,也可以采用自制小电源
供电,但这些电源连接比较麻烦,故本设计中采用USB供电,其电路简单,连接方便,具体电路如图3-6所示:
图3-6 USB供电电路
3.7. PCB板设计
PCB板的设计主要有以下步骤: 1、 用Portel 99se/98原理图
①设置图纸大小 ②添加零件库且放置零件 ③元件调整与连线 2、 生成网络表
①设置零件的封装形式 ②生成网络表 3、 引入网络表与零件布局
①PCB尺寸的设置 ②引入网络表 ③自动布局 ④手工调整 4、 规则设置与布线
①规则设置 ②自动布线 ③手动调节 ④覆铜
一般情况下,首先应对电源线和地线进行布线,以保证电路板的电气性能。在条件允许的范围内,尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:地线>电源线>信号线,通常信号线宽为:0.2~0.3mm,最细宽度可
12
基于AT89C51的电子钟总体设计说明书
达0.05~0.07mm,电源线一般为1.2~2.5mm。对数字电路的 pcb可用宽的地导线组成一个回路, 即构成一个地网来使用(模拟电路的地则不能这样使用)。尽可能采用45o的折线布线,不可使用90o折线,以减小高频信号的辐射;(要求高的线还要用双弧线)。由于本次设计的是单面板,制作比较简单,但这又加大了布线的难度。具体的PCB制作板图见附录四。
4. 嵌入式软件设计
C51单片机可以应用汇编语言和C语言进行编程,汇编语言与机器指令一一对应,所以用汇编语言编写的程序在单片机里运行起来效率高。C语言程序可读性高,更便于理解。故本设计使用C语言编程。
4.1. 流程逻辑
4.1.1. 主程序的设计
第一次上电,系统先进行初始化,LED显示初始时间为:“12:28”, 并开始走时。初始化闹钟时间为:“14:50”,此刻若按S5键,LED显示“14:50”,并进入设置状态。
单片机一次开始调用键盘扫描子程序、显示程序、对时程序,经过延时,返回程序开头循环运行。主程序流程图如图4-1所示:
13
基于AT89C51的电子钟总体设计说明书
图4-1 主程序流程图
4.1.2. 中断服务程序设计
定时器T0用来产生时钟和方波,程序中每隔250μs就产生一次定时中断,4000次中断正好满1秒,图4-2为中断服务程序流程图:
定时器T0每两次中断(500μs)就令计数变量n加1,n满2000正好是1s,当n<500时,每500μs就将P1.0求反一次,产生250个频率为1KHz的方波,控制蜂鸣器鸣叫;当n>500后,令P1.0保持高电平,鸣叫停止,这样在1s内“嘟”声持续1/4s,停顿3/4s,整个闹钟状态将产生60次“嘟”声,除非用户关闭蜂鸣器。
14
基于AT89C51的电子钟总体设计说明书
定时器中断服务程序
闹钟时间到否 N Y
产生1KHz的方波发
N 满 1s? Y 250μs计数器清0
秒计数器加1
N 满60s? Y 秒计数器清0
分计数器加1
N 满60min? Y 分计数器清0
时计数器加1
N 满24h? Y 时计数器清0
返回 4-2 中断服务程序流程图 30秒“嘟”声后回到正常走时状态 进入闹钟状态 250μs计数器加1 15
相关推荐: