disp() , 通常是做為顯示用的函式, 用來輸出(呈現)一個結果或是輸出過程的一段程序碼.
在C語言中, 函式用來包裝一小段程序, 藉由包裝, 將程序結構化, 利於重復叫用及理解.
單片機中, 通常使用disp()輸出一個結果到顯示屏或是數碼管. 也有可能是 顯示過程的控製程序, 例如多位數碼管的掃描式顯示之控制過程.
❷ 單片機編程中for( ;t;t--)是什麼意思
for 為循環控制語句
格式為 for (表達式1;表達式2;表達式3)
{ 語句 }
一般的是 for (t=100;t>0;t--)//循環一小段時間。或是t=100,t>0,循環執行100次,當t=0時,退出該循環。
❸ 51單片機編程題,要求每條語句寫出注釋。求解答。
單片機P2口分別接8個發光二極體的陰極,陽極已經接+5V電源,試編寫8燈閃爍的程序(閃爍時間間隔500ms)。
程序如下
#include <reg51.h>
//延時10ms子程序
void Delay10ms(unsigned int c)
{
unsigned char a, b;
for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}
void main()
{
while(1)
{
P2=0x00;//P2口8個燈全亮
Delay10ms(50);//延時500ms
P2=0xff;//P2口8個燈全滅
Delay10ms(50);//延時500ms
}
}
模擬圖
❹ XRL單片機匯編語句啥意思
為解決某些特定的問題代碼中必須嵌入匯編語言以代替C語言完成的單片機的編程,匯編語言對於程序調試是不可或缺的。它包括:算術操作類指令,布爾變數操作類指令,邏輯操作數指令,控制轉移類指令。
邏輯異或指令,即相對應的二進制位不同該位異或後的結果是1,相同則為0。
XRL A,#data;累加器A中的容容和立即數執行邏輯異或操作。結果存放在累加器A中,如A中的內容為10010101B,data為10110110B,則運算的結果為00100011。
(4)單片機編程語句釋義擴展閱讀:
對於程序調試匯編語言更是不可或缺。
直接使用匯編指令編寫單片機程序,對硬體的控制更加直接,可以直接操作物理地址,寄存器,埠等;其它更高級的語言(如:C語言)對硬體的控制是依賴於類庫來實現的。並且,對於一些對程序大小和運行速度有非常嚴苛要求的項目而言,都必須使用匯編指令。
C語言只是為了方便編寫,與機器打交道的其實都是2進製得代碼,匯編語言就是這些代碼好記憶的名稱和規則,只是比C語言難理解些。
❺ 請問單片機c語言編程里的nop()含義是什麼
1、c語言中沒有_nop_()函數,該函數是在51單片機中用的延時函數,延時一個指令周期。
2、例如用6mhz的晶振,則如下for循環大約延時1秒。
int
i;
for(i=0;
i<6000000;
i++)
_nop_();
//
延時一個指令周期,相當於執行一條無意義的語言
❻ 幫忙解釋一下單片機編程中的 每一個指令的意思和控制過程、急用、謝謝
mov tmod, #61h;將61h這個數賦給tmod寄存器,具體什麼模式你把它拆成16進制數對著寄存器看吧,好吧,剛幫你查了下,是:僅由TR0,TR1置位分別啟動定時器T0、T1,T0為計數功能,T1為定時功能。T1是自動重裝8位計數器,T0是16位計數器。
mov dptr, #15536 ;令dptr(記得是數據指針)的值為15536
mov tl0,dpl ;讓dptr的低8位的值給定時器t0的低8位
mov th0, dph ;把dptr的高8位的值給定時器t0的高8位
mov tl1, #236 ;讓t1的值為236
setb tr0;開啟t0
setb tr1;開啟t1
loop: jnb tf0,$; 表示測試tf0的值,如果不為1(為0)則程序繼續執行本條指令($表示當前位置),如果為1則順序執行下一條指令。 這里就是說當定時器T0溢出時進入下面的指令
clr tf0 ;清零tf0並進入下面的程序
mov dptr, #15536 ;與上面的意思一樣
mov tl0, dpl
mov th0, dph
clr p3.5 ;使3.5口為0
setb p3.5 ;使3.5口為1
jnb tf1 ,loop ;還是檢測,這次檢測tf1位的值,如果不為1則繼續本指令
clr tf1;令tf1為0,即低電平
大概就記得這些了 給你個參考吧
❼ 單片機程序語句解釋:下面每條語句是什麼意思啊,大概說說讓我可以理解這段程序。
已知程序執行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序執行後:
POP DPH ;DPH出棧,SP=SP-1
POP DPL ;DPL出棧,SP=SP-1
MOV DPTR,#4000H ;(DPTR)= 4000H
RL A ;(A)循環左移1位,(A)= 04H
MOV B,A ;(B)= 04H
MOVC A,@A+DPTR ;(A)= @04H+4000H=30H
PUSH Acc ;A入棧,SP=SP+1
MOV A,B ;(A)= 04H
INC A ;(A)= 05H
MOVC A,@A+DPTR ;(A)= @04H+4000H=50H
PUSH Acc ;A入棧,SP=SP+1
RET ;主程序返回
ORG 4000H ;定義地址開始處
DB 10H,80H,30H,50H,30H,50H;定義6位元組數據
請問:A=( 50H ),SP=( 52H ),(51H)=( 30H ),(52H)=( 50H ),PC=(5030H )。