完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
unsigned int flag; ***it Moudle_En=P2^5; ***it Seg_LED1_En=P2^0; ***it Seg_LED2_En=P2^1; ***it Seg_LED3_En=P2^2; ***it Seg_LED4_En=P2^3; void ser() interrupt 4 { RI=0; P1=SBUF; flag=1; } void main() { ti=0; TMOD=0x20; //定时器T1工作模式为方式2,8位自动重装 TH1=0xfd;//设置波特率9600 TL1=0xfd;//设置波特率9600 REN=1; //接受使能 SM0=0; //10位异步收发 SM1=1; TR1=1; // EA=1; ES=1; while(1) { if(flag==1) { Moudle_En=0; Seg_LED1_En=0; } } } ======================================================== 数码管由74HC573驱动,D断接P1,Q端接数码管,数码管共阴极,接到P2^0,即Seg_LED1_En。 74HC573的output control端(低电平有效)接P2^5,即Moudle_En。 当单片机上电后还没由PC机发送数据的时候flag应该为0,P2^0,P2^5应该为高电平啊,数码管 应该不亮才对啊,可是一下载程序后,数码管亮,断电重启后数码管还是亮,不知道为什么。 在数码管显示8.后给单片机发送数据时是正常的。 ????为什么重启他还亮呢 |
|
相关推荐
6个回答
|
|
最好在主函数先使flag=0;没有原理图很难看得明白!另外,最好在串口接收中断时,串口发某个值才能使flag=1;如
tem=SBUF; if(tem==0x55){flag=1;}即当串口发送数据中包含0x55,再打开灯!试试吧! |
|
|
|
嗯,根据你的提示,这个实现了啊,下载完程序后不再出现数码管亮的情况, 现在的问题是怎么让它上电后自己发送一个特定值,人为的发送也不太好啊 |
|
|
|
这个问题暂时解决了,谢谢@ ω琉璃蝶羽σ 的提示,现在把下程序时的FF屏蔽掉了,PC向mcu发数据时第一个字节不能发FF,往后就可以随意发了
|
|
|
|
回帖奖励 +5 分积分
{:18:}{:18:}
|
|
|
|
看的迷糊
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
542 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
648 浏览 0 评论
751 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1295 浏览 0 评论
1143 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12055 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 13:13 , Processed in 0.674492 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号