单片机技术及应用(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

模块详解

1.键盘控制电路

由于键数较少,所以采用独立式按键,用了4 个轻触式按键分别占用I/O 口的P1.0、P1.1、P1.2 和P1.3 来实现调整秒、分、时和复位功能。当按钮被按下时,P1.0、P1.1、P1.2 和P1.3 输入低电平,当按钮没有被按下时,上拉电阻和按钮两端并联的反向二极管使P1.0、P1.1、P1.2 和P1.3 输入稳定、可靠的高电平。P1.0控制“秒”的调整,每按一次加1s;P1.1控制“分”的调整,每按一次加1min;P1.2控制“时”的调整,每按一次加1h;P1.3用作复位键,在计时过程中如果按下复位键,则返回00-00-00重新计时。键盘控制电路如图5-2所示。

图5-2 键盘控制电路

2.数码显示电路

数码显示电路如图5-3所示。电路采用2个4位七段共阴LED数码管显示时间,采用74LS245增加I/O口的驱动能力。单片机计数并在数码管上显示出相应的时间。初始化时数码管显示00-00-00开始计时,选通相应的数码位来显示计时结果。

图5-3 数码显示电路

本设计采用74LS245驱动数码管,它是8路同相三态双向总线收发器,可双向传输数据。图中img接低电平,img接高电平时,信号由A向B传输(发送)。数码管的段选信号由74LS245来驱动,位选信号直接由单片机P2口驱动。P0口加上拉电阻,保证单片机输出稳定、可靠的高电平来驱动数码管。

3.单片机电路

单片机电路主要用于内部程序处理,将采集到的数字量进行译码处理。其外围硬件电路包括晶振电路和复位电路。复位电路采用上拉电解电容上电复位电路。本设计采用的是HMOS型MCS-51的振荡电路,当外接晶振时,C1和C2值通常选择30pF。单片机晶振采用12MHz。单片机外围电路如图5-4所示。

图5-4 单片机外围电路

在此设计中,选择16位定时工作方式。对于T0来说,系统时钟为12MHz,最大定时也只有65536μs,即65.536ms,无法达到我们所需要的1s的定时,因此必须通过软件来处理这个问题。假设取T0的最大定时时间为50ms,即要定时1s需要经过20次50ms的定时。对于这20次计数,就可以采用软件的方法来统计。

设定TMOD=00000001B,即TMOD=01H,设置定时器/计数器0工作在方式1。给T0定时器/计数器的TH0、TL0装入预置初值,通过下面的公式可以计算出,即

TH0=(216-50000)/256

TL0=(216-50000)MOD 256

这样,当定时器/计数器0计满50ms时,产生一个中断,可以在中断服务程序中对中断次数加以统计,以实现数字时钟的逻辑功能。