电子万年历温度报警
系 电子信息工程系
专业 电子信息技术 姓名
班级 电子独1602 学号
指导老师 职称 副教授
设计时间 2018年3月16号
目 录
摘 1
第1章 绪2
第2章 系统方案设计证4
第3章 系统硬件设计7
第4章 系统软件设计24
第5章 系统机体设计调试30
第6章 总结34
致 谢35
参考文献36
摘
文介绍基AT89S52单片机功电子万年历硬件结构软硬件设计方法设计数显示模块温度采集模块时间处理模块调整设置模块四模块组成系统AT89S52单片机控制器串行时钟日历芯片DS1302记录日历时间年月日时分秒进行计时具闰年补偿等种功温度采集选DS18B20芯片万年历采直观数字显示数显示采1602液晶显示模块LCD1602时显示年月日周日时分秒具时间校准等功万年历具读取方便显示直观功样电路简洁成低廉等诸优点具广阔市场前景
关键词:单片机AT89S52 时钟芯片DS1302 温度传感器DS18B20 1602液晶显示器
第1章 绪
11 课题研究背景
着科技快速发展时间流逝观太阳摆钟现电子钟类断研究断创新纪录年月日时分秒进行计时具闰年补偿等种功DS1302寿命长误差数字电子万年历采直观数字显示时显示年月日周日时分秒温度等信息具时间校准等功该电路采AT89S52单片机作核心功耗3V低压工作电压选3~5V电压供电
万年历具读取方便显示直观功样电路简洁成低廉等诸优点符合电子仪器仪表发展趋势具广阔市场前景
12课题研究目意义
二十世纪数字化技术高速发展时代单片机数字化高速发展时代扮演着极重角色电子万年历开发研究信息化时代天务急应学校机关企业部队等单位礼堂训练场教学室公场等场合说遍生活角落说电子万年历开发国家需社会需民需
社会信息交换断提高求高新技术逐步发展促电子万年历发展投入市场广泛应
13总体设计思路
采AT89C52作控单片机时钟模块选DS1302作时钟芯片温度模块选DS18B20作温度传感器显示模块选LCD1602设置部分选键电路
AT89C52MCS51单片机产品兼容 8K字节系统编程Flash存储器 1000次擦写周期 全静态操作:0Hz~33Hz 三级加密程序存储器 32编程IO口线 三16位定时器计数器 八中断源 全双工UART串行通道 低功耗空闲掉电模式 掉电中断唤醒 门狗定时器 双数指针 掉电标识符
DS1302 实时时钟芯片功丰富直接代IBM PC 时钟日历芯片DS12887时脚MC146818BDS12887 相兼容DS1302 够动产生世纪年月日时分秒等时间信息部增加世纪寄存器利硬件电路解决子千年问题DS1302 中带锂电池外部掉电时部时间信息够保持10 年久天时间记录12 时制24 时制两种模式户DS1302 进行编程实现种方波输出部三路中断通软件进行屏蔽
DS18B20组网数字温度传感器芯片封装成具耐磨耐碰体积方便封装形式样适种狭空间设备数字测温控制领域编程分辨率9~12位 温度转换12位数字格式值750毫秒 户定义非易失性温度报警设置DS18B20部结构四部分组成:64位光刻ROM温度传感器非挥发温度报警触发器THTL配置寄存器采线通信接口
14课题解决容
课题研究电子万年历单片机控制技术具体应研究容包括方面:
(1)选电子万年历芯片时应重点考虑功实方便单片存储低功耗抗断电器件
(2)根选电子万年历芯片设计外围电路单片机接口电路
(3)硬件设计时结构量简单实易实现系统电路量简单
(4)根硬件电路图开发板完成器件焊接
(5)根设计硬件电路编写控制AT89S52芯片单片机程序
(6)通编程编译调试程序载单片机运行实现设计功
第2章 系统方案设计证
单片机电子万年历制作种方法供选择器件运技术种系统总体设计方案应满足系统功前提充分考虑系统环境选结构简单易实现器件选着眼合适参数稳定性较低功耗低廉成
系统功决定系统采结构成性功耗等方面考虑决定三8位74LS164串行接口外接LED显示器RESPACK8单片机AT89S52进行供电时间芯片DS1302连接单片机AT89S52实现电子万年历功
系统设计求初步确定系统电源模块时钟模块显示模块键盘接口模块温度测量模块闹钟模块六模块组成电路系统构成框图图21示
21 硬件电路框图
21单片机芯片设计证
方案
采AT89C51芯片作硬件核心采Flash ROM部具4KB ROM 存储空间3V超低电压工作MCS51系列单片机完全兼容运电路设计中时具备ISP线编程技术 电路进行调试时程序错误修改程序新增功需烧入程序时芯片次拔插会芯片造成定损坏
方案二
采AT89S52芯片作硬件核心采Flash ROM3V超低电压工作MCS51系列单片机完全兼容该芯片部存储器8KB ROM 存储空间样具AT89S52功具线编程擦技术电路进行调试时程序错误修改程序新增功需烧入程序时需芯片次拔插会芯片造成损坏
AT89S52部具8KBROM存储芯片支持ISP线编程采AT89S52作控芯片
22键控制模块设计证
方案:采矩阵键盘键实现数值直接键入系统中需CPU间断端口扫描
方案二:采独立键查询简单程序处理简单节省CPU资源
系统中需键释放更CPU占时间操作方便采方案二
23时钟模块设计证
方案:直接采单片机定时计数器提供秒信号程序实现年月日星期时分秒计数采种方案然减少芯片节约成实现时间误差较
方案二:采DS1302时钟芯片实现时钟DS1302芯片种高性时钟芯片动秒分时日周月年闰年补偿年进行计数精度高位RAM作数暂存区工作电压25V~55V范围25V时耗电
300nA
DS1302时钟芯片计数时间精度高具闰年补偿功等优点采方案二
24温度采集模块设计证
方案:采温度传感器(热敏电阻AD590)AD转换数字信号精度较准价格昂贵电路较复杂
方案二:采数字式温度传感器DS18B20直接读出测温度根实际求通简单编程实现912位数字值读数方式准确度高误差达2度
DS18B20温度芯片采单总线访问降低成降低制作难度节省单片机资源采方案二
25显示模块模块设计证
方案:采静态显示方法静态显示模块硬件制作较复杂功耗移位寄存器占端口需两根串口线输出
方案二:采动态显示方法动态显示模块硬件制作简单段扫描位扫描占端口总需占单片机14端口采间断扫描法功耗硬件成低整硬件系统体积相减
方案三采LCD方法具硬件制作简单直接单片机接口显示容功耗成低等优点LCM1602显示32字符采LCD缺点亮度够
较三种方案:方案硬件复杂体积功耗方案二硬件简单功耗方案三硬件简单显示容功耗成低等系统设计求达功耗体积成低显示信息等求权衡三种方案选择方案三
第3章 系统硬件设计
根述确定系统方案构想面进行系统硬件电路具体设计系统具体设计面会详细介绍
31 AT89S51单片机
系统采美国ATMEL公司生产AT89S52单片机首先熟悉AT89S52单片机外部引脚部结构
1单片机引脚功
AT89S52单片机40引脚
l Vcc:电源电压+5V
l GND:接
l P0口:P0口组8位漏极开路型双IO口址数总线复口作输出口时位驱动8TTL逻辑门电路端口写1作高阻抗输入端
访问外部数存储器程序存储器时组口线分时转换址(低8位)数总线服访问期间激活部拉电阻
Flash编程时P0口接收指令字节程序校验时输出指令字节校验时求外接拉电阻
l P1口:P1口带部拉电阻8位双IOP1输出缓级驱动(吸收输出电流)4TTL逻辑门电路端口写1通部拉电阻端口拉高电时作输入口作输入口时部存拉电阻某引脚外部信号拉低时会输出电流
Flash 编程程序校验期间P1接收低8位址
l P2口:P2口带部拉电阻8位双IOP2输出缓级驱动(吸收输出电流)4TTL逻辑门电路端口写1通部拉电阻端口拉高电时作输入口作输入口时部存拉电阻某引脚外部信号拉低时会输出电流
访问外部程序存储器16位址外部数存储器(例执行MOVX@DPTR指令)时P2口送出高8位址数访问8位址外部数存储器(MOVX @Ri指令)时P2口线容(特殊功寄存器(SFR)区中P2寄存器容)整访问期间改变
Flash 编程程序校验期间P2接收低高位址控制信号
P3口:P3口组带部拉电阻8位双IOP3输出缓级驱动(吸收输出电流)4TTL逻辑门电路P3口写入1时部拉电阻拉高作输入端口作输入端时外部拉低P3口拉电阻输出电流P3口作般IO口线外更重途第二功见表31示:
表31 P3口第二功图
端口引脚
第二功
P30
RXD(串行输入口)
P31
TXD(串行输出口)
P32
INT0(外中断0)
P33
INT1(外中断1)
P34
T0(定时计时器0外部输入)
P35
T1(定时计时器1外部输入)
P36
WR(外部数存储器写选通)
P37
RD(外部数存储器读选通)
P3口接收Flash闪速存储器编程程序校验控制信号
l RST:复位输入振荡器工作时RST引脚出现两机器周期高电单片机复位WDT溢出引脚输出高电设置SFR AUXRDISRT0(址8EH
)开关闭该功DISRT0位缺省RESET输出高电开状态
l ALEPROG:访问外部程序存储器数存储器时ALE(址锁存器允许)输出脉锁存址低8位字节访问外部存储器ALE时钟振荡频率16输出固定正脉信号外输出时钟定时目注意:访问外部数存储器时跳ALE脉
Flash存储器编程期间该引脚输入编程脉(PROG)
必通特殊功寄存器(SFR)区中8EH单元D0位置禁止ALE操作该位置条MOVXMOVC指令ALE会激活外该引脚会微弱拉高单片机执行外部程序时应设置ALE效
l PSEN:程序存储允许(PSEN)输出外部程序存储器读选通信号AT89S52外部程序存储器取指令(数)时机器周期两次PSEN效输出两脉访问外部数存储器没两次效PSEN信号
l EAVPP:外部访问允许欲CPU仅访问外部程序存储器(址0000H—FFFFH)EA端必须保持低电(接)需注意:果加密位LB1编程复位时部会锁存EA端状态
EA端高电(接Vcc端)CPU执行部程序存储器中指令
Flash存储器编程时该引脚加+12V变成电压Vpp
l XTAL1:振荡器反相放器部时钟发生器输入端
l XTAL2:振荡器反相放器输出端
AT89S52单片机部结构
2AT89S52单片机MCS51完全兼容
l 门狗(WDT):WDT种需软件控制复位方式WDT 13位计数器特殊功寄存器中门狗定时器复位存储器(WDTRST)构成WDT 默认情况法工作激活WDT户必须WDTRST 寄存器(址:0A6H)中次写入
01EH 0E1HWDT激活晶振工作WDT机器周期会增加WDT计时周期赖外部时钟频率复位(硬件复位WDT溢出复位)没办法停止WDT工作WDT溢出驱动RSR引脚输出高电
l 编程串口(UART)AT89S52中UART 操作AT89S52 AT89C52 样AT89S52系列单片机串行通信口工作步异步通信方式工作异步方式时具全双工操作功说时进行数发送接收串行口接收器采双缓结构够接收第字节接收寄存器读走前开始接收第二字节(然果第二字节接收完毕第字节然没读走会丢掉字节)串行口发送接收操作通特殊功寄存器中数缓寄存器SBUF进行SBUF部接收寄存器发送寄存器物理结构完全独立果数写入SBUF数会送入发送寄存器准备发送果执行SBUF指令读出数定接收缓存器CPUSBUF读写实际分访问2寄存器2寄存器功决混淆
l 振荡电路:AT89S52系列单片机部振荡器单极反相器组成XTAL1反相器输入XTAL2反相器输出利部振荡器产生时钟XTAL1XTAL2引脚晶体电容组成联谐振电路便构成完整振荡信号发生器方式称部方式种方式外部时钟源提供时钟信号XTAL1端输入XTAL2端浮空组成单片机应系统时数采种方式种方式结构紧凑成低廉性高电路中电容C1C2值求严格果高质晶振频率少C1C2通常选择30pF
l 定时计数器:AT89S52单片机含216位定时器计数器定时器方式时定时器输入部时钟发生电路机器周期定时器加1机器周期包含12振荡周期定时器技术频率晶振频率112计数频率高晶振频率124实现定时计数功定时器中含3种基寄存器:控制寄存器方式寄存器定时器计数器控制寄存器8位寄存器控制定时器工作状态方式寄存器8位寄存器确定定时器工作方式定时器
计数器16位计数器分高字节低字节两部分
l RAM:高7FH部数存储器址8位说址空间256字节部RAM寻址方式实际提供384字节直接址访问存储空间高7FH间接址访问存储空间样然高128字节区分专寄器 特殊功寄存器区址重合实际分开究竟访问区存通寻址方式加区分
l SFR:SFR具特殊功寄存器集合含22寄存器址分配80H~FFH中然单元特殊功寄存器占未占单元容确定单元进行读操作机数写入效编程时应该数写入未确定址单元中特殊功寄存器累加器ACCB寄存器程序状态字寄存器PSW堆栈指针SP数指针DPTRIO端口串行口数缓器SBUF定时器寄存器捕捉寄存器控制寄存器
l 中断系统:AT89S52单片机6中断源中断系统中断允许寄存器IE中断优先级寄存器IP优先级结构逻辑门组成IE寄存器
允许禁止中断IP寄存器确定中断源优先级优先级结构执行中断源优先排序关逻辑门输入中断请求信号整中断响应程中CPU执行操作步骤:
(1)完成前指令操作
(2)PC容压入堆栈
(3)保存前中断状态
(4)阻止级中断请求
(5)中断程序入口址送PC寄存器
(6)执行中断服务程序
(7)返回
32时钟芯片DS1302接口设计性分析
321 DS1302性简介
DS1302Dallas公司生产种实时时钟芯片通串行方式单片机进行数传送够单片机提供包括秒分时日月年等实时时间信息月末日期闰年天数动进行调整拥电源备份电源双电源引脚电源关闭情况保持时钟连续运行外提供31字节高速数暂存RAM
DS1302时钟芯片包括移位寄存器控制逻辑电路振荡器DS1302单片机系统数传送RSTIOSCLK三根端线完成工作程概括:首先系统RST引脚驱动高电然SCLK时钟脉作通IO引脚DS1302输入址命令字节SCLK时钟脉配合IO引脚写入读出相应数字节单片机间数传送十分容易实现DS1302引脚排列部结构图图31:
DS1302引脚说明:
X1X2 32768kHz晶振引脚
GND 线 VCC1 慢速充电引脚
RST 复位端 VCC2 电源引脚
IO 数输入输出端口
SCLK 串行时钟端口 图31 DS1302脚
时钟芯片DS1302接口电路工作原理:
图32 DS1302MCU接口电路
图32DS1302接口电路中Vcc1备电源Vcc2电源VCC1单电源电池供电系统中提供低电源提供低功率电池备份VCC2双电源系统中提供电源种运方式中VCC1连接备份电源便没电源情况保存时间信息数
DS1302VCC1VCC2 两者中较者供电VCC2VCC1+02V时VCC2DS1302供电VCC2VCC1时DS1302VCC1供电
DS1302次进行读写程序前必须初始化先SCLK端置 0接着RST端置1予SCLK脉读写时序图5示表1DS1302控制字控制字位7必须置10DS1302进行读写数位6时间进行读写时CK0程序进行读写时RAM1位1位5指操作单元址位0读写操作位进行读操作时该位1进行写操作时该位0控制字节总低位开始输入输出表2DS1302日历时间寄存器容:CH时钟暂停标志位该位1时时钟振荡器停止DS1302处低功耗状态该位0时时钟开始运行WP写保护位时钟RAM写操作前WP必须0WP1时写保护位防止寄存器写操作
2DS1302控制字
DS1302控制字表2示控制字节高效位(位7)必须逻辑1果0数写入DS1302中位6果0表示存取日历时钟数
1表示存取RAM数位5位1指示操作单元址低效位(位0)1表示进行读操作0表示进行写操作控制字节总低位开始输出
表32 DS1302控制字格式
1
RAMCK
A4
A3
A2
A1
A0
RDWR
3数输入输出(IO)
控制指令字输入SCLK时钟升时数写入DS1302数输入低位位0开始样紧8位控制指令字SCLK脉降读出DS1302数读出数时低位0位高位7图33示
图33 DS1302读写时序图
4DS1302寄存器AM(———)
DS130212寄存器中7寄存器日历时钟相关存放数位BCD码形式日历时间寄存器控制字见表33
表33 DS1302控制字格式
3DS1302控制字格式
写寄存器
寄存器读写
B
it7
B
it6
B
it5
B
it7
B
it3
B
it2
B
it1
B
it0
80H
81H
CH
10秒
秒
82H
83H
10分
分
84H
85H
224(——)
0
10
时
时
AM(——)PM
86H
87H
0
0
10 日
日
88H
89H
0
0
0
10月
月
8AH
8BH
0
0
0
0
0
星期
8CH
8DH
10年
年
8EH
8FH
P
0
0
0
0
0
0
0
外DS1302 年份寄存器控制寄存器充电寄存器时钟突发寄存器
RAM相关寄存器等时钟突发寄存器次性序读写充电寄存器外寄存器容 DS1302RAM相关寄存器分两类:类单RAM单元31单元组态8位字节命令控制字C0H~FDH中奇数读操作偶数写操作类突发方式RAM寄存器方式次性读写RAM31字节命令控制字FEH(写)FFH(读)
33温度芯片DS18B20接口设计性分析
331 DS18B20性简介
1DS18B20特性
DS18B20温度传感器美国DALLAS半导体公司新推出种改进型智温度传感器传统热敏电阻等元件相直接读出测温度根实际求通简单编程实现912位数字值读数方式现场温度直接线总线数字方式传输提高系统抗干扰性适合恶劣环境现场温度测量:环境控制设备程控制测温类消费电子产品等前代产品新产品支持3V~55V电压范围系统设计更灵活方便性特点纳:
1独特单线接口仅需端口引脚进行通信
2测温范围55℃125℃分辨率达00625℃
3采3线制单片机相连减少外部硬件电路
4零机功耗
5通数线供电电压范围30V55V
6户定义非易失性温度报警设置
7报警搜索命令识标志超程序限定温度(温度报警条件)器件
8负电压特性电源极性接反时温度计会发热烧毁正常工作
2DS18B20工作原理
DS18B20读写时序测温原理DS1820相温度值位数分辨率温度转换时延时时间2s减750ms DS18B20测温原理图5示图中低温度系数晶振振荡频率受温度影响产生固定频率脉信号送计数器1高温度系数晶振温度变化振荡率明显改变产生信号作计数器
2脉输入计数器1温度寄存器预置-55℃应基数值计数器1低温度系数晶振产生脉信号进行减法计数计数器1预置值减0时温度寄存器值加1计数器1预置重新装入计数器1重新开始低温度系数晶振产生脉信号进行计数循环直计数器2计数0时停止温度寄存器值累加时温度寄存器中数值测温度图34中斜率累加器补偿修正测温程中非线性输出修正计数器1预置值
LSB
位置清
增加
计数器1
斜率累加器
计数较器
温度寄存器
减0
预置
计数器2
减0
停止
预置
低温度系数晶振
高温度系数晶振
图34 DS18B20测温原理
332 DS18B20接口电路设计
35图示该系统中采数字式温度传感器DS18B20具测量精度高电路连接简单特点类传感器仅需条数线进行数传输P37DS18B20DQ口连接Vcc接电源GND接DS18B20工作电流约1mAVCC般5V电阻R5V1mA5KΩ目前电阻般调电阻固定阻值市场型号中DS18B20接电源需拉稳定工作电阻通常较选择10K电阻起拉作高电续电路保护
图35温度传感器DS18B20接口
333 DS18B20工作时序
1复位时序图
图36复位时序图
1 读时序图
图37读时序图
3写时序图
图38 写时序图
3工作时序
1)总线时序
图39 总线时序
2)写周期时序
图310写周期时序
3)起始停止时序
图311 起始停止时序
4)应答时序
图312 应答时序
5) 立址读时
图313 立址读时序
34 LCD显示模块
341 LCD1602特性说明
1 LCD1602接口信号说明表34
表34 LCD1602接口信号
编号
引脚符号
功说明
编号
引脚符号
功说明
1
VSS
电源
9
D2
DATA IO
2
VDD
电源正极
10
D3
DATA IO
3
VL
液晶显示偏压信号
11
D4
DATA IO
4
RS
数命令选择端(HL)
12
D5
DATA IO
5
RW
读写选择端(HL)
13
D6
DATA IO
6
E
信号
14
D7
DATA IO
7
D0
DATA IO
15
BLA
背光正极
8
D1
DATA IO
16
BLK
背光负极
2 基操作时序:
1)读状态:RSLRWHEH
2)写指令:RSLRWLD0~D7指令码E高脉
3)读数:RSHRWHEH
4)写数:RSHRWLD0~D7数E高脉
3 初始化设置
1) 显示模式设置表35:
表35显示模式设置
指令码
功
0
0
1
1
1
0
0
0
设置16*2显示5*7点阵8位数接口
2) 显示开关光标设置表36:
表36 显示开关光标设置
指令码
功
0
0
0
0
1
D
C
B
D1开显示D0关显示
C1显示光标C0显示光标
B1光标闪烁B0光标显示
0
0
0
0
0
1
N
S
N1读写字符址指针加光标加
N0读写字符址指针减光标减
S1写字符整屏显示左移(N1)
342 LCD1602MCU接口电路
LCDD0~D7分接单片机P0口作数线P0口部没
拉电阻外部外加47K拉电阻P25—P27分接LCDRSRW
E三控制脚RV1调节LCD显示灰度BLKBLA背光阴极阳极接相应电点亮背光灯图314
图314显示电路
中1602第3脚接10K15K串联电阻起分压作够调节第行第二行亮度第16接三极作放够液晶显示器背光灯亮起夜间观万年历
35键模块设计
系统4键中作系统手动复位外4采独立键该种接法查询简单程序处理简单节省CPU资源键电路图315示4独立键分AT89S52P30P31P32P33接口相连
图315 键电路
4键作简说明:K1——SET 键K2——UP键K3——DOWN键K4——OUTSTOP键
SET 键:SET键进入时间校准状态进入秒调整两分调整类推进行年月日时分秒星期校准
UP键:SET键时UP进行SET选定项(:时)加操作
DOWN键:SET键时DOWN进行SET选定项(:时)减操作
OUT键:OUT键时键功退出校准功进入模式显示温度值限温度值
36复位电路设计
AT89S52单片机复位引脚RST(全称RESET)出现2机器周期高电时单片机完成复位操作果RST持续高电单片机处循环复位状态法执行程序求单片机复位脱离复位状态系统选12MHz晶振机器周期1μs复位脉宽度应2μs实际应系统中考虑电源稳定时间参数漂移晶振稳定时间复位性等素必须足够余量
根应求复位操作通常两种基形式:电复位手动复位电复位求接通电源动实现复位操作AT89S52单片机电复位POR(Power On Reset)实质电延时复位电延时期间单片机锁定复位状态单片机次初始加电时首先投入工作功部件复位电路复位电路单片机锁定复位状态维持延时(记作TRST)便予电源电压升稳定等时间电源电压稳定插入延时予时钟振荡器起振稳定等时间单片机开始进入运行状态前少推迟2机器周期延时
设计采电复位电路图316示电电容充电RST持续段高电时间单片机已运行中时复位电路RST持续段时间高电
实现电开关复位操作通常选择C10~30μF设计采电容值10μF电容电阻10K电阻
图316 复位电路
第4章 系统软件设计
电子万年历功程序控制实现该系统软件设计方法硬件设计相应整体功分成程序模块分进行设计编程调试通程序程序模块连接起样利程序修改调试增强程序移植性
系统软件部分进行公历计算程序设计温度测量程序设计键扫描输入等程序开始运行首先进行初始化单片机引脚状态程序里面初始化命令进行初始化初始化完成运行温度测量程序读取出温度传感器测量出温度然运行公历计算程序公历时间日期信息运行键扫描程序检测键果没键直接调节日计算程序根公历日期信息计算出节日果键更新键修改变量送节日计算程序节日计算程序根修改变量计算出应节假日计算完成运行显示程序显示程序温度数公历信息节假日信息送应数码显示
41程序流程图设计
程序流程图图41:
开始
DS1302初始化
设置DS1302
读年月日星期时分秒
读取数处理送液晶屏显示
返回
图41 程序流程图
42 程序设计
421 DS1302读写程序设计
系统时间读取源单片机DS1302操作硬件时钟芯片DS1302单片机连接需三条线SCLK(7)IO(6)RST(5)具体连接图见系统硬件设计原理图读取写程序设计:
函 数 名:RTInputByte()
功 :实时时钟写入字节
说 明:DS1302写入1Byte数 (部函数)
入口参数:d 写入数
返 回 值:
void RTInputByte(uchar d)
{
uchar i
ACC d
for(i8 i>0 i)
{
T_IO ACC0 *相汇编中 RRC *
T_CLK 1
T_CLK 0
ACC ACC >> 1
}
函 数 名:RTOutputByte()
功 :实时时钟读取字节
说 明:DS1302读取1Byte数 (部函数)
入口参数:
返 回 值:ACC
uchar RTOutputByte(void)
{
uchar i
for(i8 i>0 i)
{
ACC ACC >>1 *相汇编中 RRC *
ACC7 T_IO
T_CLK 1
T_CLK 0
}
return(ACC)
}
函 数 名:W1302()
功 :DS1302写入数
说 明:先写址写命令数 (部函数)
调 :RTInputByte() RTOutputByte()
入口参数:ucAddr DS1302址 ucData 写数
返 回 值:
void W1302(uchar ucAddr uchar ucDa)
{
T_RST 0
T_CLK 0
T_RST 1
RTInputByte(ucAddr) * 址命令 *
RTInputByte(ucDa) * 写1Byte数*
T_CLK 1
T_RST 0
}
函 数 名:R1302()
功 :读取DS1302某址数
说 明:先写址读命令数 (部函数)
调 :RTInputByte() RTOutputByte()
入口参数:ucAddr DS1302址
返 回 值:ucData 读取数
uchar R1302(uchar ucAddr)
{
uchar ucData
T_RST 0
T_CLK 0
T_RST 1
RTInputByte(ucAddr) * 址命令 *
ucData RTOutputByte() * 读1Byte数 *
T_CLK 1
T_RST 0
return(ucData)
}
DS1302微处理器进行数交换时首先微处理器电路发送命令字节命令字节高位MSB(D7)必须逻辑 1果D70禁止写DS1302写保护D60指定时钟数D61指定RAM数D5~D1指定输入输出特定寄存器低位LSB(D0)逻辑0指定写操作(输入)D01指定读操作(输出)
422 温度程序设计
单总线基操作初始化写读3种操作3种基操作组合成初始化总线器件进行状态复位写节点总线写入位数读节点总线读取位数3种操作中写操作单初始化操作读操作双具体程序设计:
byte ow_reset(void)
{
byte presence
DQ 0 拉低总线
delay(29) 保持 480us
DQ 1 释放总线
delay(3) 等回复
presence DQ 读取信号
delay(25) 等结束信号
return(presence) 返回 0:正常 1:存
}
1wire 总线读取字节
byte read_byte(void)
{
byte i
byte value 0
for (i8i>0i)
{
value>>1
DQ 0
DQ 1
delay(1)
if(DQ)value|0x80
delay(6)
}
return(value)
}
1WIRE 总线写字节
void write_byte(char val)
{
byte i
for (i8 i>0 i) 次写位
{
DQ 0
DQ val&0x01
delay(5)
DQ 1
valval2
}
delay(5)
}
第5章 系统机体设计调试
51系统模块组成
设计数显示模块温度采集模块时间处理模块调整设置模块四模块组成系统核心采AT89S52单片机数显示模块采LCD液晶显示
温度采集模块DS18B20温度传感器该传感器采单总线传输部带AD转换起非常方便时间处理模块DS1302时钟芯片年月日周日时分秒进行计时具闰年补偿等种功调整设置模块包括四键:模式选择键功选择键调整加键调整减键电路实际效果图51
图51实际效果图
52系统软件调试仿真
通编写出程序然仿真原理图中检查单片机液晶屏等器件否够正常显示通Keil uVision4软件编译程序确保程序正确性程序设计功够利实现图20程序运行图
通软件调试接着Proteus仿真软件里进行仿真原理图设计ISIS软件中连接电路接装入HEX文件单击仿真运行工具栏运行ISIS编辑窗口中单片机应系统仿真运行效果中红色方块代表高电蓝色方块代表低电图52仿真效果图
图52程序运行图
图53仿真效果图
53系统硬件调试
①次电路检测格引脚电压否正常晶振电源否接检测硬件电路否短路断路虚焊等确保设计性电器元件性电路中电源电路晶体振荡电路键接口电路复位电路闹钟电路等采基础电路设计基础电路硬件调试外通软件测试硬件通载口写入较简单程序便测试
②首先USB电源插口接入5V直流电压供系统里接发光二级作指示单输入电压正常时二极亮LCD时显示正常系统正常工作时
LCD液晶第行显示时分秒温度第二行显示年月日星期果想时间进行调整通调整设置模块实现设置键P30键时调节页面时分秒年月日调节P31调整加键P32调整减键P33时进入种模式第二种模式显示闰年第三种模式设置闹钟时间果想退出该模式P33
③硬件调试程中接通电源时候发现液晶显示器没工作背光灯亮没数出电源指示灯已亮说明电源输入正常万表测电路中电压时发现单片机引脚电压正常显示器引脚正常学老师帮助发现程序出错改接电源电路切正常
系统原理图图54:
图54系统原理图
第六章 总 结
整设计程中硬件方面设计AT89S52单片机系统DS1302接口电路DS18B20接口电路闹钟LCD显示软件方面助渠道资料设计阳历数读取程序阳历转阴历程序温度采集程序闹铃程序LCD显示程序系统调试通块AT89S52开发板助KeilSTC少许搭建外围电路实现程中分步调试时显示出阳历日期时间实时温度集中调试时没达预期效果万年历具读显示直观功样电路简洁成低廉等诸优点符合电子仪器仪表发展趋势具广阔市场前景
整设计程中学许没学知识电路焊接时然没什问题中知道焊接整作品中重性电路工程量心急慢慢急求成反达事半功倍效果电路设计布局先构思显电路板美观方程序编写中思路清晰开始时遇问题静心思考理清思路反心应手次设计中知道做事颗常心想着走捷径步脚印练耐心做什事耐心次设计中学东西重
总次毕业设计力全方位提高次设计电子万年历存足方改进
致 谢
六月总阳光灿烂六月总曲终散六月拒绝伤感花谢芬芳迎硕果飘香毕业带离走辉煌文完稿际谨文撰写程中予帮忙导师亲爱家表示深深感谢性感谢导师王斌老师治学学榜样值信赖良师益友承担繁重教学工作务状况动关心学科研文选题开题报告撰写资料查找结构完善予悉心指导利成文
外感谢家家鼓励支持已惑年够全心投入学工作中利完成学业衷心感谢百忙中评阅文参加答辩位专家教授
参考文献
[1]陈明荧. 8051单片机课程设计实训教程[M].北京:清华学出版社
[2]苏单片机原理接口技术[M]北京电子工业出版社2006:1113
[3]王忠民微型计算机原理[M]西安西安科技学出版社2003:1555
[4]立民.单片机高级教程[M].北京北京航空航天学出版社2003年
[5]纪宗南单片机外围器件手册[M]北京北京航空航天学出版社622655
[6]周雪模拟电子技术[M]西安 西安电子科技学出版社2005:8195
[7]左金生电子模拟电子技术[M]北京电子工业出版社2004:105131
[8]尹勇单片机开发环境μVision2开发指南[M] 北京北京航空航天学出版社2004:173199
[9]马忠梅籍心等.单片机C语言应程序设计[M].北京航空航天学出版社 2001年
[10]新编单片机原理应(第二版)西安电子科技学出版社20072
[11]张萌单片机应系统开发综合实例[M] 北京:清华学出版社20077
[12]楼然苗单片机课程设计指导[M] 北京:北京航空航天学出版社20077
[13]李广弟 单片机原理应[M] 北京航空航天学出版社2004年
[14]王越明电子万年历设计[J]黑龙江科技信息2004年
[15] 余锡存曹国华单片机原理接口技术 西安西安电子科技学出版社2000
[16] WSimpsonEditorThe PointtoPoint Protocol RFC1661 [EBOL] July 1994
[17] WAVECOMAT Commands Interface Guide Revision 002[EBOL]6th November 2003
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档