单片机课程设计.docx
- 文档编号:6060499
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:37
- 大小:490.89KB
单片机课程设计.docx
《单片机课程设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计.docx(37页珍藏版)》请在冰豆网上搜索。
单片机课程设计
课程设计(论文)
题目名称基于单片机温度测量系统设计
课程名称单片机原理及在电气测控学科中的应用
学生姓名
学号
系、专业
课程设计(论文)任务书
年级专业
学生姓名
学号
题目名称
基于单片机的温度测量系统设计
设计时间
课程名称
单片机原理及在电气测控学科中的应用
课程编号
121200105
设计地点
一、课程设计(论文)目的
《单片机原理》课程是一门实践性、应用性很强的课程。
通过课程设计使学生较系统的掌握有关单片机控制的设计思想和设计方法,为学生今后从事单片机控制系统开发工作打下坚实的基础。
本课程设计的基本要求是使学生全面。
单片机控制系统的基本理论,熟熟悉掌握MCS-51系列单片机的编程方法,让学生在接近实际工作环境下,完成一个简单的单片机控制系统设计。
二、已知技术参数和条件
1、加热炉、温度控制范围:
50—100℃;
2、开发环境:
MCS-51系列单片机开发系统、Proteus单片机仿真系统
3、硬件:
实验室提供PC机、温度传感器、电风扇、设计控制系统所需的电子元器件、可调直流电源等。
4、单片机设计相关书籍资料。
三、任务和要求
设计任务:
利用MCS-51系列单片机设计一个温度自动控制系统,利用数码管实时的显示当前温度,并能根据设定的温度值控制温度。
加温设备利用加热炉实现,降温时利用电风扇进行降温。
设计要求
1、要求进行方案论证,说明控制系统的工作原理。
2、要求设计测量系统的硬件电路,给出电路原理图和元器件清单。
3、要求给出软件流程图并编写程序源代码。
4、完成系统的调试,给出调试结果并分析。
5、撰写符合要求的课程设计说明书。
注:
1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;
2.此表1式3份,学生、指导教师、教研室各1份。
四、参考资料和现有基础条件(包括实验室、主要仪器设备等)
1、THKSCM-1型单片机实验系统实验指导书、KEIL软件,WAVE软件
2、数字控制与PLC实验室“THKSCM-1型单片机实验系统”。
五、进度安排
2011年6月7日-8日:
收集和课程设计有关的资料,熟悉课题任务和要求
2011年6月9日:
总体方案设计
2011年6月10日-12日:
硬件电路设计
2011年6月13日-15日:
软件设计
2011年6月15日-17日:
系统调试改进
2011年6月18日-21日:
整理书写设计说明书
2011年6月22日-23日:
答辩并考核
六、教研室审批意见
教研室主任(签字):
年月日
七|、主管教学主任意见
主管主任(签字):
年月日
八、备注
指导教师(签字):
学生(签字):
学生姓名学号
系专业班级
题目名称基于单片机的温度测量系统设计课程名称单片机原理及在电气测控学科中的应用
一、学生自我总结
经过此次的课程设计,我学会了很多,特别是独立思考能力和动手能力。
这次的课程设计巩固了我的单片机知识,比如使用DS18B20传感器,怎样把220V的交流电压变成5V直流稳压电源,让我真正掌握了用protues绘画硬件图,并进行仿真和调试。
但是在此次的课程设计中也发现了自己很多的不足,特别是硬件设计方面,不知道如何去设计硬件以及外部接线图。
不过我会在以后的学习中好好努力,把自己没学好的方面学好。
学生签名:
年月日
二、指导教师评定
评分项目
平时成绩
论文
答辩
综合成绩
权重
30
40
30
单项成绩
指导教师评语:
指导教师(签名):
年月日
注:
1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;
2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。
摘要
温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。
随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。
采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
MSP430系列单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。
本设计主要做了如下几方面的工作:
一是确定系统的的总设计方案,给出系统框图。
本设计以AT89S51单片机为核心的温度测量系统的工作原理和设计方法。
温度信号由温度芯片DD18B20采集,并以数字信号的方式传送给单片机。
单片机通过对信号进行相应处理,从而实现温度测量的目的。
二是硬件设计,在这里采用模块设计方法,设计各单元电路原理图及元器件参数。
主要模块有:
单片机最下系统设计模块、传感器温度采集设计模块、A/D模数转换设计模块、液晶显示设计模块。
三是软件设计,包括绘制软件主程序流程图、和编写程序源代码。
四是进行调试及仿真实验,为了验证该温度测量系统设计的正确性,在protues进行硬件软件联合调试并完成该测量系统的仿真实验,仿真结果表明本设计是正确的。
关键词:
AT89C51;单片机;DS18B20;温度测量
摘要………………………………………………………………….……Ⅰ
1总体方案论证…………………………………………………………1
2硬件电路设计…………………………………………………………2
2.1最小系统模块…………………………………………………………2
2.2电源电路设计…………………………………………………………7
2.3温度传感器DS18B20温度采集模块………………………………7
2.4A/D模数转换…………………………………………………………10
2.5液晶显示器LM016L显示模块……………………………………11
2.6系统总体硬件原理图………………………………………………13
3系统软件设计…………………………………………………………15
3.1软件流程图……………………………………………………………15
3.2程序源代码……………………………………………………………16
4系统仿真调试及实物………………………………………………….21
5设计总结及心得………………………………………….……………23
参考文献………………………………………………………………24
附录Ⅰ…………………………………………………………………25
附录Ⅱ…………………………………………………………………33
附录Ⅲ…………………………………………………………………35
1总体方案论证
本设计以AT89S51单片机为核心的温度测量系统的工作原理和设计方法。
温度信号由温度芯片DD18B20采集,并以数字信号的方式传送给单片机。
单片机通过对信号进行相应处理,从而实现温度测量的目的。
系统通过运用用复位按钮实现测量控制,按下按键复位按钮则刷新测量的温度值。
系统的硬件设计,在这里采用模块设计方法,设计各单元电路原理图及元器件参数。
主要模块有:
单片机最下系统设计模块、传感器温度采集设计模块、A/D模数转换设计模块、液晶显示设计模块。
对于软件设计部分,包括绘制软件主程序流程图、和编写程序源代码。
最后可以通过对系统整体进行调试及仿真实来验证该系统设计的正确性。
系统总体框图如图1.1所示。
数字显示
LCD
AT89C51
图1.1系统总体框图
2硬件电路设计
2.1最小系统模块设计
所谓单片机最小系统,是指在单片机外部增加尽可能少的原件电路,组成一个让单片机可独立工作的系统。
图2.1最小系统电路图
2.1.1AT89C51芯片介绍
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图2.2所示。
图2.2AT89C2051引脚图
(1)主要特性
·与MCS-51单片机产品兼容
·4K字节在系统可编程Flash存储器
·1000次擦写周期
·全静态工作:
0Hz—24MHz
·32个可编程I/O口线
·2个16位定时器/计数器
·5个中断源
·全双工UART串行通道
·低功耗空闲和掉电模式
·掉电后中断可唤醒
·看门狗定时器
·双数据指针
·灵活的ISP编程(字或字节模式)
·4.0---5.5V电压工作范围
·数据保留时间:
10年
·三级程序存储器锁定
·128×8位内部RAM
·可编程串行通道
·片内振荡器和时钟电路
(2)内部结构组成
单片机AT89C51可以划分为CPU、存储器、并行口、串行口、定时/计数器和中断逻辑几个部分。
·CPU由运算器和控制逻辑构成。
其中包括若干特殊功能寄存器(SFR)
·AT89C51时钟有两种方式产生,即内部方式和外部方式。
·AT89C51在物理上有四个存储空间:
片内/片外程序存储大路、片内/片外数据存储器。
片内有256B数据存储器RAM和4KB的程序存储器ROM。
除此之外,还可以在片外扩展RAM和ROM,并且和有64KB的寻址范围。
·AT89C51内部有一个可编程的、全双工的串行接口。
它串行收发存储在特殊功能寄存器SFR的串行数据缓冲器SBUF中的数据。
·AT89C51共有4个(P0、P1、P2、P3口)8位并行I/O端口,共32个引脚。
P0口双向I/O口,用于分时传送低8位地址和8位数据信号;P1、P2、P3口均为准双向I/O口;其中P2口还用于传送高8位地址信号;P3口每一引脚还具有特殊功能,用于特殊信号的输入输出和控制信号。
·AT89C51内部有两个16位可编程定时器/计数器T0、T1。
最大计数值为216-1。
工作方式和定时器或计数器的选择由指令来确定。
·中断系统允许接受5个独立的中断源,即两个外部中断,两个定时器/计数器中断以及一个串行口中断。
(3)管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口同时为闪烁编程和编程校验接收一些控制信号。
P3口也可作为AT89C51的一些特殊功能口,如下表2.1所示。
表2.1P3端口引脚与复用功能表
端口引脚
复用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
/INT0(外部中断0)
P3.3
/INT1(外部中断1)
P3.4
T0(定时器0外部输入)
P3.5
T1(定时器1外部输入)
P3.6
/WR(外部数据存储器写选通)
P3.7
/RD(外部数据存储器读选通)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.1.2时钟电路
AT89C51芯片内部有一个高增益反向放大器用于构成振荡器。
反向放大器的输入端为XATL1,输出端为XATL2。
在XATL1和XATL2两端跨接由石英晶体及两个电容构成的自激振荡器,电容C1和C2取20pF,选用不同的电容对震荡频率有微调作用,但石英晶体本身的标定频率才是单片机振荡频率的决定因数。
时钟电路如图2.4所示。
图2.4时钟电路
时钟电路中,两个电容都选择20pF电容,电容一端接与晶振相连,另一端接地。
选择的晶振是频率为12MHZ。
此模块就是产生像时钟一样准确的震荡电路。
2.1.3复位电路
(1)手动按钮复位
手动按钮复位需要人为在复位输入端RST上加入高电平。
一般采用的办法是在RST端和正电源Vcc之间接一个按钮。
当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。
手动按钮复位的电路如图2.5所示。
由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
本系统采用的就是手动按钮复位,电路连接图如图2.5所示。
图2.5复位电路
2.2电源电路设计
220V交流电经过变压器降压成12V,经过桥式整流器整流、C1滤波,成为约14V直流电,再经三端稳压集成电路7805稳压,形成5V稳定直流电,作为光电输入电路、脉冲形成电路(U1-U8组成电压比较器)和计数与显示电路的工作电源。
电源设计电路图如图2.6所示,电源电路工作原理如图2.7所示。
图2.6电源电路
图2.7电路工作原理图
2.3温度采集电路
2.3.1DS18B20芯片简介
DS18B20是由美国DALLAS公司生产的单线数字温度传感器芯片。
与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化为串行数字信号。
通过编程,DS18B20可以实现9~12位的温度读数。
信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线。
读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部电源。
2.3.2DS18B20的主要特点
(1)采用单线技术,与单片机通信只需一个引脚;
(2)通过识别芯片各自唯一的产品序列号从而实现单线多挂接,简化了分布式温度检测的应用;
(3)实际应用中不需要外部任何器件即可实现测温;
(4)可通过数据线供电,电压的范围在3~5.5V;
(5)不需要备份电源;
(6)测量范围为-55~+125℃,在-10~+85℃范围内误差为0.5℃;
(7)数字温度计的分辨率用户可以在9位到12位之间选择,可配置实现9~12位的温度读数;
(8)将12位的温度值转换为数字量所需时间不超过750ms;
(9)用户定义的,非易失性的温度告警设置,用用户可以自行设定告警的上下限温度。
2.3.3DS18B20的引脚功能
DS18B20的引脚如图2.8所示。
图2.8DS18B20引脚图
DS18B20功能如表2.2所示。
表2.2DS18B20引脚功能表
引脚PR35
符号
说明
1
GND
地
2
DQ
单线运用的数据输入/输出引脚
3
VCC
可选VCC引脚
2.3.4温度采集电路图
温度测量系统主要运用了DS18B20和AT89C51。
如何使两者连接实现功能是温度测量电路的主要设计目的。
在硬件上,DS18B20与单片机的连接有两种方式,一种是VCC接外部电源,GND接地,I/O与单片机I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O,内部寄生电源I/O口线要接5千欧左右的上拉电阻。
这里采用的是第一种连接方式,如图2.10所示
图2.10温度采集电路
2.4模数转换
2.4.1A/D转换器的基本原理
模数转换器即A/D转换器,或简称ADC,是用来把模拟电压量u1转换成为与它成比例的二进制数字量Dn的电路。
A/D转换包括量化和编码两个过程。
所谓量化就是把幅值可连续变化的电压转化成为所规定的单位量化电压的整数倍。
编码就是把量化的结果用代码表示出来。
既然输入电压的幅值是连续变化的,它的幅值不一定是其量化单位的整数倍,所以量化过程不可避免会引入误差,这种误差叫量化误差。
为了把一个变化范围0--0.7V的模拟信号转换为3位二进制数码,首先把0.7V分成8个离散电平,这8个离散电平为0、0.1V、…0.7V。
没相邻离散电平的差值相等,都是一个量化单位,为0.1V。
这个过程就叫量化。
量化过程实际上就是用有限的量化值代替模拟量的过程。
为了对量化候的信号进行处理,还应该把量化的结果用二进制代码获其他形式表示,这个过程就叫编码。
模数转换器最重要的参数是转换的精度,通常用输出的数字信号的位数的多少表示。
转换器能够准确输出的数字信号的位数越多,表示转换器能够分辨输入信号的能力越强,转换器的性能也就越好。
A/D转换器的主要技术指标:
(1)分辨率:
用二进制表示,位数越高,转换精度越大。
(2)相对精度:
理想下是一条直线,各个转换点偏离理想特性的误差。
(3)转换速度:
指完成一次转换所需时间。
2.4.2ADC0809A/D转换器芯片
ADC0809是CMOS工艺,采用逐次逼近法的8位、A/D转换芯片28引脚双列直插式封装,片内除A/D转换部分外还有多路模拟开关。
多路开关有8路模拟量输入端,以及8路模拟量分时输入,共用一个A/D转换器进行转换。
(1)ADC0809的内部逻辑结构
由图2.11可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
ADC0809的内部逻辑结构如图2.11所示。
图2.11ADC0809的内部逻辑结构图
(2)ADC0809引脚结构
ADC0809引脚结构图如图2.11所示。
D7-D0:
8位数字量输出引脚。
IN0-IN7:
8位模拟量输入引脚。
VCC:
+5V工作电压。
GND:
地。
REF(+):
参考电压正端。
REF(-):
参考电压负端。
START:
A/D转换启动信号输入端。
ALE:
地址锁存允许信号输入端。
(以上两种信号用于启动A/D转换)
A、B、C:
地址输入线。
EOC:
转换结束信号输出引脚,开始转换时为低电平,当转换结束为高电平。
OE:
输出允许控制端,用以打开三态数据输出锁存器。
CLK:
时钟信号输入端(一般为500KHz)。
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:
4条
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如表2.3所示。
表2.38位模拟开关功能表
ADDC
ADDB
ADDA
输入通道号
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
2.5液晶显示器LM016L显示模块
2.5.1液晶显示器LM016L结构功能介绍
液晶显示器是一种将液晶显示器件、连接器件、集成电路、PCB线路板、背光源,结构器件装配在一起的组件。
LM016L液晶模块采用HD44780控制器。
HD44780具有简单而功能较强的指令集,可以实现字符移动、闪烁等功能。
HD44780控制器由两个8位寄存器、指令寄存器(IR)和数据寄存器(DR)、忙标志(BF)、显示数据RAM(DDRAM)、字符发生器ROM(CGROM)、字符发生器RAM(CGRAM)、地址计数器(AC)构成。
IR用于寄存指令码,只能写入不能读出;DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据。
BF为1时,液晶模块处于内部处理模式,不响应外部操作指令和接受数据。
DDRAM用来存储显示的字符,能存储80个字符码。
CGROM由8位字符码生成5x7点阵字符160种和5×10点阵字符32种,8位字符编码和字符的对应关系。
CGRAM是为用户编写特殊字符留用的,它的容量仅64字节。
可以自定义8个5×7点阵字符或者4个5×10点阵字符。
AC可以存储DDRAM和CGRAM地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或者CGRAM单元。
LMO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计