江苏理工学院毕业设计说明书(论文)
XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 2.系统复位
通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。51单片机在时钟电路工作以后,在RST/VPD端持续给出2个机器周期的高电平就可以完成复位操作(一般复位正脉冲宽度大于10 ms)。复位分为上电复位和外部按键复位两种方式。本设计选用按键复位方式,如图2-2所示。
图2-2 复位电路
3.时钟电路
单片机的时钟电路由振荡电路和分频电路组成,其振荡电路由反相器以及并联外接的石英晶体和电容组成,用于产生振荡脉冲。分频电路用于把振荡脉冲分频,以得到所需要的时钟信号。
时钟电路如图2-3所示。
图 2-3 时钟电路
其输入端为引脚XTAL1,输出端为引脚XTAL2。通过这两个引脚在芯片外并
接石英晶体振荡器和两只电容,石英晶体为一感性原件,与电容构成振荡回路,
第 7 页 共 57页
江苏理工学院毕业设计说明书(论文)
为片内放大器提供正反馈和振荡的相移条件,从而构成一个稳定的自激振荡器。振荡器的频率主要取决于晶体的振荡频率, 一般晶体可在1.2~12 MHz之间任选, 电容C1、 C2可在5~30 pF之间选择, 电容的大小对振荡频率有微小的影响, 可起频率微调作用[5]。
振荡脉冲经二分频后作为系统的时钟信号,时钟信号经过三分频产生ALE信号,ALE信号用于控制把P0口的低8位地址送入锁存器锁起来,以实现低地址和数据的分时传送,ALE还可作为外部时钟或外部脉冲使用。时钟信号经六分频得到机器周期信号。 4.中断系统
当CPU与外设交换信息时,由于外设的速度比较慢,若用查询的方式,则CPU就要浪费很多时间去等待外设。这样就存在一个快速的CPU与慢速的外设之间的矛盾。为了解决这个问题,就发展了中断的概念。
CPU正在处理某一程序时,发生了另一突发事件请求CPU迅速去处理(中断发生);CPU暂时停止当前的工作,转到需要处理的中断源的服务程序的入口(中断响应),一般在入口处执行一跳转指令转去处理中断事件(中断服务);待CPU将中断事件处理完毕后,再回到原来程序被中断的地方继续处理执行程序(中断返回),这一处理过程称为中断。
51单片机的中断系统提供5个中断源:外部中断0和外部中断1,定时/计数器(T0)和(T1)的溢出中断,串行接口的接收和发送中断[6]。 (1)中断允许寄存器IE(A8H)
CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器(IE)控制的。IE各位的定义如表2-1所示。
表 2-1 IE位定义表
位地址 0AFH 0AEH 0ADH 0ACH 0ABH 0AAH 0A9H 0A8H 位符号 EA / / ES ET1 EX1 ET0 EX0 EA——中断允许总控制位
EA=0 中断总禁止,禁止所有中断
第 8 页 共 57页
江苏理工学院毕业设计说明书(论文)
EA=1 中断总允许,总允许后中断的禁止或允许由各中断源的中断
允许控制位设置。
EX0和EX1——外部中断允许控制位 EX0(EX1)=0 禁止外部中断 EX0(EX1)=1 允许外部中断
ET0和ET1——定时器/计数器中断允许控制位 ET0(ET1)=0 禁止定时器/计数器中断 ET0(ET1)=1 允许定时器/计数器中断 ES——串行中断允许控制位 ES=0 禁止串行中断 ES=1 允许串行中断
(2)中断优先级控制寄存器(IP)
各中断的优先级通过中断优先级控制寄存器IP来设定,其未定义及位地址如表2-2所示。
表2-2 IP位定义表
位地址 位符号 0BFH 0BEH / / 0BDH 0BCH / PS 0BBH 0BAH PT1 PX1 0B9H PT0 0B8H PX0 PX0——外部中断0优先级设定位; PT0——定时中断0优先级设定位; PX1——外部中断1优先级设定位;
PT1——定时中断1优先级设定位; PS——串行中断优先级设定位。 (3)定时器控制寄存器(TCON)
该寄存器用于保存外部中断请求以及定时器的计数溢出。进行字节操作时,
第 9 页 共 57页
江苏理工学院毕业设计说明书(论文)
寄存器地址为88H。按位操作时,各位的地址为88H~8FH。寄存器的内容及位地址表示如表2-3所示。
表2-3 TCON位定义表
位地址 位符号 8AH IT1 8FH 8EH 8DH 8CH 8BH 89H 88H TF1 TR1 TF0 TR0 IE1 IE0 IT0 IE0和IE1——外中断请求标志位。当CPU采样到 INT0(或INT1)端出现有效中断请求时,IE0(IE1)位由硬件置“1”。当中断响应完成转向中断服务程序时,由硬件把IE0(或IE1)清零。
TR0 和TR1——定时器运行控制位:
TR0 (TR1 )=0 定时器/计数器不工作 TR0 (TR1 )=1 定时器/计数器开始工作
TF0和TF1——计数溢出标志位。当计数器产生计数溢出时,相应的溢出标位 硬件置“1”。 并自动产生定时中断请求。本设计运用外部中断0,通过电平触发方式,实现外部中断,接收红外信号。 2.1.2 显示器件选择
在单片机应用系统中,使用的显示器主要有LED(发光二极管)和LCD(液晶显示器)。这两种显示器成本低廉,配置灵活,与单片机接口方便。但是他们也是各有特点的:LED接口非常简单,不需要专用的驱动程序,在设计程序时也非常的简单;LCD显示的字比较丰富,也比较清楚,给人的感觉很好,但是他接口复杂,且要自己造字库,难度不小[7]。 而本设计的遥控器接收模块,显示数字就够了,因此没有必要采用LCD,用LED就可以了。
下面就介绍一下LED显示器的引脚和结构:
用发光二极管来显示字段的器件叫LED显示器,在单片机应用系统中一般用七段显示器。共阳极显示器就是发光二极管的阳极连在一起,共阴极显示器就是阴极连在一起。图2-4中是七段显示数码管与单片机的连接结构,由八个发光二
第 10 页 共 57页
用率。
2.1.3 按键控制方式选择
江苏理工学院毕业设计说明书(论文)
图2-4 数码管与单片机连接图
些失真,字符比较少,但是与单片机的控制接口十分简单,使用起来很方便。
由于本设计要发射16种不同频率的红外线,所以采用4×4矩阵键盘,如图
2-5所示,它是用4条I/O线作为行线,4条I/O线作为列线,在行线和列线的
个发光二极管控制一个小数点的暗或亮。这种七段显示器能显示的字符的形状有
极管组成一个显示器,其中有七个发光二极管控制a~g七段的暗或亮,最后一
交叉点上设置一个按键。这种行列式键盘能够有效得提高单片机系统中I/O的利
图2-5 矩阵式按键电路
第 11 页 共 57页