微控制器程式解讀 20,微控制器程式解釋

2023-01-22 22:55:04 字數 2927 閱讀 8939

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,隨不同的晶元型號...