数码管显示温控电动机培训课件文档格式.docx
- 文档编号:22968330
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:26
- 大小:384.30KB
数码管显示温控电动机培训课件文档格式.docx
《数码管显示温控电动机培训课件文档格式.docx》由会员分享,可在线阅读,更多相关《数码管显示温控电动机培训课件文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
2
高限报警温度值
7
3
低限报警温度值
8
CRC
4
状态设置字
主控制器件对DS18B20的各种控制都是通过传输操作指令进行的。
对ROM操作的命令制记过能表如表3.2所示
表3.2DS18B20ROM操作指令
命令
功能
33H
读取器件的编码制
F0H
搜索器件编码
55H
根据编码制查找器件
ECH
报警器件搜索
CCH
跳过读取编码制操作
表3.3DS18B20RAM操作指令
4EH
写内部数据存储器
44H
温度转换命令
BEH
读内部数据存储器
B8H
调用EEROM内数值
48H
复制内部数据存储器
B4H
读器件供电方式
3.1.2DS18B20数字温度传感器芯片引脚
表3.4DS18B20的引脚
引脚
符号
GND
地线引脚
DQ
单线运用的数据输入/输出引脚
VDD
可选VDD引脚
3.1.3电路
如3.1图所示为温度采集电路,由于DS18B20是单线数据传输的智能温度传感器,在使用中不需要如何外围的元件,在连接时仅需要一条口线即可实现单片机与DS18B20的双向通信。
所以此温度采集电路只需将DS18B20外接一个上拉电阻,然后接在单片机的I/O接口。
VCC
图3.1温度采集电路
3.2CPU电路
CPU电路主要包括复位和晶振电路。
复位电路主要是在系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。
为可靠起见,电源稳定后还要经一定延时才撤销复位信号,以防止电源开关过程中引起的抖动而影响复位。
本电路,主要是由一个按键和电容电阻组成的RC复位电路。
晶振电路是由片内振荡电路输入线外接石英晶体和微调电容组成,此处使用12MHZ的晶体振荡器。
3.3电机控制电路
本系统的电机控制电路:
电动机回路是一个简单的开关电路,主要由单片机的I/O接口接电路的输入端,通过单片机的I/O口的电平控制三极管的通断,来控制继电器,从而达到控制电机的目的。
3.4显示电路
硬件显示电路部分由四位数码管构成。
采用的是动态扫描方式。
通常将所有位的段选线相应的并联在一起,有一个8位的I/O口控制,形成段选线的多路复用。
而各位共阳极分别有相应的I/O口控制,实现各位的分时复用。
段选和位选位同相驱动,不需要对每个LED数码管单独配置锁存和驱动电路,简化电路。
显示部分的四位一体的数码管用74LS04驱动,P3.3作为温度采集信号线,P0口为显示数据线,P2口作为位选线,动态扫描实现显示温度。
4软件设计电路
软件设计主要分为两部分:
主程序和服务子程序,子程序包括显示和温度传感器读/写程序。
4.1温度转换的程序设计
单片机实现温度转换读取温度数值程序的流程如图4.1所示
图4.1温度转换N-S图
4.2数码管显示电路
显示数据刷新子程序主要是对显示缓冲器中的显示数据惊喜刷新操作,当最高显示位为0时将符号位移入下一位。
显示数据刷新流程图如图4.2所示
图4.2显示N-S图
5Keil及Protues仿真
在Keil中完成编辑、编译、连接、调试、仿真等整个流程。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS).ABS文件由OH51转换成标准的Hex文件。
在Proteus中连接电路,实现它的电路仿真是交互的,可视化,实现软件源码级的实时调试。
图5.1Keil软件中的调试图
以下各图分别为仿真的结果图,图5.2是proteus软件中的电路图。
四位数码管显示采集到的温度,当温度为负值时显示符号“-”,当十位和百位为零时不显示该位。
从图中可以看出:
在-20°
--70°
范围内电机停转,数码管显示温度传感器的温度值;
当温度大于70°
或者小于-20°
时电机开始转动。
图5.2电路仿真图
图5.3温度采集及显示电路
图5.4规定正范围内电机停转
图5.5超出70°
电机转动
图5.6规定负范围内电机停转
图5.7小于-20°
6结论
本课程设计阐述了以AT89C51单片机为核心,使用DS18B20温度传感器以及4位集成式数码管显示温度的数码管显示的温控电动机。
实现了通过数码管监测温度,当温度在
范围之外时,直流电动机开始旋转的要求。
附录:
温控电动机源程序
//DS18B20的读写程序,数据脚P3.3//
//温度传感器18B20汇编程序,采用器件默认的12位转化//
//最大转化时间750微秒,显示温度-55到+125度,显示精度//
//为0.1度,显示采用4位LED共阳显示测温值//
//P0口为段码输入,P2.0~P2.3为位选//
//***************************************************/
#include<
reg51.h>
intrins.h>
#defineDisdataP0//段码输出口
#definediscanP2//扫描口
#defineucharunsignedchar
#defineuintunsignedint
sbitDQ=P3^6;
//温度输入口
sbitDIN=P0^7;
//LED小数点控制
uinth;
inttemp;
floattemp2;
//**************温度小数部分用查表法***********//
ucharcodeditab[16]=
{0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};
//
ucharcodedis_7[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};
//共阳LED段码表"
0"
"
1"
2"
3"
4"
5"
6"
7"
8"
9"
不亮"
-"
ucharcodescan_con[4]={0xfe,0xfd,0xfb,0xf7};
//列扫描控制字
uchardatatemp_data[2]={0x00,0x00};
//读出温度暂放
uchardatadisplay[5]={0x00,0x00,0x00,0x00,0x00};
//显示单元数据,共4个数据和一个运算暂用
//*****************11us延时函数*************************/
voiddelay(uintt)
{
for(;
t>
0;
t--);
}
voiddelayms(uintms)
uinti;
ucharj;
for(i=ms;
i>
i--)
for(j=112;
j>
j--);
/****************显示扫描函数***************************/
voidscan()
{
chark;
for(k=0;
k<
4;
k++)//4位LED扫描控制
{
Disdata=0xff;
Disdata=dis_7[display[3-k]];
//数据显示
if(k==2)
DIN=0;
discan=~scan_con[k];
//位选
delayms(5);
}
/****************DS18B20复位函数************************/
voidow_reset(void)
charpresence=1;
while(presence)
{
DQ=1;
_nop_();
//从高拉倒低
DQ=0;
delay(50);
//550us
DQ=1;
delay(6);
//66us
presence=DQ;
//presence=0复位成功,继续下一步
}
delay(45);
//延时500us
presence=~DQ;
//拉高电平
/****************DS18B20写命令函数************************/
//向1-WIRE总线上写1个字节
voidwrite_byte(ucharval)
uchari;
for(i=8;
//从高拉倒低
DQ=0;
//5us
DQ=val&
0x01;
//最低位移出
delay(6);
val=val/2;
//右移1位
delay
(1);
/****************DS18B20读1字节函数************************/
//从总线上取1个字节
ucharread_byte(void)
ucharvalue=0;
value>
>
=1;
//4us
if(DQ)value|=0x80;
return(value);
/****************读出温度函数************************/
read_temp()
ow_reset();
//总线复位
delay(200);
write_byte(0xcc);
//发命令
write_byte(0x44);
//发转换命令
write_byte(0xbe);
temp_data[0]=read_byte();
//读温度值的低字节
temp_data[1]=read_byte();
//读温度值的高字节
5、就业机会和问题分析temp=temp_data[1];
temp<
<
=8;
temp=temp|temp_data[0];
//两字节合成一个整型变量。
Beadwrks公司还组织各国的“芝自制饰品店”定期进行作品交流,体现东方女性聪慧的作品曾在其他国家大受欢迎;
同样,自各国作品也曾无数次启发过中国姑娘们的灵感,这里更是创作的源泉。
9、如果你亲戚朋友送你一件DIY手工艺制品你是否会喜欢?
temp2=temp*0.0625;
if(temp>
6348)//温度值正负判断
{temp2=(65536-temp)*0.0625;
}//负温度求补码,标志位置1
returntemp;
//返回温度值
(一)对“漂亮女生”饰品店的分析}
/****************温度数据处理函数************************/
夏日的街头,吊带装、露背装、一步裙、迷你裙五彩缤纷、争妍斗艳。
爱美的女孩们不仅在服饰搭配上费尽心机,饰品的选择也十分讲究。
可惜在商店里买的项链、手链、手机挂坠等往往样式平淡无奇,还容易出现雷同现象。
//二进制高字节的低半字节和低字节的高半字节组成一字节,这个
3.www。
oh/ov。
com/teach/student/shougong///字节的二进制转换为十进制后,就是温度值的百、十、个位值,而剩
而手工艺制品是一种价格适中,不仅能锻炼同学们的动手能力,同时在制作过程中也能体会一下我国传统工艺的文化。
无论是送给朋友还是亲人都能让人体会到一份浓厚的情谊。
它的价值是不用金钱去估价而是用你一颗真诚而又温暖的心去体会的。
更能让学生家长所接受。
//下的低字节的低半字节转化成十进制后,就是温度值的小数部分
加拿大beadworks公司就是根据年轻女性要充分展现自己个性的需求,将世界各地的珠类饰品汇集于“碧芝自制饰品店”内,由消费者自选、自组、自制,这样就能在每个消费者亲手制作、充分发挥她们的艺术想像力的基础上,创作出作品,达到展现个性的效果。
/********************************************************/
价格便宜些□服务热情周到□店面装饰有个性□商品新颖多样□voidwork_temp(uinttem)
(一)对“漂亮女生”饰品店的分析ucharn=0,t,r;
if(tem>
{tem=65536-tem;
n=1;
display[4]=tem&
0x0f;
//取小数部分的值
display[0]=ditab[display[4]];
//存入小数部分显示值
display[4]=tem>
//取中间八位,即整数部分的值
display[3]=display[4]/100;
//取百位数据暂存
t=display[3];
display[1]=display[4]%100;
//取后两位数据暂存
display[2]=display[1]/10;
//取十位数据暂存
r=display[2];
display[1]=display[1]%10;
//P1=0x00;
//P1=0XF7;
/******************符号位显示判断**************************/
if(!
display[3])
display[3]=0x0a;
//最高位为0时不显示
display[2])
{
display[2]=0x0a;
//次高位为0时不显示
}
if(n)
{if(!
r)
{display[3]=0x0a;
display[2]=0x0b;
elsedisplay[3]=0x0b;
}//负温度时最高位显示"
//***************报警温度,控制电机转动*********//
if(n)
if(display[2]>
=2)
{
P1=0xF7;
}
elseP1=0xFf;
else
if(((display[2]>
=7)&
&
r)||(t>
0))
{P1=0xF7;
elseP1=0xFf;
}
//****************主函数************************/
main()
Disdata=0xff;
//初始化端口
discan=0xff;
for(h=0;
h<
h++)//开机显示"
0000"
{display[h]=0;
//开机先转换一次
//SkipROM
100;
{scan();
while
(1)
work_temp(read_temp());
//处理温度数据
scan();
//显示温度值
}//
//***********************结束**************************//
参考文献
[1]李朝青.单片机原理及接口技术.北京航空航天大学出版社.2005
[2]李全利.单片机原理及应用技术.高等教育出版社.2004.11
[5]彭伟.单片机C语言程序设计实训100例——基于8051+Proteus仿真.电子工业出版社.2009
[6]郁有文.传感器原理及工程应用.西安电子科技大学出版社.2000.6
[7]孙焕铭等.51单片机C程序应用实例详解.2011.3
[8]潘新民.单片微型计算机实用系统设计.人民邮电大学出版社.1998.5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数码管 显示 温控 电动机 培训 课件