资源描述
智能单片机万年历时钟电路
一、设计任务及要求:
本设计准备实现的功能:
(1) 显示公历日期功能(年、月、日、星期)。
(2) 可通过按键切换年、月、日、星期的显示状态。
(3) 可随时调校年、月、日及星期。
(4) 可每次增减一进行时间调节。
(5) 可动态完整显示年份,实现真正的万年历显示。
二、方案设计及论证:
1.方案一:
通过一段时间对专业书籍及多种设计方案的研究及分析,在计数电路芯片的选择上可以采用74LS160或74LS90,在实现的电路中有两种方案来实现清零(异步置数和同步清零);对于实现年、月、日、星期的显示,可采用LED液晶显示屏、点阵式数码管、LED数码管中的一种;在实现年、月、日、星期的校时方面,可设置K3 、K2、 K1三个开关分别作为年、月、日的校时控制开关,由于“日”及“星期”同步,因而控制“日”的同时也控制了“星期”。另外通过按钮开关可以在日期及时间间切换和对时钟进行调整。
该方案的系统原理框图如下:
年
月
日
显示器
显示器
显示器
显示译码器
显示器译码器
显示译码器
计数器
计数器
计数器
校时电路
分 频
电 路
方波信号
发生器
.
.
星期
显示器
显示译码器
计数器
图中各单元电路的工作原理如下:
(1)计数器电路:包括年计数器、月计数器、日计数器、星期计数器四部分。各部分分别完成对“年”、“月”、“日”、“星期”的计数。
(2)译码显示电路:译码显示电路的功能是将年、月、日、星期计数器输出的4位二进制码进行翻译后显示出相应的十进制数字。
(3)校时电路:当数字钟计时出现误差时,必须对时间进行校正,通常称为“校时”, 校时是数字钟应该具备的基本功能,一般要求能对年、月、日分别进行校正。
2.方案二:
对于本题目的设计,我们不仅可以运用以前学过的课程——《数字电路逻辑设计》里边的知识来完成,也可以运用我们所学过的单片机知识来完成本设计,我们可以直接用叫简单的单片机芯片AT89C51再加上其周围的外设电路结构来完成。
该方案的系统原理框图如下:
晶振电路
单片机
AT89C51
数码管
段选部分
复位电路
时间调整电路
数码管
位选部分
LED数码管
图中各单元电路的工作原理如下:
(1)晶体电路:晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体荡器电路。
(2)复位电路: 分频器电路将高频方波信号经分频后得到1Hz的方波信号供秒计数器进行计数,分频器实际上也就是计数器。
(3)时间调整电路:利用4*4矩阵键盘电路设计调整电路,对万年历的事件进行调整。
(4)数码管显示电路:包括数码管段选部分和数码管位选部分,数码管段选部分控制显示数值,数码管位选部分控制显示地址。
由于使用单片机成本较高,而且编程复杂,故选择方案二,利用数字逻辑电路设计万年历。
3.方案的最终选择及确定:
对于第一种方案,是我们所熟悉的纯数电式电路,核心为2种不同型号的数字芯片和4种不同型号的逻辑运算芯片,其余的外围电路只增加了数码管、电阻、按键,电路原理可以通过数字逻辑计算公式来很好的表达,电路原理图也可很容易的构建出来。从制作费用的角度来讲,外围芯片以及芯片周围的简单元件都是既好买又便宜的,很方便我们的电子设计,花费也少。
对于第二种方案,也是我们所熟悉的单片机电路,核心为AT89C51单片机,外设也是一些简单的电阻、电容、数码管构成,电路原理相对于第一种更加简单,对于PCB画板之类的也是省了不少麻烦。但是该设计的问题是编写的程序过于复杂,其工作量远大于方案一的设计,而且从制作费用来讲,光一个单片机的价格就已经可以买方案一中的所有芯片,可能还会有剩余。
由以上分析最终确定出我们的设计是采用方案一。
三、单元电路设计及参数的计算:
(我的工作主要是protel电路图和PCB板的全部绘制)
1. 单元电路设计过程:
(1)计数器电路:
包括年计数器、月计数器、日计数器、星期计数器四部分
A. 元器件的选择:
所用元器件包括:74LS90芯片5个;74LS08芯片6个;74LS04芯片1个;74LS193芯片2个;74LS00芯片1个。
B. 元器件选择说明:
①选择74LS90芯片作为“年”、“月”及“日”十位的计数芯片
(注:考虑到74LS90布线简单,门电路使用少的优点,因而舍弃了74LS160芯片)
74LS90是异步二—五—十进制加法计数器,它既可以作二进制加法计数器,又可以作五进制和十进制加法计数器。
如下图1为74LS90芯片引脚图:
图174LS90芯片的引脚图
通过不同的连接方式,74LS90可以实现四种不同的逻辑功能;而且还可借助R0(1)、R0(2)对计数器清零,借助S9(1)、S9(2)将计数器置9。其具体功能详述如下:
(1)计数脉冲从CP1输入,QA作为输出端,为二进制计数器。
(2)计数脉冲从CP2输入,QDQCQB作为输出端,为异步五进制加法计数器。
(3)若将CP2和QA相连,计数脉冲由CP1输入,QD、QC、QB、QA作为输出端,则构成异步8421码十进制加法计数器。
(4)若将CP1及QD相连,计数脉冲由CP2输入,QA、QD、QC、QB作为输出端,则构成异步5421码十进制加法计数器。
(5)清零、置9功能:
异步清零:当R0(1)、R0(2)均为“1”;S9(1)、S9(2)中有“0”时,实现异步清零功能,即QDQCQBQA=0000。
置9功能:当S9(1)、S9(2)均为“1”;R0(1)、R0(2)中有“0”时,实现置9功能,即QDQCQBQA=1001。
如下表1为74LS90芯片功能表:
表1 74LS90芯片的功能表
输 入
输 出
功 能
清 0
置 9
时 钟
QD QC QB QA
R0(1)、R0(2)
S9(1)、S9(2)
CP1 CP2
1
1
0
×
×
0
××
0
0
0
0
清 0
0
×
×
0
1
1
××
1
0
0
1
置 9
0 ×
× 0
0 ×
× 0
↓ 1
QA 输 出
二进制计数
1 ↓
QDQCQB输出
五进制计数
↓ QA
QDQCQBQA输出8421BCD码
十进制计数
QD ↓
QAQDQCQB输出5421BCD码
十进制计数
1 1
不 变
保 持
②选择74LS193芯片作为“星期”和“日”个位的计数芯片:
常用的集成同步计数器有4位二进制同步加法计数器74161、单时钟4位二进制同步可逆计数器74191、单时钟十进制同步可逆计数器74190、双时钟4位二进制同步可逆计数器74193。
注:(74LS193芯片性能稳定价格低廉,相比其他集成同步计数器较好)
如下图2为4位二进制同步可逆计数器74193的引脚排列图及逻辑符号:
图2 74193的引脚图
如下表2为74193输入\输出信号的说明:
表2 74193输入/输出信号的说明
引线名称
说明
输
入
端
CLR
清除
预置控制
D,C,B,A
预置初置
↑
累加计数脉冲
↑
累减计数脉冲
输
出
端
记数值
进位输出负脉冲
借位输出负脉冲
当CLR为高电平时,计数器被清除为“0”当为低电平时,计数器被预置为A、B、C、D端输入的值;当计数脉冲由端输入时,计数器进行累加计数;当计数脉冲由端输入时,计数器进行累减计数。如下表3为74LS193的功能表:
表3 74LS193功能表
CLR
D C B A
1
0
0
0
d
0
1
1
d d d d
x3 x2 x1 x0
d d d d
d d d d
d d
d d
↑ 1
1 ↑
0 0 0 0
x3 x2 x1 x0
累 加 计 数
累 减 计 数
4位二进制计数器是模为16的计数器。在实际应用中可根据需要用4位二进制计数器构成模为任意R(R小于16或大于16)的计数器
③选择74LS04芯片和74LS08芯片作为门电路芯片:
7404芯片内部包含6组反向器,在设计中用一组即可,如下图3为74LS04芯片的逻辑图:
图3 74LS04芯片的逻辑图
74LS08芯片内部包含4组2输入及门(正逻辑),如下图4为74LS08芯片的逻辑图:
图4 74LS08芯片的逻辑图
C.计数器电路的框图及设计说明:
a、对“日”的分析:
如下图5为“日”显示multisim原理图:
图5 “日”显示multisim原理图
由于本次设计中“日”是30进制,所以“日”的个位显示是从0—9这10个数,“日”的十位显示是从0—3这3个数。
“日”个位的分析:
“日”个位计数器的初始状态为=0001,其状态变化序列如下:
0001 0010 0011 0100 0101
0000 1001 1000 0111 0110
根据74LS193的功能表,可将A和接逻辑1,接计数脉冲。由于“日”个位的置数是受“日”十位控制的,当“日”十位显示由3变到0时即由0011变到0100时,“日”个位变为初值,因此可利用“日”十位的和端的高电位进行置数,“日”个位的置数信号方程:Y=,但由于74LS193的置数控制端是低电平有效,所以在输入前必须加上及非门(即图中的74LS08和7404),最后输入到的信号为Y=,从而完成对“日”个位的置数。对于“日”个位计数器的清零,由于“日”个位是十进制计数,当计数器输出由1001变为1010时,计数器状态立即变为0000,,当下一个计数脉冲到达时,再由0000变为0001继续进行加一计数,可将和的高电平经及门接至清除端CLR,完成对“日”个位的清零。
“日”十位的分析:
“日”个位计数器的初始状态为=0000,其状态变化序列如下:
0000 0001
0011 0010
根据74LS90的功能表,可将S9(1)S9(2)接地,时钟端接,接“日”个位的进位端。对于“日”十位的3进制计数,当“日”十位显示由3变到0时即由0011变到0100时,计数器状态立即变为0000,,当下一个计数脉冲到达时,再由0000变为0001继续进行加一计数,可将和的高电平经及门送到清零端R01和R02,完成十位清零。
b、对“月”的分析:
如下图6为“月”显示的原理图:
图6 “月”显示的原理图
由于本次设计中“月”是12进制,所以“月”的个位显示是从0—9这10个数,“月”的十位显示是从0—1这2个数。
“月”个位计数器的初始状态为=0000,其状态变化序列如下:
0000 0001 0010 0011 0100
1001 1000 0111 0110 0101
“月”十位计数器的初始状态为=0000,其状态变化序列如下:
0000 0001
根据74LS90的功能表,可将两个计数器的S9(1)、S9(2)均接地,时钟端均接。由于“月”是12进制,当“月”十位显示1即=0001,“月”个位显示2即
=0010时,两计数器的状态均为0000,可将“月”十位的和“月”个位的的高电平经及门送到两计数器清零端R01和R02,完成十位清零。对于“月”个位和“月”十位的计数器进位设计: “月”“月”十位的接个位的进位端,“月”个位的接“日”十位的进位信号Y=。
c、对“年”的分析:
如下图7为“年”显示的原理图:
图7 “年”显示的原理图
在万年历中“年”的显示变化很小,此次设计仅设计了“年”的最后两位,这两位均为十进制,最大可记到99年。
根据74LS90的功能表,可将两个计数器的S9(1)、S9(2)均接地,时钟端均接,即可实现十进制计数。当“年”的十位计数器状态为1001时,若下一个计数脉冲到来,则“年”的两个计数器均被清零,这里可利用“年”十位计数器的和的进位信号Y=进行清零。
d、对“星期”的分析:
如下图8为“星期”显示的原理图:
图8 “星期”显示的原理图
本次设计中“星期”是7进制,所以“月”的个位显示是从1—7这7个数,“月”个位计数器的初始状态为=0001,其状态变化序列如下:
0001 0010 0011 0100
0111 0110 0101
根据74LS193的功能表,可将A和接逻辑1,接计数脉冲。当“星期”十位显示由7变到8时即由0111变到1000时,“星期”计数器的状态变为初值0001,因此可利用“星期”计数器的端的高电位进行置数,“星期”个位的置数信号方程:Y=,但由于74LS193的置数控制端是低电平有效,所以在输入前必须加上及门(即图中的7404),最后输入到的信号为Y=,从而完成对“星期”计数器的置数。
(2)按键校时电路:
A. 元器件的选择:
所用元器件包括:74LS00芯片,74LS10芯片,74LS04芯片,3.3电阻4个,开关、按钮若干。
B. 元器件选择说明:
74LS10芯片内含三组三输入及非门,逻辑关系为:Y=,如下图9为74LS10芯片各管脚示意图:
图9 74LS10芯片各管脚示意图
74LS00芯片内含4组二输入及非门,其逻辑关系为:Y=,如下图10为74LS00芯片各管脚示意图:
图10 74LS00芯片各管脚示意图
C.校时电路的框图及设计说明:
当数字钟计时出现误差时,必须对时间进行校正,通常称为“校时”,校时是数字钟应该具备的基本功能,一般要求能对年、月、日分别进行校正。
校时电路的设计要求是:在进行“年”校正时,不影响“月”和“日”的正常计数;在进行“月”校正时,不影响“年”和“日”的正常计数;在进行“日”校正时,不影响“月”和“年”的正常计数。为此,可设置K3 、K2、 K1三个开关分别作为年、月、日校时控制开关。
此外根据时间误差的大小,可考虑两种校时方法:一种方法是采用单脉冲进行手动校时,拨动校时开关后,每按一次单脉冲按钮,相应计数器增1;另一种方法是利用秒计时脉冲进行自动校时,拨动校时开关后,在秒计时脉冲作用下,相应计数器自动递增,直至增加到希望的值后再将校时开关拨回初始状态。设计时可设置开关K0区分两种不同的校时方法。
如下表4为校时开关的功能表:
表4 校时开关功能表:
功能
0 0 0 0
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
1 0 0 0
1 0 0 1
正常计数
日校正(手动)
日校正(自动)
月校正(手动)
月校正(自动)
年校正(手动)
年校正(自动)
根据功能表内容所写出的数字钟“年”、“月”、“日”计数器个位计数脉冲信号的表达式如下:
据此可设计出数字钟校时电路如下图11所示:
图11 数字钟校时电路
(3)译码显示电路:
译码显示电路的功能是将年、月、日计数器输出的4位二进制码进行翻译后显示出相应的十进制数字。通常译码器及显示器是配套使用的,选用共阴极发光二极管数码显示器BS202,则可选择译码驱动器74LS48及之配套使用。
在此次设计中,使用了内置译码驱动器74LS48及阴极发光二极管数码显示器BS202的数码管作为显示部分。如下图12所示:
图12 译码显示电路
2. 设计电路的原理图:
(1)计数器电路:
(2)按键校时电路:
(3)译码显示电路:
3. 单元电路设计及参数计算的小结:
本设计由计数器电路、按键校时电路、数码管显示电路等部分构成。计数器电路包含年计数器、月计数器、日计数器、星期计数器等部分,各部分分别完成对“年”、“月”、“日”、“星期”的计数。按键校时电路可分别对“年”、“月”、“日”、“星期”进行单独校时。数码管显示部分能实现时钟日历的功能,能进行“年”、“月”、“日”、“星期”的显示。此设计基本上完成了设计任务的要求。
四、protel绘制的总原理图及元器件清单:
1.总原理绘制图:
该数字钟电路的工作原理是:由方波信号发生器产生稳定的高频脉冲信号,经分频电路输出标准的脉冲信号作为计时脉冲。日计数器计满30后向分计数器产生进位脉冲,并将其送到月计数器的时钟端,月计数器计满12后向时计数器产生进位脉冲,并将其送到年计数器的时钟端,年计数器按照模100的规律计数。计数器的输出经显示译码器译码后送显示器显示。当电路计时出现误差时,可以由校时电路分别对“时”、“分”、“秒”进行校准。
在原理图的绘制中,由于芯片在元件库中无法找到,因此,对于每种类型的芯片,均绘制了合适的元件图,具体如下:
a、下图为74LS00的元件绘制图:
b、下图为74LS04的元件绘制图:
c、下图为74LS08的元件绘制图:
d、下图为74LS10的元件绘制图:
e、下图为74LS90的元件绘制图:
f、下图为74LS193的元件绘制图:
g、下图为内置译码器LED数码管的元件绘制图:
2.PCB制板图:
a、Top层PCB图:
Top层板图
b、Bottom层PCB图:
Bottom层板图
3、对于绘图的部分说明:
由于实际当中我们将采用插针形式的LED数码管,因此在PCB的绘制中对于数码管我采用了插针形式的封装;对于按键,实际中我们将采用贴片形式的按键来进行焊接,因此,根据实际中贴片按键的大小,直接采用较小尺寸的电阻封装来代替按键尺寸,在实际中对电路和焊接无任何影响。由于该电路线路比较复杂,因此为了避免线路无法连接的情况,各元件之间的间隔只能稍微放大一点,这样以便于电路的正确性。
4.原理图元器件清单:
表5 万年历电路原理图中的元件清单
序号
元件值
元件封装
元件名
说明
Y1、Y2
SIP5
LED DISPLAY4
年份数码管
M1、M2
SIP5
LED DISPLAY4
月份数码管
D1、D2
SIP5
LED DISPLAY4
日期数码管
W
SIP5
LED DISPLAY4
星期数码管
74LS90(1)~(5)
DIP14
74LS90
90芯片
74LS193(1)~(2)
DIP16
74LS193
193芯片
74LS08(1)~(2)
DIP14
74LS08
08芯片
74LS10(1)~(3)
DIP14
74LS10
10芯片
74LS04
DIP14
74LS04
04芯片
74LS00
DIP14
74LS00
00芯片
S
AXIAL0.4
SW-PB
按键
R1~R4
3.3k
0603
RES2
5%误差电阻
S1~S4
SIP3
SW SPDT
校时开关
J1
5V 200Hz
SIP2
CON2
信号输入
J2
3V
SIP2
CON2
3V稳压源
J3
5V
SIP2
CON2
5V稳压源
J4
SIP2
CON2
脉冲信号
J5
SIP2
CON2
脉冲信号
33 / 34
展开阅读全文