微机控制技术实训报告.docx

上传人:b****7 文档编号:9211431 上传时间:2023-02-03 格式:DOCX 页数:16 大小:282.02KB
下载 相关 举报
微机控制技术实训报告.docx_第1页
第1页 / 共16页
微机控制技术实训报告.docx_第2页
第2页 / 共16页
微机控制技术实训报告.docx_第3页
第3页 / 共16页
微机控制技术实训报告.docx_第4页
第4页 / 共16页
微机控制技术实训报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

微机控制技术实训报告.docx

《微机控制技术实训报告.docx》由会员分享,可在线阅读,更多相关《微机控制技术实训报告.docx(16页珍藏版)》请在冰豆网上搜索。

微机控制技术实训报告.docx

微机控制技术实训报告

重庆航天职业技术学院

温度采集报警报告

报告题目:

数字温度计

系部:

电子工程系专业:

计算机控制技术

姓名:

学号:

指导老师:

汤平

 

温度采集报警任务书题目:

数字温度计任务与要求:

1、查阅数字温度计设计相关资料,熟悉数字温度计设计的原

理,查阅A/D转换及传感器相关知识,画出数字温度计原理图,并编写相应

的源程序。

2、使用8052单片机作为处理器,设计数字温度计设计,设定温

度最高值和最低值。

数码管进行循环显示,显示实际温度值。

3、实现单路的电压采集和显示,显示3位温度值,最后1位显示“C”

4、并用喇叭报警。

发挥部分:

将仿真电路图和程序修改为中断方式实现温度采集和显示。

 

前言

 

温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生活中的更加广泛的应用,利用新型数字温度传感器实现对温度的测试与控制得到更快的开发,本文设计了一种基于80C52的温度检测及报警系统。

该系统可以方便的实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。

该系统设计和布线简单,结构紧凑,抗干扰能力强,在大型仓库、工厂、智能化建筑等领域的温度检测中有广泛的应用前景。

 

1、原理········1

2、元器件介绍·······2

3、元器件清单·······7

4、参考电路图·······85电路图详解·······10

6、元器件的排版与焊接·····11

7、参考程序编写与导入·····12

8、成品的调试·······15

9、总结·······16

10、参考文献·······17

 

原理

根据主芯片AT89S52所展开设计

(1)微处理器:

AT89S52非常适用于控制,他的主要结构和特点在前面已经介绍过了,为了满足外围接口电路的需要,一般都要在输出口处接锁存驱动电路,这里我们采用的是SN74HC573。

(2)压频变换装置:

将模拟的电压量转化成频率值,这是一种A/D转化方式,将输出电压U0采样通过压频变换装置传给单片机,压频转化装置我们用的是NationalSemiconductor的LM331。

(3)输出控制电路:

单片机的输出控制信号通过电阻解码网络转化成模拟电压值,控制电压和电流比较器的基准值,实现对外围功率电路的控制。

(4)上电复位电路:

为了防止单片机的程序飞跑,出现死锁,我们采用MAXIM公司的MAX813L系统监控集成芯片来实现对单片机的监控,该芯片具有看门狗电路、门限值检测器、手动复位等功能。

(5)输入控制和数码显示电路:

包括按键和显示部分。

通过简单的按键选择,实现运行方式选择、复位及故障的显示。

显示部分采用SN74HC573驱动两个8位七段LED显示;同时通过发光二极管和蜂鸣器提示运行状态。

1

元器件介绍

本设计选用的单片机型号为STC89C52RC,它是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

芯片的引脚见图3-1。

图3-1STC89C52芯片引脚图2

其内部管脚与通用的8xC52基本相同,主要处理各外部硬件的初始化,会聚IC内部寄存器和数据RAM并与CPU进行通信等。

其主要管脚有:

XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。

RST(9脚)为复位输入端口,外接电阻电容组成的复位电路,可进行手动复位。

VCC(40脚)和GND(20脚)为供电端口,分别接+5V电源的正负端。

P0~P3为可编程通用I/O脚,其功能用途由软件定义,各引脚功能描述见表3-1。

表3-1STC89C52RC引脚功能描述

名称

名称及功能

ALE

地址锁存使能

P0.0-0.7

P0口

P1.0-1.7

P1口

T2(P1.0):

定时/计数器2的外部记数输入/时钟输出

T2EX(P1.1):

定时/计数器2重装载/捕捉/方向控制

P2.0-2.7

P2口

P3.0-3.7

P3口

RXD(P3.0):

串行输入口

TXD(P3.1):

串行输出口

INT0(P3.2):

外部中断0

INT1(P3.3):

外部中断

T0(P3.4):

定时器0外部输入

T1(P3.5):

定时器1外部输入

WR(P3.6):

外部数据存储器写信号

RD(P3.7):

外部数据存储器读信号

PSEN

程序存储选通

RST

复位端

VCC

电源:

提供掉电,空闲,正常工作电压。

GND

接地

EA/Vpp

外部寻址使能/编程电压

XTAL1

晶体1:

反相振荡放大器输入和内部时钟发生电路输入

XTAL2

晶体2:

反相振荡放大器输出

STC89C52RC单片机还具有以下几个特点:

1)增强型6时钟/机器周期CPU;

2)3.4V-5.5V宽工作电压,工作频率范围0-40MHz,实际工作频率可达48MHz;

3)工作温度范围0~75℃;

4)8KB用户应用程序空间以及512B片内RAM,无需扩展存储器;32个通用I/O口,复位后P1/P2/P3是准双向口/弱上拉,P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口使用则需要上拉电阻;

5)内置看门狗电路,无需外加看门狗电路;

6)内置3个16位定时器/计数器,其中定时器0可作为2个8位定时器使用;

7)具有4个外部中断源,下降沿或低电平触发中断,掉电模式可由外部中断低电平触发中断模式唤醒;

8)PDIP-40封装。

 

4

 

共阳极数码管:

数码管引脚分部:

 

5

 

6

 

元器件清单

 

名称

参数

数量

7组数量

51系列单片机

STC89C51/52RC

1

7

单片机座子

40引脚

1

7

晶振

12MHz

1

7

瓷片电容

22pF

2

14

瓷片电容

0.1uF

2

14

电解电容

22uF/16V

1

7

电解电容

20uF/16V

2

14

电阻

10kΩ

2

14

电阻

1kΩ

2

14

电阻

4kΩ

2

14

电阻

300Ω

1

7

变阻器

100kΩ

1

7

集成运放

UA741

1

7

串行A/D转换器

TLC549

1

7

模拟温度传感器

LM35

1

7

三极管

9012

1

7

蜂鸣器

1

7

按键

1

7

焊锡

若干

万能板

7cmX15cm

1

10

导线

Ф0.8mm单芯漆包线

若干

7

参考电路图

 

 

8

 

电路详解

80C51时钟有两种方式产生,即内部方式和外部方式。

(如图2-4所示)80C51中有一个构成内部震荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。

这个放大器与作为反馈元件的片外石英或陶瓷震荡器一起构成自激震荡器震荡电路如图。

外接石英晶体(或陶瓷震荡器)及电容C1、C2接在放大器的震荡回路中构成并联震荡电路。

对外接电容C1、C2虽然没有非常严格的要求,但电容的大小会轻微影响震荡频率的高低、震荡工作的稳定性、起震的难易程序及温度稳定性,如果使用石英晶体,推荐使用30pF±10pF,而如果使用陶瓷谐振器建议选择40pF±10pF。

用户还可以采用外部时钟,采用外部时钟如图所示。

在这种情况下,外部时钟脉冲接到XTAL1端,既内部时钟发生器的输入端,XTAL2悬空。

由于外部时钟信号是通过一个2分频的触发器后作为内部时钟信号的所以外部时钟的占空比没有特殊要求,但最小高电平持续的时间和最大低电平持续的时间应符合产品技术条件的要求。

次设计采用内部震荡电路,瓷片电容采用30P,晶振采用12MHZ。

复位电路设计

容采用电容值为10μ的电解电容。

具体连接电路如图2-5所示:

单片机系统的复位电路在这里采用的是上电+按钮复位电路形式,其中电阻R采用10KΩ的阻值,电

 

10

 

元器件排版焊接

 

首先拿到参考电路图,仔细观看和理解电路图。

在根据电路图上面的元器

件一次核对老师所发的元器件是否够数,元器件的参数是否正确,,用万用表测

出每个电阻的参数大小,按顺序排列标注好参数信息。

检查元器件是排版焊接的

第一步.

元器件检查完后,是就排版了,根据以往的经验可以把电路图分为几个部分

后在来逐个排版焊接,现实最小系统电路的焊接,再焊接复位电路的元器件,这

样把电路划分为几个小部分逐个焊接,利于焊接,便于检查,易防止漏掉元器件

的安装与焊接。

11

参考程序

 

#include

#defineucharunsignedchar

#defineuintunsignedint

#defineTmax35//报警温度35℃

sbitTLC549_SCLK=P1^2;//TLC549芯片SCLK线

sbitTLC549_SDO=P1^0;//TLC549芯片SDO线

sbitTLC549_CS=P1^1;//TLC549芯片CS线

sbitSpeaker=P1^7;//蜂鸣器端口

#defineoutbitP3//outbit为数码管的公共端控制量

#defineoutsegP2//outseg为数码管的段码端控制量

#definelen2//len为数码管的个数

ucharledbuf[len];//显示缓冲,存储显示字符的字段码

ucharcodesegmap[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};

ucharTLC549_data()//TLC549的A/D转换程序

{

ucharresult;//定义result存放A/D转换结果

uchari=0,j;

TLC549_CS=1;//TLC549的CS引脚输出高电平,为A/D转换做准备

TLC549_CS=0;//TLC549的CS引脚输出低电平,开始一个A/D转换周期

result=0;//A/D转换结果清零

TLC549_SDO=1;//51单片机读数据时得先把管脚置1

for(i=0;i<8;i++)12

{

if(TLC549_SDO==1)

result=result|(0x80>>i);//从高位到低位依次获取A/D转换的结果

TLC549_SCLK=1;

TLC549_SCLK=0;//输出TLC549的下降沿,从SDO端送出一位A/D转换结果

for(j=0;j<2;j++);//下降沿产生后,400ns后新的位被写到数据线上,所以需延时

}

TLC549_CS=1;//一个周期结束后,TLC549的CS端设置为高电平

returnresult;//返回A/D转换结果

}

//延时子程序

voidSleep(ucharcount)

{

uchari;

while(count--!

=0)for(i=0;i<124;i++);

}

//LED七段码显示函数

voidDispLed()

{

uchari,pos=0x01;//从左往右显示,公共端控制暂存变量pos设置为0x01

outbit=0xff;//全灭

for(i=0;i

{

outseg=ledbuf[i];//输出当前的段码值

outbit=~pos;//输出公共端的控制值,选通一个数码管

Sleep(20);//延时

pos<<=1;//公共端控制暂存变量pos左移一位,为选通下一个数码管做准备

outbit=0xff;//关闭所有数码管

Sleep(5);//延时

}

}13

//扬声器发声

voidspeaker()

{

uchari;

for(i=0;i<3;i++)

{Speaker=1;

Sleep(20);

Speaker=0;

Sleep(20);

}

}

voidmain()

{uchara,b;

uchari;

uinttt;

Speaker=0;

while

(1)

{

tt=TLC549_data();//读取A/D转换结果

tt=tt*50/51;//计算温度值,保存在tt中

a=tt/10;//计算温度的十位

b=tt%10;//计算温度的个位

ledbuf[0]=segmap[a];//获取十位的段码值

ledbuf[1]=segmap[b];//获取个位的段码值

if(tt>=Tmax)//超过规定的温度,报警

speaker();

DispLed();//显示温度值

}

}

顺序:

1、18,19脚

2、9,31脚

3、14成品的调试

 

15总结

经过这次微机控制技术实训《温度采集报警——数字温度计》的制作过程,我再次巩固了单片机的有关知识。

了解了80C52芯片的信息和功能还有用法,以及管脚分布,和引脚功能。

学习了八段共阳极的数码管的引脚分布。

温习了时钟电路,复位电路等的电路知识。

通过焊接电路板,再次对我们的焊接技术进行回炉打造,得到提升,还有程序的编写

也使我们对程序方面的知识得到大幅度的提升。

通过这次实训不仅使我们的专业知识和素养得到提升,对我们实际的动手能力和团结意识也得到成长,通过分组的形式一起完成实训任务,是我们充分认识到了,合作,团结的重要性,理解到团队能力大于个人能力本质意思。

使我们各方面得到大幅度的成长表现,使我们变得更加成熟。

16

 

参考文献

 

1、韩全立,赵德申,微机控制技术及应用,北京:

机电出版社,2004.

2、袁秀文,组态控制技术,北京:

电子工业出版社,2002

3、孙德辉,郑士富,微型计算机控制系统,北京:

冶金工业出版社,2002

4、赵长德,工业用微型计算机,北京:

机械工业出版社,1999

5、黄一夫,微型计算机控制技术,北京:

机械工业出版社。

1999

6、互联网

 

17

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1