一、將(0~99)的100個連續十進制數,依次存入首地址為2000H的RAM區的存儲單元中去。
MOV DPTR, #2000H
MOV A, #0
MOV R1, #100
LOOP:
MOVX @DPTR, A
INC A
INC DPTR
DJNZ R1, LOOP
SJMP $
二、定時/計數器進行初始化編程。
MOV TMOD, #01010001B
MOV TH1, #(65536-10000)/256
MOV TL1, #(65536-10000)%256
MOV TH0, #(65536-50000)/256
MOV TL0, #(65536-50000)%256
SETB TR1
SETB TR0
SETB ET1
SETB ET0
SETB EA
SETB PT1
CLR PT0
SJMP $
⑵ 51單片機編程練習題 請使用C語言回答
#include<reg51.h>
sbit pluse=P1^0;
void t0isr() interrupt 1
{
TH1=(65536-10000)/256;
TL1=(65536-10000)%256;
pluse=~pluse;
}
main()
{
TMOD=0x10;
TH1=(65536-10000)/256;
TL1=(65536-10000)%256;
TR1=1;
ET1=1;
EA=1;
while(1);
}
⑶ 單片機的編程題目
#include
#include
//右移函數需要此頭文件intrins.h
大小寫不限
sbit
t=p3^3
//p3^3是指你單片機實際連接的方式,你根據實際情況改一下
main()
{
int
i=0;
int
a;
while(1)
{
while(t==0);
//若脈沖一直為低電平,程序停在此處,
//每當高電平來臨,跳出此句話,執行下面的語句
i++;
if(i==1000)
{
a<<1;
i=0;
}
}
}
/*推薦郭天祥的《十天學會單片機》視頻教程,
共13集,5.13g大,很清晰。我大二的時候連數電和模電都沒學,也能看懂這個。學了之後就對單片機很了解了。但要買塊單片機來學那個教程。
該教程可在迅雷下載到,我原來是在淘寶網買的dvd光碟,有些書店裡也有這個教程。
學完之後就會用單片機做東西了!
只要你學過c語言,就很容易學會單片機!
*/
⑷ 編寫完整C語言程序 單片機考試題目
50元。50元。
⑸ 兩道單片機編程題目,用匯編語言
第一題:
ASC:
PUSH ACC
ANL A,#0FH
ADD A,#30H
MOV R2,A
POP ACC
ANL A,#0F0H
SWAP A
ADD A,#30H
MOV R3,A
RET
第二題:
BCDZH:
MOV R0,#20H
MOV R1,#30H
MOV R2,#16
LOOP:
MOV A,@R0
MOV B,A
INC R0
MOV A,@R0
SWAP A
ORL A,B
MOV @R1,A
INC R0
INC R1
DJNZ R2,LOOP
RET
⑹ 三道單片機編程題目
編寫航行標燈控製程序,系統晶振頻率單位為6MHz,要求航標燈在白天熄滅,在夜晚斷續點亮,時間間隔2秒,即亮2秒,暗2秒,周期循環進行。
--第一、需要先設計出來時鍾。
--第二、時間不清,白天,還是晚上,這說法不準確。
下圖為某AT89C51應用系統的三位led8段共陽極靜態顯示器的介面電路,
(1)該靜態顯示器電路與動態掃描的的顯示器電路相比有哪些優缺點?
--看書吧。
(2)寫出顯示字元「x」,「y」,「z」的段碼,
注意,段碼的最低位為「a」段,段碼的最高位為「dp」段
--y:91H。
--x、z:無法顯示。
已知8255A的PA口,PB口,和PC口的地址分別為FF7CH,FF7DH,FF7EH,
且這三個埠均已被編寫完畢的初始化程序初始化為方式0輸出,
請編寫出使三位LED共陽極顯示器從左至右顯示3.85的程序段。
--那一位顯示器安裝在左邊?
--這題目,也太含糊了。
--假設左邊是PA口,右邊是PC口。
MOV DPTR, #0FF7CH
MOV A, #30H ;3. 的段碼
MOVX @DPTR, A
INC DPTR
MOV A, #80H ;8 的段碼
MOVX @DPTR, A
INC DPTR
MOV A, #92H ;5 的段碼
MOVX @DPTR, A
END
⑺ 51單片機編程題目
#include <absacc.h>
#include <reg51.h>
void main(void)
{
unsigned char i;
unsigned int X=0x2000,Y=0x3000;
for(i=0;i<0x80,i++)
{
XBYTE[Y]=XBYTE[X];
X++;Y++;
}
while(1);
}
⑻ 求單片機編程代碼題目如下
#include<reg51.h>
#defineucharunsignedchar
uchartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
sbitstakey=P3^0;
sbitstaled=P3^7;
voiddelay()
{
uchari,j;
for(i=0;i<200;i++)
for(j=0;j<250;j++);
}
main()
{
uchari,key;
staled=1;
while(1)
{
while(1)
{
if(stakey==0)break;//等待主持人按下開始
}
i=0;
P0=table[i];
staled=0;
while(1)
{
key=P2;
if(key!=0xff)break;
}
staled=1;
switch(~key)
{
case0x01:i=1;break;
case0x02:i=2;break;
case0x04:i=3;break;
case0x08:i=4;break;
case0x10:i=5;break;
case0x20:i=6;break;
case0x40:i=7;break;
case0x80:i=8;break;
default:break;
}
P0=table[i];//顯示按下搶答器的號
P1=key;//顯示按下鍵號的LED
}
}
⑼ 單片機簡單的編程題目!!!!!急
循環5次即可。
MOV R0, #20H ;加數1地址、和的地址
MOV R1, #25H ;加數2地址
CLR C
MOV R2, #5 ;循環5次
A_LOOP:
MOV A, @R0 ;取
ADDC A, @R1 ;加
DA A ;調整為BCD碼
MOV @R0, A ;存
INC R0
INC R1
DJNZ R2, A_LOOP
RET
⑽ 單片機編程題目
這要是用C語言寫,沒多大問題,分鍾都能幫你,但是用匯編……真要人老命啊!話說大學那會老師也是用匯編語言教學,真是誤人子弟加坑爹。單片機那麼簡單有趣的東西,在keil C平台下如此簡單,這幫大爺就這么不顧實際的教,坑了多少學生。幫不了你,畢業多年,想起當年的興趣,發泄下,祝順利……