二进制,十进制,十六进制,ASCII,BCD码的转换,单片机

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

1.在片内RAM 30H单元有-个8位二进制数,将其转换成压缩BCD码,存于片内RAM 41H(高位)40H(低位)中。

方法:2^8=256,所以8位二进制
A<=256,A/100商是百位数,存放到41h单元,余数再除以10,再得商是10位数,高低位互换,) ORG 0100H
START:
MOV A,30H ;取来8位二进制数
MOV B,#100
DIV AB ;除以100
MOV 41H,A ;商是百位数,存放到41h单元
MOV A,B ;取回余数
MOV B,#10
DIV AB ;再除以10
SWAP A ;商是10位数,高低位互换
ORL A,B
MOV 40H,A ;将十位数与个位位数存入40h
SJMP $
END
2.一个字节(8位)BCD码转换为二进制数(方法:先将高半字节乘以10,再加上低半字节)设待转换的BCD码存放于R2中
DTOB:MOV A,R2
ANL A,#0F0H
SWAP A
MOV B,#0AH
MUL AB
MOV R3,A
MOV A,R2
ANL A,#0FH
ADD A,R3
RET
3.二进制数转换为ASCII码
设(30H)=4BH,将高4位的ASCII码放在31H单元,低4位的ASCII码放在32H单元,程序具有通用性,向入口参数30H存入任何数,都能将其变成相应的ISCII 码.
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:MOV SP,#60H
MOV 30H,#4BH
MOV R2,30H
MOV A,R2
ANL A,#0FH
CJNE A,#0AH,NEQ
NEQ: JC LOOP
ADD A,#37H
JMP LOOP3
LOOP:ADD A,#30H
LOOP3:MOV 31H,A
MOV A,R2
SWAP A
ANL A,#0FH
CJNE A,#0AH,NE1
NE1: JC LOOP1
ADD A,#37H
JMP LOOP4
LOOP1:ADD A,#30H
LOOP4:MOV 32H,A
A1: SJMP A1
END
4.已知R0的低半个字节为一个四位的二进制数,要求将其转换为ASCAII码后送回R0中。

二进制数与ASCII码的对应关系:
四位二进制 ASCII
0000 (0) 30H
0001 (1) 31H
1001 (9) 39H 1010 (A) 41H
1111 (F) 46H
ORG 1000
BTOASC: PUSH ACC
PUSH PSW
OV A , R0
ANL A , #0FH ;取四位二
进制数
MOV R0 , A 暂存
CLR C
SUBB A , #0AH ;与10比较
MOV A , R0 ;恢复四位二进制数
JC LOOP ;小于10转LOOP
ADD A , #07H ;大于10先加07H
LOOP: ADD A , #30H ;加30H
MOV R0 , A ;存结果
POP PSW
POP ACC
RET
5.一位十六进制数转换成ASCII码
(方法:将十六进制数减10,余数为负数时进位C=1,
判断数值在0—9之间,直接加30H;余数为正数时进
位C=0,判断数值在A—F之间,先加上07H,再直接
加30H)
ORG 0000H
MOV R2,#0CH
MOV A,R2
CLR C
SUBB A,#0AH ;余数为负数时进位C=1,判断数值
在0—9之间;余数为正数时进位C=0,判断数值在A
—F之间
MOV A,R2
JC ADD30
ADD A,#07H
ADD30:ADD A,#30H
MOV R2,A
NOP
END
6.将多位数十六进制数转换成ACAII码(方法:
查表法)设地址指针R0指向十六进制数低字节,R2
存放字节数n,转换后地址指针R0指向十六进制数
高字节,R1指向要存放的ASCII码的高位地址
ORG 0021H
TAB2:DB
01H,03H,04H,06H,09H,0AH,0CH,08H,0EH,02H
MOV R0,#30H
MOV R2,#10
HTASC:MOV A,@R0
ANL A,#0FH
ADD A,#15H
MOVC A,@A+PC
MOV @R1,A
INC R1
MOV A,@R0
SWAP A
ANL A,#0FH
ADD A,#06H
MOVC A,@A+PC
MOV @R1,A
INC R0
INC R1
DJNZ R2 ,HTASC
ASCTAB:DB
30H,31H,32H,33H,34H,35H,36H,37H,38H,39H
DB 41H,42H,43H,44H,45H,46H
7.BCD码换为ACAII码
1.源程序
RESULT EQU 30H ;等值伪指令
ORG 0
LJMP START
ASCIIT:
DB ‘0123456789ABCDEF';定义
数字对应的ASCII表
BINTOHEX:
MOV DPTR,#ASCIIT
MOV B, A ;暂存A
SWAP A
ANL A,#0FH ;取高四位
MOVC A,@A+DPTR ;查ASCII表
MOV RESULT, A
MOV A,B ;恢复A
ANL A,#0FH ;取低四位
MOVC A,@A+DPTR ;查ASCII表
MOV RESULT+1,A
RET
START: MOV SP,#40H
MOV A,#12H
CALL BINTOHEX
LJMP $
END
取出BCD码高四位
查表得到A SCII码
保存高位A SCII码
取出BCD码低四位
查表得到A SCII码
保存低位A SCII码
给出要转换数BCD码
结束
1
一、选择题。

1. 十进制0.625转换成二进制数是( A )
A 0.101
B 0.111
C 0.110
D 0.100
2.控制串行口工作方式的寄存器是( C )
(A) TCON (B) PCON (C) SCON (D)TMOD
3.MCS-51的中断允许触发器内容为83H,CPU将响应的中断请求是( B )
(A) T1, (B)T0,T1 (C)T1,串行接口(D) T0
4.执行MOVX A,@DPTR指令时,MCS-51产生的控制信号是(C)
(A)/PSEN (B)ALE (C)/RD (D)/WR
5. ORG 000BH
LJMP 3000H
ORG 0003H
LJMP 2000H
当CPU响应外部中断0后,PC的值是( B )(A)0003H (B)2000H (C)000BH (D)3000H
6.MCS-51有中断源( A )
(A)5个(B)2个(C)3个(D)6个
7.MCS-51上电复位后,SP的内容是:(B)
(A)00H (B)07H (C)60H (D)30H
8.能够用紫外光擦除ROM中程序的只读存储器称为( C )。

A.掩膜ROM
B.PROM
C.EPROM
D.EEPROM
9.定时器/计数器工作方式1是( C )。

A.8位计数器结构
B.2个8位计数器结构
C.13位计数结构
D.16位计数结构
10.MCS-51单片机的位寻址区位于内部RAM的( D )单元。

A. 00H—7FH
B. 20H—7FH
C. 00H—1FH
D. 20H—2FH
二、填空题。

1.微处理器有运算器、控制器和若干寄存器组成。

2.MCS-51中凡是字节地址能够被 8 整除的SFR均能位寻址。

3.计算机的系统总线有地址总线、控制总线和数据总线。

4.MCS-51有 5 个中断源,有 2 个中断优先级,优先级由软件填写特殊功能寄存器IP 加以选择.
5.微机与外设间交换信息方式有程序控制方式(无条件传送方式和查询传送方式)、中断传送方式、直接数据通道传送DMA 。

6.当使用慢速外设时,最佳的传输方式是中断
7.MCS-51单片机中,内部RAM有4组工作寄存器,它们由PWS特殊功能寄存器中的 RS0、RS1 位来选择用哪一组。

8、8031的异步通信口为全双工(单工/半双工/全双工)
9、如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= 0ABH ,(R7)= 34H 。

10.访问片外程序存储器MOVC指令采用的是变址寻址方式。

三、判断题。

1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称(√)
2.要进行多机通信,MCS-51串行接口的工作方式应为方式1。

(×)
3.MCS-51外部中断0的入口地址是0003H。

(√)
4.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。

(×)5.PC存放的是当前执行的指令。

(×)是将要执行的下一条指令的地址。

6.MCS-51外扩I/O口与外RAM是统一编址的。

(√)。

7.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。

(×)80H~FFH。

8.MCS-51的相对转移指令最大负跳距是128B。

(√)
9.调用子程序指令(如:CALL)及返回指令(如:RET)与堆栈有关但与PC无关。

(×)子序的转返与PC也有关(PC入栈与出栈)
10.MCS-51的程序存储器只是用来存放程序的。

(×)存放程序和表格常数
四、简答题。

1、什么是单片机?简述单片机的应用领域。

答:单片微型计算机简称单片机,它是把微型计算机的各个功能部件:中央处理器CPU、随机存储器RAM、只读存储器ROM、定时/计数器及I/O接口电路等集成在一块芯片上,构成一个完整的微型计算机。

应用领域:(1)单片机在智能仪器仪表中的应用;(2)单片机在工业控制中的应用;(3)单片机在计算机网络与通信技术中的应用;(4)单片机在日常生活及家电中的应用。

2、什么叫中断?中断有什么特点?
答:(1)“中断”是指计算机在执行某段程序的过程中,由于计算机系统内、外的某种原因,当出现CPU以外的某种情况时,由服务对象向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再返回继续执行原来被中断的程序。

(2)特点:分时操作;实时处理;故障处理。

3. MCS-51指令系统主要有哪几种寻址方式?试举例说明。

答:MCS-51指令操作数主要有以下7种寻址方式:
寻址方式举例
立即寻址 MOV A,#16
直接寻址 MOV 20H,P1 寄存器寻址 MOV A,R0
寄存器间接寻址 MOVX A, @DPTR
变址寻址 MOVC A, @A+DPRT
相对寻址 SJMP LOOP
位寻址 ANL C,70H
4.设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH 单元)的内容如何?
MOV R0,#30H ;R0=30H
MOV A,@R0 ;A=5AH
MOV R1,A ;R1=5AH
MOV B,R1 ;B=5AH
MOV @R1,P1 ;(5AH)=7FH
MOV A,P1 ;A=7FH
MOV 40H,#20H ;(40H)=20H
MOV 30H,40H ;(30H)=20H
解:每一条指令执行后的结果如注释字段所标。

最后结果为:R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH,(30H)=20H,(40H)=20H,(5AH)=7FH。

五、编程题。

1.编写程序,查找在内部RAM的20H~50H单元中出现00H的次数,并将查找的结果存入51H单元。

(5分)
解:MOV R2,#31H
MOV R0,#20H
MOV 51H,#00H
LOOP: MOV A,@R0
ANL A,#0FFH
JNZ L1
INC 51H
L1: INC R0
DJNZ R2,LOOP
RET
2. 片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.
解 START: MOV R0,#40H ;数据块首地址送R0
MOV R7,#09H ;比较次数送R7
MOV A,@R0 ;取数送A
LOOP: INC R0
MOV 30H,@R0 ;取数送30H
CJNE A,30H,NEHT ;(A)与(30H)相比
NEXT: JNC BIE1 (A)≥(30H)转BIR1
MOV A,30H ;(A)<(30H),大数送A BIE1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较MOV 50H,A ;比较结束,大数送50H
RET
2。

相关文档
最新文档