基于STC15单片机的智能流量计_第1页
基于STC15单片机的智能流量计_第2页
基于STC15单片机的智能流量计_第3页
基于STC15单片机的智能流量计_第4页
基于STC15单片机的智能流量计_第5页
已阅读5页,还剩47页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、智能流量计设计制作与调试说明书电子1411班姓名:龚亚辉学号:1406011411312016年12月08日目录1 .绪论11.1 (智能)流量计的发展现状11.2 本次设计主要任务12 .智能流量计硬件设计22.1 系统总体设计22.2 电源电路设计22.3 主控电路设计32.4 流量检测电路设计42.5 按键与显示电路设计63 .智能流量计软件设计73.1 程序结构说明73.2 OLED显示程序设计83.3 A/D转换程序设计83.4 流量运算程序设计94 .电路制作调试114.1 电路制作与调试114.2 程序调试125 .总结113附录一电路原理图114附录二印刷电路板图15附录三电路

2、成品图16附录三实现功能演示16附录四程序清单171 .绪论1.1 (智能)流量计的发展现状随着仪器仪表和信息管理的高度自动化,以计算机为核心的信息处理与过程控制相结合的智能仪器系统应运而生。智能仪器是计算机技术与测试技术相结合的产物,是含有微计算机或微处理器的测量仪器。由于他拥有对数据的存储、运算、逻辑判断和自动化操作等功能,具有一定的智能作用,因而被称为智能仪器。智能仪器的出现,极大地扩充了传统仪器的应用范围。智能仪器凭借其体积小、功能强、功耗低等优势,迅速地在家用电器、科研单位和工业企业中得到了广泛的应用。仪器仪表行业中涉及产品很多,从技术的发展形式来看,仪器仪表的智能化是不可逆转的趋势

3、,数字技术应用在仪表之中,不仅仅使它的性能以及精度得到了很快的提升,然而伴随着现场总线的出现为仪表的更新换代及升级实现了进一步的提高。特别是多参数的在线实时测控和自动化测控,不论是稳定性、可靠性,还是高适应性、多功能性及低消耗等等提供了巨大的发展空间和动力。让智能仪表的信息交换更为迅速。1.2 本次设计主要任务本次课程设计中以智能仪表为背景,将研究设计并制作一台智能流量计,主要研究内容是对流量进行检测,主要由流量传感器采集流量信息,然后经过LM331芯片将采集的信息转换为频率信号,再由单片机内部AD转换器将频率信号转换为电压信号传给单片机,单片机在软件系统的控制下,通过算法将电压信号变成实际流

4、量值,并通过OLED屏显示出来。其中,硬件电路的搭接是本设计的重点,控制系统软件的设计是本课题的核心。硬件电路部分,采用STC1M片机,CH4OLM331、LM358等构成单片机控制系统的主体部分。通过脉冲流量传感器,温度传感器进行输入,测量瞬时流量和累计流量。一些其他的功能,如设置参数,OLED显示,定时休屏等功能。系统软件设计部分,分别对AD转换控制,OLED显示,按键设置,休屏键等程序进行了设计,并且设计了主程序和流量控制计算程序。2 .智能流量计硬件设计2.1 系统总体设计为了适应现代对仪表功能的需求,可以智能化的检测水流量,并且实时在屏幕上动态显示数据的目的,因此我们设计利用了STC

5、15单片机来完成。这个系统可以实现瞬时流量的检测,还有累计流量,温度的检测。当单片机接受到水流量发出的信号,STC15单片机就会下达指令。水流量的情况传输到传感器中,通过STC1M片机进行处理扫描到的水流量脉冲数,然后在OLEDt显示出水流量的数据。本方案利用Keilc软件使用C语言进行程序设计,AltiumDesigner软件实现电路和PCB的设计。按键电路下载电路电源电路TC单片机流量处理电路温度处理电路OLED显示2.2 电源电路设计此系统可以通过三种方式分别供电,一种是有us端口连接上位机直接通电5V电源,另外一种则是采用外部4.8v10V供电,通过REG1117-5K片转换为稳定的5

6、V电源给系统供电,还有一种则是通过干电池作为系统的备用电源,在没有外接电源时使用。电路中有5V供电后,再由正向低压降稳压器AMS1117-3.3将5V电源转为3.3V给相应的电路供电。电路图如下。vccIkGND严E函GNDOUT|REG11I7-5jVCCJ;,id9八j-rPWRCONvccBTI18650电源电路GSlD2.3 主控电路设计单片机是把微处理器、存储器、I/O接口。定时器/计数器、串行接口、中断系统和其它电路组合在单个芯片组合完成的单片计算机,单片机作为微型计算机的一个分支,是基于测控领域的发展而诞生和发展的。在我国使用最多的是Intel公司的C51系列单片机。而本次电路我

7、们使用了STC15F2K60S印片机,这款单片机不需要外部晶振和外部复位电路,可省掉外部EEPROM利用IAP/ISP技术,可以实现在线编程,无需编程器/仿真器,内部有2K字节SRAM双串口,两个44立用口,高速10位8通道A/D转换器等丰富的功能。它与C51相比,STC15F2K61S其优点是,省去晶振、复位电路,内部以高可靠,高精度集成了,这个非常实用,做板的时候能很简洁,也省了很多事情,再也不用为了更换晶振什么的发愁。对于此次课题设计来使用,它的外设比较丰富,在线仿真ADC/DAC/PWM/E2PROM本满足智能流量计功能的需求。UISTC15F2K6OS234而37porryPOI14

8、1lJh242P03-43P':'4J4r-,Ee-T苴dkf*-岑口Mlw寸哆EtMKtilsFKLCXIHteeWMc】E-IlcE-sxEJbF巴那:IU6s.e-<.10-5rE川d/一一声2F5门口XWQyL3aw_dksw一匕MNE三ndknods<话匿CEW-rje<寸一d-0田53占口<扁二11Ze白xbF-dMECTOECLKOT匚U,W,41NT3/PJ.3INT0/P3.2TxD,'T2,'P3JNT4/T2CLKO/TIUMOS_3;rP4.D"IGNDP5.5Ivcc,SCLKO/SS_3.'P

9、5,4DVCDLTxD3;7CTALIPI.7外驴-22厂B运行指示灯-41三一播&L5KMCU电路2.4 流量检测电路设计流量检测部分采用水流量传感器,如图1所示,它的组成部分塑料阀体、水流转子组件和霍尔传感器组成。它装在热水器进水端,用于检测进水流量,当水通过水流转子组件时,磁性转子转动并且转速随着流量变化而变化,霍尔传感器输出相应脉冲信号,反馈给LM331芯片,这款芯片是由美国NS公司生产的性能价格比较高的集成芯片,精密频率电压转换器,就是由它将水流量传感器输出的脉冲值由于频率转换为模拟量电压值,反馈给STC15F2K61S芯片内部ADC专换器,然后通过算法求出单位流量并显示在O

10、LEDW上。课题任务中最重要的是水流量的测量。通过水流量传感器的数据采集,根据不同的水流量传感器的参数可以得出单片机在运算时的数据。水流量传感器一般在零下10摄氏度到55摄氏度的环境温度下可正常运行。在电路和传感器正常工作的情况下,我们根据LM331芯片和水流量传感器提供的技术文档得出了以下两个核心算法,这个也是我们整个电路能否实现正常测量的关键部分。1.f0=1/(t1+t2)=VL/(RLIRt1)2 .频率计算=常数7.5*单位流量(L/min)*时间(秒)图(1).流量传感器2.5按键与显示电路设计为了实现水流量计的智能化,还有对减少电能的消耗增加使用寿命,在电路中我们增加了三个按键,

11、分别用于控制OLELW幕的点亮和休屏、进入设置模式,对参数进行修改。对于OLEEM幕的控制我们采用1min钟自动息屏,同时可以用按键唤帆在屏幕亮的过程中也可以通过按键进行息屏,自动息屏的时间通过按键进入设置模式进行修改,休屏时间范围在19分钟之间。当然,通过进入设置模式还可以设置仪表常数、仪表编号,在实际产品出厂的时候可以得到应用。显示电路我们采用0.96寸OLEES示屏,g块,OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。这款分辨率为128*64,与单片机通

12、讯采用SPI通讯。SPI通讯由用行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。SPI通讯相当于I2C和UARTW言实现简单,有时钟协议。5V加3TICK5VT<14TICK5VHRisT10KKey)Key26Key3GNDGNDGND按钮电路3 .智能流量计软件设计3.1 程序结构说明软件总的设计要求需要OLED1示瞬时流量、累计流量及其

13、温度,并且能在设置中设置相关参数,调整息屏时间。水流量的测量为0.25秒读取一个流量值。OLED屏开机在第一行显示瞬时流量、第二行为累计流量、第三行为温度,在无按键操作的话默认1分钟后息屏。设置界面由按键控制。进去设置界面后屏幕不需息屏,其中的参数值则通过另一个按键控制。整个程序中结构较为简单,但其中也有几个重要而且比较费脑筋的子程序,包括水测量程序、水流量数据的计算与转换、温度数据转换等程序。在程序中可以分为4个主要模块:水流量模块,温度模块,OLEDI示模块,设置模块。如图为总体流程图。3.2 OLED显示程序设计本课题采用的是STC15单片机为控制核心,由中景园电子提供的0.96寸OLE

14、D奠块为显示输出设备,如图2所示,在Keil环境下编写OLED1示模块驱动程序,并下载Hex文件至单片机,从而实现OLELB示系统设计。由于所采用的OLEDFt字库,因此无论是显示图形还是显示汉字,均需通过取模软件进行编码,然后按SPI协议,将对应的编码按照所确定的地址模式写入对应的CDDRAM中。图(2).0.96寸OLED屏3.3 A/D转换程序设计本次课题我们采用的是STC15单片机,此款单片机内置有高速10位8通道A/D转换器,它就是把模拟信号转换成数字信号,采用逐次逼近型进行转换。我们将选用P1.4、P1.5为流量传感器和温度传感器的模拟量输入端,其中流量传感器先由LM331转换为电

15、压信号,单片机的内部ADC专换器再将其由电压信号转换为数字量进行计算得出实际流量值,而温度传感器的转换就相对比较简单,通过电桥电路和LM358芯片输入一个模拟量电压,再由单片机进行AD转换为为数字量进行计算。下图为AD转换的程序框图系统初始化3.4 流量运算程序设计我们这次使用的水流量传感器也可以称为脉冲流量传感器,内部核心实质上是一对霍尔元件,通过当水通过水流转子组件时,磁性转子转动并且转速随着流量变化而变化,霍尔传感器输出相应脉冲信号,反馈给控制器。通过流量传感器的技术文档我们可知,此款传感器输出的脉冲频率与实际流量值的关系为“频率=常数7.5*单位流量(L/min)*时间(秒)"

16、;。而我们电路中采用的是先将频率转换为模拟量电压值,此过程是由LM331芯片完成,这款芯片是美国NS公司生产的性能价格比较高的集成芯片,可用作精密频率电压转换器,通过查阅资料我们可知输入芯片和输出电压值的关系量为“f0=1/(t1+t2)=VL/(RLIRt1)”,从它的公式不难看出输出电压的精准度与芯片外部电路有很大关系,所以在硬件设计上要很仔细。通过这两个算法得出的实际流量值,我们使用定时器0.25秒读取一个值,再将这个值除以240得到每秒的流量值,通过累加便实现了累计流量的功能。下图为流量运算程序框图104 .电路制作调试4.1 电路制作与调试本次硬件设计我们使用的是AltiumDesi

17、gner16软件进行设计,并对PCB板进行排版。在这个过程中的重点难点在与硬件电路的设计,各个芯片的外部电路的搭建,还有在进行PCBHE版是每个元器件的封装的绘制。在电路设计初期我们首先需要知道电路所需要实现的功能,然后根据功能去选择相对适合的单片机,以及实现各功能所需要使用的传感器及其芯片。对电路需要有大致的设计框架,然后查找每个芯片典型的外部电路,并在此基础上加以改进。在又tpcbHF版时,我们需要注意的是每个元器件的封装尺寸,都要去网上查阅资料,防止在焊接时才发现封装不对,而导致无法焊接或焊接困难,这个部分也是PCBffi版中很重要的一部分。当然还要注意的是每个元器件放置的位置要根据实际

18、情况进行安排,如USB口、电源接口需要放置在板子边缘等。在完成PCB的排版和制作后,接下来的就是焊接,这里我们将使用的是电烙铁,在这个步骤中特别需要注意,元器件不要焊错正反、焊点不要虚焊,对于芯片不宜焊接时间过长,以免烫烧芯片等。在调试部分我们采用分块调试法,分布调试就是把总体电路按功能分成若干个模块,对每个模块分别进行调试。模块的调试顺序是按信号的流向,一块一块地进行,逐步扩大调试范围,最后完成总调。实施分块调试法有两种方式,一种是边安装边调试,即按信号流向组装一模块就调试一模块,然后再继续组装其他模块。另一种是总体电路一次组装完毕后,再分块调试。114.2 程序调试在这次课程设计中,我们首

19、先对系统的整体功能进行了构思,然后用结构化分析方法进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写0代码。而且尽可能的将模块细分,最后在进行函数的调用。我们在函数的编写过程中,我们不仅用到了for循环、while循环,还用到了函数之间的调用。由于是分工编写代码,所以显示程序,AD程序,设置程序等都是子程序,最后需要将每个子程序代码放到一起进行调试。整个过程中我们使用的是KEIL4,进行编程。当然程序不是一次性就可以完成的,需要一个功能一个功能的调试累加,首先我们先编写的是OLEDI示程序,在保证OLEDE常显示的前提下,对于AD程序进行编写,让流量和温度正常显示在OLED1,

20、之后就是对设置模式的编写,足步往下,步步深入。在每次编写好之后都要生成HEX文件,把得到HEX文件就可以下载到STC15中了。这里要简单的说下,打开下载软件后,在打开的对话框里选择好单片机的型号即IAP15F2K61S2接下来将STC系统板和电脑用USB连接,选择好端口和波特率,因为我们的板子有冷启动,所以直接点击下载即可。125 .总结实训是每一位大学生必须拥有的一段经历,它使我们在实践中增强专业技能,让我们学到了很多在课堂上根本就学不到的知识,增长了操作能力,把理论和实践结合,让我们以后更好地服务社会打下了坚实的基础。在这3周的实训中,虽然实习的时间很短,但对我来说,收获是很大的。这次实训

21、让我深深地感觉到自己所学知识储备的不足,我们在学校学习的是理论上的东西,但是在实际设计实物的时候,实践和经验就显得更为重要,只有掌握更多实用的技能,积累更多的工作经验,才能提高工作效率与质量。在做这次设计时,我还通过互联网参考了许许多多出色的设计者分享的经验,学以致用,把好的经验吸取到我的设计中来使用。通过这次设计,更加加深了我在大学三年当中学到的软件和硬件概念的理解,对我的专业知识也进行了一次巩固和加深印象,同时也加深了我在实际研究问题的能力。这在我以后的学习生活中也会有很大的作用,使我深深的意识到,做事必须老老实实,一步一个脚印,抓好基础,研究好理论的重要性。这次设计是用C语言来编写的程序

22、。在编写的过程当中,我通过学习互联网的许多资料,对整体的程序完成了一个完整的计划,遇到错误的地方及时更正,通过不断努力达到设计的要求。在这一过程中遇到了些问题,比如存储空间如何节省,这就要求自己对各个芯片元件的掌握程度要很高,通过不懈的学习,最终完成了程序的设计。这也是一个锻炼的过程。13附录一电路原理图I.-.流量处理由并7零甲?引3MHkHT.-TTl1riiVA4-rrFi-F27.Asrri;"止,;EIF-TIaP-2iK-V:-£一"2E-EFr冲,X1E均1-Ju5-Sa-3"./-*L-M:4B嗯士:£.y.-IJd-s一-、纤

23、?际;于l,=.t7-mwmtut£«:!.?.0才-强4"J-二JFKLLMtliwi一Kw*s二.1二.|-.,,eXKU口路工=工点LCD电路部分LC口中路14附录二印刷电路板图12864CIOB12R1GNDmiUSB长Lfl口000000000000000800|J23T3U12*54noonQOOPGW口inU7oH2C-"叫昴副IIIwii-5%CqP7LEOt3JI1d«RHR3|E1匚IkrLj171JMU圆lilt09OHQRieR1?RK附录三电路成品图附录四实现功能演示L>LT2fl16ssntas附录五程序清单主

24、程序*/#include"stc15.h"#include"oled.h"#include"bmp.h"#include"xiumian.h"#include"Set.h"#include"AD.h"unsignedcharz;unsignedintleiji00;unsignedintyx1;voidxiumiansj()g=xiumianshijian*60;voidliangmiao()if(q>=5)q=0;z=(j*100000)/(1567500/18);l

25、eiji00=(z*10000/240)+leiji00;voidyunxing()if(yx=60)yx=0;if(+yx1=24)yx=0;intmain(void)u8t;OLED_Init();初始化OLEDOLED_Clear();t=''dingshichu();OLED_DrawBMP(0,0,128,8,BMP1);delay_ms(600);OLED_Clear();while(1)shezhianjian();设置按键判断17/设置按键判熄屏按键判断/休眠时间/点亮关闭屏/AD转换/运行时间/休眠子程序/两个字符问/两列之间加/起点坐标x,起/OLED_Cl

26、ear();if(c=0)OLED_Clear();while(c=0)shezhianjian();断anjian();xiumiansj();pingmu();AD();yunxing();liangmiao();OLED_ShowCHinese(0,0,0);/1OLED_ShowCHinese(18,0,1);附OLED_ShowCHinese(36,0,2);流OLED_ShowCHinese(54,0,3);最加18OLED_ShowString(72,0,":");/:2OLED_ShowNum(80,0,z/10,1,16);OLED_ShowString(

27、91,0,".");OLED_ShowNum(94,0,z%10,1,16);OLED_ShowString(114,0,"L");OLED_ShowCHinese(0,2,4);累OLED_ShowCHinese(18,2,5)漱OLED_ShowCHinese(36,2,6);流OLED_ShowCHinese(54,2,7);最OLED_ShowString(72,2,":");/:OLED_ShowNum(80,2,leiji00/100000,1,16);点坐标y,数值,数字的位数,字体大小OLED_ShowNum(88,2

28、,leiji00/10000%10,1,16);OLED_ShowString(100,2,".");OLED_ShowNum(105,2,leiji00/1000%10,1,16);OLED_ShowString(114,2,"L");OLED_ShowCHinese(0,4,8);湍OLED_ShowCHinese(18,4,9);度OLED_ShowString(36,4,":");/:OLED_ShowNum(80,4,1,1,16);OLED_ShowNum(88,4,3,1,16);OLED_ShowString(96,4

29、,".");OLED_ShowNum(101,4,4,1,16);18OLED_ShowCHinese(110,4,10);比OLED_ShowCHinese(0,6,28);适OLED_ShowCHinese(18,6,29)彳而OLED_ShowCHinese(36,6,17);附OLED_ShowCHinese(54,6,18);闽OLED_ShowString(72,6,":");/:OLED_ShowNum(80,6,yx/10,1,16);OLED_ShowNum(88,6,yx1%10,1,16);OLED_ShowString(100,6

30、,":");OLED_ShowNum(108,6,yx/10,1,16);OLED_ShowNum(116,6,yx%10,1,16);elseOLED_Clear();while(c=1|c=2|c=3)/设置按键判断shezhianjian();shezhixianshi();/设置屏幕显示OLED显示初始化子程序*/#include"stc15.h"#ifndef_OLED_H#define_OLED_H# defineu8unsignedchar# defineu32unsignedint# defineOLED_CMD0写命令# defineO

31、LED_DATA1/写数据# defineOLEDMODE0sbitOLED_CS=P2A3;后选sbitOLED_RST=P2A5视位sbitOLED_DC=P2A4;敬据/命令控制sbitOLED_SCL=P2A7;肋钟D0(SCLK?sbitOLED_SDIN=P2A6;D1(MOSI)数据# defineOLED_CS_Clr()OLED_CS=0# defineOLED_CS_Set()OLED_CS=1# defineOLED_RST_Clr()OLED_RST=0# defineOLED_RST_Set()OLED_RST=1# defineOLED_DC_Clr()OLED_D

32、C=019# defineOLED_DC_Set()OLED_DC=1# defineOLED_SCLK_Clr()OLED_SCL=0# defineOLED_SCLK_Set()OLED_SCL=1# defineOLED_SDIN_Clr()OLED_SDIN=0# defineOLED_SDIN_Set()OLED_SDIN=1;/OLED模式设置/0:4线串行模式/1:并行8080模式# defineSIZE16# defineXLevelL0x02# defineXLevelH0x10# defineMax_Column128# defineMax_Row64# defineBri

33、ghtness0xFF# defineX_WIDTH128#defineY_WIDTH64/OLED端口定义voiddelay_ms(unsignedintms);/OLED控前用函数voidOLED_WR_Byte(u8dat,u8cmd);voidOLED_Display_On(void);voidOLED_Display_Off(void);voidOLED_Init(void);voidOLED_Clear(void);voidOLED_DrawPoint(u8x,u8y,u8t);voidOLED_Fill(u8x1,u8y1,u8x2,u8y2,u8dot);voidOLED_Sh

34、owChar(u8x,u8y,u8chr);voidOLED_ShowNum(u8x,u8y,u32num,u8len,u8size2);voidOLED_ShowString(u8x,u8y,u8*p);voidOLED_Set_Pos(unsignedcharx,unsignedchary);voidOLED_ShowCHinese(u8x,u8y,u8no);voidOLED_DrawBMP(unsignedcharx0,unsignedchary0,unsignedcharx1,unsignedchary1,unsignedcharBMP);#endif图片库程序*/#ifndef_B

35、MP_H#define_BMP_H20unsignedcharcodeBMP1=0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

36、0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

37、0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x0F,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x0F,0x1F,0xFF,

38、0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x7F,0xFF,0xFF,0x7F,0x7F,0x47,0x0F,0x7F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8F,0x0F,0x0F,0x07,0x07,0x47,0x07,0x0F,0x8F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

39、0xFF,0x9F,0x0F,0x1F,0x7F,0xFF,0xFF,0xFF,0xFF,0x0F,0x0F,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,0x63,0x11,0x01,0x00,0xC0,0xD8,0x03,0x01,0xF1,0xF9,0x00,0x00,0xF9,0xFF,0xFF,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

40、0xC1,0x01,0x19,0x24,0x00,0x00,0x00,0x32,0x1C,0x00,0x80,0xF8,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xC7,0xFE,0x3E,0x0E,0xEE,0x24,0xE0,0x20,0x20,0xE2,0x12,0x90,0xE2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xF3,0xF3,0xF3,0x8B,0x01,0x40,0x00,0x00,0x00,0x00,0x01,0x81,0xE1,0xF9,0xF8,0xF9,

41、0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xE7,0xE3,0x03,0x03,0xE3,0x7F,0x37,0xE3,0xE3,0xE3,0xE3,0x00,0x00,0xE0,0xF1,0xF1,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xFC,0xFE,0xFF,0xF0,0xE0,0xF9,0xFC,0xFC,0xFE,0xFF,0xFF,0xFE,0xFC,0xF9,0xF3,0xF3,0xF0,

42、0xF0,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF8,0xF1,0xF3,0xE3,0xE3,0xE3,0xE3,0xF3,0xF1,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xF1,0xF0,0xFC,0xF7,0xF1,0xF8,0xFF,0xF8,0xFC,0xFF,0xF0,0xE7,0xE7,0xE7,0xE7,0xE0,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,210xFF,0xFF,0xCF,0xCF,0xE9,0xE0,0xE0,0xE

43、0,0xE0,0xE4,0xE4,0xE7,0xE7,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xF0,0xF8,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF

44、F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,0x1F,0x1F,0x1F,0x0F,0x0F,0x0F,0x0F,0x0F,0x1F,0x1F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF

45、F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF

46、F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x18,0x1C,0x1E,0x9F,0x9F,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xF8,0x0

47、0,0x00,0x01,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF

48、F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF8,0xF0,0xE0,0xC0,0xC3,0xC7,0x8

49、7,0x8F,0x8F,0x87,0x87,0xC3,0xC3,0xE0,0xF0,0xF8,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF

50、F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF

51、F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF

52、F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF;#enif自动休眠和唤醒子程序22*/#ifndef_xiumian_H#define_xiumian_H#include"stc15.h"#include"oled.h"sbitk1=P4A6;unsignedinti;unsignedintg;unsignedintq;bitk=1;bitb=1;unsignedintmiao=0;unsignedintyx;voidanjian()if(k1=0)低电平有效(delay_ms(

53、80);/检测到按键if(k1=0)while(k1);直到松开按键k=-k;b=-b;voidpingmu()/判断是/开启屏/判断是/关闭屏/设置/设置定时if(k=1&b=1)否在关屏时唤醒OLED_Display_On();TR1=1;幕,同时开启定时器elseif(k=0|b=0)否在点亮是关屏0LED_Display_0ff();miao=0;TR1=0;b=0;k=0;幕,同时关闭定时器,清零标记位voidtimer_1()interrupt3TL1=0xB0;定时初值TH1=0x3C;初值i+;q+;23if(i=20)i=0;miao+;yx+;/休眠时间if(miao=g)miao=0;b=0;voiddingshichu()TMOD=0x10;/设置定时器模式TL1=0xB0;/设置定时初值TH1=0x3C;/设置定时初值ET1=1;清除TF1标志TR1=1;定时器1开始计时EA=1;设置子程序/*/#ifndef_Set_H#define_Set_H#include"stc15.h#include"oled.hsbitk2=P4A5;/设置模式选择sbitk3=P

温馨提示

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

评论

0/150

提交评论