资源描述:
《用c语言进行单片机程序设计与应用new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第23卷 第1期海 洋 技 术Vol123,No112004年3月 OCEANTECHNOLOGYMarch,2004用C语言进行单片机程序设计与应用刘莉明(天津商学院,天津300122)摘 要:文章写了C语言的主要特点,以及与汇编语言相比所具有的优点,通过编写的智能化温控表软件的源程序,可具体了解用C语言编写单片机程序的格式和规则,另外文章还阐述了智能化温控表的硬件特色。2关键词:C语言;EPROM;DS18B20;X25045;AT89C51中图分类号:TP311 文献标识码:B 文章编号:100322029(2004)01209920490℃,控温范围为
2、-30~+30℃,精度均可达到1 引言011℃。该温控表可用于任何需要测量温度和控制温度的地方,如用在工业控温方面,用在海洋测温C语言是一种通用的计算机程序设计语言,在方面等等。国际上非常流行,它既可以用来编写计算机的系统(1)温控表工作原理:温控表主要由单片机、程序,也可以用来编写一般的应用程序。以前计算X25045和DS18B20组成。其源程序存在AT89C51机的系统软件主要用汇编语言编写,单片机应用系的FLASH中,用户所设置的温度值存在X25045的2统更是如此。由于汇编语言程序的可读性和可移植EPROM中,从DB18B20中取所测温度的串行码,性都较差,采用
3、汇编语言编写单片机应用,不但周通过转换成相应的温度值显示出来。其主要原理图期长,而且调试和排错也比较困难,为了提高编制如图1。单片机应用程序的效率,改善程序的可读性和可移(2)温控表的使用:该智能化温控表的面板图植性,采用高级语言无疑是一种最好的选择,C语言如图2。在面板数码管下面有3个灯,分别为显示温既具有一般高级语言的特点,又能直接对计算机的度灯,温度上限灯和温度下限灯,在面板左上方有硬件进行操作,表达和运算能力也较强,许多以前2个灯,分别为工作灯和电源灯。面板上还有3个触只能采用汇编语言来解决的问题都可以用C语言摸按键,分别为功能转换键、上调键和下调键。功来解决。
4、基于C语言的特点,用C语言进行单片机能转换键用来进行显示温度和设置温度的转换,上程序设计是单片机开发与应用的必然趋势。笔者最调键和下调键分别用于设置温度值的调节。近开发的智能化温控表的软件就是用C语言编写(3)硬件组成及其它们的主要特征的。本文重点介绍智能化温控表系统的设计和智能温控表的硬件组成主要有AT89C51、X25045化温控表软件的设计。和DS18B20,它们的主要特征分别简述如下:a1AT89C51单片机:AT89C51单片机由美国2 智能化温控表的系统设计的Atmel公司制造的,为标准的40引脚双列直插式集成电路芯片,其管脚引法完全同MCS-51。它笔者采
5、用AT89C51,X25045和DB18B20成功的主要特征为:的研制了智能化温控表。该表不仅能实现温度控制,①闪速式存储器4KB。②内存储器128B。③工还可实现多点远距离测温,其测温范围为-30~+作频率24MHz。④4个8位IöO口。⑤2个16位定时器ö计数器。⑥中断源5个。⑦1个全双工串行口。收稿日期:2003206212其中闪速式存储器可允许1000次重复编程ö擦写。10 海 洋 技 术 第023卷图1 主要原理图MSByte654SSSSS222它的主要特征:(1)电源和信号传输只
6、用一根线,又称一线制。(2)每个传感器都有自己的序列号,因此多个传感器可以共用一根传输线和单片机相连。(3)电源范围为310~515V。(4)测量范围为-30~80℃。(5)温度分辩率分4个等级,分别为015℃、0125℃、01125℃和010625℃。(6)用户可通图2 智能化温控表的面板图过命令字在DS18B20中设置温度上下限报警值。b1X25045芯片:X25045芯片是具有IC接口的E2PROM器件。它的主要特征为:3 智能化温控表软件设计2①EPROM4KB。②1个看门狗计时器。③时钟频率1MHz。④具有电源变动的保护功能。⑤具有块温控表的软件主要由3部分组
7、成,这3部分为2初始化、主函数和若干个子函数组成。在初始化部锁定的功能。⑥在EPROM中存放的数据可保持100a。⑦它的复位电平为高电平。分主要包括全局变量定义和子函数说明,若干个子c.DS18B20智能温度传感器:由DALLAS公函数主要由X25045操作功能函数、DS18B20的读司生产的DS18B20不是一般温度传感器,它是一个写函数和定时器0的中断函数等组成。源程序用C智能化温度传感器,可以把所测的温度直接变成串语言编写。在下边的源程序中简要介绍初始化部分、行码来传送。该种传感器分为A,B,C,D4个等主函数部分和子函数部分,因篇