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,再加上低半字节)设待转换的ascii是几位二进制编码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      ;小于10LOOP
      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    AB      ;恢复A
        ANL    A#0FH    ;取低四位
        MOVC  A@A+DPTR ;查ASCII
        MOV    RESULT+1A
        RET
START MOV    SP#40H
        MOV    A#12H
        CALL  BINTOHEX
        LJMP  $
        END

一、选择题。

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 BALE C/RD D/WR
5.    ORG 000BH
    LJMP 3000H
    ORG  0003H
    LJMP 2000H
CPU响应外部中断0后,PC的值是( B
A0003H B2000H C000BH D3000H
6.MCS51有中断源( A )
A5个 (B2个  C3个  D6
7MCS-51上电复位后,SP的内容是:(B
A00H    B07H    C60H      D30H
8.能够用紫外光擦除ROM中程序的只读存储器称为(  C  )
A.掩膜ROM    B.PROM    C.EPROM    D.EEPROM
9.定时器/计数器工作方式1(  C  )
  A.8位计数器结构      B.28位计数器结构
  C.13位计数结构      D.16位计数结构
10.MCS-51单片机的位寻址区位于内部RAM(  D  )单元。
  A. 00H—7FH  B. 20H—7FH  C. 00H—1FH    D. 20H—2FH

二、填空题。

1微处理器有 运算器   控制器 和若干寄存器组成。
2MCS-51中凡是字节地址能够被 8 整除的SFR均能位寻址。
3.计算机的系统总线有地址总线 控制总线  数据总线
4MCS-51个中断源,有  2  个中断优先级,优先级由软件填写特殊功能寄存器  IP  加以选择.
5.微机与外设间交换信息方式有程序控制方式(无条件传送方式 查询传送方式 )、中断传送方式 直接数据通道传送DMA 
6.当使用慢速外设时,最佳的传输方式是  
7MCS-51单片机中,内部RAM4组工作寄存器,它们由PWS特殊功能寄存器中的  RS0RS1  位来选择用哪一组。
88031的异步通信口为 全双工  (单工/半双工/全双工)
9、如果(A)=34H(R7)=0ABH,执行XCH    A, R7;结果(A)= 0ABH 
(R7)= 34H
10.访问片外程序存储器MOVC指令采用的是 变址 寻址方式。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。