智能生态系统自动化装置设计.doc

上传人:李主任 文档编号:3316977 上传时间:2019-08-11 格式:DOC 页数:30 大小:1.40MB
返回 下载 相关 举报
智能生态系统自动化装置设计.doc_第1页
第1页 / 共30页
智能生态系统自动化装置设计.doc_第2页
第2页 / 共30页
智能生态系统自动化装置设计.doc_第3页
第3页 / 共30页
智能生态系统自动化装置设计.doc_第4页
第4页 / 共30页
智能生态系统自动化装置设计.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《智能生态系统自动化装置设计.doc》由会员分享,可在线阅读,更多相关《智能生态系统自动化装置设计.doc(30页珍藏版)》请在三一文库上搜索。

1、 智能生态系统队员1:姓名:徐德鹏,性别:男,出生年月:1992年12月,所在学院:仪器科学与电气工程学院,专业:电气工程及其自动化专业,年级:2011级,教学号:65110507,邮箱,电话:15584115889。队员2:姓名:李京杰,性别:男,出生年月:1992年12月,所在学院:仪器科学与电气工程学院,专业:电气工程及其自动化专业,年级:2011级,教学号:65110505,邮箱:,电话:18143095942。队员3:姓名:王晓丹,性别:女,出生年月:1992年7月,所在学院:仪器科学与电气工程学院,专业:电气工程及其自动化专业,年级:2011级,教学号:65110629,邮箱:,电

2、话:18204310736.作品类别:自动化装置类引 言中国农业的发展必须走现代化农业这条道路,农业的研究和应用技术越来越受到重视,特别是智能化生态系统已经成为高效农业的一个重要组成部分。其中重要一环就是对农业生产环境的一些重要参数进行检测和控制。例如,空气的温度、湿度和土壤的含水量等。在农业种植问题中,环境与生物的生长、发育和能量交换密切相关,进行环境测控是实现生产管理自动化、科学化的基本保证,通过对监测数据的分析,结合作物生长发育规律,控制环境条件,使作物达到优质、高产、高效的栽培目的。国外的智能化生态系统设施己经发展到比较完备的程度,并形成了一定的标准,但是价格非常昂贵,并且与我国气候特

3、点不相适应。而当今国内大多数对大棚温度、湿度的检测与控制都采用人工管理,这样有测控精度低、劳动强度大及由于测控不及时等弊端,容易造成不可弥补的损失,不但大大增加了成本,浪费了人力资源,而且很难达到预期的效果。因此,为了实现高效农业生产的科学化并提高农业研究的准确性,推动我国农业的发展,必须大力发展农业设施与相应的农业工程,科学合理地调节生态系统内温度、湿度等,形成有利于蔬菜、水果生长的环境,是蔬菜和水果早熟、优质高效益的重要环节。目前,随着智能化生态系统设施的迅速增多,人们对其性能要求也越来越高,特别是为了提高生产效率,对自动化程度要求也越来越高。不同种类观赏花卉对温度及湿度等生长所需条件的要

4、求也不尽相同,为它们提供一个更适宜其生长的封闭的、良好的生存环境,以提早或延迟花期,观赏植物栽培生产最终将会给我们带来巨大的经济效益。结合用户需要,设计了一套智能化生态系统。本系统采用传感器技术和单片机相结合,实现自动控制加热、降温、通风。根据需要,通过显示屏显示基本信息,根据情况可随时调节环境参数。本文将基于嵌入式系统,使用STM32F103ZET6型号的ARM处理器设计操作界面,对生态系统的温度及湿度进行检测和控制,利用现有资源设计一个实时控制生态温度、湿度等的控制系统。并在此基础上,利用STM32F103ZET6芯片上的片上资源设计了一系列的多媒体娱乐功能,包括音乐播放器、收音机、照相机

5、以及图片管理等应用。目录引 言一、方案设计11、方案选择12、方案确定23、理论分析与方案论证2二、总体设计2三、单元电路(或软件模块)设计41、电源模块设计42、继电器模块设计43、光控模块设计54、温控模块设计55、功放模块设计66、湿度检测模块设计6四、单元电路测试71、电源模块测试72、继电器模块测试73、光控模块测试84、温控模块测试8五、整体测试9六、结论11七、附录111、整体软件流程图112、软件程序代码清单12八、 参考文献25一、方案设计1、方案选择方案一:采用MSP430单片机作为控制芯片,通过LCD1602液晶屏显示基本信息。优点:MSP430单片机具有低功耗和开发环境

6、高效方便等优点,LCD1602液晶屏成本较低。缺点:MSP430性能不稳定,运算速度低,LCD1602液晶屏显示信息量不能本设计满足要求,并且不能显示汉字。方案二:采用STC89C52RC单片机作为控制芯片,通过Nokia5110液晶屏显示基本信息。优点:STC89C52RC单片机具有成本低、编程操作简单等优点,Nokia5110液晶屏具有性价比高、色彩丰富等优点。缺点:Nokia5110液晶屏屏幕太小,亮度不够,不易查看信息参数。方案三:采用STC12C5A60S2单片机作为控制芯片,通过LCD12864液晶屏显示基本信息。优点:STC12C5A60S2单片机具有成本较低、运算速度快等优点,

7、LCD12864液晶屏可以显示更多字符,并且可以显示汉字。缺点:STC12C5A60S2单片机相关开发资料不够完善,开发使用难度大、周期长。方案四:采用STM32F103ZET6 ARM处理器作为控制核心,利用TFTLCD触摸显示屏显示信息。 24个12VLED超高亮节能灯作为光照补充模块。DS18B20单线式数字温度计作为温度检测模块,传回信息给ARM处理器。采用 12V/5A开关电源将市电220V转换为DC12V,利用LM2596对DC12V进行降压处理得到DC5V。采用光敏电阻对光照强度进行检测,土壤湿度计检测模块作为土壤湿度传感器检测土壤湿度。采用电动喷雾器水泵(回流隔膜泵)12V作为

8、喷水装置。优点:STM32F103ZET6 ARM处理器具有运行速度快、内置FLASH存储等优点,可运行片上操作系统,具有极其强大的扩展功能。超高亮节能灯照明模块亮度非常高并且低功耗。 12V/5A开关电源模块具有方便、稳定和可调等优点。 12V稳定版光控开关光敏电阻加继电器模块光线检测开关具有灵敏、高效和稳定等优点。水泵具有体积小、电流小、使用寿命长、物美价廉等优点,泵体与电机分离,泵体内无机械部件、无磨损。水泵自带释压溢流回路装置,不会憋爆水管和损坏水泵。 缺点:STM32F103ZET6 ARM微处理器成本较高,嵌入式系统的开发和应用难度较大。2、方案确定通过对比四种方案的优缺点,以及可

9、操作性,考虑到题目要求、工作条件,方案四优于其他几种方案。STM32F103ZET6 ARM处理器可以更好的满足控制要求,功能强大,并可以设计友好的人机交互界面。TFTLCD触摸屏具有大屏、显示信息多、方便实现人机交互等优越性。方案四能使系统有较好的稳定性,充分体现了模块化设计的要求,并且这些芯片及器件均为通用器件,在市场上较常见,价格也低廉,样品制作成功的可能性比较大,所以本设计采用方案四。3、理论分析与方案论证本设计采用方案四。通过STM32F103ZET6 ARM处理器控制TFTLCD触摸屏实现温度和湿度等信息的显示。通过12V/5A开关电源给系统供电。通过加热片加热空气来提高温度。通过

10、风扇控制系统通风降温。通过LED灯模块补充光照强度。通过水泵喷水雾控制土壤干湿度。二、总体设计本系统的硬件结构图如图1所示。12V/5A开关电源模块将AC220V转化为DC12V,再经过LM2596降压芯片获得DC5V,以此提供5V/12V直流电以满足处理器和外围设备的供电需要。12V光控开关,由光敏电阻对光照强度进行检测,通过由LM393构成的电压比较电路获得继电器的触发信号,由继电器的常开触点控制12V光照补充模块(由24个超高亮LED节能灯组成)。当没有光强或光照强度不足时,继电器经触发信号触发,其常开触点闭合,控制12V光照补充模块工作,超高亮LED节能灯通电发光,为植物提供充足的光照

11、。当光照强度充足时,继电器常开触点断开,光照补充模块断电熄灭。土壤湿度检测模块作为土壤湿度传感器检测土壤湿度。当土壤湿度传感器检测到土壤的湿度低于设定阈值时,将土壤湿度信息传给STM32F103ZET6 ARM处理器,此时处理器通过继电器控制电动喷雾水泵抽水,并且通过喷头喷出水雾。当土壤湿度传感器检测到的土壤湿度高于或者达到设定阈值时,此时处理器通过继电器控制电动喷雾器水泵停止工作。DS18B20单线式数字温度传感器作为温度检测装置。当感应到的温度低于设定阈值时,处理器通过继电器控制加热片给空气加热。当感应到温度高于设定阈值时,处理器通过继电器控制风扇给通风降温。本系统共有2个风扇,一个风扇逆

12、时针转控制进风,一个风扇顺时针转控制出风,从而实现空气流动。图1 系统的硬件结构图三、单元电路(或软件模块)设计1、电源模块设计由12V/5A开关电源和LM2596降压电路组成。因为所用器件都是由+5V和+12V供电,所以降压模块选择降压到+5V和+12V电压,开关电源将220V交流电转化为12V直流电,LM2596降压模块将12V直流电转化为5V直流电。如图2所示。图2 电源模块设计图2、继电器模块设计继电器模块共有3个继电器其中2个继电器控制电压为+12V,一个为+5V,触发方式设置为低电平触发。继电器电路图如图3所示。其中继电器选取DC5V继电器,控制+12电压的R2阻值为2.3K,控制

13、+5V电压的R2阻值为910,R1阻值相同为4.7K,二极管类型为1N4148,三极管类型为PNP型硅三极管S8550。图3 继电器电路设计图3、光控模块设计光控模块由光敏电阻、电压比较器LM393、电磁继电器和LED节能灯组成。光敏电阻负责检测光照强度,并将检测到的光强电阻信号通过特定的电路转化为电压信号,电压比较器LM393负责将此电压信号与预设电压进行比较,并由此产生继电器的触发信号,从而控制LED节能灯的导通与关断。其结构如图4所示。图4 光控模块设计图4、温控模块设计温控模块由DS18B20温度传感器、继电器、12V/20W加热片和两个12V/5W通风扇组成,通过TFTLCD触摸屏显

14、示温度信息。当DS18B20检测到的温度低于设定阈值,STM32F103ZET6 ARM处理器通过继电器控制加热片工作,直至温度升高到设定阈值;当DS18B20检测到的温度高于设定阈值,STM32F103ZET6 ARM处理器通过继电器控制通风扇工作,直至温度降低到设定阈值。温控模块整体结构如图5所示。图5 温控模块设计图5、功放模块设计功放模块由两片TDA2030功放芯片组成,构成双声道功放电路,驱动两个0.5W/8的喇叭进行音乐播放。功放模块整体结构如图6所示。图6 功放模块设计图6、湿度检测模块设计图6 湿度检测模块设计图如图7所示,湿度检测模块由土壤探头、LM393比较电路和指示灯构成

15、。土壤探头测得的漏电流大小经过电阻变为电压信号,通过LM393进行电压比较,产生数字信号,进而被处理器利用进行湿度的控制。四、单元电路测试1、电源模块测试电源模块可以正常工作,提供稳定的电压,检测结果如图8。图8 电源模块测试结果图2、继电器模块测试继电器控制模块可以正常工作,工作时绿色指示灯亮表示该继电器正常工作,检测结果如图9。 图9 继电器模块测试结果图3、光控模块测试当没有光照或光照强度不足时,光控开关闭合,LED光照模块工作,发出亮光,检测结果如图10所示。图10 光控模块测试结果图4、温控模块测试温控模块可以测试温度,并使LCD12864液晶屏正常显示温度数值,检测结果如图11所示

16、。 图11 温控模块检测图五、整体测试系统整体实物图如图12所示,所有模块均能稳定工作。当没有光强或光照强度不足时,继电器经触发信号触发,其常开触点闭合,控制12V光照补充模块工作,超高亮LED节能灯通电发光,为植物提供充足的光照。当光照强度充足时,继电器常开触点断开,光照补充模块断电熄灭。土壤湿度检测模块作为土壤湿度传感器检测土壤湿度。当土壤湿度传感器检测到土壤的湿度低于设定阈值时,将土壤湿度信息传给STM32F103ZET6 ARM处理器,此时处理器通过继电器控制电动喷雾水泵抽水,并且通过喷头喷出水雾。当土壤湿度传感器检测到的土壤湿度高于或者达到设定阈值时,此时处理器通过继电器控制电动喷雾

17、器水泵停止工作。DS18B20单线式数字温度传感器作为温度检测装置。当感应到的温度低于设定阈值时,处理器通过继电器控制加热片给空气加热。当感应到温度高于设定阈值时,处理器通过继电器控制风扇给通风降温。图12 整体实物图图13 开机界面图六、结论本系统是利用STM32F103ZET6 ARM处理器采用程序设计方法控制加热片、风扇和水泵等电子器件,再通过温度传感器DS18B20感应温度,加热片、风扇控制温度,通过水泵喷水控制土壤干湿度,最终通过TFTLCD触摸屏显示出温度、干湿度等信息。智能生态系统处于温度不适应的情况,温度较低或较高时,可以通过自动调节,实时监控环境温度,实现环境温度最优化。同时

18、,也可对土壤干湿度做出准确监控,达到调节土壤环境的目的。光照控制保障了充足的光强,更利于生物生长。通过软件仿真,基本达到预期的设计目标。七、附录1、整体软件流程图图14 整体软件流程图2、软件程序代码清单#include includes.h #include stdlib.h#include exfuns.h#include listbox.h#include t9input.h#include spb.h#include ebook.h#include picviewer.h#include mp3player.h#include settings.h#include calendar.h

19、#include paint.h #include radio.h #include recoder.h #include camera.h#include mmc_sd.h#include huapen.h /UCOSII任务设置/START 任务/设置任务优先级#define START_TASK_PRIO 10 /开始任务的优先级设置为最低/设置任务堆栈大小#define START_STK_SIZE 64/任务堆栈,8字节对齐_align(8) static OS_STK START_TASK_STKSTART_STK_SIZE;/任务函数void start_task(void *p

20、data); /串口任务/设置任务优先级#define USART_TASK_PRIO 7 /设置任务堆栈大小#define USART_STK_SIZE 64/任务堆栈,8字节对齐_align(8) static OS_STK USART_TASK_STKUSART_STK_SIZE;/任务函数void usart_task(void *pdata); /主任务/设置任务优先级#define MAIN_TASK_PRIO 6 /设置任务堆栈大小#define MAIN_STK_SIZE 512/任务堆栈,8字节对齐_align(8) static OS_STK MAIN_TASK_STKMA

21、IN_STK_SIZE;/任务函数void main_task(void *pdata);/串口监视任务/设置任务优先级#define WATCH_TASK_PRIO 3 /设置任务堆栈大小#define WATCH_STK_SIZE 128/任务堆栈,8字节对齐_align(8) static OS_STK WATCH_TASK_STKWATCH_STK_SIZE;/任务函数void watch_task(void *pdata); /MP3任务/设置任务优先级#define MUSIC_PLAY_TASK_PRIO 2 /设置任务堆栈大小#define MUSIC_PLAY_STK_SIZ

22、E 256/任务堆栈,8字节对齐_align(8) static OS_STK MUSIC_PLAY_TASK_STKMUSIC_PLAY_STK_SIZE;/任务函数void music_play_task(void *pdata);/ /外部内存测试(最大支持1M字节内存测试)/返回值:0,成功;1,失败.u8 system_exsram_test(u16 x,u16 y) u32 i=0; u16 temp=0; u16 sval=0;/在地址0读到的数据 LCD_ShowString(x,y,239,y+12,12,Ex Memory Test: 0KB); /每隔1K字节,写入一个数

23、据,总共写入1024个数据,刚好是1M字节for(i=0;i1024*1024;i+=1024)FSMC_SRAM_WriteBuffer(u8*)&temp,i,2);temp+;/依次读出之前写入的数据,进行校验 for(i=0;i1024*1024;i+=1024) FSMC_SRAM_ReadBuffer(u8*)&temp,i,2);if(i=0)sval=temp; else if(temp=1024*1024)LCD_ShowxNum(x+15*6,y,i/1024,4,12,0);/显示内存值 return 0;/内存正常,成功return 1;/失败/显示错误信息/x,y:坐

24、标.err:错误信息void system_error_show(u16 x,u16 y,u8*err)POINT_COLOR=RED; while(1)LCD_ShowString(x,y,240,320,12,err);delay_ms(400);LCD_Fill(x,y,240,y+18,BLACK);delay_ms(100);LED0=!LED0; /系统初始化void system_init(void) const u8 okoffset=162; u16 ypos=0;u16 j=0;u16 temp=0;u8 res;u32 dtsize,dfsize;u8 *stastr=0

25、;u8 *version=0; u8 verbuf12;NVIC_Configuration();delay_init(72);/延时初始化 uart_init(9600); /串口1初始化LCD_Init();/LCD初始化 LCD_PWM_Init();/初始化LCD背光亮度LCD_BLPWM_VAL=200; /设置为最亮 LED_Init(); /LED初始化 KEY_Init();/按键初始化 FSMC_SRAM_Init();/初始化SRAMgui_init();Adc_Init(); /ADC初始化,内部温度传感器BEEP_Init(); AT24CXX_Init(); Audi

26、osel_Init();Audiosel_Set(0); usmart_dev.init(72); mem_init(SRAMIN);/内部内存池初始化version=mymalloc(SRAMIN,31);/申请31个字节内存REINIT:/重新初始化LCD_Clear(BLACK);/黑屏POINT_COLOR=WHITE;BACK_COLOR=BLACK;j=0; /显示版权信息ypos=2;app_show_mono_icos(5,ypos,18,24,(u8*)APP_ALIENTEK_ICO,YELLOW,BLACK);LCD_ShowString(28,ypos+12*j+,24

27、0,320,12, Intelligent Ecosystem);/智能生态系统LCD_ShowString(28,ypos+12*j+,240,320,12,CIEE of JiLin University); LCD_ShowString(28,ypos+12*j+,240,320,12,Created by Our Team);sprintf(char*)verbuf,LCD ID:%04X,lcddev.id);/LCD ID打印到verbuf里面LCD_ShowString(5,ypos+12*j+,240,320,12, verbuf);/显示LCD ID /开始硬件检测初始化LC

28、D_ShowString(5,ypos+12*j+,240,320,12, CPU:STM32F103ZET6 72Mhz);LCD_ShowString(5,ypos+12*j+,240,320,12, FLASH:512KB SRAM:64KB);if(system_exsram_test(5,ypos+12*j)system_error_show(5,ypos+12*j+,EX Memory Error!);LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12,OK); mem_init(SRAMEX);/外部内存池的初始化必须放到内存检测之后!

29、 SPI_Flash_Init();/W25Qxx初始化 switch(SPI_FLASH_TYPE)case W25Q80:temp=1*1024;break;case W25Q16:temp=2*1024;break;case W25Q32:temp=4*1024;break;case W25Q64:temp=8*1024;break;default :system_error_show(5,ypos+12*j+,Ex Flash Error!);break;LCD_ShowString(5,ypos+12*j,240,320,12, Ex Flash: KB); LCD_ShowxNum

30、(5+9*6,ypos+12*j,temp,4,12,0);/显示flash大小 LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK); LCD_ShowString(5,ypos+12*j,240,320,12, FATFS Check.);/FATFS检测 if(exfuns_init()system_error_show(5,ypos+12*(j+1),FATFS Memory Error!);/内存分配 f_mount(0,fs0); /挂载SD卡 f_mount(1,fs1); /挂载FLASH.LCD_ShowString(5+o

31、koffset,ypos+12*j+,240,320,12, OK); /SD卡检测LCD_ShowString(5,ypos+12*j,240,320,12, SD Card: MB);/FATFS检测temp=0; dotemp+; res=exf_getfree(0:,&dtsize,&dfsize);/得到SD卡剩余容量和总容量delay_ms(200); while(res&temp10;/单位转换为MBstastr=OK; else temp=0;/出错了,单位为0stastr=ERROR; LCD_ShowxNum(5+8*6,ypos+12*j,temp,5,12,0);/显示

32、SD卡容量大小LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12,stastr);/SD卡状态 /W25Q64检测,如果不存在文件系统,则先创建.temp=0; dotemp+; res=exf_getfree(1:,&dtsize,&dfsize);/得到FLASH剩余容量和总容量delay_ms(200); while(res&temp20);/连续检测20次 if(res=0X0D)/文件系统不存在LCD_ShowString(5,ypos+12*j,240,320,12, Flash Disk Formatting.);/格式化FLASHre

33、s=f_mkfs(1,1,4096);/格式化FLASH,1,盘符;1,不需要引导区,8个扇区为1个簇if(res=0)LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK);/标志格式化成功 res=exf_getfree(1:,&dtsize,&dfsize);/重新获取容量 if(res=0)/得到FLASH卡剩余容量和总容量LCD_ShowString(5,ypos+12*j,240,320,12, Flash Disk: KB);/FATFS检测 temp=dtsize; else system_error_show(5,ypos+1

34、2*(j+1),Flash Fat Error!);/flash 文件系统错误 LCD_ShowxNum(5+11*6,ypos+12*j,temp,4,12,0);/显示SD卡容量大小LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12,OK);/SD卡状态 /TPAD检测 LCD_ShowString(5,ypos+12*j,240,320,12, TPAD Check.); if(TPAD_Init()system_error_show(5,ypos+12*(j+1),TPAD Error!);/触摸按键检测else LCD_ShowString

35、(5+okoffset,ypos+12*j+,240,320,12, OK); /RTC检测 LCD_ShowString(5,ypos+12*j,240,320,12, RTC Check.); if(RTC_Init()system_error_show(5,ypos+12*(j+1),RTC Error!);/RTC检测else LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK); /ADXL345检测 LCD_ShowString(5,ypos+12*j,240,320,12, ADXL345 Check.); if(ADXL345

36、_Init()system_error_show(5,ypos+12*(j+1),ADXL345 Error!);/ADXL345检测else LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK); /24C02检测 LCD_ShowString(5,ypos+12*j,240,320,12, 24C02 Check.); if(AT24CXX_Check()system_error_show(5,ypos+12*(j+1),24C02 Error!);/24C02检测else LCD_ShowString(5+okoffset,ypos+1

37、2*j+,240,320,12, OK); /RDA5820检测 LCD_ShowString(5,ypos+12*j,240,320,12, RDA5820 Check.); if(RDA5820_Init()system_error_show(5,ypos+12*(j+1),RDA5820 Error!);/RDA5820检测else LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK); /VS1053检测 LCD_ShowString(5,ypos+12*j,240,320,12, VS1053 Check.); VS_Init();

38、/初始化VS1053接口VS_Sine_Test();/正弦测试BEEP=0; if(VS_Ram_Test()!=0X83FF)system_error_show(5,ypos+12*(j+1),VS1053 Error!);/RAM测试else LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK); /字库检测 LCD_ShowString(5,ypos+12*j,240,320,12, Font Check.);res=KEY_Scan(1);/检测按键 while(font_init()|res=2)/检测字体,如果字体不存在/按下K

39、EY1,则更新字库res=0;/按键无效 if(update_font(5,ypos+12*j,12,0)!=0)/从SD卡更新 if(update_font(5,ypos+12*j,12,1)!=0)/从FLASH更新system_error_show(5,ypos+12*(j+1),Font Error!);/字体错误 LCD_Fill(5,ypos+12*j,240,ypos+12*(j+1),BLACK);/填充底色 LCD_ShowString(5,ypos+12*j,240,320,12, Font Check.); LCD_ShowString(5+okoffset,ypos+1

40、2*j+,240,320,12, OK);/字库检测OK/系统文件检测 LCD_ShowString(5,ypos+12*j,240,320,12, SYSTEM Files Check.); while(app_system_file_check()/系统文件检测LCD_Fill(5,ypos+12*j,240,ypos+12*(j+1),BLACK);/填充底色 LCD_ShowString(5,ypos+12*j,6*8,12,12, Updating); /显示updatingapp_boot_cpdmsg_set(5,ypos+12*j);/设置到坐标if(app_system_up

41、date(app_boot_cpdmsg) /更新出错system_error_show(5,ypos+12*(j+1),SYSTEM File Error!);LCD_Fill(5,ypos+12*j,240,ypos+12*(j+1),BLACK);/填充底色 LCD_ShowString(5,ypos+12*j,240,320,12, SYSTEM Files Check.); if(app_system_file_check()/更新了一次,再检测,如果还有不全,说明SD卡文件就不全!system_error_show(5,ypos+12*(j+1),SYSTEM File Lost!);else break;LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK); /触摸屏检测 LCD_ShowString(5,ypos+12*j,240,320,12, Touch

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

当前位置:首页 > 建筑/环境 > 装饰装潢


经营许可证编号:宁ICP备18001539号-1