單片機
#include
unsigned int flag;
sbit Moudle_En=P2^5;
sbit Seg_LED1_En=P2^0;
sbit Seg_LED2_En=P2^1;
sbit Seg_LED3_En=P2^2;
sbit 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;//設(shè)置波特率9600
TL1=0xfd;//設(shè)置波特率9600
REN=1; //接受使能
SM0=0; //10位異步收發(fā)
SM1=1;
TR1=1; //
EA=1;
ES=1;
while(1)
{
if(flag==1)
{
Moudle_En=0;
Seg_LED1_En=0;
}
}
}
========================================================
數(shù)碼管由74HC573驅(qū)動,D斷接P1,Q端接數(shù)碼管,數(shù)碼管共陰極,接到P2^0,即Seg_LED1_En。
74HC573的output control端(低電平有效)接P2^5,即Moudle_En。
當(dāng)單片機上電后還沒由PC機發(fā)送數(shù)據(jù)的時候flag應(yīng)該為0,P2^0,P2^5應(yīng)該為高電平啊,數(shù)碼管
應(yīng)該不亮才對啊,可是一下載程序后,數(shù)碼管亮,斷電重啟后數(shù)碼管還是亮,不知道為什么。
在數(shù)碼管顯示8.后給單片機發(fā)送數(shù)據(jù)時是正常的。
????為什么重啟他還亮呢