基于单片机的电子万年历的设计与制作 - 图文 联系客服

发布时间 : 星期四 文章基于单片机的电子万年历的设计与制作 - 图文更新完毕开始阅读46fa9556af45b307e971970f

郑州航空工业管理学院毕业设计(论文)

单片机的IO端口使用情况如表3-1:

表3-1 单片机的IO端口使用情况

引脚号 P0.0~P0.7 P1.0~P1.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P3.0 P3.1 P3.2 P3.3 P3.5 P3.6 P3.7 IO端口与外围电路的连接 与液晶显示屏12864的数据线相连 与时钟芯片DS12C887的数据线相连 与时钟芯片DS12C887的数据选通DS相连 与时钟芯片DS12C887的读写输入RW相连 与时钟芯片DS12C887的地址选通输入AS相连 与时钟芯片DS12C887的片选信号CS相连 与液晶显示屏12864的使能端E相连 与液晶显示屏12864的读写端RW相连 与液晶显示屏12864的数据命令选择端RS相连 与功能设置键相连 与确认键相连 与液晶显示屏12864的串并口选择端PSB相连 与蜂鸣器的控制端相连 与加键相连 与减键相连 与DS18B20的数据端DQ相连 3.2.2 时钟振荡电路设计

时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格运作。 (1)时钟信号的产生

单片机内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。电容器C1和C2的作用是稳定频率和快速起振,电容值的范围在5pF-30pF,典型值为30pF。晶振的频率通常选择两种6MHz和12MHz。只要在单片机的XTAL1和XTAL2引脚外接晶体振荡器就构成了自激振荡器并在单片机内部产生时钟脉冲信号,本次设计采用的是12MHz的晶振。

8

郑州航空工业管理学院毕业设计(论文)

(2)时钟振荡电路如图3.2所示:

图3.2 时钟振荡电路

3.2.3 复位电路设计

单片机常见的复位电路通常单片机复位电路有两种:上电复位电路和按键复位电路。上电复位电路是为了保证单片机上电时复位操作设计的电路,保证单片机上电后立即进入规定的复位状态。它是利用电容充电的原理来实现的。按键复位电路不仅具有上电复位电路的功能,同时操作比上电复位电路的操作要简单得多。如果要实现复位功能的话,只要按下RST键即可。它主要是利用电阻的分压来实现的,在此设计中,采用按键复位电路,其电路图如图3.3所示:

图3.3 复位电路

复位电路工作原理:

单片机复位的条件是当RST引脚的高电平保持足够的时间(2个机器周期)时,单片机才可以进行复位操作。此设计中VCC上电时,C4充电,在10k电阻上出现电压,使得单片机复位;几个毫秒后,C4充满,10k电阻上电流降为零,电压也为零,使得单片机进入工作状态。工作期间,按下按键、C4放电。按键松开,C4又充电,在10k电阻上出现电压,使得单片机复位。

3.2.4 温度传感器电路设计

温度传感器的种类众多,DALLAS公司生产的DS18B20温度传感器适合在应

9

郑州航空工业管理学院毕业设计(论文)

用与高精度、高可靠性的场合。DS18B20的主要特点:超小的体积,超低的硬件开销,抗干扰能力强,精度高。

DS18B20的主要特征: ? 全数字温度转换及输出 ? 先进的单总线数据通信

? 最高12位分辨率,精度可达土0.5摄氏度 ? 12位分辨率时的最大工作周期为750毫秒 ? 可选择寄生工作方式

? 检测温度范围为–55°C ~+125°C (–67°F ~+257°F) ? 内置EEPROM,限温报警功能

? 64位光刻ROM,内置产品序列号,方便多机挂接 ? 多样封装形式,适应不同硬件系统

DS18B20工作原理及应用:DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而提高抗干扰力。一个工作周期可分为两个部分,即温度检测和数据处理。DS18B20共有三种形态的存储器资源,分别是:

ROM只读存储器:用于存放DS18B20的ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。

RAM 数据暂存器:用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。

DS18B20芯片与单片机的接口:DS18B20只需要接到控制器(单片机)的一个I/O口上,由于单总线为开漏,所以需要外接一个4.7K的上拉电阻。如要采用寄生工作方式,只要将VDD电源引脚与单总线并联即可。但在程序设计中,寄生工作方式将会对总线的状态有一些特殊的要求。

10

郑州航空工业管理学院毕业设计(论文)

微控制器控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求微控制器将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,然后发出60~240微秒的存在低脉冲,微控制器收到此信号表示复位成功,如果没有收到复位成功信号,则表示DS18B20出现问题,可以用来作为系统设计时的故障提示、判断信号。

DS18B20的单总线数据传输特点,决定了它严格的控制时序。微控制器写1时,数据线必须先被拉至低电平,然后就被释放,使数据线在写时间片开始之后的15微秒之内拉至高电平。微控制器写0时,数据线必须先被拉至低电平且至少保持逻辑低电平60微秒。微控制器把数据线从高电平拉至低电平时,产生读时间片,数据线必须保持在逻辑低电平至少1微秒;来自DS18B20的输出数据在读时间片下降沿之后15微秒有效。因此,为了读取从时间片开始算起15微秒的数据线状态,微控制器必须停止把数据线驱动至低电平。在读时间片结束时,数据线经过外部的上拉电阻拉回至高电平。所有读时间片的最短持续期限为60微秒,各个读时间片之间必须有最短为1微秒的恢复时间。其读写时序如图3.4所示。

15微秒 读数据 45微秒 60微秒 15微DS18B20写时间间隙 45微秒 写0 写1 15微图3.4 DS18B20读时间间隙

DS18B20的实物图及与单片机接口电路原理图如3.5和3.6:

图3.5 DS18B20实物图 图3.6 DS18B20连接图

11