嵌入式系统课程设计报告 - 图文 联系客服

发布时间 : 星期六 文章嵌入式系统课程设计报告 - 图文更新完毕开始阅读97b5c63278563c1ec5da50e2524de518964bd317

系统硬件的设计

图5所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图5中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

斜率累加器 预置 低温度系数晶计数器1 增加 减到温度寄停止 计数比较预置 LSB 位置/清除

高温度系数晶计数器2 图8 DS18B20测温原

减到

3.3.2DS18B20接口电路设计

如6图所示,该系统中采用数字式温度传感器DS18B20,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,用P3.7与DS18B20的DQ口连接,Vcc接电源,GND接地。DS18B20的工作电流约为1mA,VCC一般为5V,则电阻R=5V/1mA=5KΩ,目前用的电阻一般不是可调电阻,只是固定阻值,市场上有的就那么几个型号。其中DS18B20接有电源,则需要一个上拉即可稳定的工作。这个电阻通常比较大,我们选择10K电阻的来起到上拉作用,使之为高电平,使后续电路

U3保护。

ds18b20GNDDQVCCVCCP23123R510k

图9 温度传感器DS18B20接口

9

3.4LCD显示模块

3.4.1LCD1602的特性及使用说明

系统硬件的设计

1 LCD1602的接口信号说明如表3

表3 LCD1602的接口信号 编号 1 2 3 4 5 6 7 8

引脚符号 VSS VDD VL RS R/W E D0 D1

功能说明 电源地 电源正极 液晶显示偏压信号 数据/命令选择端

(H/L)

读/写选择端(H/L)

使能信号 DATA I/O DATA I/O

编号 9 10 11 12 13 14 15 16

引脚符号 D2 D3 D4 D5 D6 D7 BLA BLK

功能说明 DATA I/O DATA I/O DATA I/O DATA I/O DATA I/O DATA I/O 背光正极 背光负极

2基本操作时序如下:

1)读状态:RS=L,RW=H,E=H

2)写指令:RS=L,RW=L,D0~D7=指令码,E=高脉冲 3)读数据:RS=H,RW=H,E=H

4)写数据:RS=H,RW=L,D0~D7=数据,E=高脉冲 3初始化设置

1)显示模式设置如表5:

表4 显示模式设置

指令码

0

0

1

1

1

0

0

0

2)显示开/关及光标设置如表6:

表7显示开/关及光标设置 指令码 0 0

0

0

1

D

C

功能

B D=1开显示;D=0关显示

C=1显示光标;C=0不显示光标 B=1光标闪烁;B=0光标不显示

S N=1当读或写一个字符后地址指针加一,

且光标加一

N=0当读或写一个字符后地址指针减一,且光标减一

S=1当写一个字符,整屏显示左移(N=1)

功能

设置16*2显示,5*7点阵,8位数据接口

0 0 0 0 0 1 N

10

系统硬件的设计

3.4.2LCD1602与MCU的接口电路

LCD的D0~D7分别接单片机的的P0口,作为数据线,因为P0口内部没有上 拉电阻,所以外部另外加上4.7K的上拉电阻;P2.5—P2.7分别接LCD的RS、RW、 E三个控制管脚;RV1用来调节LCD的显示灰度;BLK、BLA为背光的阴极和阳极,接上相应电平即点亮背光灯。如图18

图10 显示电路

其中1602的第3脚接10K与1.5K的串联电阻起到分压作用,能够调节第一行与第二行亮度对比。第16接个三极管的作用放大,是为了能够让液晶显示器的背光灯亮起,从而在夜间也能观看万年历。 3.5按键模块设计

本系统用到了4个按键,其中一个用作系统手动复位,另外4个采用独立按键,该种接法查询简单,程序处理简单,可节省CPU资源,按键电路如图19所示,4个独立按键分别与STC89C52的P3.0、P3.1、P3.2、P3.3接口相连。 S2P32S3P33S4P34

图11按键电路

对以上4个按键作简要说明:K1——SET 键,K2——UP键,K3——DOWN键,K4——OUT/STOP键。SET 键:按下SET键进入时间校准状态,按一下进入秒调整,两下分调整,依此类推可进行各年月日,时分秒以及星期的校准;UP键:当SET键按下时,UP进行SET选定项(如:小时)的加操作;DOWN键:当SET键按下时,DOWN进行SET选定项(如:小时)的减操作;OUT键:当OUT键按下时,此键功能为退出校准功能,进入下一模式,显示温度值和上下限的温度值。

11

系统硬件的设计

3 详细设计及仿真

电子万年历的功能是在程序控制下实现的。该系统的软件设计方法与硬件设计相对应,按整体功能分成多个不同的程序模块,分别进行设计、编程和调试,最后通过主程序将各程序模块连接起来。这样有利于程序修改和调试,增强了程序的可移植性。 本系统的软件部分主要要进行公历计算程序设计,温度测量程序设计,按键的扫描输入等。程序开始运行后首先要进行初始化,把单片机的各引脚的状态按程序里面的初始化命令进行初始化,初始化完成后运行温度测量程序,读取出温度传感器测量出来的温度,然后运行公历计算程序,得到公历的时间、日期信息。 3.1 proteus仿真

运用proteus软件对系统进行仿真,具体粘土如下图所示:

图12系统仿真图

将代码烧录到51单片机中,可以观察到时间以及温度,还有温馨小提示,具体如系统仿真运行图:

12