1樓:匿名使用者
org 000h
ajmp start
org 001bh
ajmp timel ;定時器1中斷服務org 0030h
start:mov ie,#10000100b 開啟總中斷和外部1中斷(貌似有錯誤)
mov sp,#60h ;棧頂為60hmov p1,#0ffh
mov r0,#00000011b ;r0=03hmov r1,#14h ;r1=20anl tmod,#0fh ;tmod低位四位保持不變orl tmod,#10h ;tmod高四位設定為定時器1工作模式1
mov th1,#3ch ;初值為65536-50000mov tl1,#0b0h
orl ie,#88h ;開啟總中斷和定時器1中斷setb tr1 ;啟動定時器1
loop:cjne r1,#00h,disp ;r1不等於0轉disp
mov r1,#14h ;1秒到後重賦值r1mov a,r0
add a,#03h
mov r0,a ;r0=r0+3
disp:mov p1,r0 ;p1=r0ajmp loop ;轉到loop繼續迴圈timel:clr tr1 ;定時中斷,作為1s計時。
dec r1
mov th1,#3ch
mov tl1,#0b0h
setb tr1
retiend
微控制器程式解釋說明
2樓:夢幻故園
org ooh //程式開始。
start:jb ,lig //如果等於0,跳轉到lig
clr //賦值,sjmp start //跳轉到startlig: setb //置一, start //跳轉到startend //結束。
整個程式的作用就是:判斷的狀態。如果,則;如果,則p1=0。
3樓:匿名使用者
這個是串列埠資料傳輸嗎。
微控制器程式說明解釋
4樓:網友
org 0 //開始位置位址,0x00 start: mov r2,#8 //將8寫入r2暫存器 mov a,#0feh //將0xfe寫入a setb c //進製標誌位c(cy)置1 loop: mov p1,a //將a裡面的數值送到p1口 lcall delay //長跳轉,跳到delay rlc a //a數值左移一位,最高位移進c,c移到a最低位 djnz r2,loop //r2減一,判斷不等於0,跳轉到loop mov r2,#8 //將8寫入r2暫存器 loop1:
mov p1,a //將a裡面的數值送到p1口 lcall delay //長跳轉,跳到delay rrc a //a數值右移一位,最高低位移進c,c移到a最高位 djnz r2,loop1 //r2減一,判斷不等於0,跳轉到loop1 ljmp start //跳轉到start delay: mov r5,#20 ;/delay 函式,延時作用 d1: mov r6,#20 d2:
mov r7,#248 djnz r7,$ djnz r6,d2 djnz r5,d1 ret //返回到斷點 end//結束指令。
微控制器程式說明解釋(最好能詳細到每一步,學渣求教)
5樓:匿名使用者
彙編\彙編\都是彙編。
微控制器c語言程式解讀,,求解釋。。
6樓:網友
include
#include
是標頭檔案。#define uchar unsigned char#define uint unsigned int是巨集定義。
uchar code dsy_code=
;這是數碼管的顯示不同數的**。
uchar code table_of_digits[8]=,要顯示的數。
void dsy_show() interrupt 1設定動態掃瞄間隔時間和要顯示 的數。
其中th0 = 8191-4000)/32;
tl0 = 8191-4000)%32; 是設定動態掃瞄間隔時間p3 = crol_(p3,1);
p0 = dsy_code[table_of_digits[i][j]];
j = j+1)%8;
if(++t!=350) return;
t = 0;
i = i+1)%2;
是要動態顯示的數及選通控制。
void main()
其中tmod = 0x00;
th0 = 8191-4000)/32;
tl0 = 8191-4000)%32;
ie = 0x82;
tr0 = 1;
是確定定時器的工作模式及初始化定時器。
7樓:匿名使用者
#include""是什麼意思就是指把這個檔案包含進來。
這個標頭檔案主要是包含了有關52微控制器的幾條彙編語句的c語言呼叫介面,是直接編譯成對應的彙編語句的。比如_nop_()函式就代表組合語言中的nop,在c語言程式設計時編寫精確的短延時時使用_nop_()函式。
8樓:揭駿年
數碼管滾動顯示數字。
乙個微控制器程式流程圖講解
9樓:軍俐寶云亭
程式思路是:
如果key1按下那麼scale加1
如果scale=1,當key2按下時最大值加;當key3按下時最大值減。
如果scale=2,當key2按下時最小值加;當key3按下時最小值減。
如果scale=3,那麼復位scale=0,程式結束。
如果key1未按且key2按下和key3同時按下,那麼z1加1(有些看不清),如果key2釋放,這繼續加,否則結束。
如果所有鍵都未按,這結束。
微控制器LED,微控制器中程式中,LED LED是什麼意思?
雖然你這樣的電路仍然可以實現這些功能,但不值得推薦,你了解一下動態掃瞄吧,如果能掌握動態掃瞄就很簡單了,因為按你這個樣子,如果顯示5位數的話,那微控制器io口豈不是都不夠用了啊,你只要把數碼管的段顯示部分 2個數碼管的左邊七個引腳 都接在p2口就行,也就是再多的數碼管都接在乙個 8位 口上,例如 p...
微控制器大神請進,51微控制器彙編程式,程式可發至
1 p1口做輸出口,編寫程式,使p1口接的8個發光二極體l1 l8按16進位制加一方式點亮發光二極體。程式如下 org 0540h ha1s mov a,00h a初值為0 ha1s1 jb p3.3,ha1s1 如果p3.3為1則等待 有脈衝變0一次 mov r2,20h r2賦值為20 lcal...
微控制器的程式儲存器疑問,微控制器程式儲存器的問題
早期的微控制器mcs 8051,片內不帶程式儲存器,需要擴充套件程式儲存器,一般是紫外線可擦除的,有個玻璃窗口 供紫外線照射擦除的,稱為eprom,晶元可重複擦除和寫入.eprom內資料的寫入要用專用的程式設計器,並且往晶元中寫內容時必須要加一定的程式設計電壓 vpp 12 24v,隨不同的晶元型號...