完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
检测到一个按键后LED灯亮下,现在无法实现,求助怎么解决!!!
#include #include ***it led_dr=P2^0; ***it hc165_si_dr=P1^1; ***it hc165_clk_dr=P1^3; ***it hc165_qh_sr=P1^0; #define cnt_key_delay 40 #define cnt_led_time 150 void key_scan(); void key_service(); unsigned char key_lock1=0; unsigned char key_lock2=0; unsigned char key_lock3=0; unsigned char key_lock4=0; unsigned int key_delay_cnt=0; unsigned int led_time_cnt=0; unsigned char key_sec=0; unsigned char key_status=0; void main() { hc165_qh_sr=1; hc165_clk_dr=1; hc165_qh_sr=1; led_dr=1; TMOD=0X00; TH0=(8192-1000)/32; TL0=(8192-1000)%32; EA=1; ET0=1; TR0=1; while(1) { key_service(); } } void key_scan() { unsigned char i; key_status=0x00; hc165_si_dr=0; _nop_(); _nop_(); hc165_si_dr=1; _nop_(); _nop_(); for(i=0;i<8;i++) { hc165_clk_dr=0; _nop_(); _nop_(); key_status=key_status<<1; key_status=key_status|hc165_qh_sr; hc165_clk_dr=1; _nop_(); _nop_(); } if((key_status&&0x01)==0x01) { key_lock1=0; key_delay_cnt=0; } else if(key_lock1==0) { ++key_delay_cnt; if(key_delay_cnt>cnt_key_delay) { key_delay_cnt=0; key_lock1=1; key_sec=1; } } if((key_status&&0x02)==0x02) { key_lock2=0; key_delay_cnt=0; } else if(key_lock2==0) { ++key_delay_cnt; if(key_delay_cnt>cnt_key_delay) { key_delay_cnt=0; key_lock2=1; key_sec=2; } } if((key_status&&0x04)==0x04) { key_lock3=0; key_delay_cnt=0; } else if(key_lock3==0) { ++key_delay_cnt; if(key_delay_cnt>cnt_key_delay) { key_delay_cnt=0; key_lock3=1; key_sec=3; } } if((key_status&&0x08)==0x08) { key_lock4=0; key_delay_cnt=0; } else if(key_lock4==0) { ++key_delay_cnt; if(key_delay_cnt>cnt_key_delay) { key_delay_cnt=0; key_lock4=1; key_sec=4; } } } void key_service() { switch(key_sec) { case 1: led_time_cnt=cnt_led_time; key_sec=0; break; case 2: led_time_cnt=cnt_led_time; key_sec=0; break; case 3: led_time_cnt=cnt_led_time; key_sec=0; break; case 4: led_time_cnt=cnt_led_time; key_sec=0; break; } } void time0() interrupt 1 { TR0=0; key_scan(); if(led_time_cnt) { led_dr=0; --led_time_cnt; } else { led_dr=1; } TH0=(8192-1000)/32; TL0=(8192-1000)%32; TR0=1; }
|
|
相关推荐
2个回答
|
|
自己顶下,别沉了
|
|
|
|
没人帮帮忙吗?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-初识设备树之设备组织架构
734 浏览 0 评论
582 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-初识设备树之设备树组成和结构
840 浏览 0 评论
【敏矽微ME32G070开发板免费体验】点亮WS2812B灯板
1039 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核启动流程
937 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12161 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-12 05:43 , Processed in 0.369860 second(s), Total 40, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号