




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 前言随着时代的进步,定时器的应用越来越广泛,电子定时器在工业中经常用于延时自动开关、定时、报警。在家用电器中经常用于延时自动开关、定时。延时自动开关可用于电视机、收音机、录音机、催眠器、门灯、路灯、汽车头灯、转弯灯以及其他电器的延时断电和延时自停电源。定时可用于照相定时曝光、定时闪光、定时调速、定时烘箱、冰箱门定时报警、定时水位报警、延时催眠器、延时电铃、延时电子锁、触摸定时开关等等,例如数控机床的定时器,在工作一段时间后便能自动切断电源停止工作。定时器主要由显示电路、输入设备、单片机最小系统电路和报警电路组成,但并不是所有的定时器都有显示和报警功能,有许多功能简单的定时器,比如洗衣机的
2、内部定时器就没有显示功能,也有一些家用电器没有报警功能,都是自动定时到一定时间后自动关闭电源。还有很多定时器用途单一,只适合一种电器的应用。传统的定时器,通过按键输入定时值,而随着发展,定时器的应用也会越来越广泛,各种智能化的性能也开始逐步实现。 图1-1 多功能定时器系统整体框图Fig.1-1 Overall diagram of multifunction timer system图1-1是多功能定时器系统的整体框图。主控制器采用STC89C52,是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flas
3、h,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。STC89
4、C52作为主控部件完成对输入参数的处理,定时等任务。参数的输入部分是采用红外线遥控手段,红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。本设计中采用红外一体化接收设备可以有效的防止了普通矩阵键盘按键抖动的缺点,而且红外线遥控装置占用单片机端口少。2. 按键输入模块设计2.1 方案论证方案一:传统的按键设计是采用矩阵键盘,如图2-1所示,在程序中,先将第一行的公共线拉低,即给P1口赋一个值(0xfe)。然后如果这一行有键被按下的话,P1口的高四位值就会发生改变,由此检测是哪个键被按下。依
5、次类推,我们就可以根据P1口值的变化来获得各个键值。但是,这种键盘的缺点是,占用单片机的I/O口较多,而且在按键按下和断开时,都会存在抖动现象。本设计中,为节省I/O口的使用,这种方案不采用。图2-1 矩阵键盘原理图Fig.2-1 The schematic of matrix keyboard方案二:采用红外遥控键盘。通用的红外遥控系统由发射和接收两大部分组成,应用编解码专用集成芯片来进行控制操作,如图2-1所示,发射部分包括,矩阵键盘、编码调制、LED红外发射器;接收部分包括光/电转换放大器、解调、解码电路。图2-2 红外遥控系统框图Fig.2-2 Overall diagram of I
6、R device2.2 红外遥控解码过程解码的关键是如何识别“0”和“1”。从位的定义来看,我们发现“0”和“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长一些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取=0.84ms,最为可靠,一般取0.84ms左右均可。2.2.2 红外遥控解码单片机实现如图2-5,红外遥控
7、解码解码单片机实现是用定时器加外中断的方法进行判断的。首先开总中断,开外中断0 ,设置成下降沿触发,P3.2口将红外一体化输出口接在外中断0上方便解码,开定时器0,等待红外产生中断,因为外中断是下降沿触发,正好符合红外解码。下一步是检测引导码,因为红外线解码时先是9ms的低电平,再是4.5ms的高电平,触发中断后 进入中断,先把外中断关掉,防止它再次接收二次红外信号,只解当前红外信号。然后把定时器T0的TH0、TL0赋为0,开始启动定时器,检测低电平时长,然后同理测高电平时长,都存起来。晶振选择11.0592M,一个机器周期为1.085us,引导吗9MS,次数=9000/1.085=8294,
8、则判断区间为8300-500=7800,8300+500=8800,所以引导码的低电平在7800到8800之间就有效,同理高电平判断在3600到4700之间有效,当两个区间都有效时说明检测到了引导码。如果接收到引导吗有效了,就证明后面数据是编码了,就可以进入解码过程。解码过程为,引导码后面是四组8位码,固定的厂家代码、厂家代码反码、操作码、操作反吗。用四个循环读出来这四组码,一组是8位,定义变量temp右移一位,因为是接收的码低位在前,右移8个即可。对定时器清空,启动定时器,0和1高低电平时长不一样,0是0.56ms的低电平0.56ms的高电平,1是0.56ms的低电平,1.68ms的高电平,
9、首先对低电平计时,再对高电平进行计时,然后对低电平的长度进行判断是否合理,如果低电平长度小于370大于640,就是不合理,认为出错则停止解码。若果在合理范围之内,若果在420到620之间认为有效,与上0x7f,就把0取出,高电平在1300到1800之间,或上0x80,就把1取出。重复取8次就得到了,取出后付给ai,是长度为4的字符型数组。其中a2是操作码,a3是操作反码,a2中就是解出码。然后再打开中断,接收下一组数据,解码完毕。图2-5 红外线解码过程Fig.2-5 The decoding process of IR3. 系统主控部件模块设计3.1 主控部件芯片选择本设计主控部件采用STC
10、89C52 单片机,它有40 个引脚大致可分为4 类:电源、时钟、控制和I/O 引脚。Vss (20 脚):接地,0参考点。Vcc(40 脚):电源,提供掉电、空闲、正常工作电压。XTAL1(19 脚):接外部晶体的一端,振荡反向放大器的输入端和内部时钟电路输入端。XTAL2(20 脚):接外部晶体的另一端,振荡反向放大器的输出端。RST(9 脚):复位端。当晶体在运动时,只要在此引脚上出现两个机器周期高电平即可复位,内部有扩散电阻连接到Vss,仅需要外接一个电容到Vcc 上即可实现上电复位。STC89C52 共有4 个8 位并行I/O 端口:P0、P1、P2、P3 口,共32 个引脚。P3
11、口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。P3.0 RXD 串行输入口。P3.1 TXD 串行输出口。P3.2 INT0 外部中断0(低电平有效)。P3.3 INT1 外部中断1(低电平有效)。P3.4 T0 定时计数器0。P3.5 T1 定时计数器1。P3.6 WR 外部数据存储器写选通(低电平有效)。P3.7 RD 外部数据存储器读选通(低电平有效)。3.2 复位电路在振荡器工作时,将RST 脚保持至少两个周期高电平(6 时钟模式为12 个振荡器周期,12 时钟模式为24 个振荡器周期)可实现复位。为了保证上电复位的可靠,RST 必须保持足够长时间的高电平,该时间至少
12、为振荡器的稳定时间(通常为几个毫秒)加上两个机器周期。上电时VCC和RST 必须同时上升以实现正确的启动。如果RST 引脚持续保持高电平,单片机就处于循环复位状态。实际应用中,复位操作有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位。该设计中采用的是是电复位。上电复位要求接通电源后,单片机自动实现复位操作。常用的复位电路如下图3-1 所示;上电瞬间RST 引脚获得高电平,随着电容C 的充电,RST 引脚的高电平将逐渐下降。图3-1 常用的复位电路Fig.3-1 common reset circuit3.3 时钟电路单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTAL1
13、 和XTAL2 分别是反向放大器的输入端和输出端,由这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自己振荡器。这种方式形成的时钟信号称为内部时钟方式。利用芯片内部的振荡电路,在XTAL1 和XTAL2 两端跨接晶体(或陶瓷)振荡器和两个电容就构成了一个稳定的自激振荡器。晶体振荡频率可在6MHZ 到40MHZ 之间选择(不能超过单片机所允许的范围)。电容值无严格的要求,但其取值对振荡器频率输出的稳定性、大小、振荡电路起振速度稍有影响,C1、C2 可在20pF 到100pF 之间选择。一般当外接晶体时,电容选为20pF 或40pF;外接陶瓷振荡器时,电容选为40pF 或50pF。此外,
14、单片机的时钟还可以采用外接方式。所谓外接方式,是指利用外部振荡信号源直接接入XTAL1 或XTAL2。由于HMOS 和CHMOS 单片机内部时钟进入的引脚不同,CHMOS 型由XTAL1 进入,HMOS 型由XTAL2 进入,因此外部振荡信号源接入的方式也不同。外接震荡信号源方式常用于多块同时工作,以便于同步。时钟振荡电路如下图3-2 所示。图3-2 时钟振荡电路Fig.3-2 Clock oscillation circuit4. 日历和闹钟模块设计4.1 日历模块框图和内容图4-1 日历模块框图Fig.4-1 Calendar module该模块的设计核心是主控制器读取DS1302中的数据
15、,通过红外键盘选择模式,在LCD12864上显示出来。本设计从各方面考虑选择的时钟芯片为DS1302,DS1302是美国DALLAS公司推出的一种高性能、低功耗、涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态RAM 通过简单的串行接口与单片机进行通信,实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM 指示决定采用24 或12 小时格式。DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线1 RES 复位2 I/O 数据线3 SCLK串行时钟时钟/RAM 的读/写数据以一个字节或多达31 个
16、字节的字符组方式通信。DS1302 工作时功耗很低保持数据和时钟信息时功率小于1mW,DS1302 是由DS1202 改进而来,增加了双电源管脚,用于主电源和备份电源供应Vcc1 为可编程涓流充电,电源附加七个字节存储器它广泛应用于 便携式仪器以及电池供电的仪器仪表等。4.1.2 DS1302硬件电路设计图4-2 DS1302与单片机连接图Fig.4-2 The connection between DS1302 and MCU如图4-2所示,DS1302的SCLK引脚与单片机的P1.0相连,DS1302的I/O引脚与单片机的P1.0相连,DS1302的CE引脚与单片机的P1.0相连。Vcc1
17、为后备电源,Vcc2为主电源。电源电压3V。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中R
18、ST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。(注意:RST置高电平之前,必须VCC2.5V,并且SCLK = 0)。I/O为串行数据输入输出端(双向)。SCLK始终是输入端。读写过程为先输入在控制指令字,控制指令字的D7必须是1,D6是RAM与时钟的选择位。D6=1对RAM操作,D6=0,对时钟操作。D5D1是要访问的寄存器的地址。D0是读写控制。D0=1,读出数据,D0=0,写入后续的数据。写指令输入后的下一个 SCLK的时钟的上升沿时数据被写入 DS1302,数据输入从
19、低位即位 0 开始。同样,读指令输入后,在 8 位的控制指令字最后一个 SCLK 脉冲的下降沿读出 DS1302的数据,读出数据时从低位 0 开始到高位7。4.1.3 显示元器件的选择液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。本设计中采用LCD12864,使用的芯片是OCMJ4X8C。该模块可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口。所有的功能,包含显示RAM,字型产生器,都包含在一个芯片里面,只要一个最小的微处理系统,就可
20、以方便操作模块。内置2M-位中文字型ROM (CGROM) 总共提供8192 个中文字型(16x16 点阵),16K-位半宽字型ROM (HCGROM) 总共提供126 个符号字型(16x8 点阵),64 x 16-位字型产生RAM (CGRAM),另外绘图显示画面提供一个64x256点的绘图区域(GDRAM),可以和文字画面混和显示。提供多功能指令:画面清除(Display clear)、光标归位(Return home)、显示打开/关闭(Display on/off)、光标显示/隐藏(Cursor on/off)、显示字符闪烁(Display character blink)、光标移位(C
21、ursor shift)、显示移位(Display shift)、垂直画面卷动(Vertical line scroll)、反白显示(By_line reverse display)、待命模式(Standby mode)。4.1.4 LCD12864硬件电路设计图4-3 LCD12864与单片机连接图Fig.4-3 The connection between LCD12864 and MCU如图4-3,LCD12864的引脚设置如下:RS引脚与单片机P2.3相连,RS引脚为低电平时单片机往LCD12864中写数据,本设计中RS引脚始终为低电平。R/W引脚与单片机P2.4相连,E引脚与单片机P
22、2.5相连。DB0DB7与P0.0P0.7相连用于数据传输。RST为复位引脚,低电平有效,LEDA引脚为背光源正极接正5V,LEDK背光源负极接地。 本设计使PSB脚接高电位,让模块将进入并列模式,若PSB脚接低电位,模块将进入串行模式,在并列模式下可由指令DLFLAG 来选择8-位或4-位接口,主控制系统将配合( RS , RW , E , DB0.DB7 )来达成传输动作。从一个完整的流程来看,当下设定地址指令后(CGRAM,DDRAM)若要读取数据时需先DUMMY READ 一次,才会读取到正确数据第二次读取时则不需DUMMY READ 除非又下设定地址指令才需再次DUMMY READ。
23、在4-位传输模式中,每一个八位的指令或数据都将被分为两个字节动作:较高4位(DB7DB4)的资料将会被放在第一个字节的(DB7DB4)部分,而较低4位(DB3DB0)的资料则会被放在第二个字节的(DB7DB4)部分,至于相关的另四位则在4-位传输模式中DB3DB0接口未使用。本设计的显示步骤主要是显示资料RAM(DDRAM) ,显示数据RAM 提供64x2 个字节的空间,最多可以控制4 行16 字(64 个字)的中文字型显示,当写入显示资料RAM时,可以分别显示CGROM,HCGROM 与CGRAM 的字型;本系列模块可以显示三种字型,分别是半宽的HCGROM字型、CGRAM 字型及中文CGR
24、OM字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H0006H 的编码中将选择CGRAM的自定字型,02H7FH的编码中将选择半宽英数字的字型,至于A1 以上的编码将自动的结合下一个字节,组成两个字节的编码达成中文字型的编码BIG5(A140D75F)、GB(A1A0F7FF),详细各种字型编码如下: 1. 显示半宽字型:将8 位资料写入DDRAM中,范围为02H7FH的编码。 2. 显示CGRAM字型:将16位资料写入DDRAM中,总共有0000H,0002H,0004H,0006H四种编码。 3. 显示中文字形:将16位资料写入DDRAM 中,范围为A140HD75FH
25、的编码(BIG5),A1A0HF7FFH的编码(GB)。将16位资料写入DDRAM方式为透过连续写入两个字节的资料来完成,先写入高字节(D15D8),再写入低字节(D7D0)。 4.1.5 日历模块硬件电路设计当红外遥控按键选择显示模式为日历模式后,液晶开始显示日期。具体内容如下:首先初始化时钟芯片DS1302:先输入控制指令字0x07,随即输入数据0x00,其中WP是写保护位,在对时钟或 RAM 进行写操作前 WP 必须为 0,才能写入;然后输入控制指令字0x8E,并输入数据0x00,根据时序往DS1302里边写数据,在写之前要先将CLK置低电平,然后才能将RST置高。之后在前8个上升沿发送
26、地址,下8个上升沿发送你要写的数据。完了RST置低,禁止操作。设置日历的初始值,往DS1302相应的地址上写入年、星期、月、日、时、分、秒的初始值。由于DS1302中数据的存储都以BCD码的形式,所以往DS1302中写数据要先将两位十进制数转化成两位BCD码的形式,再写入。同理,在读出时,也是读出的BCD码的形式,显示时要将各个位变成ASCII码。初始化LCD12864:清除显示,把DDRAM地址计数器调整为00H,光标回原点,该功能不影响显示DDRAM。光标右移AC自动加1,整体显示ON 光标显示,光标位置不反白闪烁,八位控制接口,基本指令集动作。设置数据指针指向第一行第一列。然后从DS13
27、02中读数据到单片机中进行处理。读的时候也是要先将CLK置低电平,然后才能将RST置高。之后在前8个上升沿发送地址码,在最后一个数据发送完了后,该脉冲的下降沿就会输出数据的第一位。实际上有15个脉冲。数据的读写都是从字节低位发送和接收的,将数据不断地循环8次移位,便将DS1302中的数据读出,读出的数据存放在字符型数组中。按照这样的方法,便将年、月、日、星期、时、分、秒的BCD码全部存起来了,然后将其变成ASCII码存放在另一个数组中,然后把它按指定位置在LCD12864上显示出来。本设计在显示时,先将年、月、日、星期、时、分、秒的汉字在指定位置显示出来,然后,将从DS1302中读出来的数据经
28、处理后在指定位置上显示出来。Proteus仿真如图4-4。图4-4 日历模块仿真图Fig.4-4 Calendar module simulation4.2.1 闹钟模块内容和框架本模块中的数字闹钟部分主要由硬件电路和系统软件设计两部分组成。如图5-1,硬件电路是以单片机STC89C52为控制核心,包括时钟电路、语音提示电路、LCD12864显示器及红外遥控键盘电路等组成。本模块设计内容是通过时钟芯片DS1302电路提供时钟,经红外遥控键盘输入闹钟时间,再由单片机进行数据处理,开定时中断,每隔一段时间500ms进入中断查询,在中断中将预设的闹钟时间与单片机从DS1302中读出的时间进行比较,当
29、两者是将相同时说明闹钟时间到,进而通过语音电路进行语音提示。图4-5 闹钟模块框图Fig.4-5 Alarm clock module4.2.2 ISD1700语音提示硬件电路设计4.2.2.1 芯片的选择Winbond® ISD1700 ChipCorder® 系列高质量、全集成、单芯片多信息录放芯片适用于多种系统。录音时间可选范围为26秒-120秒。通过外部电阻设置采样频率,从4 kHz到12 kHz,使得录音时间和录音质量间可根据应用而平衡。工作电压范围从2.4 V到5.5 V,因此也适用于电池场合。因此在本设计中,我选择的芯片是ISD1700语音芯片。ISD1700
30、支持独立模式或SPI模式。器件集成优异的消息管理系统,使得芯片能够自动寻址各信息的地址。该功能使其能够胜任单晶片按键情形。还集成一片上振荡器(由外部电阻控制),带自动增益控制(AGC)的麦克风前置放大器,一个辅助模拟输入,抗混淆滤波器,多级擦除阵列,平滑滤波器,音量控制,PWM之D类喇叭驱动器,电流/电压输出。ISD1700同时提供一可选“vAlert” (声音提醒)功能,用于指示有新的信息。器件闪烁一外部LED指示有一个新消息出现。此外,4条特殊提示音用于确认操作,如“Start Record”、 “Stop Record”、 “Erase”,“Forward”,、“Global Erase
31、”、等。录音信息存储到片上Flash。数据不经压缩,提供原声品质。音频输入有两个独立通道:差分麦克风输入和单端模拟输入。对于输出,提供有PWM之D类喇叭驱动和独立模拟输出。D类功放能够驱动一个标准的8欧喇叭,独立的模拟输出通道能够配置为单端电流或电压输出,用于驱动外部功放。在独立模式,器件每次完成操作后自动进入掉电模式,以节能。在SPI模式,用户能够通过SPI完全控制器件。包括通过指定起始地址和结束地址来随即访问存储器的任何地方。同时允许访问模拟通道配置寄存器APC。进而控制音频通道、输入、输出、混合。独立模式下的APC寄存器同样可以通过修改非易失性存储器NVCFG,在初始化时候载入APC。4
32、.2.2.2 ISD1700语音电路硬件设计图4-6 SPI模式下语音芯片硬件电路图Fig.4-6 Voice chip circurt connecting the SPI Interface to a microcontroller如图4-5,语音芯片在SPI模式下的引脚设置如下:Vccd、Vcca、Vccp(电源)为减小片内噪声,模拟电路和数字电路在ISD1700 内部是分开的,这些电源总线在封装上也是分开的。需分别独立提供Vccd,Vcca,Vccp 通道以最小噪声耦合,退偶电容应尽量靠近芯片。Vssd、Vssa、Vssp1、Vssp2(地线)独立提供到地回路,以最小噪声耦合。LED引
33、脚通过输出不同电平信号,指示芯片工作状态,在录音时常亮,在播放、快进、擦除时闪烁。MISO、MOSI、SCLK、SS为SPI通信数据端口,与主机进行通信。SS引脚与单片机P1.5相连,MISO引脚与单片机P1.4相连,MOSI引脚与单片机P1.3相连,SCLK引脚与单片机P1.2相连。其中MISO为在SCLK下降沿移出数据。当SPI静止时,该脚为三态。MOSI为当芯片为从机时,从SPI获得输入数据。在SCLK上升沿锁存如芯片。该脚具有内部上拉电阻。SCLK为SPI接口时钟。通常由主机产生,用于同步数据传输。该脚具有内部上拉电阻。SS为输入脚,为低电平时选择芯片为从机,并使能SPI接口。该脚具有
34、内部上拉电阻。Analn为辅助模拟输入脚,用于录音或者直通。MIC+、MIC-差分麦克风正反相输入。SP-、SP+提供差动输出以驱动8欧姆的喇叭等。AUD/AUX为单端电压输出/单端电流输出,出厂默认为AUD。Rosc为通过连接该脚到地的电阻来设定芯片的采样频率和录音长度。RESET,VOL,FT,PLAY,REC,ERASE,FWD按键模式下,相关脚通过按键和地线相连以实现相关功能,其作用分别是:复位、音量控制,直通操作,播放,录音,擦除和快进。RDY/INT开漏输出。4.2.2.3 ISD1700语音电路操作模式ISD1700语音电路操作模式主要有独立模式(按键)或微处理器(SPI)模式,
35、本设计采用的模式为SPI模式,在SPI模式下,通过4线串行接口控制。为兼容独立模式,一些SPI命令:PLAY, REC, ERASE, FWD, RESET, G_ERASE跟独立模式一致。另外,SET_PLAY, SET_REC, ET_ERASE命令允许用户指定操作的起始和结束地址。并有命令访问APC寄存器,用于控制模拟通道的配置等。ISD1700 之SPI接口遵照以下协议操作:数据传输协议要求处理器的SPI移位寄存器在SCLK下降沿移除。ISD1700的SPI协议为:1. 每个SPI传输由/SS的下降沿发起;2. 在整个数据传输过程中/SS必须保持为低电平;3. 在SCLK的上升沿通过M
36、OSI脚将数据传入器件,在SCLK下降沿数据从MISO脚输出,并且LSB优先;4. 根据命令类型,操作码包含命令、数据和地址字节;5. 一旦控制和地址数据由MOSI脚传入,状态寄存器和当前行地址同时有MISO脚移出。6. 在/SS变高电平时结束SPI传输;.7. 在完成一个SPI命令后,将产生一个低电平中断信号。并保持,直到由CLR_INT命令或复位清除。4.2.3 闹钟模块软件设计图4-7 闹钟模块软件设计流程图Fig.4-6 The software design of alarm clock module如图4-7,闹钟模块软件设计整体流程框图,包括按键输入的键值处理,读取DS1302的
37、数据并存储,定时时间到了进入中断程序处理,在中断中判断从DS1302中读出的时、分、秒是否与通过按键设置的预设值相等,如果相等置标志位,然后在主程序中,检测这个标志位,调动语音提示程序,进行语音提示。本设计中闹钟设计的重点在于DS1302时钟信号的产生、可视化显示的实现、按键的键值的处理、定时中断程序的设计等方面。时钟电路接32.768kHz的晶振产生时钟信号,石英晶体片具有压电效应。这种石英晶体薄片受到外加交变电场的作用时会产生机械振动,当交变电场的频率与石英晶体的固有频率相同时,振动便变得很强烈,这就是晶体谐振特性的反应。利用这种特性,石英谐振器具有极高的频率稳定性。4.2.3.1 闹钟模
38、块中断程序设计图4-8 闹钟模块中断程序设计流程图Fig.4-8 The software design of alarm clock module interruption program如图4-8所示,本模块采用定时器T1的中断,设置工作方式1,, 系统晶振选用12 MHz , 要得到50 ms定时,设定时初值为X , 则有如下等式:,即50ms,10次中断后进行判断。在主程序中,按键设置的键值经处理后,将值存在tab1中,其中tab10、tab11、tab12分别存放预设的小时、分钟、秒,时间按照24小时计。在主程序中还要进行的工作是不断地读取DS1302中的数据,将值存在tab0数组中
39、,其中tab00、tab01、tab02分别存放读取的小时、分钟、秒。进入中断后,首先判断小时数是否相等,如果相等就开始判断分钟是否相等,如果相等在判断秒是否相等,这三个判断环节有一个不相等就退出中断。当三个都相等后,让标志位置Flag=1。在主程序中检测这个标志位,检测到后首先将其清零,同时调用语音提示程序。5. 系统定时模块设计5.1 定时模块框图和内容图5-1 定时模块设计框图Fig.5-1 The timer module design如图5-1,本模块设计以STC89C52单片机为核心,利用其内部定时器设计的适应于各种电器中的电子定时器。该电子定时器能定时给电器供电或断电,最大定时时
40、间可以长24小时且可以随时改变定时时间,操作使用方便。显示采用4位级联共阳数码管显示时间流失过程,使得显示更加醒目,采用动态扫描的方式,以节省IO口的实用。当定时器定时时间到了采用IDS1700为核心的电路进行语音提示提示。继电器作电器电源输出控制,可以根据需要切断或接通总电源。该定时器可预置定时时间,可通过红外遥控键盘上的按键来选定定时器预定时间和开始和暂停,然后结合继电器对电器进行供电和断电。利用单片机内部的定时器T1,电子定时器会在定时时间到达零时通过语音芯片器进行报警,以此提醒用户电器即将断电,方便用户对电器进行其它的操作。5.2 定时模块硬件电路设计5.2.1 继电器硬件电路设计图5
41、-2 继电器电路设计图Fig.5-2 The design of relay circuit如图引脚输出高低电平控制三极管PNP的通断,从而控制继电器的吸合与释放,从而控制外部电路的通断。5.2.2 数码管动态显示电路设计图5-3 数码管动态扫描电路设计图Fig.5-3The design of LED dynamic scanning circuitLED显示分为静态显示和动态显示两种,静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复
42、杂,占用IO口较多,成本较高。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。在本设计中采用动态显示,如图5-3所示,电路工作时,由于P2.0、P2.1、P2.2、P2.3在LCD液晶显示时被用到,为了防止发生冲突,所以要在J1上接上短路帽才能工作,所有
43、位数码管的段选线并联在P0口,P2.0、P2.1、P2.2、P2.3分别接位选,低电平时三极管导通,控制相应的位选。通过软件设计,送入相应的码字,让各位轮流导通,由于时间间隙很短,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。5.3 定时模块软件设计在本设计中定时器T0用于了红外线键盘,在定时模块中选用定时器T1,这样选择的好处是,由于定时器T0的中断优先级比定时器T1的中断高,所以能及时响应按键操作。SRC89C52有两个定时计数器,每个定时器有4个工作方式,本设计主控模块晶振选用12M,工作方式0为13位定时器,最大定时时间为8.19ms,工作方式1为16位定时
44、器,最大定时时间为65.54ms,工作方式2为8为自动重装定时器,工作方式3,T0成为两个独立的8位计数器,工作方式2和3的最大定时时间为0.26ms,由于程序要做很多判断,所以如果时间太短的话,会出现错误,所以本设计选择方式1。设计中实现秒信号是把秒定时时间定为50 ms, 软件计数20 次为1。STC89C52单片机的定时器为加法计数器计满溢出时申请中断, 所以在给定时器赋初值时, 不能直接输入所需的计数值, 而应输入定时器的计数最大值与需要定时值的差值。采用定时器/计数器1, 选择工作方式1, 在选用12 MHz 系统晶振时, 要得到50 ms定时,设定时初值为X , 则有如下等式:,即
45、50ms,5.3.3 按键的设置本设计中按键采用红外遥控键盘,占用IO口少,没有抖动现象等优点,在定时器设计模块中,按键被分为数字键和功能键。本装置定义了5个功能键:“调时”按键,在定时模式下,用来调整小时数;“调分”按键,在定时模式下,用来调整分钟数;“调秒”按键,在定时模式下,用来调整秒数;“定时器开”按键,按下此键进入定时状态,数码管开始显示,采用倒计时的方式,由于本设计中数码管只有4位,所以要先显示时和分,再显示分和秒;“退出”键,按下此键后,退出定时模式,开始其他模式如日历模式和闹钟模式。6. 系统电源模块设计系统电源模块是本设计必不可少的部分,没有电源供电,任何模块都不可能正常工作
46、,在本设计中为了满足多功能定时器在各方面的应用,设计了既能交流220V 50Hz供电,又能直流3.6V供电,两者都是通过中间转换模块来实现。交流供电硬件设计图6-1 交流供点电路设计图Fig.6-1The design of AC power supply如图6-1所示,交流供电系统是由整流电路、滤波电路、稳压电路组成,此电路能将将220V 50Hz的交流电转换成稳定的直流5V,给单片机和其他模块供电。6.1.1 整流电路单相桥式整流是由四个二极管组成,其构成原则就是保证在变压器副边电压整个周期内,负载上电压和电流的方向始终不变该全波整流的输出电压平均值,根据谐波分析,桥式整流电路的基波的角频
47、率是u2的2倍,即100Hz,因此脉动系数为,这种电路脉动系数小,效率相对较高。6.1.2 滤波电路整流电路的输出电压虽然是单一方向的,但是脉动较大,含有较大的谐波成分,不能适应大多数电子线路及设备的需要。因此,利用滤波电路将脉动的直流电压变为平滑的直流电压。本设计采用电容滤波电路,在整流电路的输出端(即负载电阻两端)并联一个电容即构成电容滤波电路,电容滤波电路利用电容的充、放电作用,使输出电压趋于平滑。6.1.3 稳压电路稳压电路采用三端固定式稳压器7805,市电经变压器降到交流17V,再经过单相桥式整流变成脉动直流,这时含有较大的谐波成分,需要接电容滤波电路,将电压变成平滑的直流电压,电容量大小可根据纹波电流要求设定。6.2 直流供电硬件设计6.2.1 芯片的选择由于单片机和其他模块都需要直流5V供电,为了能将直流3.6V装换成直流5V,需要DC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石材矿山的资源动态监管系统考核试卷
- Module7汉堡法写父母职业工作时间【知识提要】五年级英语下册写作突破专项训练(外研版三起)
- 电视制式转换技术考核试卷
- 电感器磁芯结构设计优化考核试卷
- 茅台学院《优化理论与方法》2023-2024学年第一学期期末试卷
- 武汉体育学院《生物化学与分子生物学选论》2023-2024学年第二学期期末试卷
- 四川省成都市成华区市级名校2024-2025学年校初三下期摸底考试数学试题试卷含解析
- 江苏省无锡市江阴市南菁高级中学2025年下学期初三期中语文试题卷含解析
- 西藏林芝市第二小学2025届六年级数学小升初摸底考试含解析
- 西南石油大学《医学生物学实验》2023-2024学年第二学期期末试卷
- 基于模糊控制的移动机器人的外文翻译
- 鲁迅《药》课本剧剧本
- 二年级下册科学教案 第三单元1.《春夏秋冬》 大象版
- 低压电工安全培训课件-
- 充电桩的施工方案
- 远古苗族的-附丽于古歌和刺绣
- TSG-R0005-2022《移动式压力容器安全技术监察规程》(2022版)
- 【推荐】大华“智慧消防”物联网综合管理解决方案
- 2022年CASEAR2简易操作手册
- 中国墓葬文化(专业应用)
- GB5749-2022生活饮用水卫生标准.
评论
0/150
提交评论