51单片机复习题参考程序.docx

上传人:b****5 文档编号:8837021 上传时间:2023-05-15 格式:DOCX 页数:21 大小:20.06KB
下载 相关 举报
51单片机复习题参考程序.docx_第1页
第1页 / 共21页
51单片机复习题参考程序.docx_第2页
第2页 / 共21页
51单片机复习题参考程序.docx_第3页
第3页 / 共21页
51单片机复习题参考程序.docx_第4页
第4页 / 共21页
51单片机复习题参考程序.docx_第5页
第5页 / 共21页
51单片机复习题参考程序.docx_第6页
第6页 / 共21页
51单片机复习题参考程序.docx_第7页
第7页 / 共21页
51单片机复习题参考程序.docx_第8页
第8页 / 共21页
51单片机复习题参考程序.docx_第9页
第9页 / 共21页
51单片机复习题参考程序.docx_第10页
第10页 / 共21页
51单片机复习题参考程序.docx_第11页
第11页 / 共21页
51单片机复习题参考程序.docx_第12页
第12页 / 共21页
51单片机复习题参考程序.docx_第13页
第13页 / 共21页
51单片机复习题参考程序.docx_第14页
第14页 / 共21页
51单片机复习题参考程序.docx_第15页
第15页 / 共21页
51单片机复习题参考程序.docx_第16页
第16页 / 共21页
51单片机复习题参考程序.docx_第17页
第17页 / 共21页
51单片机复习题参考程序.docx_第18页
第18页 / 共21页
51单片机复习题参考程序.docx_第19页
第19页 / 共21页
51单片机复习题参考程序.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

51单片机复习题参考程序.docx

《51单片机复习题参考程序.docx》由会员分享,可在线阅读,更多相关《51单片机复习题参考程序.docx(21页珍藏版)》请在冰点文库上搜索。

51单片机复习题参考程序.docx

51单片机复习题参考程序

1、略。

2、IN6接模拟量,Y4接地址线,写出启动0809进行A/D转换及读入数据的指令。

MOVA,#6

MOVDPTR,#0C000H

MOVX@DPTR,A

MOVXA,@DPTR

3、欲将8255PA、PB口设为输入(方式0),PC口设为输出,写出相关指令。

MOVDPTR,#0FF2BH

MOVA,#92H

MOVX@DPTR,A

4、已知0809参考电压为5V,输入的模拟电压为3.5V,经A/D转换后,对应的数字量是多少?

B3H

5、已知00H~FFH对应的0832输出模拟量是-5V~+5V,若要输出2.5V,写出相应指令。

(0片选端接Y4)。

MOVDPTR,#0C000H

MOVA,#0C0H

MOVX@DPTR,A

6、用定时/计数器1延时277.1ms,写出其初始化程序。

MOVTMOD,#10H

MOVTH1,#0C9H

MOVTL1,#0E1H

MOVR0,#10

SETBEA

SETBET1

SETBTR1

7、编写出软件延时7ms的延时子程序(6mhz晶振)

DELAY:

MOVR6,#7

DELAY1:

MOVR7,#250

DJNZR7,$

DJNZR6,DELAY1

RET

8、a、计算下列延时子程序的延时时间。

DELAY:

MOVR0,#01256

DEL:

NOP1

NOP1

DJNZR0,DEL2

RET1

a(1+256*4+2)*2MS=2.05US

b、试编写270ms的延时子程序。

bDELAY:

MOVR5,#27

DELAY1:

MOVR6,#10

DELAY2:

MOVR7,#250

DJNZR7,$

DJNZR6,DELAY2

DJNZR5,DELAY1

RET

9、欲在数码管上显示“-5”,写出相应程序指令。

ORG0000H

AJMPSTART

ORG0030H

START:

MOV10H,#5

MOV11H,#16

LOOP:

MOVR0,#10H

MOVR1,#1

MOVR2,#2

ACALLDISP

AJMPLOOP

DISP:

MOVDPTR,#DISPC

MOVA,@R0

MOVCA,@A+DPTR

MOVDPTR,#0FF22H

MOVX@DPTR,A

MOVDPTR,#0FF21H

MOVA,R1

MOVX@DPTR,A

RLA

MOVR1,A

MOVR7,#2

ACALLDELAY

INCR0

DJNZR2,DISP

RET

DELAY:

MOVR6,#249

DJNZR6,$

DJNZR7,DELAY

RET

DISPC:

DB0C0H,0F9H,0A4H,0B0H

DB99H,92H,82H,0F8H

DB80H,90H,88H,83H

DB0C6H,0A1H,86H,8EH,0BFH

END

(完)

10.每0.331s读一次开关,当开关K=0时在数码管上显示片外7003H单元的数据,K=1时显示片内10H单元的数据。

用定时器定时。

ORG0000H

AJMPSTART

ORG001BH

AJMPIN_T1

ORG0030H

START:

MOVTMOD,#10H

MOVTH1,#0BFH

MOVTL1,#5AH

MOVR3,#10

SETBET1

SETBEA

SETBTR1

LOOP:

MOVR0,#20H

MOVR1,#1

MOVR2,#2

ACALLDISP

AJMPLOOP

IN_T1:

PUSHDPH

PUSHDPL

PUSHACC

MOVTH1,#0BFH

MOVTL1,#5AH

DJNZR3,LAST

MOVR3,#10

JBP1.0,FISH

MOVDPTR,#7001H

MOVXA,@DPTR

AJMPNEXT

FISH:

MOVA,10H

NEXT:

MOVB,A

ANLA,#0FH

MOV20H,A

MOVA,B

SWAPA

ANLA,#0FH

MOV21H,A

LAST:

POPACC

POPDPL

POPDPH

RETI

DISP:

MOVDPTR,#DISPC

MOVA,@R0

MOVCA,@A+DPTR

MOVDPTR,#0FF22H

MOVX@DPTR,A

MOVDPTR,#0FF21H

MOVA,R1

MOVX@DPTR,A

RLA

MOVR1,A

MOVR7,#2

ACALLDELAY

INCR0

DJNZR2,DISP

RET

DELAY:

MOVR6,#249

DJNZR6,$

DJNZR7,DELAY

RET

DISPC:

DB0C0H,0F9H,0A4H,0B0H

DB99H,92H,82H,0F8H

DB80H,90H,88H,83H

DB0C6H,0A1H,86H,8EH

END

(完)

11在数码管上显示片内10H、11H、12H这三个单元中最大的。

ORG0000H

AJMPSTART

ORG0030H

START:

MOVSCON,#00H

MOVA,10H

SUBBA,11H

JCBIG

MOVR1,10H

AJMPBIGER

BIG:

MOVR1,11H

BIGER:

MOVA,R1

SUBBA,12H

JCFISH

MOVA,R1

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVSBUF,A

MOVR5,#5

DJNZR5,$

AJMPEXIT

FISH:

MOVA,12H

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVSBUF,A

MOVR5,#5

DJNZR5,$

EXIT:

AJMP$

TAB:

DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H

DB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH

END

(完)

12每147ms检测一次片内30H、31H单元中的数,将这两个单元中较大的值在数码管上显示出来(定时器定时)。

ORG0000H

AJMPSTART

ORG001BH

AJMPIN_T1

ORG0030H

START:

MOVSCON,#00;

MOVTMOD,#10H

MOVTH1,#0E3H

MOVTL1,#4AH

MOVR0,#10

SETBET1

SETBEA

SETBTR1

AJMP$

INT_1:

PUSHACC

MOVTH1,#0E3H

MOVTL1,#4AH

DJNZR0,EXIT

MOVR0,#10

CLRC

MOVDPTR,#TAB

MOVA,30H

SUBBA,31H

JCLOOP

MOVA,30H

AJMPFISH

LOOP:

MOVA,31H

FISH:

MOVB,A

ANLA,#0FH

MOVCA,@A+DPTR

MOVSBUF,A

MOVR1,#5

DJNZR1,$

EXIT:

POPACC

RETI

CDATE:

DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H

DB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH

END

(完)

13、在数码管上按下列规律循环显示H,A,2,B,3,C,L每个字符显示770.3mS,用定时器定时。

ORG0000H

AJMPSTART

ORG001BH

AJMPINT_1

ORG0030H

START:

MOVTMOD,#10H

MOVTH1,#69H

MOVTL1,#8DH

MOVR0,#10

MOVR1,#0

SETBET1

SETBEA

SETBTR1

AJMP$

INT_1:

PUSHACC

MOVTH1,#69H

MOVTL1,#8DH

DJNZR0,EXIT

MOVR0,#10

MOVDPTR,#TAB

MOVA,R1

MOVCA,@A+DPTR

MOVSBUF,A

MOVR2,#5

DJNZR2,$

MOVSBUF,#00H

INCR0

CJNER0,#7,EXIT

MOVR0,#0

EXIT:

POPACC

RETI

TAB:

DB6EH,0EEH,0DAH,3EH,0F2H,9CH,1CH

END

(完)

14、8255PC口接8个开关,每0.3秒读一次开关状态,并将其显示在数码管上。

(用定时器定时)

ORG0000H

AJMPSTART

ORG000BH

AJMPIN_T0

ORG0030H

START:

MOVDPTR,#0FF2BH

MOVA,#89H

MOVX@DPTR,A

MOVTMOD,#01H

MOVTH0,#9EH

MOVTL0,#58H

MOVR1,#6

MOVSCON,#0

SETBTR0

SETBET0

SETBEA

SJMP$

IN_T0:

MOVTH0,#9EH

MOVTL0,#58H

DJNZR1,EXIT

MOVR1,#6

MOVDPTR,#0FF2AH

MOVXA,@DPTR

MOVB,#10H

DIVAB拆字也可用ANL指令屏蔽高低四位

MOV10H,B

MOV11H,A

MOVDPTR,#TAB

MOVA,10H

MOVCA,@A+DPTR

MOVSBUF,A

MOVR2,#5

DJNZR2,$

MOVA,10H

MOVCA,@A+DPTR

MOVSBUF,A

EXIT:

RETI

TAB:

DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H

DB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH

END

15、测T5端7ms的脉冲数,并将其显示在数码管上(4位)。

ORG0000H

AJMPSTART

ORG001BH

AJMPIN_T1

ORG0030H

START:

MOVTMOD,#15H

MOVTH1,#0F2H

MOVTL1,#54H

MOVTL0,#0

SETBET1

SETBEA

SETBTR1

SETBTR0

LOOP:

MOVR0,#10H

MOVR1,#1

MOVR2,#4

ACALLDISP

AJMPLOOP

IN_T1:

PUSHACC

PUSHB

MOVTH1,#0F2H

MOVTL1,#54H

MOVA,TL0

MOVB,#10H

DIVAB

MOV10H,B

MOV11H,A

MOVA,TH0

MOVB,#10H

DIVAB

MOV12H,B

MOV13H,A同样,拆字也可用ANL指令屏蔽高低四位,但指令较多

MOVTL0,#0

MOVTH0,#0

POPB

POPACC

RETI

DISP:

MOVDPTR,#DISPC

MOVA,@R0

MOVCA,@A+DPTR

MOVDPTR,#0FF22H

MOVX@DPTR,A

MOVDPTR,#AAA

MOVA,R1

MOVCA,@A+DPTR

MOVDPTR,#0FF21H

MOVX@DPTR,A

MOVR7,#2

ACALLDELAY

INCR0

INCR1

DJNZR2,DISP

RET

DELAY:

MOVR6,#100

DJNZR6,$

DJNZR7,DELAY

RET

DISPC:

DB0C0H,0F9H,0A4H,0B0H

DB99H,92H,82H,0F8H

DB80H,90H,88H,83H

DB0C6H,0A1H,86H,8EH

END

16、P1.0接K1,试编程实现将按键次数显示在数码管上

见实验作业四程序不变(不过这个K1有点不解

17、试编程使开关K为0时使8个发光二极管按规律1循环发光;开关为1时按规律2循环发光,每个状态显示880ms(定时器定时)。

1、L1--L2--L3--L4--L5--L6--L7--L8

P1.7P1.0

2、L1L8—L2L7—L3L6—L4L5

ORG0000H

AJMPSTART

ORG000BH

AJMPIN_T0

ORG0030H

START:

MOVTMOD,#01H

MOVTH0,#54H

MOVTL0,#20H

MOVR0,#10

MOVR1,#0

MOVR2,#0

SETBET0

CJNER1,#8,EXIT

MOVR1,#0

AJMPEXIT

LOOP1:

MOVDPTR,#TABL2

MOVA,R2

MOVCA,@A+DPTR

MOVP1,A

INCR2

SETBEA

SETBTR0

AJMP$

IN_T0:

MOVTH0,#54H

MOVTL0,#20H

DJNZR0,EXIT

MOVR0,#10

JBP3.3,LOOP1

LOOP2:

MOVDPTR,#TABL1

MOVA,R1

MOVCA,@A+DPTR

MOVP1,A

INCR1

CJNER2,#4,EXIT

MOVR2,#0

EXIT:

RETI

TABL1:

DB80H,40H,20H,10H,08H,04H,02H,01H

TABL2:

DB81H,42H,24H,18H

END

18、8255PC口接4个开关和4个LED发光二极管,试编程实现每0.5秒读一次开关值,并将开关状态显示到发光二极管LED上,用定时器定时。

ORG0000H

AJMPSTART

ORG000BH

AJMPIN_T0

ORG0030H

START:

MOVDPTR,#0FF2BH

MOVA,#88H

MOVX@DPTR,A

MOVTMOD,#01H

MOVTH0,#9EH

MOVTL0,#58H

MOVR1,#10

MOVSCON,#0

SETBTR0

SETBET0

SETBEA

AJMP$

IN_T0:

MOVTL0,#58H

MOVTH0,#9EH

DJNZR1,EXIT

MOVR1,#10

MOVDPTR,#0FF2AH

MOVXA,@DPTR

SWAPA

MOVX@DPTR,A

EXIT;RETI

END

19、P1.7~P1.4接开关,每0.5秒读一次开关,并将开关值显示在数码管上。

ORG0000H

AJMPSTART

ORG000BH

AJMPIN_T0

ORG0030H

START:

MOVTMOD,#01H

MOVTH0,#9EH

MOVTL0,#58H

MOVR1,#10

MOVSCON,#0

SETBTR0

SETBET0

SETBEA

AJMP$

IN_T0:

MOVTL0,#58H

MOVTH0,#9EH

DJNZR1,EXIT

MOVR1,#10

MOVA,P1

MOVB,#10H

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

CLRTI

MOVSBUF,A

JNBTI,$

MOVSBUF,#0

EXIT:

RETI

TAB:

DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H

DB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH

END

20、用定时器定时,设计一个10秒倒计时器,数码管从“10”、“09”、。

显示到“00”为止。

ORG0000H

AJMPSTART

ORG000BH

AJMPIN_T0

ORG0030H

START:

MOVTMOD,#01H

MOVTH0,#3CH

MOVTL0,#0B0H

MOVR0,#10

MOVR1,#9

MOVSCON,#0

MOVDPTR,#TAB

MOVA,#0

MOVCA,@A+DPTR

CLRTI

MOVSBUF,A

JNBTI,$

MOVA,#1

MOVCA,@A+DPTR

MOVSBUF,A

SETBTR0

SETBET0

SETBEA

AJMP$

INT_T0:

MOVTL0,#3CH

MOVTH0,#0B0H

DJNZR,EXIT

MOVR0,#10

MOVA,R1

MOVB,#10H

DIVAB

MOV10H,B

MOV11H,A

MOVDPTR,#CDATA

MOVA,10H

MOVCA,@A+DPTR

CLRTI

MOVSBUF,A

JNBTI,$

MOVA,11H

MOVCA,@A+DPTR

MOVSBUF,A

DECR1

CJNER1,#0FFH,EXIT

CLREA

EXIT:

RETI

TAB:

DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H

DB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH

END

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2