求基於微控制器的用組合語言寫的倒計時程式

時間 2021-08-14 22:59:26

1樓:細雄

剛寫的程式,可以通過s0(功能鍵),s1(加鍵),s2(減鍵)設定初值,倒數為00-00-00時蜂鳴器響,通過八位led顯示;

#include

#include

#define uchar unsigned char#define uint unsigned intuchar code wei=;//八位位選碼表uchar code duan=;//段選碼表sbit s0=p3^3; //設定功能鍵sbit s1=p3^5; //設定『加』鍵sbit s2=p3^6; //設定『減』鍵sbit beep=p3^7; //設定蜂鳴器void delay(uint z);

void display();

void init();

void keyscan();

uchar shi,fen,miao,nam;

void main()

} }

void delay(uint z)

void display() //我這裡p2為位選,p0為段選,顯示格式為 時-分-秒

void init()

void timer() interrupt 1fen--;

}miao--;} }

void keyscan()

while(!s0)

display();

}if (s1==0)

while(!s1)

display();

}if (s2==0)

while(!s2)

display();

}switch(key)

if (num==2)

break;

case 2:

if (num==1)

if (num==2)

break;

case 3:

if (num==1)

if (num==2)

break; }}

2樓:匿名使用者

我倒是有,不過分太少不給!

3樓:吉志乃哥

貌似不難吧,這人太懶了。。

微控制器組合語言的幾個疑問

靈若伊雪 1 r1 20h 不是一條指令,而只是一種說明,表明r1暫存器中的內容是20h。這個20h是地址還是資料,與這個說明無關。2 在指令 mov r1,40h 中,r1 是間接定址方式,表明r1中的內容是地址,指令的功能表明是將立即數40h傳送到r1指定的地址中。3 在指令中容易混淆的是立即數...

在51微控制器中,使用組合語言,如何將十六進位制數轉換成十進位制

共陽數碼管顯示數字嗎?0 9 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 把數值送到暫存器a中,mov b,10 div ab 得到的a即是商,也就是十位,b中是餘數,也就是個位。如果位數更多的話,例如三位六進位制數,100關到b中,相除,得到...

在組合語言寫微控制器的程式的時候,如何知道當前的PC指標是多少

當前pc指標的值,可以通過一定的方法來獲得,比如如果使用lcall指令,那麼微控制器執行過程是 保護現場,將當前pc壓入堆疊,當程式返回時,再彈出該保護的pc,由此,我們就可以獲得當前的pc,具體程式如下 lcall getpc 呼叫乙個子程式以獲得當前pc值.getpc pop acc 取得pc高...