完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
控制思路:
按下单片机按钮K3,可以通过上位机对LED控制(用串口调试软件代替);松开单片机按钮K3,可以通过单片机K1来控制LED1(当K1按下时,LED1亮;K1松开时,LED1灭。),单片机K2来控制LED2(当K2按下时,LED2亮;K2松开时,LED2灭。)。现编写程序如下:(存在问题:按下单片机按钮K3,不能通过上位机对LED控制(用串口调试软件代替)),请高手指教 #include #define uchar unsigned char #define uint unsigned int uchar i,j; typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; ***it LED1=P1^5; ***it KEY1=P2^0; ***it LED2=P1^6; ***it KEY2=P2^1; //***it LED3=P0^6; ***it KEY3=P2^2; u8 start=0; /******************************************************************************* * 函 数 名 : delay * 函数功能 : 延时函数 *******************************************************************************/ void delay(u16 i) { while(i--); } /******************************************************************************* * 函 数 名 : init_uart * 函数功能 : 串口初始化函数 *******************************************************************************/ void init_uart(void) { TMOD=0X20; TH1=0XFD; TL1=0XFD; TR1=1; SCON=0X50; EA=1; ES=1; } /******************************************************************************* * 函 数 名 : zh * 函数功能 : 选择按钮函数 *******************************************************************************/ void zh() { KEY3=1; if(KEY3==0) { delay(1000); if(KEY3==0) start=0; while(!KEY3) start=1; } } /******************************************************************************* * 函 数 名 : he * 函数功能 : 操作函数 *******************************************************************************/ void he() { if(KEY1==0) { delay(1000); if(KEY1==0) LED1=1; } else LED1=0; if(KEY2==0) { delay(1000); if(KEY2==0) LED2=1; } else LED2=0; } /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 *******************************************************************************/ void main() { LED1=0; KEY1=1; LED2=0; KEY2=1; init_uart(); while(1) { zh(); if(start=1) { he(); } if(start=0) { while(!RI); RI=0; j=SBUF; if(j==0x01) { LED1=1; delay(2000); LED1=0; } if(j==0x02) { LED2=1; delay(2000); LED2=0; } } } } |
|
相关推荐
2个回答
|
|
|
|
|
|
如何修改,请指教 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
632 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
671 浏览 0 评论
772 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1340 浏览 0 评论
1166 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12057 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 18:21 , Processed in 0.531123 second(s), Total 71, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号