1樓:秦玉明
org 0000h
jmp main
org 0030h
main:mov a,#0feh ;賦初始值。
loop:mov r0,#07h ;移動次數。
loopl:
mov p1,a
rl a ;左移。
call delay
djnz r0,loopl
mov r0,#07h ;移動次數。
loopr:
mov p1,a
rr a ;右移。
call delay
djnz r0,loopr
jmp loop
delay:
mov r6,#0ffh
del:mov r7,#0ffh
djnz r7,$
djnz r6,delret
end#include
#include
#define uchar unsigned char#define uint unsigned intuchar scan_num;
延時函式。void delay(uint ms)
uchar k;
while(ms--)
for(k = 0; k < 120; k++)主函式。
void main(void)
uchar i;
p1 = 0xff;
while(1)
scan_num = 0xfe;
for(i=0;i<7;i++)
p1 = scan_num;
scan_num = scan_num<<1)|0x01;
delay(200);
for(i=0;i<7;i++)
p1 = scan_num;
scan_num = scan_num>>1)|0x80;
delay(200);
c語言和組合語言在開發微控制器時各有哪些優缺點?
2樓:匿名使用者
c語言和組合語言在開發微控制器時各有哪些優缺點?下面就由福州卓躍教育具體介紹。
組合語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是佔用資源少、程式執行效率高。但是不同的cpu,其組合語言可能有所差異,所以不易移植。
如果對微控制器c語言有興趣,c語言是一種結構化的高階語言。其優點是可讀性好,移植容易,是普遍使用的一種計算機語言。缺點是佔用資源較多,執行效率沒有彙編高。
組合語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是佔用資源少、程式執行效率高。但是不同的cpu,其組合語言可能有所差異,所以不易移植。
而c語言是一種編譯型程式設計語言,它兼顧了多種高階語言的特點,並具備組合語言的功能。c語言有功能豐富的庫函式、運算速度快、編譯效率高、有良好的可移植性,而且可以直接實現對系統硬體的控制。c語言是一種結構化程式設計語言,它支援當前程式設計中廣泛採用的由頂向下結構化程式設計技術。
此外,c語言程式具有完善的模組程式結構,從而為軟體開發中採用模組化程式設計方法提供了有力的保障。因此,使用c語言進行程式設計已成為軟體開發的乙個主流。用c語言來編寫目標系統軟體,會大大縮短開發週期,且明顯地增加軟體的可讀性,便於改進和擴充,從而研製出規模更大、效能更完備的系統。
綜上所述,用微控制器c語言程式設計是微控制器開發與應用的必然趨勢。所以作為乙個技術全面並涉足較大規模的軟體系統開發的微控制器開發人員最好能夠掌握基本的c語言程式設計。
3樓:匿名使用者
c語言編寫簡單,但是編譯後較大。彙編可以很小,但是做複雜任務時,程式設計任務較困難。最好視任務的特性選擇語言。
在微控制器組合語言中c是什麼意思,微控制器組合語言中 CY AC OV 分別是什麼意思?
進位標誌位cy或布林處理器中的累加器。c為進借位標誌位bai,就是ducy 意思是兩數相加zhi addc指令 有進位就置c為1,兩數減dao subb指令 有借內位就置c為1,上面兩種請況c的置容1是系統自動的。另外還可以自己對c進行操作 指令如下 mov c,bit 將bit位地址中的值送psw...
微控制器C語言與組合語言各自的優劣比較
c語言具有很強的功能性和結構性,可以縮短微控制器控制系統的開發週期,而且易於除錯和維護,已經成為目前微控制器語言中最流行的程式語言。要是現在學的話就學c,但彙編是在以後的使用過程中必須明白的 用慣了彙編的人,總覺得高階語言 可控性 不好,不如彙編那樣隨心所欲,但基本可以通過c語言的各種技巧來消除缺點...
微控制器組合語言的程式設計問題
首先教你如何理解jnb和jb,jnb就是jump not bit,這樣不好理解,解釋一下就明白了 jump表示跳轉,not表示0,bit表示該位。它實際是條件判斷語句,意思是 如果該為為0則跳轉,否則繼續下一條。例 jnb p1.1,mark 如果p1.1位為零則跳轉到mark標誌指向的指令,否則繼...