基于单片机的毛巾烘干机系统--毕业论文_第1页
基于单片机的毛巾烘干机系统--毕业论文_第2页
基于单片机的毛巾烘干机系统--毕业论文_第3页
基于单片机的毛巾烘干机系统--毕业论文_第4页
基于单片机的毛巾烘干机系统--毕业论文_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.基于单片机的毛巾自动烘干机摘要科学使人们进入了文明时代,现在的科技更是进入生活的各个领域,智能家居更是方便了大家的日常生活。本文研究毛巾烘干机主要是针对我国部分地区比较潮湿,衣物在洗后几天都不能干燥进行烘干,对于那些经常洗衣服的人来说它就十分的实用。它的出现极大的方便了我们的生活,此设备在国外的很多国家都已经普及,它后洗衣机配套使用,衣物能够很快穿戴。 在很多国家,他们将洗衣机和烘干机生产在一起,这样他们就能配套使用。将洗完的衣物直接放到烘干机中,在我过南方这种设备必定很受欢迎,本设计是必要的。 本设计研究基于单片机的毛巾自动烘干机,因此对温度和湿度的控制也就显得更加重要。采集两路湿度传感器

2、值,当采集毛巾回路传感器值大于环境传感器的回路值,单片机系统启动自动烘干程序;LCD显示屏能清晰地显示当前环境湿度值与毛巾湿度值;继电器回路控制电热器与风扇。系统主要功能如下:1.对温度进行测量2.对湿度进行测量3.温度及湿度的显示4.温度及湿度超出设定范围时启动自动烘干程序烘干毛巾关键词:  单片机 温度及湿度 自动烘干机:39基于单片机的毛巾自动烘干机AbstractScience has made people into the era of civilization, and now the science and technology is to enter al

3、l fields of life, smart home is more convenient for everyone's daily life. This paper towel drying machine is mainly in parts of the country more humid, clothing after washing a few days can dry drying, for those who often wash clothes it is practical. Its great convenience to our life, this equ

4、ipment has been widely used in many countries abroad, it is supporting the use of washing machines, clothes can be quickly wear.In many countries, they produce washing machines and dryers so they can be used together. Will wash the clothes directly into the dryer, in my south this equipment must be

5、very popular, this design is necessary.This design research based on the single chip towel automatic drying machine, therefore the temperature and humidity control also appears more important. Acquisition of two-way humidity sensor values, when the acquisition towel loop sensor value is greater than

6、 the environmental sensor circuit value, the singlechip system start automatic drying procedures; LCD display can clearly display the current environment humidity value and towel humidity value; relay loop controls the electric heater and a fan.The main functions of the system are as follows:1 to me

7、asure the temperature2 to measure the humidity3 display of temperature and humidity4 temperature and humidity outside the set range to start automatic drying process drying towelKeywords: MCU temperature and humidity automatic drying machine目录基于单片机的毛巾烘干机系统I摘要IAbstractII目录III前言11 绪论21.1 研究目的及其意义21.2

8、国内外研究现状及问题21.2.1 烘干机的应用与作用21.2.2 国内外现状31.3 主要研究内容与要求42 系统方案设计52.1 总体方案设计52.2 系统组成及框图52.1.1 主控芯片方案62.1.2 显示模块方案63 系统硬件设计73.1 微处理器73.1.1 51单片机的主要特性73.1.2 STC89C51芯片介绍83.1.3 单片机复位状态93.2 湿度测量电路的实现103.2.1 湿度传感器的选择103.2.2 AM2001概述113.3 液晶显示电路143.3.1 显示方案的选择143.3.2 LCD1602及其应用143.4 系统总电路设计174 系统软件设计194.1 主

9、程序流程图194.2 湿度模块程序设计204.3 湿度模块程序设计204.4 显示子程序设计204.5 烘干模块程序设计215 系统的仿真调试33结论35参考文献36致谢37附录1 电路原理图及PCB图38A1.1电磁炉控制电路38A1.2湿度采集电路38A1.3 PCB效果图39附录2 程序清单40前言科学技术的发展推动着人类文明的各个方面的进步,同时人们的需求也越来越多,为了满足人们日常的需要和工业发展的需要,科学技术不断的进步,方便着我们的生活。智能家居成为生活的重点,家电自动化技术不断的提高,生活中随处可见智能化的电气设备。论文中设计毛巾烘干机就是为了解决人们在日常生活中洗涤的衣物能够

10、迅速的晾干。在我国的南方气候比较的湿润同时在夏季经常遇到梅雨季节,处在潮湿的环境中,往往洗了的衣物很久都不能干燥,甚至干了的衣物有一股酸味,在夏季恰好是我们出汗最厉害的季节,衣物的换洗也比较的频繁,在衣物没有风干的情况下,我们不可能去从新再去购买一件,这时穿着出汗的衣物就十分的不舒服,所以设计这个工具是有一定的必要性的。干衣机的出现会很大程度上来方便我们的生活,对于生活在潮湿环境中的人们更是不可或缺。它的出现不仅解决晾晒衣物的麻烦,也解决城市晾晒空间狭小带来的不便。在洗完后迅速的烘干不需要晾晒的地方。在日本等发达国家更是将干衣机和洗衣机生产在一起,它的百分七十以上的家庭都已经在使用这套设备,这

11、些国家在洗完衣物以后马上使用烘干机烘干,整个洗衣过程只需要一个多小时,十分的方便快捷。在我国它的使用率快速的升高,成为智能家居的一部分。 1 绪论1.1 研究目的及其意义 干衣机的出现迅速普及在一定程度上方便我们的生活,对于潮湿的环境和经常下雨的季节,它解决干冷潮湿地区晾晒的缓慢痛苦。一种便携式的干衣机出现方便我们出差用,出差带衣物都不是很多,带上它就能解决很多麻烦的问题,受到大多数人的青睐。其中市场需求也是十分的大,了解市场经济中人们的需求,能够使企业在残酷的市场竞争中赢得先机。论文中设计毛巾烘干机的理念便是来自于此,不仅方便我们的日常生活,也为市场经济做出贡献。本文的意义:(1)建立仿真用

12、烘干机模型,以多面定义完成我们对于仿真的需要。 (2)烘干过程进行模拟,使得我们能够客观的对于仿真过程中能否客观的实现对衣物的短时间内烘干有一个具体的认识。 1.2 国内外研究现状及问题 1.2.1 烘干机的应用与作用 烘干机的用途不仅可以用在干燥衣物方面,同时它也能为其他行业的提供干燥,使用也非常的广泛。它的设计原理相对来说比较的简单,工艺设计同样如此,国内的很多厂家都在生产它。不同类型的烘干机随之而产生,方便各个领域的工业生产设备。例如沙子烘干机、煤泥烘干机、褐煤烘干机、滚筒烘干机、转筒烘干机、矿业烘干机、粮食烘干机等等,覆盖了农业、工业、化工、冶金和矿山等等多个行业。不同的领域对于烘干机

13、的要求也不相同,从其应用的领域来看大致可以用以下几个标准来衡量。一、按照物体状态分为:块状、带状、粒状、膏状、液体、浆状等干燥机,我们可以根据这些物体的分类和物体的具体情况来选择干燥机或者烘干设备,准确的烘干我们想要烘干的物体和烘干程度。二、按干燥介质分类:空气、烟道气、过热蒸汽、惰性气体为干燥机,其中传热也可以分为热油、热气、蒸汽。三、按烘干机操作压力分:可分为常压式和真空式两类烘干设备。常压烘干设备的传热可以采用任何一种或几种型式同时传热,而真空干燥设备的特点是以传导传热和辐射传热居多,而且多数以间歇生产方式为主,真空干燥设备主要处理热敏性物料和有溶剂回收的物料。四、按烘干机给热量方式分类

14、:按烘干设备给热方式可以分为对流加热干燥设备、传导加热烘干设备、其它(辐射加热、高频加热)以及多种传热方式的烘干机设备等。 五、按烘干机的结构分类:按烘干设备的结构可以分为喷雾干燥设备、流化床干燥设备、气流烘干机设备、回转滚筒烘干机、各种箱式烘干机、带式烘干机等。六、按烘干机设备操作方式分类:按烘干机设备操作方式可分为间歇操作和连续操作两类。 1.2.2 国内外现状 改革开发以后,我国经济迅速的发展,科技的不断进步,有很多的产品需要烘干,研究烘干机的课题也随之应运而生。烘干机产业快速的发展,因其结构简单,原理简单,很多企业研究设计,由工厂代为生产。经过调查研究后,在我国生产出来的各种烘干机也是

15、良莠不齐,他们生产的产品也是各不一样,有的企业生产注重产品的质量,有的注重产品的使用方便性,但其中有些只是为了得到利益,忽略产品质量和技术方面的关键。他们的出现占领着市场的很大部分,从而产生了不良的竞争,引起市场的干燥机的价格动荡,价格战便产生了,在很大程度上造成了该行业的利润流失。 烘干机这个产业还是存在这很大的问题,需要一个大企业来做一个规定,我国的生产厂家十分的多,但是生产规模都十分的小,且对产品的质量不注重。和国外相比我国烘干机的种类十分的少,远远不能满足市场的需求,由于质量的问题,很多烘干机并不能达到我们的要求,高质量的烘干机需要从国外进口,这时花费就十分的高,相当于国内的几倍,造成

16、很大的经济损失。急需我们研究生产出自己的高质量的烘干机。我国现阶段的烘干机产品很低端,远远不能占领中国的市场,在外国高质量烘干机流入国内市场,我国的烘干机企业的生存面临着很大的生存压力和竞争压力。在这种情况下,需要我们的大力的支持这方面的技术发展,学校多做这方面的培养和科研方面的技术支持,改善我国在这个方面技术力量薄弱的问题。大力扶持更多的企业来制造和生产烘干机。大力发展烘干机产业,支持我国的各个方面的生产需要。同时工业产品的大力发展能够促进民用产品的发展,智能家居方面的衣物烘干机的发展。为我们的生活带来方便。现阶段我国生产的烘干机还存在着环境方面的问题,对环境有一定的污染,且在使用时存在着很

17、大的噪音,它的冷凝液不能回收。造成环境污染和资源的浪费,需要我们在技术上做很大的改进,完善烘干机方便使用。1.3 主要研究内容与要求 1.通过本次设计掌握电子产品的设计原理,通过烘干机的工作原理,画出相关的原理电路图,设计程序控制电路实现相关的应用,通过一步一步的调试最终完成设计。2.通过翻阅资料,明白设计电路原理的方法。撰写开题报告。 3.设计完成以后,将湿度模块放在毛巾上采集湿度,模拟超过某一阈值时启动风机和电热机对毛巾进行烘干。2 系统方案设计 本章从控制系统的总体构成及原理框图对系统进行了总体分析说明,控制系统组成以后,主要通过控制器、传感器及执行器对控制变量进行分析和处理。2.1 总

18、体方案设计经过反复的论证和大量的数据收集,最终确定了系统的最终设计方案。采用STC系列的89C51做控制芯片,湿度则是用PCF8591采集AM2001输的模拟信号,通过电压转化比计算出湿度百分比。显示是比较价廉的LCD1602对湿度进行显示。当温湿度达到一定然后就启动电风扇和电热器。2.2 系统组成及框图系统主要有湿度测量模块、显示模块、电热器电风扇。其原理框图如图2.1所示。 LCD MCU 风扇传感器电热炉图2.1 系统组成框图2.1.1 主控芯片方案方案一:如果选用以前的AT89C51单片机当作我们的主控芯片。芯片的价格相对来说比较的便宜、操作简便,能耗低,经济效益大。且适合开发此项目。

19、方案二:如果选用市面上的MSP430F149系列单片机当作我们的主控芯片。这类单片机拥有非常大的功用,它是一款内置具备12位ADC的高性能能耗低的16位单片机。但是因为它的价钱比较贵,又因为他是用TPFQ封装的,不方便咱们手工焊接,所以得利用PCB版图来制版,这些种种原因就极大的增加了我们的时间和本钱。方案三:如果选用ARM公司的STM32系列当作主控的芯片。此系统中不必用到这么高级的主控。因为我们这次毕业设计所用的系统的芯片必须要有快速的运算的能力,还要有便宜、操作简便,能耗低,经济效益大。所以我们不管是从价格还是我们芯片的各项性能研究得出第一种方案最适合我们此次的方案。 2.1.2 显示模

20、块方案方案一:选用LCD1602字符液晶作为显示模块,它不仅价格相对便宜之外,它还有利于用户控制,因为它可以在液晶上面体现出数字与字符的信息,本论文设计中满足要求。 方案二:选用LCD128x64液晶作为显示的模块。它可以实现字符的显示,可以显示出图片,但是图片色彩只能是黑白,且精度不高,价格较高,所以对整个显示的设计效果不理想。方案三:选择主控为TFT的带字库的320x240的彩色液晶作为显示模块 ,可以显示出我们经常使用的的汉字、ASCII码、并且他的液晶屏的分辨率高、同时也可以描绘出彩色的图片。但在此系统中我们只需简单显示,且考虑价格,不考虑用此显示。综合以上方案,我们选择了方案一作为接

21、收端的显示。3 系统硬件设计本设计中采用主控芯片为STC89C51,显示模块则根据实际需要和价格考虑选用LCD1602做显示。湿度采集则是用AD采集AM2001输出的模拟信号。现将系统硬件设计表述如下。3.1 微处理器处理器是电路设计的核心,他控制整个外围电路,同时对外部采集的数据处理得到准确的结果。它有着显著的特点(集成度高、体积小、控制精确、耗能小等),在自动控制的工业中各个领域得到广泛的应用,它的出现推动了整个电气时代的大踏步前进。系统中采用STC89C51作为主控芯片。3.1.1 51单片机的主要特性51单片机的主要特性如表3.1所示。表3.1 TC89C51主要特性表主要功能特性兼容

22、MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能3.1.2 STC89C51芯片介绍单片机广泛的应用在大量的硬件设计中,因其他的灵活编程而受到使用者的一致亲睐,如图3.1所示89C51引脚图:图3.1 STC89C51引脚图下面介绍一下一些未画出来的芯片引脚功能:Vcc和Vss:电压Vcc接5V电压,Vss:20脚接地。89C51系统时钟晶振电路如图3.2所示。图3.2

23、 STC89C51晶振接法图本设计采用频率为11.0592MHZ的外部有源晶振为系统提供时钟。晶振电路需要两个电容一般为20pF40pF,他的作用一是滤出高频信号,二是为提供谐振频率。设计中采用30PF。3.1.3 单片机复位状态单片机最先系统中一般由两部分组成,一部分是晶振电路,一部分就是复位电路,他们是保证单片机工作的前提条件,复位电路在单片机开始工作的时候为单片机提供24个时钟周期以上的高电平,初始化复位状态便初始化成功,为了提高复位电路的可靠性,我们再设计复位电路的时候,我们会尽可能的让RST引脚的高电平的持续时间高于10ms,如果此引脚一直是高电平,单片机就会进入持续复位状态,当由高

24、变成低电平的时候,不在进入复位电路,直接从0000H开始执行程序。如果一直复位的状态下,ALE输出一个高电平,单片机复位电路图如图3.3所示:图3.3 STC89C51电复位电路图当处于复位状态时,从P0到P3的输出全为高,且将全部的I/O口配置成为双向输入状态,此时堆栈指针中存入07H,将他定义为堆栈栈底,将所有的特殊功能计数器全部清零。只有RAM中的内容是不标的,它里面存储的是数据。 表3.2 单片机复位时的状态表专用寄存器复位状态专用寄存器复位状态PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL

25、100HP0P3FFHSCON00HIPXXX0 0000BSBUFXXXX XXXXBIE0XX0 0000BPCON0XXX XXXXB3.2 湿度测量电路的实现AM2001/AMT2001 是湿敏电容型温湿度传感器,其中 AM2001 是单湿型;传感器信号采用模拟电压输出方式;本湿度传感器具有良好的性能,能够满足工业生产中比较苛刻的环境。他通过温度补偿来提高精度,同时可靠性高,一致性好。3.2.1 湿度传感器的选择和传统的湿度采集计相比较,传统的湿度计相对来说是比较容易清洗的,我们只需定期的更换纱布和像湿球里面加水就可以了,它的误差十分的大,精度不高。随后便出现了电子式的湿度传感器,它因

26、它的优势(误差小、精度高)迅速的得到发展,为以后的湿度采集更为准确,更方便提供条件。我们选择电子湿度传感器AM2201测量湿度。3.2.2 AM2001概述图3.4 实物图和外形尺寸(单位:mm)一、应用范围 暖通空调、加湿器、除湿机、通迅、大气环境监测、工业过程控制、农业、测量仪表等应用领域。2、 产品亮点 低功耗,成本较低,输出准确的湿度值,使用十分的方便,信号传输距离长,有温度补偿且可以校准。3、 产品选型产品型号产品类型直流电压输出量规格AM2001电容型4.55.5V DC0-3V单湿型AMT2001电容型4.55.5V DC0-3V/(温度 0-0.8V)温湿一体型产品说明:AM2

27、001 为单湿型,AMT2001 为温湿度一体型,说明书共用一本,单湿型和温湿一体型的区别仅仅是增加了温度,其他功能一样,此后不再重复说明。四、接口定义表3.3 引脚分配引脚颜色名称描述1红Vdd电源(4.5-5.5v DC)2黄Hout湿度输出(0-3V DC)3黑GND地4白Tout温湿度两种中的一种:1、NTC10K热敏电阻2、LM35温湿度传感器图3.5 引脚分配图 电源引脚(VDD GND),该模块的供电电压范围为 4.5V - 5.5V,建议供电电压为5.0V。 电压输出信号线(Hout):采集的是的湿度以电压的形式输出,通过AD进行采集。本设计采用为PCF8591,模拟信号输出的

28、电压范围为0-3V,具体电压湿度比参照表3.3。以便后续计算。五 传感器性能相对湿度表3.4 相对湿度性能表参数条件mintypmax单位量程范围099.9%RH精度25±3%RH重复性±1%RH响应时间1/e(63%)<5S互换性完全互换迟滞漂移典型值<0.5%RH/yr 上表是在满足一定的条件下测出来的,温度和电压分别满足25、5V;还有环境不能再冷凝的条件下。相对湿度最大误差(25)图3.7 25时相对湿度最大误差6、 电气特性 电气特性,如能耗,输入、输出电压等,都取决于电源。表3.8是芯片的相关电气特性,在没有特殊说明的情况下,芯片的供电电压是5V。我

29、们再设计时可以参照下面的表。表3.8AM2001/AMT2001 传感器直流特性。条件mintypmax单位4.55.05.5V测量1.5mA03V2.5S080LM35080NTC10k-40125LM3500.8VNTC10k-7、 标准湿度输出电压(免调试)(条件:at25,Vin=5.0V单位:V)。表3.9 AM2001/AMT2001 标准湿度输出电压对应表相对湿度0102030405060708090100输出电压00.30.60.91.21.51.82.12.42.73.0 芯片设计了温度补偿,通过单片机换算出校准值,在5k时,他满足的温湿度换算公式。 3.3 液晶显示电路设计

30、中通过液晶将测得的温度值和湿度显示出来,并且通过主控芯片判断是否超过设置的温湿度的阈值,并通过继电器开启电风扇吹风和电热器加热。3.3.1 显示方案的选择显示方案有两种:一种是数码管显示,一种是LCD液晶显示。考虑到设计的复杂程度和设计的方便,数码管的设计复杂且后期驱动程序难写,还有连接时需要很多的I/O口。因此我们采用LCD1602液晶对温度和湿度实现显示。3.3.2 LCD1602及其应用LCD1602设计十分的方便,驱动写好以后,我们能够显示我们想显示的内容,开发难度低,受到大多数人的使用在本系统中使用的是字符型两行16字液晶显示器。在设计时只需要留一排插针,方便的将液晶插上就可以了。以

31、下是1602液晶显示器的基本资料。1602液晶显示采用标准的16脚接口,其中引脚功能如表3.11所示:(模块背面有标注)。表3.11 1602引脚功能表编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data 1/02VDD电源正极10D3Data 1/03VL液晶显示偏压信号11D4Data 1/04RS数据/命令选择端(H/L)12D5Data 1/05R/W读/写选择端(H/L)13D6Data 1/06E使能信号14D7Data 1/07D0Data 1/015BLA背光源正极8D1Data 1/016BLK背光源负极LCD1602能够显示数字、字符、字符。他们以Ascll码的形式

32、存储在液晶的字符发生寄存器中,我们在操作也液晶时需要向寄存器中写入显示的内容。擦除是只需想寄存器中写全零就可以清屏。1602与微处理器的连接电路如图3.10所示。图3.10 1602与微处理器的连接电路其中,在电路设计时,设计了一个滑动变阻器和一个电阻,它的作用是调节LCD1602的亮度,电阻则是起保护作用,防止电流过大。3.4 系统总电路设计系统原理图设计如图3.11所示图3.11 原理图设计系统PCB图设计如图3.12所示图3.12 PCB图设计4 系统软件设计本章主要对各个功能模块的程序流程进行说明4.1 主程序流程图本设计程序部分采用模块化设计,其中主程序的功能是将各个模块儿组合起来,

33、其中包括温度、湿度采集程序和液晶显示子程序,通过主程序将各个部分连接起来,实现最终功能。程序流程图如图4.1所示。图4.1 主程序流程图4.2 湿度模块程序设计 模块主要包括初始化以及与单片机之间的数据处理,单总线芯片,它与单片机之间的通信要求满足十分严格的时序,在使用它的时候我们使用示波器来调节时序图,对照芯片手册完成对操作,实现对湿度的采集。4.3 湿度模块程序设计湿度模块采用AD(PCf8591)对AM2001输出的模拟信号进行采集,通过电压比例关系算出湿度百分比,完成对湿度的设计,程序流程如图4.2所示。图4.2 湿度模块程序流程图在该块程序设计中,我们选取T0做定时器,定时时间是50

34、ms,而选择T1做计数器,每当T0定时时间到就读取T1的计数值,然后将T1的计数值乘以20就可得输出频率,可进行数据处理从而得到相对湿度值。4.4 显示子程序设计显示子程序包括1602的初始化,以及对温度和湿度值的显示。在显示时液晶的第一行湿度预设的上线报警值,第二行显示湿度的实际值,湿度则是以百分比的形式显示,通过光标的移动来设置湿度报警值的阈值改变情况,相关显示程序如图4.3所示.图4.3 显示子程序流程图4.5 烘干模块程序设计主程序:程序中主要是对各个模块的控制,包括AM2001传感器数据采集,LCD1602液晶显示模块。AM2001传感器程序:sbit SCL=P24; /I2C I

35、O定义 -> 24c02 SCLsbit SDA=P25; /I2C IO定义 <-> 24c02 SDA/=/ 以下程序是I2C基本时序函数/=/* 名 称:I2C_Start()* 功 能:向I2C总线发一个起始位* 入口参数:无* 出口参数:无*/void I2C_Start() / _ SDA=1; / SDA -> |_ SCL=1; / _ SDA=0; / SCL -> |_ SCL=0; /* 名 称:I2C_Stop()* 功 能:向I2C总线发一个停止位* 入口参数:无* 出口参数:无*/void I2C_Stop() / _ SDA=0; /

36、 SDA -> _| SCL=0; / _ SCL=1; / SCL -> _| SDA=1;/* 名 称:I2C_ACK()* 功 能:从I2C总线获取ACK标志* 入口参数:无* 出口参数:收到正确的ACK响应返回1 ,否则返回0*/bit I2C_ACK() / _ _ / SDA <- |_| / _ uchar i=0; / SCL -> _| |_ SCL=1; while (SDA=1)&&(i<255)i+;/等待SDA变低(ACK)或超时 SCL=0; if(i=255) return(0); /如果因为超时(没有收到ACK)返回

37、0 else return(1); /收到ACK返回1/* 名 称:I2C_WriteByte()* 功 能:向I2C总线发送一字节数据* 入口参数:Chr:发送的字节* 出口参数:无*/void I2C_WriteByte(unsigned char Chr) unsigned char i; for (i=0;i<8;i+) /循环8次 SDA=(bit)(Chr&0x80); /高位在先 SCL=1; SCL=0; Chr<<=1; /取下一位 /* 名 称:I2C_ReadByte()* 功 能:从I2C总线读取一字节数据* 入口参数:无* 出口参数:读回的字

38、节*/uchar I2C_ReadByte(void) uchar i,Chr=0; SDA=1; /写1,将51的IO口置为输入, for (i=0;i<8;i+) /循环8次 Chr<<=1; /取下一位if (SDA=1) Chr+=0x01; /高位在先SCL=1;SCL=0; return(Chr); /返回读回字节/=/ 以下程序是PCF8591读写函数/=/*函数名称:ADC_Read函数功能:读取ADC的8位数字量入口参数:channel,通道出口参数:读取的8位数字量备 注:*/uchar ADC_Read(uchar channel)unsigned ch

39、ar value;I2C_Start(); /发起始信号I2C_WriteByte(0x90); /发送地址,进行写操作I2C_ACK(); /响应/I2C_WriteByte(0x40+channel); /发控制字信号,确定AD转换方式,确定转换通道 I2C_ACK();/I2C_Start(); /发起始信号(读写操作切换时一定要重新发送起始信号!)I2C_WriteByte(0x91); /发送器件地址,最低位置1,表示读数据I2C_ACK();/value=I2C_ReadByte(); /将读取的数据赋给value变量I2C_ACK();/I2C_Stop();return (va

40、lue);/*函数名称:Write_DAC函数功能:向PCF8591发送8位数字量进行DA转换入口参数:dat /需转换的数字量出口参数:备 注:*/void Write_DAC(unsigned char dat)/I2C_Start(); /发起始信号/I2C_WriteByte(0x90); /发送地址,进行写操作/I2C_ACK(); /响应/I2C_WriteByte(0x40); /发送控制字,第四位必须置1,表示允许模拟输出/ I2C_ACK();/I2C_WriteByte(dat); /发送8位数字量/I2C_ACK();/I2C_Stop();/ /*函数名称: ADC_S

41、ample功 能: 将采集到的16进制的电压数据转换为BCD码参 数: val返回值 : 无*/void ADC_Sample(uchar addr,uchar *value) uchar val;int aa;val=ADC_Read(addr);aa=val*100/255;value0 =aa/100; value1 =( aa%100)/10;value2 =( aa%100)%10; value3 =37;LCD1602液晶显示程序:sbit RS=P33; /寄存器选择位,将RS位定义为P2.0引脚sbit RW=P32; /读写选择位,将RW位定义为P2.1引脚sbit EN=P

42、31; /使能信号位,将E位定义为P1.2引脚/*函数名称: delayms功 能: 延时程序,液晶显示模块读写过程中的短暂延时参 数: 无参数返回值 : 无*/void delayms(unsigned int ms) uchar i; while(ms-) for(i=0;i<120;i+); /*函数名称: read_status功 能: LCD忙状态检测,写不同命令时进行短暂延时参 数: 无参数返回值 : 无*/unsigned char read_status(void) uchar LCD_Status; /定义忙状态变量 RS = 0; RW = 1; EN = 1; LC

43、D_Status = P1; /读取忙状态 EN = 0; return LCD_Status; /返回忙状态/*函数名称: write_LCD_Command功 能: LCD写命令参 数: cmd返回值 : 无*/void write_LCD_Command(unsigned char cmd) while(read_status()&0x80)=0x80); /等待忙状态结束 RS = 0; RW = 0; EN = 0; P1 = cmd; EN = 1; delayms(1); EN = 0;/*函数名称: write_LCD_data功 能: LCD写数据参 数: dat返回

44、值 : 无*/void write_LCD_data(unsigned char dat) while(read_status()&0x80)=0x80); RS = 1; RW = 0; EN = 0; P1 = dat; EN = 1; EN = 0; /*函数名称: ShowString功 能: LCD显示字符串参 数: x,y,*str返回值 : 无*/void ShowString(unsigned char x,unsigned char y,char z,unsigned char *str) unsigned char i = 0; /设置起始位置 if(y = 0) write_LCD_Command(0x80 | x);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论