1樓:
程式應該是沒有問題的,估計是你在輸入字元的時候輸入成全形了,有的編譯器會出錯,把 mov r7,#0x0a 改為:mov r7,#10 就可以了,估計是編譯器不識別或者出錯吧!
org 0000h
ajmp main
main:
mov r5,#0h
loop:call disp
call delay
ajmp loop
;disp:mov dptr,#tablemov a,r5
movc a,@a+dptr
mov p0,a
dec r5
cjne r5,#-1,dell
mov r5 ,#9
dell: ret
delay: mov r7,#10
ll1: mov r6,#-1
djnz r6,$
djnz r7,ll1
rettable: db 3fh,06h,5bh,4fh,66hdb 6dh,7dh,07h,7fh,6fh;;;;;
2樓:匿名使用者
r5為零,再減為255,要一直減到9時數碼管上才應該顯示,讓後繼續減到1,開始迴圈,這個延時時間太短了,看不清效果,幫你改了一下程式
org 0000h
ajmp main
org 0030h
main: mov r5,#09h
loop: call disp
call delay
ajmp loop
disp: mov dptr,#tablemov a,r5
movc a,@a+dptr
mov p0,a
dec r5
cjne r5,#1,dell
mov r5 ,#9
dell: ret
delay: mov r2,#100;延時1.002sd2: mov r6,#20
d1: mov r7,#248
djnz r7,$
djnz r6,d1
djnz r2,d2
rettable: db 3fh,06h,5bh,4fh,66hdb 6dh,7dh,07h,7fh,6fhend這應該是你要的效果
怎樣讓微控制器程式迴圈
3樓:匿名使用者
void main()
for(i=9;i>=0;i--)
gpio_dig=0xff;}}
主函式是迴圈的,有錯應該是程式別的地方出錯了
微控制器怎樣跳出while(1)無限迴圈
4樓:匿名使用者
首先說while(1)原則上就是讓你無限迴圈!可以加個break;跳出這次迴圈!
while(1) //第一個迴圈!
while(1) //第二個迴圈!
微控制器迴圈左移
5樓:匿名使用者
增加一個全域性變數,將迴圈常數給變數,再對變數做左迴圈,將變數賦值給p0,
uchar a,b, c;
在主迴圈中p0=_crol_(p0,1); //p0的值向左迴圈移動修改為c=_crol_(c,1); //p0的值向左迴圈移動p0=c;
6樓:湯康樂
回答增加一個全域性變數,將迴圈常數給變數,再對變數做左迴圈,將變數賦值給p0,
uchar a,b, c;
在主迴圈中p0=_crol_(p0,1); //p0的值向左迴圈移動修改為c=_crol_(c,1); //p0的值向左迴圈移動p0=c;
12分享1
踩如何使用微控制器 從入門到精通 4個月月薪過萬 直送名企!
根據文中提到的微控制器為您推薦
如何使用微控制器,先學習後付款,0首付學習。如何使用微控制器名師授課,1對1輔導,如何使用微控制器,20萬+學員的共同選擇。
bj.chuangkexueyuan.com.cn廣告微控制器,華清遠見,90天成微控制器行業精英
根據文中提到的微控制器為您推薦
微控制器,先學習後付款,0首付學習。微控制器,20萬+學員的共同選擇。
m.hqyjedu.com廣告
更多15條
7樓:匿名使用者
你的p0原來是00000000,迴圈還是00000000
51微控制器如何在一個工程中同時加入迴圈左移和迴圈右移,
8樓:匿名使用者
這個問題很簡單,因為迴圈左移和迴圈右移並不相互排斥,可以單獨存在,不僅僅在一個工程中,在用一個檔案或者同一個程式段中都是可以的。比如。
#include
#include
void delay(int a)
main()}
9樓:
while(1)
aa=0x7f;
for(i=0;i<8;i++)}
c語言微控制器while迴圈語句
10樓:匿名使用者
把這個while放進另一個迴圈裡就行了撒。例如:
int crl=0;
for(;crl<2;crl++)}
微控制器程式可不可以同時執行兩個迴圈?
11樓:匿名使用者
不可以的,你可以迴圈巢狀,但是不能同時執行兩個迴圈,微控制器在同一時間只能執行一條語句,我看你的意思好像是要兩個迴圈同時工作,這是不可能的,你只能讓程式像近似的兩個迴圈,但不能是嚴格的兩個迴圈
12樓:繃帶達人
兩個迴圈,是肯定不能同時執行的,想想程式指標只有一個,類似的,你可以改為在一個迴圈中來執行,或者加讓出處理器的條件,讓兩個迴圈交替執行
13樓:
如果bai是兩個死迴圈,du那是絕對不可能的!
你要寫的可
zhi是多工的dao程式??一個做前臺,一回個做後臺答??一個比較簡單的方法就是上os,這個比較簡單保險;如果不上os,要自己寫,你可以寫兩個死迴圈,再通過中斷或是其他一些什麼方法將這兩個迴圈連結起來,但是你必須要保證記憶體啊、變數啊、同步啊、io啊、中斷啊等等都不會出現問題,不會死鎖、不會跑飛.....
14樓:流星雨之張翰
只要不是while(1)就可以
微控制器用for迴圈編延時程式時uint i,j for
這是一個for的巢狀語句,你注意到沒有,因為兩個語句之間沒有分號,所以編譯器預設第二個for語句是第一個for語句的內部語句,怎麼理解呢?就是說你第一個for中的 i 減1一次,那第二個for中的語句將會執行110次,那麼這個110從 來呢?其實是根據你所用微控制器的晶振頻率來計算的,在這個程式當中...
微控制器彙編程式,微控制器(組合語言)程式
這個是外部擴充套件的ram,fef0h是存資料的地址,mov dptr 0fef0h是給資料指標賦值,movx dptr,a是間接定址,將a中資料送到外部ram的fef0h中,中斷服務程式後面應該有reti,挺容易的,看看書,這例題允許了中斷,給出了中斷處理程式,自己看書學得較為深刻。ofefoh指...
怎樣讀好微控制器程式
過了c語言二級 我給你的建議 c語言是簡單 微控制器程式設計也用不到多深度的程式設計,問題是你的c語言弄明白了嗎,就是一些簡單的程式。我說得明白是 知道程式的編寫思路,並不是你能否看懂這個程式,否則c語言算是什麼也不是 就是算是知道有英語一樣。對微控制器的內部結構比較瞭解 告訴你,其實核心才是最要的...