课程设计总结报告。
课程名称: 《单片机原理及接**术》课程设计
学生姓名: 黄超袁杰伟彭磊
院别: 信息与通信工程学院
专业自动化。
指导老师湛腾西。
2023年5月。
数字显示温度计设计。
摘要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。
关键词:单片机,数字控制,温度计, ds18b20,at89s52
1 引言。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机at89s52,测温传感器使用ds18b20,用3位共阳极led数码管以串口传送数据,实现温度显示,能准确达到以上要求。
总体设计。
本电路由at89s52构成核心,尽量把所有i/o引脚都有输出接插件,以便系统扩展以增大该实验板的用途。at89s52是8051系列单片机的功能加强版。 at89s52 是一种低功耗、高性能cmos8位微控制器,具有 8k 在系统可编程flash 存储器。
使用atmel公司高密度非易失性存储器技术制造,与工业80c51 产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得at89s52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
at89s52具有以下标准功能: 8k字节flash,节ram, 32 位i/o 口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,at89s52 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,cpu 停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8k 字节在系统可编程 flash at89s52该芯片的引脚图如图1。
图 1 at89s51引脚和设计功能图。
基本电路部分应包括:电源部分、单片机复位部分、jtag程序接口部分、数码管部分、键盘部分、蜂鸣器部分、ds18b20测温部分、串口通讯部分等。见图1。
2.1 硬件设计。
2.1.1 高稳定电源部分设计。
电源部分主要提供5v电源,电源的指示和开关部分设在实验板上。本电源直接使用外接5v电源,电源输入可分别从电源接口或jtag接口得电,另加电容滤波大大减少了电源对单片机的干扰,使得单片机动行更稳定。电源的原理电路如图2。
图 2 电源驱动部分原理图。
2.1.2 复位部分设计。
单片机复位电路是当单片机出现死机或者程序飞跑的情况下需要强行复位时使用的,它能让单片机返回到正常模式下并从新执行程序。该部分电路如图3。当按键按下时单片机复位端处于高电平状态下,使单片机实现复位。
图 3 复位部分原理图。
2.1.3 程序输入部分设计。
**编程是该实验板廉价而又方便的直接原因,程序写入是从p1.5、p1.6、p1.
7写入程序,同时配合复位口,使复位口置于高电平,这时就可以依照jtag协议实时写入程序。接口选用十针插头。如图4。
图 4 程序写入jtag接口电路。
2.1.4 数码管部分设计。
码管采用动态显示的方式,以节省端口,在共阴极四位数码管中用p2口的低四位驱动数码管的位,用p0口驱动数码管的段,达到动态显示的目的。驱动电路采用9013型三极管驱动。该部分电路如图5。
图 5 数码管电路。
为配合数码管的驱动,p0口上拉一个330ω的电阻,以使数码管有足够的亮度。
2.1.5 键盘部分的设计。
键盘是单片机的输入部分,所有的实验板都不会缺少这部分,这里采用3按键组成控制键盘,分别接在p3.5、p3.6、p3.7上。键盘部分如图6。
图 6 键盘连接部分。
2.1.6 蜂鸣器部分设计。
驱动蜂鸣器的三极管基极用at89s52的p2.6控制,加上一个跳线柱以便于不干扰其它的实验项目,当用到有关蜂鸣器实验时用跳线帽接跳线柱即可。该部分电路图如图7。
图 7 缝鸣器部分原理图。
2.1.7 ds18b20测温部分。
ds18b20数据端口与at89s52的p2.7通过跳线柱连接,其电源通过电源引脚供电,数据端口与vcc间接4.7k上拉电阻,实现单总线功能。
图 8 ds18b20测温部分原理图。
2.1.8 串行通讯部分。
串口通讯部分使用at89s52内部的全双工串行口实现串口通信,使本单片机设计有了通讯的功能,可以实现与其它单片机之间的通讯功能。
2.2 软件设计。
2.2.1 数码管显示部分。
数码管是一种方便实用的显示器,使用非常广泛;本设计所使用的是四位一体共阴极数码管,四个共阴极端由单片机四个输出管脚控制。
由此可知,设计数码管驱动程序时,应分时点亮各个数码管,且要分时传送不同数码管的对应显示数据,才不至于使显示混淆,造成显示错误。
驱动程序可如下设计于(供参考):
void display (void)
uint tem;
static uchar time; /静态局部变量用来控制数码管循环显示。
if(rx_en) tem = rx_val*5;
else tem = temp_val;
switch(time)
time = time+1;
if(time==3) time = 0;
设计要点:采用程序循环所产生的延时替代调用延时函数所产生的延时来分时显示数码管,使程序的反应更快,也使数码管显示更亮。
2.2.2 键盘检测部份。
键盘检测利用了单片机的p3.5、p3.6、p3.7端口,采用直接连接方式,方便实现程序的检测。
驱动程序如下(供参考):
bit key_kr(void)
bit r按键有效信号。
static uchar kr; /静态局部变量实现按键计时器。
if(k_en==1)
else if(kr==7)
else if(kr==150)
else kr=kr+1;
else
return r;
设计要点:机械按键动作往往会伴随有机械抖动,这些通常会引起出现误判操作,这里采用延时方法实现按键去抖动。同时,通过计时器实现按键短按和长按操作。
2.2.3 蜂鸣器部分。
蜂鸣器是实现温度超过设置温度值的报警,蜂鸣器也是常用报警设备,本设计采用的蜂鸣器内部没有**电路,驱动信号需要是一定频率的脉冲信号,这里使用t0计时器中断实现脉冲信号的产生,并通过p2.6驱动蜂鸣器产生报警声音。
驱动程序如下(供参考):
void init_t0(void) /定时器1初始化程序。
tmod=0x22;
tl0 =0x90;
th0 =0x90;
ea =1;
et0 =1;
tr0 =1;
void alert_charge(void报警控制程序。
if(temp_alert)
else et0 =0;
void t0_time() interrupt 1 //定时器中断程序。
bell=~bell;
2.2.4 ds18b20测温部分。
本设计选用ds18b20作为温度传感器,它是单总线结构,所以在数据交换时要严格的按照单总线协议来进行通信。
驱动程序如下(供参考):
ds18b20接收字节程序:
uchar read_byte(void)
uchar i,m,receive_data;
m = 1;
receive_data = 0;
for(i=0; i<8; i++)
delay(6);
return(receive_data);
ds18b20写字节程序:
void write_byte(uchar val)
uchar i,temp;
for(i=0; i<8; i++)
2.2.5 串口通信部分。
ta89s52单片机内部有独立的全双工串行口实现串口通信,可以实现实时全双工通信,本设计采用t1计时器产生波特率作为串口的发送频率。
单片机课程设计报告
单片机系统课程设计报告。专业 电气技术。学生姓名 朱海李威张杰。学号。指导教师 陈高燕。完成日期 2014 年 7 月 5 日。目录。1 设计任务和性能指标 1 1.1设计任务 1 2 设计方案 1 2.1方案论证 2 2.2总体设计框图 2 3 系统硬件设计 4 3.1红外线解码电路设计 4 3....
单片机课程设计报告
韶关学院。课程设计说明书 设计题目 基于单片机控制的智能交通灯设计。课程名称 微机原理与应用实训。学生姓名 学号。院系 物理与机电工程学院汽车系。专业班级 12机械制造及其自动化 5班。指导教师姓名及职称 谢杰讲师。陈锦儒助理实验师。起止时间 2015 年 3 月 2015 年 5 月。课程设计评分...
单片机课程设计报告
南京工程学院。课程设计说明书 题目实时钟芯片pcf8563的应用 课程名称单片机原理及应用a 院 系 部 中心 通信工程学院。专业电子信息工程 传感网 班级。学生姓名。学号。设计地点信息楼 c 210 指导教师。设计起止时间 2013年12月23日至 2013年12月27日。一 摘要1 二 课程设计...