万年历课程设计报告 联系客服

发布时间 : 星期二 文章万年历课程设计报告更新完毕开始阅读

单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625°C/LSB形式表示。温度值格式如图4.7所示。

64位ROM 和 存储器与控制逻辑 I/O 温度传感器 高温触发器TH 低温触发器TL 配置寄存器 8位CRC发生器 C VDD 单线接口 高速 缓存 图4.3DS18B20内部结构

8位工厂代码(10H) MSB LSB MSB LSB MSB LSB

图4.4 64位ROM结构图

温度LSB 温度MSB TH用户字节1 TL用户字节2 1字节 2字节 3字节 4字节 5字节 6字节 78位检验CRC 48位序列号 EEROTH用户字节1 9

配置寄存器 保留 保留 保留 CRC 字节 8字节 9字节 TL用户字节2 图4.5 高速暂存RAM结构图

TM R1 R0 1 1 1 1 1 图 4.6 配置寄存器

表 4.3 DS18B20分辨率的定义规定 R1 0 0 1 1 温度/C° R0 0 1 0 1 分辨率/位 9 10 11 12 二进制表示 测量最大转换时间/ms 93.75 187.5 375 750 表 4.4 DS18B20温度与测得值对应表 十六进制表示 +125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H +25.0620000 0001 1001 0001 0191H 5 +10.120000 0000 1010 0010 00A2H 5 +0.5 0000 0000 0000 1000 0008H 0 0000 0000 0000 0000 0000H -0.5 1111 1111 1111 1000 FFF8H 10

-10.125 -25.0625 -55 1111 1111 0101 1110 1111 1110 0110 1111 1111 1100 1001 0000

FF5EH FE6FH FC90H LS字节 23 22 21 20 S S S 图 4.7 温度数字值格式

斜率累加预低温度系数振荡器 减法计数器1 减到0 高温度系数振荡增MS字节 S 2-1 2-2 2-3 2-4 S S6 S5 S4 计数比较预置 温度寄存器 停减到0 减法计数图 4.8 DS18B20测温原理图

表 4.5 74LS164特性表

操作模式 复 位 MR L H H H H 输 入 A × L L H H B × L H L H Q0 L L L L H 输 出 Q1~Q7 Q0~Q6 Q0~Q6 Q0~Q6 Q0~Q6 Q0~Q6 移 位

74LS164内部为8个D触发器,用以实现数据的串行移位,74LS164特性见表4.5。单片机以串口方式0(移位寄存器方式)输出数据,3片74LS164作为3排共阳数码管的串/并转换显示接口。74LS164为TTl单向8位移位寄存器,可实现串行输入,并行输出。其中A、B(第1、2脚)为串行数据输入端,2个引脚按逻辑“与”运算规律输入信号,共一个输入信号时可并接,共同作为输入脚。

11

CP(第8脚)为时钟输入端,可连接到串行口的TXD端。每一个时钟信号的上升沿加到CP端时,移位寄存器移一位。8个时钟脉冲过后,8位二进制数全部移入74LS164中。MR脚(第9脚)为复位端,当该脚为低电平时,移位寄存器各位复0;只有当它高电平时,时钟脉冲才起作用。Q1~Q8(第3~6和10~13引脚)并行输出端分别接数码管的h~a(因为串口从低位开始传送)各段对应的引脚上。在给出了8个脉冲后,最先进入74LS164的第一个字节数据到达了最高位。再来1个脉冲,第1个脉冲就会从最高位移出,进入下个74LS164的第1位。3片74LS164首尾相串,而时钟端则接在一起。这样,当输入8个脉冲时,从单片机RXD端输出的第1字节数据就进入了第1片74LS164中,而当第2个8个脉冲到来后,第1字节数据就进入了第2片74LS164,而随后的第2字节的数据则进入了第1片74LS164。这样,当第3个8个脉冲完成后,首次送出的数据被送到了最下面的164(第3片)中,其它数据依次出现在第二和第一片74LS164中,实现了数据在74LS164中的串行输入、并行输出。

在方式0状态下,串行口为同步移位寄存器方式,其波特率是固定的,为fosc/12。数据由RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)端输出。发送、接收数据时低位在先。所以根据提供的硬件电路图,在编写程序时,查共阳数码管的段码的二进制数据应该将正常的共阳数据管0~9的二进制值按位反序排序,如原来的二进制为11000000(C0H),要改为00000011(03H),就能使数码管正常显示。

4.5 键盘接口的设计

由于按键只有5个,用普通按钮接10K上拉电阻,用查询法完成读键功能。

第5章 系统程序的设计

5.1 阳历程序设计

因为使用了时钟芯片DS1302,阳历程序只需从DS1302各寄存器中读出年、周、月、日、[小]时、分、秒等数据,再处理即可。在首次对DS1302进行操作之前,必须对它进行初始化,然后从DS1302中读出数据,再经过处理后,送给

12