单片机.docx

上传人:b****1 文档编号:1965515 上传时间:2023-05-02 格式:DOCX 页数:12 大小:46.70KB
下载 相关 举报
单片机.docx_第1页
第1页 / 共12页
单片机.docx_第2页
第2页 / 共12页
单片机.docx_第3页
第3页 / 共12页
单片机.docx_第4页
第4页 / 共12页
单片机.docx_第5页
第5页 / 共12页
单片机.docx_第6页
第6页 / 共12页
单片机.docx_第7页
第7页 / 共12页
单片机.docx_第8页
第8页 / 共12页
单片机.docx_第9页
第9页 / 共12页
单片机.docx_第10页
第10页 / 共12页
单片机.docx_第11页
第11页 / 共12页
单片机.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机.docx

《单片机.docx》由会员分享,可在线阅读,更多相关《单片机.docx(12页珍藏版)》请在冰点文库上搜索。

单片机.docx

单片机

 

单片机应用系统设计实践

报告

智能温度控制

 

专业:

测控技术与仪器

学生姓名:

史可

班级:

三班

学号:

65110328

指导教师:

千承辉

实习时间:

2013.07.15

 

 

摘要:

为了满足恒温控制的目的,我利用AT89C52RC单片机结合温度传感器、直流驱动电机、键盘设计温度控制的要求,我设计了利用AT89C52RC控制整个电路、显示器和升温降温的系统。

温度下限值大于温度上限值时,系统自动清零。

当温度在上下限值时,系统保持正常没有变化。

当温度下限值大于实测温度时,单片机控制直流电机驱动风扇,从而降温。

而当温度上限值小于实测温度时,单片机控制升温系统运作。

系统主要包括硬件和软件两部分。

其中包括各模块的器件选择和电路设计。

将键盘按键上的信息传送至AT89C52RC主芯片之中,利用P0端口使之显示于1602LCD液晶显示屏上,包含复位、键盘扫描、延时、温控、电机电路。

关键字:

温度传感、液晶显示、键盘扫描、电机驱动、升温电路

 

 

目录

 

一、系统方案论证与选择1

1.1系统基本方案论证1

1.2系统各模块的最终方案3

二、系统的硬件设计与实现3

2.1系统硬件的基本组成部分3

2.2主要单元电路的设计4

三、系统软件设计6

3.1主程序流程图6

3.2DS18B20温度测量子函数流程图7

四、系统测试9

4.1指标测试9

4.1.1硬件调试9

4.1.2软件调试9

4.1.3软硬件调试9

五、总结10

参考文献10

 

一、系统方案论证与选择

根据题目要求,系统可以分为复位电路、延时电路模块、液晶显示电路模块、电机电路、测温电路、键盘输入模块、控制电路模块,控制电路是以AT89C52RC为主控芯片,其他电路模块都是由控制电路模块AT89C52RC芯片进行控制。

如图1,为系统总电路模块框图。

图1系统总框图

1.1系统基本方案论证

为实现各模块的功能,分别论证了几种不同的设计方案并进行了讨论,并且就各方案的优缺点进行了方案选择。

1.1.1液晶显示电路的选择

方案一:

选用LCD12864液晶显示器,12864屏幕为64行,每行显示128个字符,是点阵型显示器。

可根据需求任意显示字符、数字、汉字、图形,LCD12864是图形型的模组。

方案二:

选用LCD1602液晶显示器,LCD1602是字符型的模组,为16字乘2行字符型。

能显示数字与字符。

 

综上所述,配合我的AT89C52RC控制系统和液晶显示系统,我选择方案二,达到了我需要显示汉字、符号、数字的要求。

1.1.2控制电路的选择

方案一:

选用PIC、或AVR、或凌阳SPCE061A等作为控制核心;这些单片机资源丰富,可以实现复杂的逻辑功能,功能强大,完全可以实现对小车的控制。

但对于本题目而言,其优势资源无法得以体现,且成本稍高。

方案二:

采用AT89C52RC高速单片机来作为整机的控制单元。

AT89C52RC与MCS-51兼容;4K字节可编程闪烁存储器;寿命:

1000写/擦循环;数据保留时间:

10年;全静态工作:

0Hz-24MHz;三级程序存储器锁定;128×8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路。

此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现,能很好地满足实际的需要。

综上所述,配合循迹探测系统,我们选择采用方案二,达到了用软件方法解决硬件电路系统的目的。

1.1.3温控电路的选择

方案一:

LM-PT100、LM-PT1000是带LCD显示的热电阻温湿度传感器,工作于-40℃~+85℃主机范围,不是外接的传感器范围)工业级环境,采集温度范围为-200℃~+200℃,显示精度0.1℃;综合精度0.3℃。

将我们的热电阻传感器与我们的RS-485中继器,可将原来只能连接32个PT100、PT1000热电阻采集模块连到同一网络增多到255个,且最大通信距离为1200m。

LM-PT100、LM-PT1000热电阻温湿度传感器还可以和LM-8052NET配合,组成TCP/IP的温度采集网络,可实现远程采集温度。

方案二:

DS18B20内部结构主要由四部分组成:

64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

具有测温系统简单、测温精度高、连接方便、占用口线少等优点。

属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。

它具有体积小,接口方便,传输距离远等特点。

综上所述,由于TL100采集范围太小,而选择18B20温度传感器,所以我们选择方案二,达到了本设计需要基准测量温度的要求。

1.1.4电机模块的选择

方案一:

步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。

方案二:

直流减速电机是减速机和减速电机(马达)的集成体,由于体积和电刷换向器的限制,直流减速电动机的转速一般在3000-12000转/分范围内,转速增加,电动机的工作寿命将显着降低。

采用的精密低噪音电动机,内部装有压敏电阻,以减少对环境的电磁干扰。

电动机的工作寿命主要取决于电刷和换向器的机械磨损和电化学腐蚀,在额定的负载转矩和速度条件下,可连续运转300到500小时。

综上所述,配合电机模块和降温电路,我们选择采用方案二,更好的达到了电机驱动风扇的目的。

1.2系统各模块的最终方案

经过仔细分析和论证,决定了系统各模块的最终方案如下:

(1)液晶显示模块:

采用LCD1602为系统显示器

(2)控制模块:

采用AT89C52RC单片机

(3)温控模块:

采用18B20温度传感器

(4)电机模块:

采用直流减速电机

二、系统的硬件设计与实现

2.1系统硬件的基本组成部分

通过AT89C52RC芯片P3口与键盘相接,键盘中的键就是一个行列开关,该开关位于行列的交点处,通过按下某个键,该交点的行线和列线联通,相应的行列电平发生变化,从而可以确定按下的功能键。

读取P3的值就可以确定按键,再由AT89C52RC芯片读取按键的值通过P0口和P2口显示在LCD1602上。

通过温度传感器18B20采集到的温度信息与键盘设定的温度上下限值进行比较,控制升温、降温(电机)电路。

如图2,为系统总体电路图。

图2系统总电路图

2.2主要单元电路的设计

2.2.1时钟电路

时钟电路由AT89C52RC得18、19引脚的时钟端(XTL1及ATAL2)以及12MHZ晶振、47pF的电容C1、C2组成,采用片内振荡方式。

其时间周期为1/12us,机器周期为1s。

AT89C52RC中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。

这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成振荡器。

振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平。

2.2.2复位电路

复位电路采用简单的上位电路,由1K电阻及22uF电容接至AT89C52RC的RST复位端电阻给电容充电,电容的电压缓慢上升直到vcc,没到vcc时芯片复位脚近似低电平,于是芯片复位,接近vcc时芯片复位脚近高电平,于是芯片停止复位,复位完成。

按键后电容器被短路放电、RST直接和VCC相连,就是高电平,此时进入“复位状态”。

松手后电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到RST,仍然是“复位状态”,稍后,充电结束,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。

2.2.3按键电路

键盘电路的设计原理首先行列式键盘中的键实际上就是一个机械开关,该开关位于行线和列线的交点处,通过按键加以连接。

当按下某个键时,该交点的行线和列线接通,相应行线或列线上的的电平发生变化,从而可以确定被按下的功能键其次运用线翻转法判断有无键按下:

键盘的高4位用于列控制,低4位用于行控制,并将全部行线Y0~Y3置低电平,然后再检查列线电平的状态。

只要其中有一列电平为低,则表示右键按下,并且被按下的键位于低电平和4根行线交叉的某一个按键中。

2.2.41602LCD显示单元电路

系统显示电路由单片机AT89C52、字符液晶显示器和排阻构成。

单片机实现对LCD命令和显示数据的读写控制功能,P0口作数据口,与液晶的D0~D7相接,在P0口与D0~D7数据线之间分别接8个上拉电阻,以确保电路能够正常显示(必须外接上拉电阻)。

AT89C52的P1口作为LCD的控制线,P2.5~P2.7分别接液晶显示的RS、RW和E端;液晶的其它三个控制端

分别接地和电源。

2.2.5温度采集单元电路

为DS18B20与单片机的接口电路。

DS18B20只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机的P3.4口电源与数字输入输出脚间需要接一个5K左右的电阻。

2.2.6升温电路

此单元电路通过单片机控制相应引脚的电平高低,从而来控制发光二极管显示。

温度采集装置收集到的温度超过系统设定的温度,单片机P2.1以及P2.2脚输出高电平信号使二极管导通或截止从而使LED二极管发光(点亮),并且由4个红色LED灯代表的加热系统在接收到高电平后导通。

在本次设计中,主要是采用LED来表示,灯亮表示报警出现,LED1点亮表示高温情况出现,LED2点亮表示地问情况出现。

推广可以使用继电器,利用单片机来控制继电器的加热与否。

2.2.7电机电路

此单元电路通过单片机控制相应引脚的电平高低,从而来控制电机驱动和发光二极管显示。

温度采集装置收集到的温度低于系统设定的温度,单片机P2.2以及P2.3脚输出高电平信号使二极管导通或截止从而使LED二极管发光(点亮),并且导通由P1.2控制的ULN2003芯片控制的电机电路。

三、系统软件设计

3.1主程序流程图

如图3,为系统主流程图,程序开始启动18B20、1602LCD显示器,单片机判断是否有按键按下,如果有进行按键扫描,否则一直进行检测直到按键按下。

按键确定温度上下限值后与18B20显示温度进行比较,从而导通升温或降温电路或保持原状态不变。

图3系统主流程图

3.2DS18B20温度测量子函数流程图

DS18B20的初始化如图4所示。

先将数据总线置高电平“1”,延时(该时间要求的不是很严格,但是尽可能的短一些),数据线拉倒低电平“0”,延时428微秒,数据线拉高到高电平“1”,延时等待,如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。

据该状态可以来确定他的存在,但是不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制,若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间最少要480微秒,最后将数据线再次拉高到高电平“1”后结束。

DS18B20的读操作如图5所示。

将数据线拉高“1”,之后再将数据线拉低,延时18微秒,将数据线拉高“1”,同时端口应为输入状态,读数据线的状态得到一个状态位,并进行数据处理,延时100微秒,按从低位到高位的顺序发送字节(一次只发送一位),分别把读出的数据存放在两个单元中,最后返回。

图418B20初始化流程图图518B20读操作流程图

 

四、系统测试

4.1指标测试

4.1.1硬件调试

硬件调试分为静态调试和动态调试,对于硬件调试而言,只要认真焊接,硬件一般不会出现什么问题的。

静态调试一般采用的工具是万用表,它是在用户系统未工作时的一种硬件检测。

动态调试是在用户系统工作的情况下发现和排查错误的一种硬件检测。

调试步骤是:

首先把电路分为若干模块,调试过程中与该模块无关的元件可以不加考虑,这样可把故障限定在一定的范围内;故障清除后,把各个模块合在一起进行联调,即可完成整个硬件调试工作。

4.1.2软件调试

软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。

调试过程:

1、代码录入完成进行调试。

2、在KeiluVision3中检测查找错误。

3、检测过程中总是有一处错误无法解决。

4、最后把原程序分开逐个调试,检查每段程序的错误,修正每个代码错误。

5、这种分开调试方法的效率还是很不错的,经过几次修改就完成了程序的调试,运行结果没有错误,电路显示也完全正确。

4.1.3软硬件调试

软硬件联调是指把调试无误的软件程序烧制进单片机芯片内部,通上电源后,检查硬件工作是否有预期的效果,如果没有则需要检测软件是否在实现功能上有欠缺。

若有错误,通过改写软件来调试,直至达到预期效果,则设计圆满成功。

五、总结

有付出就会有收获。

在本次设计的过程中,遇到了许多事先未曾预料的事情和各种困难,设计制作曾几度中断,但通过查找资料、仔细分析和自我调整讨论后解决了问题。

在设计的过程中,提高了自己发现问题,分析问题,解决问题的能力。

学会了通过寻找芯片资料,弄懂、研究芯片本身来找到解决问题的最优解。

要多请教他人,不能有个人主义,有些问题在经过长时间思考后,如果还未解决的话我们就要不耻下问,攻取他人的帮助。

经过此次课程设计,简单带有LCD显示的数字的,系统基本功能基本实现,测试运行也基本正常,该系统基本上完成了恒温控制的功能。

参考文献

[1]范立南,谢子殿等.单片机原理及应用教程[M].

北京大学出版社

[2]马忠梅,籍顺心,张凯等.单片机的C语言应用程序设计[M].

北京航空航天大学出版社,2006.

[3]张毅刚,彭喜元,董继成.《单片机原理及应用》

高等教育出版社,2003.

[4]谭浩强《C语言程序设计(第二版)》 

清华大学出版社 1999年12月第二版 2005年1月第58次印刷 

[5]王丽娟,徐军,戴宝华,荣政 《C程序设计》  

西安电子科技大学出版社  2003年6月第五版  2000年8月出版

[6]彭伟《单片机C语言程序设计实训100例》

电子工业出版社2012年6月第六次印刷

 

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2