完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 yingtao246 于 2015-5-2 11:17 编辑
程序单个都对,但是在主程序中组合在一起,按键程序就失效了……请问各位大神……程序如何修改? #include #include #include"adc0809.h" #include"lcd1602.h" #include"delay.h" /* key0用于选择显示的内容,当前温度或者报警温度 */ /* 同时也用于选择对高温操作还是对低温操作 */ /* key0==1时,key1对高温加,key2对高温减 */ /* key0==2时,key1对低温加,key2对低温减 */ ***it key0=P3^3; ***it key1=P3^4; ***it key2=P3^5; ***it led=P2^0; unsigned char flag=0,i=0; void keyscan() { key0=1; key1=1; key2=1; if(!key0) { DelayMs(10); if(!key0) { while(!key0); if (i<2) { flag++; i++; flag=flag%3; //flag= 0~ } else { adc_display(); flag=0; i=0; } } } if(flag==1) { if(!key1) { DelayMs(10); if(!key1) { while(!key1); { LCD_Write_String(0,0,"we"); } } } } if(flag==1) { if(!key2) { DelayMs(10); if(!key2) { while(!key2); { LCD_Write_String(0,0,"er"); } } } } if(flag==2) { if(!key1) { DelayMs(10); if(!key1) { while(!key1); { LCD_Write_String(1,2,"qw"); } } } } if(flag==2) { if(!key2) { DelayMs(10); if(!key2) { while(!key2); { LCD_Write_String(1,2,"rt"); } } } } } void main() { LCD_Init(); LCD_Clear(); while(1) { adc_display(); keyscan(); DelayMs(10); } } 以下是adc0809的程序 #include"adc0809.h" #include"delay.h" #include"lcd1602.h" #include #define uint unsigned int #define uchar unsigned char ***it P27 = P2^7; ***it EOC = P2^3; ***it ST = P3^0; ***it OE = P3^1; uchar getdata = 0; uchar code table[]="0123456789";//定义显示的数组 uchar q,b,s,g; void adc0809(void) { float temp=0.0; ST=0;//ADC0809初始化 ST=1; _nop_(); _nop_(); ST=0; while(EOC==0)//等待转换完成 { OE=1; getdata=P0;//p2选择为ADC的数据口 OE=0; } //temp=(float) getdata*5.0/256;//数据处理 //temp=temp/100.0; temp=getdata; q=(int)temp/1000; b=(int)temp%1000/100; s=(int)temp%1000%100/10; g=(int)temp%10; } void adc_display(void) { LCD_Init(); OE=0; while (1) { LCD_Write_String(0,0,"current value:"); adc0809(); LCD_Write_Com(0x80+0x40);//1602显示处理好的数据 { LCD_Write_Data(table[q]); DelayMs(20); LCD_Write_Data(table); DelayMs(20); LCD_Write_Data(table DelayMs(20); LCD_Write_Data(table[g]); DelayMs(20); } } } |
|
相关推荐
6个回答
|
|
|
|
|
|
做中断里啊,亲!程序越来越大,可不是反应慢了吗!
|
|
|
|
按键扫描用中断……
|
|
|
|
|
|
|
|
|
|
|
|
看熱鬧ing................................
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
238 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
629 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
552 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
552 浏览 0 评论
1074 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11763 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 22:49 , Processed in 0.713731 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号