资源描述
- -
目录
1 绪论1
1.1设计背景1
1.2设计要求1
1.3设计思路1
2系统硬件设计1
2.1设计总框图1
2.2 各模块功能2
2.3设计总电路图7
3系统软件设计8
3.1程序流程图8
3.2源程序10
4系统仿真与调试10
4.1电路仿真14
4.2系统调试14
5总结与展望14
5.1总结15
5.2展望15
参考文献16
致17
1绪论
1.1设计背景
环境温度作为最根本的环境参数之一,与人们的生活、工农业生产以及科学研究密切相关,研制温度测量装置具有很高的现实意义和应用价值。常用的温度计如水银温度计虽然价格低廉,但随着人们对测量精度要求的不断提高使其在很多方面难以满足人们的需求。数字温度计作为一种高精度和高灵敏度的温度测量装置,在许多领域都得到了越来越广泛的应用。
1.2设计要求
利用单片机80C51与串行A/D转换芯片ADC0831设计一个数字温度计,能够测量0~150°C的温度值,测量结果用4位数码显示。温度通过温度传感器TC1测量后转换为电信号,再经放大器输出送至ADC0831进展A/D转换。本设计用80C51作为主控芯片,采用ADC0831作为电压信号转换器,采用TCK作为实时温度信号采集器,输入电压值围为0~5V。本设计电路构造简单,本钱相对而言比拟低,温度测量围为0~150°C,准确也比拟高,其精度为1°C。
1.3设计思路
温度传感器TC1输出信号经差动放大到0~5V,放大器输出送ADC0831进展A/D转换,A/D转换结果送至单片机进展外理,最后将所测的温度在LED数码管上显示。
2系统硬件设计
2.1 设计总框图
设计总框图见图2.1:
温度传感器
A/D转换
单
片
机
LED显示
图2.1 设计总框图
2.2 各模块功能
2.2.1 ADC0831功能说明
〔1〕ADC0831引脚图见图2.2:
图2.2 ADC0831引脚图
〔2〕ADC0831各引脚定义与功能如下:
CS:片选信号输入端。
VIN〔+〕VIN〔-〕:差分输入端。
DO:A/D转换数据输入端。
VREF:参考电压输入端,接+5V。
CLOCK:时钟信号输入端,决定A/D转换速率,时钟信号频率围为50~800KHZ。
2.2.2 80C51单片机的信号引脚说明及其功能
〔1〕80C51的信号引脚
80C51的引脚排列请参见图2.3。
图2.3 80C51引脚
①信号引脚介绍
P0.0 ~ P0.7: P0口8位双向口线。
P1.0 ~ P1.7 :P1口8位双向口线。
P2.0 ~ P2.7 :P2口8位双向口线。
P3.0 ~ P3.7 :P3口8位双向口线。
:程序存储控制信号。当信号为低电平时,对ROM的读操作限定在外部程序存储器;而当信号为高电平时,那么对ROM的读操作是从部程序存储器开场,并可延至外部程序存储器。
RST:复位信号。当输入的复位信号延续2个机器周期以上高电平即为有效,用以完成单片机的复位初始化操作。
XTAL1和XTAL2 :外接晶体引线端。当使用芯片部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
②P3口的第二功能
P3口的8条口线都定义有第二功能,详见表2.1。
表2.1 P3口的第二功能
引脚
第二功能
信号名称
P3.0
RXD
串行数据接收
P3.1
TXD
串行数据发送
P3.2
外部中断0申请
P3.3
外部中断1申请
P3.4
T0
定时器/计数器0的外部输入
P3.5
T1
定时器/计数器1的外部输入
P3.6
外部RAM写选通
P3.7
外部RAM读选通
〔2〕分别介绍下P0、P1、P2、P3口
①P0口
P0口的口线逻辑电路如图2.4所示。
图2.4 P0口某位构造
②P1口
P1口的口线逻辑电路见图2.5。
图2.5 P1口某位构造
③ P2口
P2口的口线逻辑电路见图2.6。
图2.6 P2口某位构造图
④P3口
P3口的口线逻辑电路见图2.7。
图2.7 P3口某位构造
〔3〕时钟电路与复位电路
①时钟电路
时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各地信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进展工作。单片机的时钟电路,如图2.8所示。
图2.8时钟振荡电路
一般电容C1,C2取30pF左右,晶体的振荡频率围是1.2MHz~12 MHz。晶体振荡频率高, 那么系统的时钟频率也高, 单片机运行速度也就快。MCS-51在通常应用情况下,使用振荡频率为的6MHz或12MHz。
②单片机的复位电路
单片机复位的条件是:必须使RST/VPD或RST引脚〔9〕加上持续二个机器周期〔即24个振荡周期〕的高电平。单片机常见的复位电路如图2.9〔a〕〔b〕所示。
〔a〕 上电复位电路 (b) 按键复位电路
图2.9 常见的复位电路
图2.9〔a〕为上电复位电路,它是得用电容充电来实现的。在接电瞬间,RST端的电位与VCC的一样,随着充电电流的减小,RST的电位逐渐下降。
图2.9〔b〕为按键复位电路。该电路除具有上电复位功能外,假设要复位,只需按图2.9〔b〕中的RESET键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。
2.2.3 四位数码显示管
〔1〕四位数码显示管引脚图如图2.10。
图2.10四位数码显示管引脚图
〔2〕四位七段共阳数码显示器功能介绍:
图中引脚1、2、3、4分别为数码显示选择位,顺序从左至右,高电平有效。引脚A、B、C、D、E、F、G表示的是七段字符,控制数码管显示,低电平有效。引脚DP表示的是小数点,低电平有效。
2.2.4温度测量电路
〔1〕温度测量电路如图2.11。
图2.11温度测量电路
〔2〕温度测量电路的功能介绍:
温度测量电路将采集到的温度通过温度传感器测量,运算放大得到0~5V的电压信号。经过模/数转换再由单片机分析后即可得到实际温度。
2.2.4A/D转换电路
〔1〕A/D转换电路如图2.12。
图2.12 A/D转换电路
〔2〕A/D转换电路的功能介绍:
A/D转换将模拟量变为数字量,本例为八位A/D转换芯片,其分辨率为1/28×5=0.01953,所以测量误差小于1°C。另外选用串行的转换器是为了使电路更简单,在性能上也符合要求。
2.3 设计总电路图
总电路图如图2.13。
图2.13总电路图
3系统软件设计
3.1程序流程图
3.1.1程序总流程图
如图3.1所示。
开场
调用A/D转换子程序
调用LED显示子程序
P2.0口清0
图3.1 程序总流程图
3.1.2A/D转换子程序流程图
如图3.2所示。
A/D转换程序开场
返回
初始化ADC0831
读取P1.1口,R0减1
保存读取的8位二进制数
R0=0?
Y
N
图3.2 A/D转换子程序流程图
3.1.3数码显示子程序流程图
如图3.3所示。
显示程序开场
由A/D转换的值查
表得实际温度值
温度值除100得百
位数,保存余数
查表显示百位,延时
余数除10得十位数,余数为个位数
查表显示十位,延时
查表显示个位,延时
返回
图3.3 显示子程序流程图
3.2源程序
CS BIT P1.7
CLK BIT P1.0
DO BIT P1.1
AD_TMP EQU 30H;
AD_TMP_1 EQU 31H;
AD_TMP_2 EQU 32H;
AD_TMP_3 EQU 33H;
AD_TMP1 EQU 34H;
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: CLR P2.0
START:LCALL AD_CONV;
LCALL DISPLAY;
LJMP START
AD_CONV:SETB CS
CLR CLK
NOP
NOP
CLR CS
NOP
NOP
SETB CLK
NOP
NOP
CLR CLK
NOP
NOP
SETB CLK
NOP
NOP
MOV R0,#08H
AD_READ:CLR CLK
MOV C,DO
RLC A
SETB CLK
NOP
NOP
DJNZ R0,AD_READ
SETB CS
MOV AD_TMP,A
RET
DISPLAY:MOV A,AD_TMP
MOV DPTR,#TAB1
MOVC A,A+DPTR;
CJNE A,#0,S1
SJMP S4
S1:JNC S4
SETB P2.0
CLR P0.0
CLR P0.1
CLR P0.2
CLR P0.4
CLR P0.5
SETB P0.6
S4:MOV B,#100
DIV AB
MOV AD_TMP_1,A
MOV A,B
MOV B,#10
DIV AB
MOV AD_TMP_2,A
MOV AD_TMP_3,B
MOV DPTR,#TAB
MOV A,AD_TMP_1
MOVC A,A+DPTR
MOV P0,A
SETB P2.1
LCALL DLY
CLR P2.1
MOV A,AD_TMP_2
MOVC A,A+DPTR
MOV P0,A
SETB P2.2
LCALL DLY
CLR P2.2
MOV A,AD_TMP_3
MOVC A,A+DPTR
MOV P0,A
SETB P2.3
LCALL DLY
CLR P2.3
RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
TAB1:DB 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
DB 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38
DB 39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56
DB 57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74
DB 75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92
DB 93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110
DB 111,112,113,114,115,116,117,118,119,120,121,122,123,124,125
DB 126,127,128,129,130,131,132,133,134,135,136,137,138,139,140
DB 141,142,143,144,145,146,147,148,149,150
DLY:MOV R4,#2
D1 :MOV R3,#248
DJNZ R3,$
DJNZ R4,D1
RET
END
4系统仿真与调试
4.1 电路仿真
采用proteus仿真软件进展仿真,在仿真之前按照预先设计好的电路图进展连线,以及布局,最后确定线路已连接好,再运行开场仿真。数字温度计的仿真结果如图4.1所示。
图4.1 仿真结果
4.2 系统调试
(1)点击全速执行按钮。
(2)改变温度传感器的设置值,可以观察到ADC0831输出电平值的改变,从而可以确定转换是否正常,并且可以观察到LED显示的数据随着变化。
(3)如果LED显示值与传感器的设置值不一致,那么可对通过改变电阻的值来改变运算放大器的放大倍数,直到显示值与预设值一致为止。改变传感器预设值,重复上述过程。
5总结与展望
5.1 总结
通过单片机课程设计,我对单片机的理论学习和实践操作有了更深入的理解,明白只有将理论同实际联系起来,才能真正地学好一门课程。而且,也只有当我们将所学知识付诸实际行动时,才能真正学以致用和不断创新。
虽然这次课程设计完成得比拟顺畅,但过程中还是遇到了一些问题。比方,在设计硬件电路时不知道运算放大器应该如何正确使用,虽然以前在模拟电路的课程学习中对它有所了解,但对于它的放大原理却不是很清楚。后来通过翻阅其他的资料,终于对它的原理和应用有了更深的认识,也为电路的顺利完成打下了根底。其次就是编程,程序用的是汇编语言并且采用了模块化编程的思想,程序主要分为三个局部,分别是主程序局部、A/D转换局部和显示局部。这样做使得本来很难读懂的汇编程序更加具有可读性,同时也简化了编程的过程。
总的来说这次课程设计收获还是挺大的。不仅锻炼了自己动手的能力,也真正体会了“实践出真知〞的道理。而单片机这样一门实践性很强的学科更是强调了对动手能力和创新能力的培养。
5.2 展望
单片机从诞生到现在对计算机的开展起了很大的推进作用。它已经渗透到人们生活的每一个角落。与通用计算机相比,单片机主要应用于实时控制,在家用电器、智能玩具、机器人、仪表仪器、工业控制以及通信产品中扮演着关键角色。其开展直接影响着人们的生活、工厂的生产,甚至国防、军事、通信等许多方面。数字温度计作为一种仪表,在人们的生活和生产中得到了广泛的应用和开展,我相信随着单片机以及嵌入式系统的飞速开展,数字温度计将愈来愈朝着智能化、高精度化、高可靠性等方面开展。
参考文献
[1] 迎新,等.单片机初级教程[M].:航空航天大学,2000.
[2] 王幸之,等.AT89系列单片机原理与接口技术[M].:航空航天大学,2004.
[3] 何立民.单片机高级教程[M].:航空航天大学,2000.
[4] Atmel Corporation. Microcontroller Data Book.2004.
[5] 维偍,郭强. 液晶显示应用技术[M].:电子工业,2000.
致
由于对单片机的接触时间还不是很长,各个方面经历也缺乏,本次课程设计的顺利完成离不开伟春教师的悉心指导。从课题的选题到课题的开发与研究,再到本论文的撰写到定稿的每一步工作都倾注着教师的心血和汗水,同时得到同学们相助,并提供了大量的资料。在此,对教师和同学们的帮助表示忠心的感。
- word.zl
展开阅读全文