摘
文提出关MCS51系列单片机数字温度计制作电路方法编程思想设计直灌输着电子电路制作软硬结合硬件理念采模块化设计思想硬件模块分温度感应模块时钟模块控制模块显示模块软件样采模块化设计分中断模块温度转化模块时间调整模块控制器采单片机AT89S51时钟电路采万年历芯片DS1302温度传感器采DS18B20数码行传送数实现温度时钟显示软硬结合实现数字温度计温度显示测量
关键词: 数字温度传感器AT89S51
Abstract
This paper presents a digital thermometer MCS51 Series MCU on the production circuit method and programming ideas The design had been instilled in the electronic circuit manufacture with the hard and soft the hardware oriented concept Adopts the idea of modular design The hardware module is divided into induction module clock module temperature control module display module The software also uses the modular design divided into interrupt module temperature conversion module time adjust module AT89S51 singlechip controller clock circuit adopts the perpetual calendar chip DS1302 temperature sensor DS18B20 with digital display temperature clock parallel data transmission Soft and hard combined to achieve the display digital thermometer for temperature measurement
Keywords digital temperature sensor AT89S51
目录
摘 1
Abstract 1
第章绪 1
11选题背景意义 1
12数字温度计概述 1
13设计思路 1
第二章设计容功求 2
21工作原理 2
22设计求 2
第三章整体方案系统设计 2
第四章系统器件选择 3
41 单片机选择 3
42温度传感器选择 5
43显示电路 6
第五章系统整体硬件电路 7
第六章系统程序设计 9
第七章测量结果分析 10
第八章总结 11
致谢 12
参考文献 13
附录 源程序 14
第章绪
11选题背景意义
温度日常生产生活中实时接触物理量仅感觉感觉概温度值传统指针式温度计然指示温度精度低够方便显示够直观数字温度计出现直观解想知道温度底少度
着时代发展控制智化仪器型化功耗微量化广泛关注单片机控制系统疑方面起举足轻重作单片机应系统设计业已成新技术热点中数字温度计典型例子民生活环境温度息息相关工业生产程中需实时测量温度农业生产中离开温度测量研究温度测量方法装置具重意义
12数字温度计概述
数字温度计采温度敏感元件温度传感器(铂电阻热电偶半导体热敏电阻等)温度变化转换成电信号变化电压电流变化温度变化电信号变化定关系线性关系定曲线关系等电信号模数转换电路AD转换电路模拟信号转换数字信号数字信号送处理单元单片机者PC机等处理单元部软件计算数字信号温度联系起成显示出温度数值250摄氏度然通显示单元LEDLCD者电脑屏幕等显示出观察样完成数字温度计基测温功数字温度计根传感器AD转换电路处理单元精度稳定性测温范围等区根实际情况选择符合规格数字温度计
13设计思路
数单片机接口输入数字信号带AD转换高端单片机输入模拟信号单片机获取非电信号温度信息必须通温度传感器传统温度测量热敏电阻作温度传感器热敏电阻性较差测量精度低需AD转换成数字信号单片机进行处理数字温度计简化硬件设计方便单片机读取数节约成
设计单片机数字温度计需考虑三方面:
(1)温度传感器芯片选择
(2)单片机温度传感器接口电路设计
(3)控制温度传感器实现信息采集数传输软件
第二章设计容功求
21工作原理
数字温度计通温度传感器实现实时温度检测然通单片机根传感器特性计算出温度显示出
22设计求
次设计数字显示温度计需满足设计求:
(1)传感器采DS18B20
(2)测量温度范围55125误差±05
(3)采数码显示
第三章整体方案系统设计
采数字温度芯片DS18B20 测量温度输出信号全数字化便单片机处理控制省传统测温方法外围电路该芯片物理化学性稳定做工业测温元件元件线形较0—100 摄氏度时线形偏差1 摄氏度DS18B20 特点采单总线数传输数字温度计DS18B20微控制器AT89S51构成温度测量装置直接输出温度数字信号直接计算机连接样测温系统结构较简单体积采51 单片机控制软件编程度通编程实现种样算术算法逻辑控制体积硬件实现简单安装方便单独DS18B20控制工作PC 机通信传数外AT89S51 工业控制着广泛应编程技术外围功电路配合成熟
该系统利AT89S51芯片控制温度传感器DS18B20进行实时温度检测显示够实现快速测量环境温度根需设定限报警温度该系统扩展性非常强设计中加入时钟芯片DS1302获取时间数数处理时显示时间利AT24C16芯片作存储器件某时间点温度数进行存储利键盘进行调时温度查询获数通MAX232芯片计算机RS232接口进行串口通信方便采集整理时间温度数
系统框图图 31示
图 31 DS18B20温度测温系统框图
第四章系统器件选择
41 单片机选择
单片机选择考虑80318051系列8031没部RAM系统需量存存储数适AT89S51 美国 ATMEL 公司生产低功耗高性 CMOS8 位单片机片含 4kbytes 编程 Flash 读程序存储器兼容标准 8051 指令系统引脚集 Flash 程序存储器线编程(ISP)传统方法进行编程低价位 AT89S51单片机提供许高性价应场合灵活应种控制领域简单测温系统已足够单片机AT89S51 具低电压供电体积等特点四端口需两口满足电路系统设计需适合便携手持式产品设计系统二节电池供电特性
●MCS51 兼容
●4K字节编程闪烁存储器
●寿命:1000写擦循环
●数保留时间:10年
●全静态工作:0Hz24Hz
●三级程序存储器锁定
●128*8位部RAM
●32编程IO线
●两16位定时器计数器
●5中断源
●编程串行通道
●低功耗闲置掉电模式
●片振荡器时钟电路
图 41 AT89S51单片机引脚图
89S51 引脚功介绍 图 41 AT89S51单片机引脚图
AT89S51 单片机40 引脚双列直插式封装
引脚排列逻辑符号图41 示
引脚功简单介绍:
●VCC:供电电压
●GND:接
●P0口:P0口8位漏级开路双IO口脚吸收8TTL门电流P1口脚写1时定义高阻输入P0够外部程序数存储器定义数址第八位FLASH编程时P0口作原码输入口FLASH进行校验时P0输出原码时P0外部电位必须拉高
●P1口:P1口部提供拉电阻8位双IO口P1口缓器接收输出4TTL门电流P1口脚写入1电位部拉高作输入P1口外部拉低电时输出电流部拉缘FLASH编程校验时P1口作第八位址接收
●P2口:P2口部拉电阻8位双IO口P2口缓器接收输出4TTL门电流P2口写1时脚电位部拉电阻拉高作输入作输入时P2口脚电位外部拉低输出电流部拉缘P2口外部程序存储器16位址外部数存储器进行存取时P2口输出址高八位出址1时利部拉优势外部八位址数存储器进行读写时P2口输出特殊功寄存器容P2口FLASH编程校验时接收高八位址信号控制信号
●P3口:P3口脚8带部拉电阻双IO口接收输出4TTL门电流P3口写入1部拉高电作输入作输入时外部拉低电P3口输出电流(ILL)拉缘P3口作AT89C51特殊功口:
P30 RXD(串行输入口)
l P31 TXD(串行输出口)
l P32 INT0(外部中断0)
l P33 INT1(外部中断1)
l P34 T0(记时器0外部输入)
l P35 T1(记时器1外部输入)
l P36 WR (外部数存储器写选通)
l P37 RD (外部数存储器读选通)
时P3口时闪烁编程编程校验接收控制信号
●RST:复位输入振荡器复位器件时保持RST脚两机器周期高电时间
●ALE PROG :访问外部存储器时址锁存允许输出电锁存址位字节FLASH编程期间引脚输入编程脉时ALE端变频率周期输出正脉信号频率振荡器频率16作外部输出脉定时目然注意:作外部数存储器时跳ALE脉想禁止ALE输出SFR8EH址置0时 ALE执行MOVXMOVC指令时ALE起作外该引脚略微拉高果微处理器外部执行状态ALE禁止置位效
●PSEN:外部程序存储器选通信号外部程序存储器取址期间机器周期PSEN两次效访问外部数存储器时两次效PSEN信号出现
●EAVPP:EA保持低电时访问外部ROM注意加密方式1时EA部锁定RESETEA端保持高电时访问部ROMFLASH编程期间引脚施加12V编程电源(VPP)
●XTAL1:反振荡放器输入部时钟工作电路输入
●XTAL2:反振荡器输出
42温度传感器选择
传统热敏电阻等测温元件测出般电压转换成应温度需较外部元件支持硬件电路复杂制作成相较高里采DALLAS公司数字温度传感器DS18B20作测温元件
DS18B20 简单介绍
DALLAS 新单线数字温度传感器DS18B20种新型线器件体积更更适种场合适电压更宽更济DALLAS 半导体公司数字化温度传感器DS18B20世界第片支持线总线接口温度传感器温度测量范围55~+125 摄氏度编程9位~12 位转换精度测温分辨率达00625摄氏度分辨率设定参数户设定报警温度存储EEPROM 中掉电然保存测温度符号扩展16位数字量方式串行输出工作电源远端引入采寄生电源方式产生DS18B20联3 根2 根线CPU需根端口线诸DS18B20 通信占微处理器端口较少节省量引线逻辑电路组成测温系统具线路简单根通信线挂样数字温度计十分方便
DS18B20 性特点:
●独特单线接口方式DS18B20微处理器连接时仅需条口线实现微处理器DS18B20双通讯
●DS18B20支持点组网功DS18B20联唯三线实现组网点测温
●DS18B20中需外围元件全部传感元件转换电路集成形三极集成电路
●适应电压范围更宽电压范围:30~55V寄生电源方式数线供电
●温范围-55℃~+125℃10~+85℃时精度±05℃
●零机功耗
●编程分辨率9~12位应分辨温度分05℃025℃0125℃00625℃实现高精度测温
●9位分辨率时9375ms温度转换数字12位分辨率时750ms温度值转换数字速度更快
●户定义报警设置
●报警搜索命令识标志超程序限定温度(温度报警条件)器件
●测量结果直接输出数字温度信号线总线串行传送CPU时传送CRC校验码具极强抗干扰纠错力
●负电压特性电源极性接反时温度计会发热烧毁正常工作
特点DS18B20非常适点远距离温度检测系统
DS18B20部结构四部分组成:64位光刻ROM温度传感器非挥发温度报警触发器THTL配置寄存器DS18B20脚排列种封装形式图 42 示DQ 数输入输出引脚开漏单总线接口引脚着寄生电源器件提供电源GND信号VDD选择VDD引脚工作寄生电源时引脚必须接图:
图 42 外部封装形式 图43 传感器电路图
43显示电路
显示电路采四位阳LED数码P3口RXDTXD串口输出段码 LED数码仿真软件中图44
图44
第五章系统整体硬件电路
根设计求设计思路硬件电路设计框图图51示仿真软件Proteus完成中LED数码动态扫描法实现温度显示四PNP型晶体Q2Q3Q4Q5八电阻组成基极单片机P10P11P12连接DS18B20数IO端单片机P36引脚连接外部晶振12MHz蜂鸣器通Q1放引脚P17相连
图中三独立式键分调整温度计限报警设置图中蜂鸣器测温度限范围时发出报警鸣声音时LED数码没测温度值显示时调整报警限测出测温度值图中健复位电路电复位加手动复位较方便程序跑飞时手动复位样重起单片机电源实现复位
图51系统总体硬件电路
第六章系统程序设计
数字式温度计应程序包括程序温度检测程序温度转换程序 LED显示程序等
系统程序初始化系统参数DS18B20配置数进行系列设定温度检测程序DS18B20状态断查询读出RAM中9字节读出时需进行CRC校验校验错时进行温度数改写读取前温度值进行温度转化程序温度符号处理温度值BCD码处理进行温度值正负判定段码送显示缓区备定时扫描服务程序处理LED显示程序显示缓器中显示数进行刷新操作高显示位0时符号显示位移入位文采汇编语言设计程序程序采模块化设计流程图图示
QD置1
QD置0
延时500微秒
QD置1
延时等DS18B20响应
QD0
初始化成功
初始化成功
返回
图61程序流程图
图62DS18B20初始化流程图
程序说明:
(1)正常温度显示键盘设置
(2)该程序LED数码实现温度C显示格式显示
(3)通键加减实现温度调整温度复位S1键
第七章测量结果分析
Proteus仿真结果
软件方面Proteus编译进行源程序编译仿真调试
软件中选定传感器进行环境温度设置图71环境温度设349
图71
然点击软件执行键操作步骤实施观察LED数码示数时示数图72
图72
见次软件测试结果良
第八章总结
xx学高等职业技术学院学xx毕业际学知识做设计两年时间学知识肯定验证
两星期时间终完成次课程设计期间学提出许建设性意见次设计终完满成功
觉作名应电子专业学生单片机课程设计意义更重时学东西应实际中然学知识限学协助网查阅相关资料两星期时间终完成次课程设计觉次课程设计程单片机重意义深刻解学中会更加努力学单片机知识坚固基础
致谢
作名应电子专业毕业生觉做单片机课程设计意义必做次课程设计程中感触深属查阅量设计资料设计更加完善查阅方面实际资料十分必必少
次次课程设计中运前学专业课知识:proteus仿真汇编语言模拟数字电路知识等感谢老师循循教导基专业知识文完成基础
做课程设计必须做:设计程序前单片机部结构系统解知道该单片机资源清晰思路完整软件流程图设计程序时妄想次整程序设计反复修改断改进程序设计必路养成注释程序惯样资料保留交流提供方便设计中遇问题记录免次遇样问题
次课程设计中真正意识学中理联系实际学理知识实际中学单片机更程序常写读程中提高次课程设计收获
次感谢xx学帮助鼓励老师学朋友谢谢
参考文献
[1]单片机原理应(第2版)朱兆优 陈坚 邓文娟 电子工业出版社 20127
[2]单片机系统设计应实例 韩志军 机械工业出版社 200910
[3]DS18B20数手册
[4]电子线路CAD 99 SE(第2版) 王廷 机械工业出版社 200712
[5]单片机基础 北京航空航天出版社 李广弟 20017
[6]51系列单片机设计实例 北京航空航天出版社 楼然苗 20033
[7]单片机原理应 冶金工业出版社 唐俊翟 20039
[8]单片机原理应教程 机械工业出版社 刘瑞新 20037
附录 源程序
DATA_BUS BIT P33
FLAG BIT 00H 标志位
TEMP_L EQU 30H 温度值低字节
TEMP_H EQU 31H 温度值高字节
TEMP_DP EQU 32H 温度数
TEMP_INT EQU 33H 温度值整数
TEMP_BAI EQU 34H 温度百位数
TEMP_SHI EQU 35H 温度十位数
TEMP_GE EQU 36H 温度位数
DIS_BAI EQU 37H 显示百位数
DIS_SHI EQU 38H 显示十位数
DIS_GE EQU 39H 显示位数
DIS_DP EQU 3AH 显示数位
DIS_ADD EQU 3BH 显示址
ORG 0000H
AJMP START
ORG 0050H 初始化
START
MOV SP #40H
MAIN LCALL READ_TEMP 调读温度程序
LCALL PROCESS 调数处理程序
AJMP MAIN
读温度程序
READ_TEMP
LCALL RESET_PULSE 调复位脉程序
MOV A #0CCH 跳ROM命令
LCALL WRITE
MOV A #44H 读温度
LCALL WRITE
LCALL DISPLAY 显示温度
LCALL RESET_PULSE 调复位脉程序
MOV A #0CCH 跳ROM命令
LCALL WRITE
MOV A #0BEH 读缓存命令
LCALL WRITE
LCALL READ
RET
复位脉程序
RESET_PULSE
RESET SETB DATA_BUS
NOP
NOP
CLR DATA_BUS
MOV R7 #255
DJNZ R7
SETB DATA_BUS
MOV R7 #30
DJNZ R7
JNB DATA_BUS SETB_FLAG
CLR FLAG
AJMP NEXT
SETB_FLAG
SETB FLAG
NEXT MOV R7 #120
DJNZ R7
SETB DATA_BUS
JNB FLAG RESET
RET
写命令
WRITE SETB DATA_BUS
MOV R6 #8
CLR C
WRITING
CLR DATA_BUS
MOV R7 #5
DJNZ R7
RRC A
MOV DATA_BUS C
MOV R7 #30H
DJNZ R7
SETB DATA_BUS
NOP
DJNZ R6 WRITING
RET
循环显示段位
DISPLAY
MOV R4 #200
DIS_LOOP
MOV A DIS_DP
MOV P2 #0FFH
MOV P0 A
CLR P27
LCALL DELAY2MS
MOV A DIS_GE
MOV P2 #0FFH
MOV P0 A
SETB P07
CLR P26
LCALL DELAY2MS
MOV A DIS_SHI
MOV P2 #0FFH
MOV P0 A
CLR P25
LCALL DELAY2MS
MOV A DIS_BAI
MOV P2 #0FFH
MOV P0 A
MOV A TEMP_BAI
CJNE A #0SKIP
AJMP NEXTT
SKIP CLR P24
LCALL DELAY2MS
NEXTT NOP
DJNZ R4 DIS_LOOP
RET
读命令
READ SETB DATA_BUS
MOV R0 #TEMP_L
MOV R6 #8
MOV R5 #2
CLR C
READING
CLR DATA_BUS
NOP
NOP
SETB DATA_BUS
NOP
NOP
NOP
NOP
MOV C DATA_BUS
RRC A
MOV R7 #30H
DJNZ R7
SETB DATA_BUS
DJNZ R6 READING
MOV @R0 A
INC R0
MOV R6 #8
SETB DATA_BUS
DJNZ R5 READING
RET
数处理
PROCESS
MOV R7 TEMP_L
MOV A #0FH
ANL A R7
MOV TEMP_DPA
MOV R7 TEMP_L
MOV A #0F0H
ANL A R7
SWAP A
MOV TEMP_L A
MOV R7 TEMP_H
MOV A #0FH
ANL A R7
SWAP A
ORL A TEMP_L
MOV B #64H
DIV AB
MOV TEMP_BAIA
MOV A #0AH
XCH A B
DIV AB
MOV TEMP_SHIA
MOV TEMP_GEB
MOV A TEMP_DP
MOV DPTR #TABLE_DP
MOVC A @A+DPTR
MOV DPTR #TABLE_INTER
MOVC A @A+DPTR
MOV DIS_DP A
MOV A TEMP_GE
MOV DPTR #TABLE_INTER
MOVC A @A+DPTR
MOV DIS_GE A
MOV A TEMP_SHI
MOV DPTR #TABLE_INTER
MOVC A @A+DPTR
MOV DIS_SHI A
MOV A TEMP_BAI
MOV DPTR #TABLE_INTER
MOVC A @A+DPTR
MOV DIS_BAI A
RET
DELAY2MS
MOV R6 #3
LOOP3 MOV R5 #250
DJNZ R5
DJNZ R6 LOOP3
RET
TABLE_DP
DB 00H01H01H02H03H03H04H04H05H06H
DB 06H07H08H08H09H09H
TABLE_INTER
DB 03FH006H05BH04FH066H
DB 06DH07DH07H07FH06FH
END
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档