導航:首頁 > 編程語言 > 單片機語言編程題

單片機語言編程題

發布時間:2022-08-07 02:55:58

1. 單片機C語言程序設計題

這是兩個題啊。哈哈好做,第一個有C語言的冒泡法排序,第二個用中斷,讀,輸出就可以

2. 兩道單片機編程題目,用匯編語言

第一題:

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

3. 《單片機C語言程序設計》編程練習題,求助

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit kai=P3^5;
sbit an=P3^3;
sbit beep=P3^2;
sbit wela1=P1^7;
sbit wela2=P1^6;
void delay(uint z);
void display();
uchar code table[]={0xc0,0xf9,0xa4};
uchar a;
uint dier;
void main()
{
EX1=1;
IT1=1;
a=0xfe;
EA=1;
kai=0;
while(1)
{
dier=1;
display();
a=_crol_(a,1);
P0=a;
delay(100);
if(a==0xfe)
// beep=0;
if(a!=0xfe)
beep=1;

}
}
void delay(uint z)
{
uintx,y;
for(x=110;x>0;x--)
for(y=z;y>0;y--);
}
void display()
{
P0=0xff;
wela1=0;
P0=0x8c;
delay(1);
wela1=1;
delay(1);

P0=0xff;
wela2=0;
P0=table[dier];
delay(1);
wela2=1;
delay(1);

}

void wbzd1() interrupt 2
{
uintk;
EX1=0;
for(k=0;k<100;k++)
{
dier=2;
display();
a=_cror_(a,1);
P0=a;
delay(100);
if(a==0x7f)
// beep=0;
if(a!=0x7f)
beep=1;
}
EX1=1;

}

4. 單片機編程題,請給出正確的編程語言,謝謝

ORG 0000H
AJMP START
ORG 000BH
AJMP INT0
START: MOV TMOD,#10H
SETB EA
SETB ET0
MOV TH0,#B1H
MOV TL0,#E0H ;40MS延時初始值
MOV R0,#01H ;R0用來標志中斷里定時器應該賦誰(高低電平)的初值的值
SETB P1.7 ;起始輸出高電平
SETB TR0
HERE: SJPM HERE ;等待中斷
INT0: MOV A,R0
JNZ GAO
SETB P1.7
MOV TH0,#0B1H
MOV TL0,#0E0H
SETB TR0
INC R0
SJMP NEXT
GAO: CLR P1.7
MOV TH0,#0B9H
MOV TL0,#B0H ;36MS延時初值
SETB TR0
INC R0
CJNE R0,#11,NEXT ;十次36MS延時之後清R0
CLR R0
NEXT: RETI
自己看看對不對吧
用兩個定時器的話(一個定時高電平一個定時周期或者一個定時高電平一個定時低電平),可以省掉R0的,程序會比較簡單

5. mcs 51 單片機匯編語言編程題

TEMP EQU 50H ;臨時變數
SGM_H EQU 51H ;求和的高8位,以及平均值
SGM_L EQU 52H ;求和的低8位,以及平均值的余數

ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
LCALL MM ;排序子程序
LCALL AVG ;平均值子程序
SJMP $

MM:
MOV R0,#40H
LP_1:
MOV A,R0
MOV R1,A
MOV TEMP,@R0
LP_2:
INC R1
MOV A,@R1
CJNE A,TEMP,NEXT1
NEXT1:
JNC NEXT2
MOV @R0,A
MOV @R1,TEMP
MOV TEMP,@R0
NEXT2:
CJNE R1,#4FH,LP_2
INC R0
CJNE R0,#4FH,LP_1
RET

AVG:
MOV R0,#41H
MOV A,@R0
MOV SGM_H,#00H
LP_3:
CLR C
INC R0
ADD A,@R0
JNC NEXT3
INC SGM_H
NEXT3:
CJNE R0,#4EH,LP_3
MOV SGM_L,A

;以上部分是求和
SWAP A
ANL A,#0FH
MOV R1,A
MOV A,SGM_H
SWAP A
ADD A,R1
MOV B,#14D
DIV AB
SWAP A
MOV SGM_H,A
MOV A,B
SWAP A
MOV R1,A
MOV A,SGM_L
ANL A,#0FH
ADD A,R1
MOV B,#14D
DIV AB
ADD A,SGM_H
MOV SGM_H,A
MOV SGM_L,B
;以上部分是16位除以8位的除法
RET

解題思路是先排序,得到最大值與最小值,然後求平均值。
以上供參考。

6. 單片機復習題(C語言)

一. 填空題
1. MCS-51單片機是____8____位機,其最大程序容量可達___64_____K位元組,有_____4___個並行口和____32____條I/O管腳。
2. MCS-51單片機正常工作所必須的外部硬體電路是___電源_____、___時鍾_____、__復位______。
3. MCS-51單片機復位電平是___高_____電平,正常工作時復位端為__低______電平,復位後並所有行口的輸出為____高____電平。
4. MCS-51單片機內部結構中,四個基本功能單元分別是___CPU_____、__RAM______、____ROM____、___定時器計數器I/O口_____;三個擴展功能單元分別是____?____、___?____、___?_____。
5. MCS-51單片機內部RAM四個分區分別是__00H到1FH(R0-R7)可位定址____、____ _ 20H-2FH___、_30H-7FH__ _____、__80H-FFH______。
6. MCS-51單片機___P0_____口沒有內部上拉電阻;並行口作為輸入口使用時必須保證該埠場效應管__開漏______,即向該埠寫___0xff_____,此時該埠的輸出鎖存器Q端為___1(高電平)_____。
7. MCS-51單片機計數器工作在方式1和方式2的最大計數值分別是_____65536______、___256________。
8. MCS-51單片機若單片機的主時鍾振盪頻率為6MHz,定時器工作在方式1和方式2的最大定時時間分別是_____自己算!!______ms、___不懂看書!!________us。基本指令周期是___0.5-2_______us。
9. MCS-51單片機的五個中斷源分別是___INT0______、__T0_______、_____INT1_____、___T1______、___UART_______。
10. 編寫程序常用的三種程序結構是 __順序結構_______、__循環結構_______、___選擇結構_______。
11. C語言語法中,數據類型unsigned char 定義的是____8_____位無符號數;數據類型unsigned int定義的是___16______位無符號數。對8位和16位有符號數,定義數據類型關鍵詞為___signed char______、____short_____。
12. 單片機上電後是從主函數void main()的___0x0000H______位置運行。
13. 單片機C語言編程時必須有的固定結構的語句是#include <reg51.h>、void main()以及____while_____。
14. keil 集成開發軟體的三個主要功能是___編譯______、__調試_______、___模擬______。
15. 十進制數100對應的十六進制數是____64_____、二進制數是___01100100______。

二. 讀程序題
默認有關變數x、y、z、a、b、c、i均為unsigned int (8為無符號數)(這個是不是打錯了)請寫出局部程序運行後的結果,用十進製表示。
1. x = ___6___, y = ___3___, z = __11____ , a = ___5___, b = ___15___, c = ___252___。
x = 50/8; y = 100%12; z = 240+26;
a = z>>1; b = x | z; c = ~y;
2. x = _183_____, y = __10____, z = __11____ , a = __10____, b = __10____, c = ___10___。
x = 0xa5 ^ 0x12; y = 5*2; z = y++
a = --z; b = a & y; c = (a+z)/2;
3. x = ___6___, y = __12____, i = ___3___。
x=0;y=0;
for (i=1;i<=3;i++){
x = x+i;
y = y + i*2;
}
4. x = __20____, y = ___10___, z = ___81___ , a = __8____, b = ____9__,
c = __48____, i = ___8___。
a=0;
if (!a){
x=20; y=x<<2; z=y++;
}else{
x=10; y=x<<2; z=y++;
}
i=2<<2; y=10;
if (i>3 && y){
a=y & 0x0c;
b=++i;
c=x^y;
}
隨便做的,有些東東忘了!不懂的自己回去看看書去。

7. 求解一道單片機C語言編程題,急

#include"AT89X52.h"

sbit BUTTON = P1^1;
sbite LED = P1^0;
unsigned int reg;
void main(void)
{
while(1)
{
if (!BUTTON)
{
reg= 5000;
while(--reg);
if (!BUTTON)
{
LED = ~LED;
while(!BUTTON);
}
}
}
}

8. 單片機C語言編程問題

蜂鳴器以400ms頻率發聲,以200ms頻率發聲。。。
----
這是不可能的。
頻率單位,是 Hz,不是 ms。

任何人,都作不到《以400ms頻率發聲》。

出題人,基本概念,他都不清楚。
這樣的題目,就別琢磨了。
----------------
如果說,400ms 是周期,還像回事。

但是,這時的頻率,是 2.5Hz,人,是聽不見的。
----------------
如果樓主,自己規定幾個合理的頻率,
編寫一個程序,還不難。

http://..com/question/465662388.html
http://..com/question/135695899.html

可以參考。

9. 【51單片機匯編語言編程題】片內RAM區30H~3FH單元中存16個8位無符號數,將它們對5求余,

CLR A
MOV 40H,A
MOV 41H,A
MOV 42H,A
MOV 43H,A
MOV 44H,A
MOV R0,#30H
LOOP:
MOV A,@R0
MOV B,#5
DIV AB
XCH A,B
ADD A,#40H
MOV R1,A
INC @R1
INC R0
CJNE R0,#40H,LOOP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

END

10. 單片機C語言設計編程題

#include 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); }

閱讀全文

與單片機語言編程題相關的資料

熱點內容
現代鋼琴教程pdf 瀏覽:23
客戶端框架源碼 瀏覽:206
python自動辦公能幹嘛 瀏覽:873
程序員追愛 瀏覽:252
程序員邏輯故事 瀏覽:768
加密icsot23i2c 瀏覽:713
你們有什麼好的解壓軟體 瀏覽:607
常州空氣壓縮機廠家 瀏覽:241
安卓如何關閉app內彈出的更新提示 瀏覽:409
e4a寫的app怎麼裝蘋果手機 瀏覽:201
海立壓縮機海信系 瀏覽:210
社保如何在app上合並 瀏覽:220
小米加密照片後綴 瀏覽:236
我的世界網易手機怎麼創伺服器 瀏覽:978
載入單頁源碼 瀏覽:930
阿里雲伺服器seo 瀏覽:777
海洋斗什麼時候上線安卓 瀏覽:86
中行app如何查每日匯款限額 瀏覽:840
輸入伺服器sn是什麼意思 瀏覽:725
sha1演算法java 瀏覽:90