毕业设计 ①7段发光管显示器由7段发光线段组成,并按“日”字形排列,每一段都是一个发光二极管,如图3-15所示。图中将7个LED的阴极连在一起,称之为共阴极接法。反之为共阳极接法。
②如果将公共阴极接地,而在a~g各段的阳极加上不同的电压,就会使各段的发光情况不同,形成不同的发光字符。加在7段阳极上的电压可以用数字量表示,如果某一段的阳极为数字量1,则这个段就发光;如为0,则不发光。数字量与段的对应关系如表3.1所示。数码管原理图如3-14所示。
图3-14 数码管原理图
在本设计中使用了四个7段LED显示器,而多位显示器连用有两种方法。 其一,每一位都用各自的8位输出口控制,在显示某字符时,相应的段恒定发光或不发光。这种显示方法属于静态显示。显然,静态显示需占用较多的I/O口线。 其二,是动态显示。即将多个7段LED的段选端复接在一起,只用一个8位输出口控制段选,段选码同时加到各个7段LED显示器上,通过控制各个显示器公共阳极轮流接高电平的办法,逐一轮流地启动各个LED。在这种方法中,只要恰当地选择点亮时间和间隔时间,就会给人以这样一种假相:似乎各位LED是“同时”显示的。动态显示法是目前各种单片机采用的流行方法。其优点是硬件简单,“动态”由软件实现。因而我选用动态显示的方法。其显示格式如表3.2,其驱动电路如图3-15所示[10]。
16
毕业设计
表3-1 七段LED字形码
显示字符 共阳极 字符码 0 1 2 3 4 5 6 7 8 9 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 共阴极 字符码 C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H 表3-2 数码管显示格式
风速 模式 定时 数码管1 D E A 数码管2 相应数字 相应数字 相应数字 17
毕业设计
图 3-15 AT89C51基本操作电路
3.7 键盘设计
单片机系统所用的键盘有编码键盘和非编码键盘两种。
①编码键盘本身除了按键之外,还包括产生键码的硬件电路。只要按下编码键盘的某一个键,它就能产生这个键的代码,并称为键码,与此同时还产生一个脉冲信号,以通知CPU接收键码,编码键盘的优点是使用比较方便,亦不需要编写太复杂的程序。其缺点是使用的硬件较复杂。
②非编码键盘的按键是排列成行、列矩阵形式的。按键的作用只是简单地实现接点的接通或断开,因此必须有一套相应的程序与之配合,才能产生相应的键码,非编码键盘几乎不需要附加什么硬件电路。因此为了简洁电路,我使用非编码键盘。但使用非编码键盘需要通过软件来解决按键的识别、防抖动以及如何产生键码的问题。
基于键数少的原因我采用独立式键盘接口与单片机相连接,因为它占用的I/O口不多。图中每个按键占用一个口,彼此独立,互不影响。上拉电阻保证按键没被按下时,I/O口输入高电平。
独立式键盘可工作在查询方式下,通过I/O口读入键状态,当有键被按下时
18
毕业设计 I/O口变为低电平,而未被按下的键对应为高电平,这样通过读电平状态可判断是否有键按下和哪个键被按下[11]。
a)
b)
图3-16 按键原理图 a)矩阵键盘b)独立按键
发射端采用矩阵按键,其中0,1,2按键用于风扇的定时,模式,调速切换。其他按键用于扩展控制其他家用电器,如电脑等,也可以用于设置密码锁等功能,其具体事情由用户自己设定。而接收端采用独立按键,根据不同的电器,其具体功能各不相同。本设计中,P1.0用于定时切换,P1.1用于模式切换,P1.2用于调速切换。
19
毕业设计
4 系统软件的设计
该系统的控制软件主要可以分为测温和红外两个大的部分,其中具体有单片机初始化程序、定时服务程序、红外发射编码和红外接收解码程序等模块。
4.1 定时/计数器应用 4.1.1 定时/计数器功能简介
AT89C51单片机内部设有两个16位可编程的定时/计数器,简称定时器0和定时器1,分别用T0和T1表示。其功能同一般定时计数器,主要作用是:第一,作为一段特定时间长短的定时;第二,可以计算由T1或T0引脚输入的脉冲数,前者在应用上可以产生正确的时间延迟及定时去执行中断服务程序,而后者则是计数器或者计频器的设计。在本设计中这两种作用都用到了[12]。
这两个定时器本身有四种工作模式可供使用,如表4.1所示。
表4-1 四种工作模式 M1 MO 0 0 0 1 1 0 1 1 工作方式 模式0 模式1 模式2 模式3 功能说明 13位计数器 16位计数器 8位自动重装计数器 定时器0:分成两个8位计数器 定时器1:停止计数 4.1.2 定时器相关的控制寄存器 TMOD为模式控制寄存器,主要用来设置定时/计数器的操作模式;TCON为控制寄存器,主要用来控制定时器的启动与停止。两个16位的定时/计数器T0和T1均可以分成2个独立的8位计数器即TH0、TL0、TH1、TL1,它们用于存定时或计数的初值。
①模式控制寄存器--TMOD
TMOD是一个专用寄存器,用于控制T1和T0的操作模式及工作方式,其各位定义如下:
20