单片机复习 部分答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简答题:

略……(主要看第2、3章,5、6章次之)

编程题

1.编写程序,查找在内部RAM的40H~60H单元中是否有0FFH这一数据。若有,则将B 寄存器置01H;若未找到,则B寄存器清00H。

MOV R0,#40H

MOV R7,#21H

LOOP:MOV A,@R0

CJNE A,#0FFH,NEQ

MOV B,#01H

SJMP $

NEQ:INC R0

DJNZ R7,LOOP

MOV B,#0H

SJMP $

2. 在片外RAM起始地址为2100H,长度为64的数表中找出ASCII码“F”(“F”的ASCII 值为46H)的个数,并将其值送到1000H单元中。

MOV R3,#0

MOV DPTR,#2100H

MOV R7,#64

LOOP:MOVX A,@DPTR

CJNE A,#46H,NEQ

INC R3

NEQ:INC DPTR

DJNZ R7,LOOP

MOV DPTR,#1000H

MOV A,R3

MOVX @DPTR,A

3.在外部RAM首地址为2000H的数据表中存有10个字节数据,请编程将每个字节的内容取反并存回原处。

MOV DPTR,#2000H

MOV R7,#10

LOOP:MOVX A,@DPTR

CPL A

MOVX @DPTR,A

INC DPTR

DJNZ R7,LOOP

SJMP $

4.设在片内RAM 40H开始的存储区有若干个字符和数字,已知最后一个为字符“$“(并且只有一个,其ASCII码为24H,)试统计这些字符数字的个数,结果存入30H单元中。MOV R6,#0

MOV R0,#40H

LOOP:CJNE @R0,#24H,NEQ

MOV 30H,R6 ;未统计$

SJMP $

NEQ:INC R6

INC R0

SJMP LOOP

5.试编一程序,分别统计在内部RAM的30H~50H单元的数据区中奇数和偶数的个数,并将奇数和偶数的个数分别存放在51H和52H单元中。

MOV R0,#30H

MOV R7,#21H

MOV51H,#0

MOV 52H.#0

LOOP:MOV A,@R0

JB ACC.0,JI

INC 52H ;偶数,执行以下部分

SJMP KK

JI:INC 51H ;奇数,执行以下部分

KK:INC R0

DJNZ R7,LOOP

SJMP $

6.用汇编语言编写程序,求1+2+3+……+20之和,并存于60H。

7.多重循环结构延时子程序的编制——例如延时1ms、30ms、200ms、1s(假如fosc=12MHz)DL1MS:MOV R7,#250 ;延时1ms

LOOP:NOP

NOP

DJNZ R7,LOOP

RET

DL200MS:MOV R6,#200 ;延时200ms DL2:MOV R7,#249

DL1:NOP

NOP

DJNZ R7,DL1

DJNZ R6,DL2

RET DL1S:MOV R5,#5 ;延时1s DL3:MOV R6,#200

DL2:MOV R7,#249

DL1:NOP

NOP

DJNZ R7,DL1

DJNZ R6,DL2

DJNZ R5,DL3

RET

8.MCS-51单片机片内RAM 70H~7FH中各存有一个无符号数,请用汇编语言编程找出其中的最大数,并将其存入外部RAM 0100H单元。

9.试编程采用T1定时器控制P1.0引脚输出周期为100ms、占空比为50%的连续方波信号。fosc=6MHz。

查询法:

MOV TMOD,#00010000B

MOV TH1,# ;定时50ms初值(65536-x)*2us=50 000

MOV TL1,#

MOV IE,#0

SETB TR1

LOOP:JNB TF1,$

CLR TF1

MOV TH1,# ;定时50ms初值(65536-x)*2us=50 000

MOV TL1,#

CPL 1.0

SJMP LOOP

中断法:

ORG 0000H

LJMP MAIN

ORG 001BH

MOV TH1,# ;定时50ms初值(65536-x)*2us=50 000

MOV TL1,#

CPL 1.0

RETI

MAIN: MOV TMOD,#00010000B

MOV TH1,# ;定时50ms初值(65536-x)*2us=50 000

MOV TL1,#

MOV IE,#88H

SETB TR1

SJMP $

10.设MCS-51单片机系统时钟频率为12MHz,应用定时/计数器T0编制在P1.7引脚上产生周期为1秒,占空比为50%的连续方波信号的程序。

最后添加:课本前6章占考试内容90%,同学复习时,先把课本讲过的内容好好看两遍,熟悉了课本内容,再做一些题目,如有问题电话联系,谢绝短信。作业和实验报告,课程考试前后交来。望同学认真复习,考出好成绩,欢欢喜喜过大年!

相关文档
最新文档