




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
焦作大学机电系毕业设计环境综合测试仪软件毕业设计论文毕业设计目 录第1章 引 言11.1 课题背景11.1.1 国内外研究动态11.1.2 环境测试仪的研究现状以及发展趋势11.2 课题研究的目的和意义21.3 本文主要内容2第2章、系统总体设计32.1环境综合测试仪的基本构成32.2 重点器件介绍及部分C语言程序42.2.1 STC89C52RC 单片机42.2.2 ADC0808CCN 模数转换器62.2.3 LCD12864ZW显示器102.2.4 DHT11温湿度传感器222.2.5 DS1302 实时时钟25第3章、实物程序调试36第4章 总结与展望39参 考 文 献40附 录41附录1 :环境综合测试仪原理图41附录2:环境综合测试仪流程图41致 谢4343第1章 引 言1.1 课题背景在日常实际生产生活中,科研、农业、暖通、纺织、机房、航空航天、电力等工业部门对产品质量的要求越来越高,对环境温湿度,酒精、笨、CO等气体的浓度的控制以及对工业材料的水分值的监测与分析都已成为比较普遍的技术条件之一。随着科技的进步,检测仪表也向着智能化、小型化、低功耗的方向发展。在这个发展过程中,以单片机为核心控制器的温湿度检测以体积小、操作简单、性能稳定、测量精度高等诸多有点正逐步进入生产生活的各个方面。1.1.1 国内外研究动态现代信息技术的三大基础是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。传感器属于信息技术的前沿尖端产品,尤其是温度传感器和光线传感器,被广泛用于工农业生产、科学研究和生活等领域,数量高居各种传感器之首。现在人们的生活水平不断提高,对生活质量的要求也逐渐增强,因而对于生活产品的要求也随之加强。现阶段,各种电子测量仪发展迅猛,产品更新速度快,原来的模拟产品逐步向数字化、综合化转化,并且不断走向人性化。对于电子测量仪,随着人们的需求加大,不管是从技术还是外型,发展空间还很大。1.1.2 环境测试仪的研究现状以及发展趋势随着信息社会的发展,人类要求更舒适、便捷、高效的工作环境和生活环境,而信息家电和计算机技术的发展也使这一要求越来越变为现实。目前,国际上环境测试仪正由模拟式向数字式、由集成化向智能化、网络化的方向发展,国际上已开发出多种环境综合测试仪系列产品。环境综合测试仪内部都包含温度传感器、气敏传感器、A/D转换器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器、随机存取存储器和只读存储器。环境综合测试仪的特点是能输出温度数据及环境综合情况,适配各种微控制器;并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。1.2 课题研究的目的和意义环境测试仪主要是应用于工厂和人们生活中,应用简单方便。本环境测试仪可以进行准确的温湿度、酒精、笨、CO浓度的测量,使其更加人性化,更适合工厂和人们生活中应用。通过对环境测试仪的设计,使我更加了解了STC89C52的内部结构,了解了其温湿度、酒精、笨、CO浓度测量的原理,对电子测量仪的工作原理有了简单的了解,对其研究也产生了很大的兴趣。本次设计加强了我对以前所学的专业知识的认识并加以巩固,并学以之用,初步了解了现实生活中简单电子产品的工作原理。1.3 本文主要内容本文介绍的环境综合测试仪就是以STC89C52单片机作为核心控制器设计的,它具有体积小、操作简单、性能稳定、测量精度高和抗干扰能力强等优点,可广泛应用于需要对温湿度,酒精、笨、CO等气体的浓度进行测控的领域中。先根据实际生产生活的需要提出温环境综合测试仪的设计功能要求,然后由这些具体要求和现有的设计条件设计出了适合的硬件原理图,尽量采用模块化的方法将其分成几个部分,然后分模块设计程序,最使各部分结合起来协调工作,实现功能要求。它是以单片机的在控制方面的突出优势,并综合运用现代检测技术、微控制技术、数据处理和通信技术以及LCD显示技术而设计的数字环境综合测试仪,可以实时、准确的测量环境中的温度和相对湿度,对生产生活有较好的知道意义。我们的设计将利用复合传感器,在STC89C52单片机的控制下,能同时检测多种气体,并将超标的气体情况实时显示出来,价格合理,设计简单,能在市场上大量普及!第2章、系统总体设计2.1环境综合测试仪的基本构成依据设计要求,该环境综合测试仪主要有单片机(STC89C52),显示器(LCD12864ZW),AD模数转换(ADC0808),温湿度传感器(DHT11)和实时时钟芯片(DS1302)部分组成。其结构框图如下所示:图3-1 系统总体方框图Figure 3-1 system block diagram下面就从数据传输方面简单的谈一谈该设计中各器件的运作流程,在介绍中忽略了各器件的控制信号,以利于读者尽快了解该设计的有关内容。总体上来说,该设计的信号数据传输线有3条:从传感器出发,沿着AD0808进入单片机P1口,经过单片机处理后,从P0口将环境情况显示于LCD12864上;从DHT11出发,直接进入单片机P2.4管脚,从P0口将温湿度情况显示于LCD12864上;从DS1302出发,进入单片机,从P0口将实时时钟情况显示于LCD12864上;关于本设计的器件选择及其理由,我就从本设计设计之初的观点,想法写起,不当之处,敬请各位高手指点一二。单片机,我选STC89C52RC。因为它有8k的ROM,而本设计的程序容量之大,51容量太小,恐难以保证在不扩展容量的情况下使程序完全装进去;又因为我一直用的下载驱动是STC-ISP程序,而该程序只能针对STC系列的单片机,对其它的单片机不适用。模数转换器,我选的是ADC0808。因为ADC0808能处理8通道的模拟量,适合于继续研究使用,本设计就是为以后继续运用它做准备的。而对于处理模拟量速度和该器件的价格,说实话,我没考虑过。温湿度传感器,我选的是DHT11。因为SHT11尽管也能测试温湿度,但造价太高,大概是148元每个,而DHT11大概是6块多。实时时钟,我选的是DS1302,因为它便宜,大概一块多一个,程序也好在教科书上查找。液晶显示器,我选的是LCD12864ZW。因为1602太小,而要显示的内容很多,显示不太容易;ZW是带字库的意思,也就是该显示器内部已经集成了常用的汉字,因为我对显示器还不是很了解,设计之初连带字库的还不会使用,更别说还要处理字库部分了,还是将这个玩熟后再使用不带字库的吧,常言道:登山还要步步来,何必硬给自己找麻烦呢。2.2 重点器件介绍及部分C语言程序2.2.1 STC89C52RC 单片机图3-2 STC89C52单片机原理图Figure 3-2 STC89C52 microcontroller schematic diagramSTC89C52RC 单片机是宏晶科技推出的新一代高速,低功耗,超强抗干扰的单片机,指令代码完全兼容8051单片机,12时钟/机器周期,6时钟/机器周期可以任意选择。其主要特性如下:1.工作电压:5.5v3.3v(5v单片机) / 3.8v2.0v(5v单片机)。2.用户应用程序空间(ROM)为8K,片上集成512字节的RAM3.通用IO口32个,复位后:P1/P2/P3/P4是准双向口、弱上拉,P0是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为IO口用时,需加上拉电阻。4.有三个16位定时器/计数器T0,T1,T25.工作温度范围:-40 +85(工业级)/075(商业级)6.PDIP封装 图3-3 STC89C52PDIP封装图Figure 3-3 STC89C52PDIP package diagram2.2.2 ADC0808CCN 模数转换器GND图3-4 ADC0808 原理图Figure 3-4 ADC0808 schematicADC0808是带8位A/D转换器,8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逼近式A/D转换器,可以和单片机直接相连。(1) IN7IN0-8路模拟量输入通道ADC0808对输入模拟量要求信号单极性,电压范围0VCC,若信号过小还需进行放大。模拟量输入的值在A/D转换过程中不应变化。对变化速度快的模拟量,在输入前应增加采样保持电路(2)A,B,C-模拟通道地址线A为低位地址,C为高位地址,用于对模拟通道进行信号选择其地址状态与通道对应关系如表所示:CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7(3)ALE-地址锁存允许信号由低电平到高电平的整跳变有效。此时锁存地址选择线的状态,从而选通相应的模拟通道,以便进行A/D转换(4)START-转换启动信号START信号上升沿时,将所有内部寄存器清零;START信号下降沿时,开始A/D转换。在A/D转换过程中,START信号保持低电平(5)D0D7-数据输出线为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高位。(6)OE-输出允许信号用于控制三态输出锁存器向单片机输出转换得到的数据OE=0, 输出数据线成高电阻OE=1, 输出转换得到的数据可与系统读选通/RD信号相连(7)CLK-时钟信号输入端ADC0808的内部没有时钟电路,所需时钟信号由外部输入。通常使用频率为500kHZ的时钟信号(8)EOC-转换结束状态信号EOC=0,正在进行转换。EOC=1,转换结束该状态信号即可作为查询的状态标志,又可作为中断请求信号使用(9)VCC-+5V电源(10)Vref(+),Vref(-),-基准参考电压对于该器件,本设计所用到C程序如下:unsigned char tempp; /存储ADC0808转换后的处理过程中的临时数值sbit ST=P30;sbit OE=P31;sbit EOC=P33;unsigned char code lcd0=环境综合监测系统 ;unsigned char code d3=环境等级:;unsigned char code d30=良好;unsigned char code d31=一般;unsigned char code d32=较差; while(flag) flag=0; ET0=1;EA=1; TMOD=0x02;/定时器0工作于模式2 TH0=216; TL0=216;TR0=1;ST=0; ST=1;/产生启动转换的正脉冲信号 delay0(); ST=0; while(EOC=0)/等待转换结束 ; OE=1; getdata=P1; OE=0; getdata=(getdata*100)/51;lcd_dis_code(0x80,20,lcd0); i=0; lcd_pos(3,1);while(d3i!=0) /* “环境等级:”位于第三行开始处*/ lcd_wdat(d3i);i+; delay(20); if(getdata200) lcd_pos(3,6); lcd_wdat(0x18); i=0; lcd_pos(4,6);while(d30i!=0) /* “好”,位于第四行*/ lcd_wdat(d30i);i+; delay(20); else if(getdata100) lcd_pos(3,6); lcd_wdat(0x19); i=0; lcd_pos(4,6);while(d32i!=0) /* “差”*/ lcd_wdat(d32i);i+; delay(20); else lcd_pos(3,6); lcd_wdat(0x2d);i=0; lcd_pos(4,6);while(d31i!=0) /* “ 良”*/ lcd_wdat(d31i);i+; delay(20); delayyes(); flag=1; TR0=0;2.2.3 LCD12864ZW显示器图3-5 LCD12864ZW 原理图Figure 3-5 LCD12864ZW schematic带中文字库的TS128X64(图1-3)是一种具有4位/8位并行、2线或3线串行多种接口方式,引脚功能见图表1-4,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。 表3-1 LCD12864ZW引脚功能表Table 3-1 the LCD12864ZW pin function table(1) 字符显示带中文字库的128X64-0402B每屏可显示4行8列共32个1616点阵的汉字,每个显示RAM可显示1个中文字符或2个168点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。带中文字库的128X64-0402B内部提供1282字节的字符显示RAM缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。三种不同字符/字型的选择编码范围为:00000006H(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02H7FH显示半宽ASCII码字符,A1A0HF7FFH显示8192种GB2312中文字库字形。字符显示RAM在液晶模块中的地址80H9FH。字符显示的RAM的地址与32个字符显示区域有着一一对应的关系,其对应关系如下表所示。 表3-2 字符地址表Table 3-2 character address table80H81H82H83H84H85H86H87H90H91H92H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH(2) 图形显示先设垂直地址再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址),垂直地址范围 AC5.AC0;水平地址范围 AC3AC0,绘图RAM 的地址计数器(AC)只会对水平地址(X 轴)自动加一,当水平地址=0FH 时会重新设为00H但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定。GDRAM的坐标地址与资料排列顺序如下图3-6 GDRAM的坐标地址图Figure 3-6 GDRAM coordinate address map对于该器件,本设计所用到C程序如下:void lcd_pos(uchar X,uchar Y);#define delayNOP(); _nop_();_nop_();_nop_();_nop_();#define LCD_data P0 sbit LCD_RS=P26;sbit LCD_RW=P25;sbit LCD_EN=P27;sbit LCD_PSB=P32;sbit LCD_RST=P34;unsigned char code date4=祝您:; unsigned char code date5=身体健康; unsigned char code date7=万事如意; unsigned char code d0=焦作大学;unsigned char code d1=机电工程学院; unsigned char code d2=环境综合测试仪;unsigned char code d25=应用电子技术二班; uchar code Photo1 = 0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x01,0x3F,0xC0, 0x80,0x42,0x04,0x20,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x8A,0x1F, 0xFC,0x42,0x04,0xF8,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80, 0x01,0xFF,0xDE,0x88,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x01,0x2A,0x87, 0xF0,0xA2,0x0A,0xF8,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0x84, 0x10,0xA2,0x0A,0x88,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x1F, 0xFC,0xA2,0x0A,0xF8,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x9F,0x90, 0x05,0x2F,0xCA,0xA4,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x03, 0xE1,0xA8,0x4A,0xA8,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0xC2, 0x24,0x48,0x44,0x90,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x92,0x84, 0x24,0xA8,0x4A,0xA8,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0xA6,0x58, 0x3D,0x0F,0xD0,0xC4,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x1C,0xFF,0xC0,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x23,0x08,0x37,0x80,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x40,0x10,0x08,0x40,0x00,0xFF,0x90, 0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x81,0x86,0x10,0x40,0x00,0x08,0x08, 0x10,0xFF,0x86,0x00,0x00,0x00,0x00,0x00, 0x01,0x02,0x49,0x40,0x40,0x00,0x7F,0x0B, 0xFC,0x08,0x0F,0x00,0x00,0x00,0x00,0x00, 0x01,0x08,0x00,0x40,0x20,0x00,0x10,0x00, 0x10,0x49,0x0F,0x00,0x00,0x00,0x00,0x00, 0x02,0x08,0x00,0x20,0x20,0x01,0xFF,0xDD, 0x10,0x2A,0x0F,0x00,0x00,0x00,0x00,0x00, 0x04,0x31,0x83,0x20,0x20,0x00,0x20,0x04, 0x91,0xFF,0xC6,0x00,0x00,0x00,0x00,0x00, 0x04,0x52,0x44,0x90,0x20,0x00,0x7F,0x04, 0x90,0x1C,0x06,0x00,0x00,0x00,0x00,0x00, 0x09,0xA4,0x28,0x4C,0x10,0x00,0xA1,0x04, 0x10,0x2A,0x00,0x00,0x00,0x00,0x00,0x00, 0x0E,0x44,0xE9,0xC3,0x90,0x01,0x3F,0x04, 0x70,0x49,0x06,0x00,0x00,0x00,0x00,0x00, 0x00,0x82,0xC5,0x81,0x70,0x00,0x21,0x0A, 0x01,0x88,0xC6,0x00,0x00,0x00,0x00,0x00, 0x01,0x01,0x83,0x00,0x80,0x00,0x3F,0x11, 0xFC,0x08,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0x0C,0x70,0x00,0x80,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x02,0x13,0x87,0x10,0x40,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x02,0x20,0x78,0xA0,0x40,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x02,0x20,0x00,0x60,0x40,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x02,0x21,0x80,0x60,0x40,0x00,0x00,0x71, 0xEE,0x3C,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0x11,0x98,0x90,0x80,0x00,0x00,0x8E, 0x31,0xC6,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0x08,0x18,0x80,0x80,0x00,0x01,0x24, 0x24,0x83,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x96,0x01,0x01,0x00,0x00,0x01,0x40, 0x28,0x03,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x49,0x86,0x03,0x00,0x00,0x01,0x40, 0x28,0x03,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x34,0x78,0x8C,0x00,0x00,0x01,0x00, 0x20,0x03,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x0E,0x01,0x30,0x00,0x00,0x00,0x80, 0x30,0x06,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x71,0x87,0xCE,0x00,0x00,0x00,0x40, 0x68,0x0C,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0xE0,0x78,0x07,0x00,0x00,0x00,0x20, 0xC4,0x18,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0xAF,0xFF,0xC5,0x80,0x00,0x00,0x11, 0x82,0x30,0x00,0x00,0x00,0x00,0x00,0x00, 0x03,0xA9,0xB6,0x45,0xC0,0x00,0x00,0x0B, 0x01,0x60,0x00,0x00,0x00,0x00,0x00,0x00, 0x07,0x2F,0x03,0xC4,0xE0,0x00,0x00,0x06, 0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, 0x0E,0x16,0x01,0x88,0x70,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x0F,0x08,0x00,0x10,0xF0,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x0F,0x84,0x00,0x21,0xF0,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;/* 检测LCD忙状态,LCD_busy()为1时,忙,等待;LCD_busy()为1时,闲,可写指令与数据;/* bit lcd_busy() bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(P0&0x80); LCD_EN = 0; return(result); /* 写指令到LCD RS=L, RW=L, E=高脉冲 D0D7=指令码 /* void lcd_wcmd(uchar cmd) while(lcd_busy(); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; /* 写显示数据到LCD RS=H, RW=L, E=高脉冲 D0D7=指令码 /* void lcd_wdat(uchar dat) while(lcd_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; /* 闪屏函数/* void lcdflag() lcd_wcmd(0x08); delay(400); lcd_wcmd(0x0c); delay(400); lcd_wcmd(0x08); delay(400); lcd_wcmd(0x0c); delay(400); lcd_wcmd(0x08); delay(200); lcd_wcmd(0x0c); delay(5); lcd_wcmd(0x01); delay(5); /* 清屏函数 */void clr_screen() lcd_wcmd(0x34); /扩充指令操作 delay(5); lcd_wcmd(0x30); /基本指令操作delay(5); lcd_wcmd(0x01); /清屏 delay(5); /* LCD初始化函数 */void lcd_init() LCD_PSB = 1; /并口显示 LCD_RST = 0; /液晶复位 delay(3); LCD_RST = 1; delay(3); lcd_wcm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年脊柱骨折护理试题题库及答案
- 2025年脊柱的护理常规题库及答案
- 2025年康复护理学肠道护理题库及答案
- dollar读音课件教学课件
- 1.5 声音的强与弱四年级上册科学同步教案(教科版)
- 重庆中医药学院招聘考试真题2024
- 2025年拉萨市属事业单位考试试卷
- (正式版)DB65∕T 4237-2019 《红枣果树越冬冻害气象观测规范》
- (正式版)DB65∕T 4197-2019 《地理标志产品 和田大枣》
- 12.2.1 扇形图、条形图和折线图 第2课时说课稿-人教版数学七年级下册
- 2025浙江杭州市工会社会工作者招聘工作40人笔试模拟试题及答案解析
- 2025年云南省“爱我国防”知识竞赛考试题库150题(含答案)
- 葫芦种植技术
- 热敏电阻器配方设计与制备工艺详解
- 监理工程师题库检测试题打印含答案详解【完整版】
- 《英语(第三版)》课件-Unit 3
- 2025-2026学年九年级英语上学期第一次月考 (江苏省连云港专用)原卷
- 电动消防排烟窗施工方案
- 2025年1月浙江省高考政治真题卷含答案解析
- 2《归园田居》任务式公开课一等奖创新教案(表格式)统编版高中语文必修上册
- 银行文明礼仪课件
评论
0/150
提交评论