完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我开了两个中断 一个触摸中断用的外部中断1一个定时器中断 用来计算频率的 我们需要把八组频率不断的扫描出来显示 现在的问题是 如果我们在频率扫描到第四组的时候 触摸一下 进入触摸外部中断 触摸反映正常 但是后面的四组频率就显示不出来了
第四组只是打个比方 就是进入触摸中断以后 频率的显示就出问题了 void main() { dkchushihua(); LCD_Initial(); LCD_ClearScreen(); LCD_CmdDatWrite(0x0f,0x10); LCD_CmdDatWrite(0xc0,0x80); LCD_CmdDatWrite(0xc4,0x00);//开启触摸功能 自动模式 ShowPicture(); dispword(); dispjianpan(); TMOD=0X15;//设置T1为16位定时器,设置T0为16位计数器 TH0=0X00; TL0=0X00; TH1=(65535-36697)/256; TL1=(65535-36697)%256; EA =1; ET1=1;//开T1中断 EX1=1;//开外部中断1 IT1=1;//低电平触发 IPH=0x08; IP =0x08;//设置定时器中断1为最高优先级中断,设置外部中断1为最低优先级中断 TR0=1; TR1=1; while(1) { disphzzhi();//不断更新新的频率值 } } void T1_time() interrupt 3 { unsigned int lshzzhi; num++; if(num>=25) { TR0=0; TR1=0; lshzzhi=TH0;lshzzhi<<=8;lshzzhi|=TL0; TH0=0x00; TL0=0x00; lshzzhi=lshzzhi<<1; hzzhi[chose]=lshzzhi; P2&=0xf8; P2|=CHA[chose]; chose++; if(chose>7)chose=0; num=0; } TH1=(65535-36697)/256; TL1=(65535-36697)%256; TR0=1; TR1=1;//同步 } void INT_chukong() interrupt 2 { //LCD_CmdDatWrite(0x0f,0x10); LCD_Touch(); } |
|
相关推荐
8个回答
|
|
谢谢各位了啊
|
|
|
|
|
|
|
|
|
|
|
|
学习了
|
|
|
|
|
|
|
|
|
|
没接触过,帮顶
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
464 浏览 0 评论
478 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
439 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
994 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1056 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11780 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 11:16 , Processed in 0.784399 second(s), Total 90, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号