单片机典型例题

合集下载

单片机考试题及答案

单片机考试题及答案

单片机考试题及答案一、选择题(每题2分,共20分)1. 单片机中,用于存储程序的存储器是()。

A. ROMB. RAMC. EPROMD. EEPROM答案:A2. 8051单片机的定时器/计数器中,定时器0和定时器1的计数器都是()位的。

A. 8B. 16C. 12D. 14答案:A3. 单片机中,中断服务程序的入口地址是()。

A. 由用户定义B. 由硬件自动生成C. 由中断向量表决定D. 由程序计数器决定答案:C4. 8051单片机的外部中断0的中断向量地址是()。

A. 0003HB. 000BHC. 0013HD. 001BH答案:B5. 在8051单片机中,串行通信的波特率由()决定。

A. 定时器B. 计数器C. 外部晶振频率D. 内部时钟频率答案:A6. 单片机中,用于存储数据的存储器是()。

A. ROMB. RAMC. EPROMD. EEPROM答案:B7. 8051单片机的定时器/计数器中,定时器2的计数器是()位的。

A. 8B. 16C. 12D. 14答案:B8. 单片机中,用于存储常数的存储器是()。

A. ROMB. RAMC. EPROMD. EEPROM答案:A9. 8051单片机的外部中断1的中断向量地址是()。

A. 0003HB. 0013HC. 001BHD. 0023H答案:C10. 在8051单片机中,串行通信的停止位通常设置为()位。

A. 1B. 2C. 3D. 4答案:A二、填空题(每空1分,共20分)1. 8051单片机的内部时钟频率为12MHz时,机器周期为______μs。

答案:12. 单片机中,用于存储程序的存储器是______存储器。

答案:只读3. 8051单片机的定时器/计数器中,定时器0和定时器1的计数器都是______位的。

答案:84. 单片机中,用于存储数据的存储器是______存储器。

答案:随机访问5. 8051单片机的外部中断0的中断向量地址是______H。

单片机c51考试题目及答案

单片机c51考试题目及答案

单片机c51考试题目及答案单片机C51考试题目及答案1. 单片机C51的内部结构中,哪些部件是必不可少的?答案:必不可少的部件包括中央处理单元(CPU)、存储器(包括程序存储器和数据存储器)、输入/输出端口、定时器/计数器、中断系统和串行通信接口。

2. 简述单片机C51的中断系统是如何工作的?答案:单片机C51的中断系统允许外部或内部事件打断CPU的当前操作,以便快速响应。

中断源可以是外部中断或定时器/计数器溢出等内部中断。

当中断请求被CPU识别后,它会保存当前程序状态,跳转到相应的中断服务程序执行,完成后返回到中断前的状态继续执行。

3. 在C51单片机中,如何设置一个定时器?答案:设置C51单片机的定时器需要配置定时器控制寄存器(TMOD),设置定时器的工作模式(如模式0、模式1、模式2或模式3),并设置定时器初值(THx和TLx寄存器),然后启动定时器(TRx 置位)。

4. 描述C51单片机的串行通信接口(UART)的基本功能。

答案:C51单片机的串行通信接口(UART)允许单片机通过串行通信与外部设备进行数据交换。

它支持全双工通信,可以同时发送和接收数据。

UART通过设置波特率、工作模式和帧格式来配置通信参数。

5. C51单片机的I/O端口如何实现对外部设备的控制?答案:C51单片机的I/O端口通过对端口寄存器的读写操作来控制外部设备。

通过设置端口寄存器的特定位,可以控制连接到该端口的外部设备,如LED灯、继电器等。

端口的输入状态也可以通过读取端口寄存器来获取。

6. 简述C51单片机的看门狗定时器(WDT)的作用。

答案:C51单片机的看门狗定时器(WDT)用于检测程序运行中的死锁情况。

当程序运行异常,长时间没有重置WDT时,WDT会溢出并复位单片机,从而避免系统长时间处于错误状态。

7. 在C51单片机中,如何实现对外部中断的响应?答案:在C51单片机中,实现对外部中断的响应需要配置外部中断控制寄存器(IE)和外部中断标志寄存器(IP),并编写相应的中断服务程序。

单片机 11道编程例题及答案

单片机  11道编程例题及答案

1.把长度为10H的字符串从内部RAM的输入缓冲区inbuf向位物外部RAM的输出缓冲区outbuf传送,一直进行到遇见回车或整个字符串传送完毕。

试编程实现。

ORG 0030H MOV R0,#inbuf MOV R1,#outbuf MOV R4,#10HLOOP:MOV A,@R0 ; 从内部RAM取数 CJNE A,#0DH,LL ;是否为回车符CRSJMP STOP ;是转停止传送 LL: MOVX @R1,A ;不是则传送到外部RAMINC R0 INC R1 DJNZ R4,LL;沒传送完则循环 STOP: SJMP $2、内部RAM从list单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。

编程实现在表中找出最小数。

(3AH存放在运行程序时的最小的数)ORG 0030HMOV R0,#listMOV A,@R0 ;取第一个正数LOOP: INC R0 ;指向下一个正数MOV 3AH,@R0CJNE A,3AH,CHK ;前一个数与后一个数比较CHK: JC LOOP1 ;前一个数小,则转MOV A,@R0 ;前一个数大,取后一个数LOOP1: XCH A,3AHCJNE A,#0FFH,LOOPXCH A,3AH ;取最小数MOV 3BH,A SJMP $3.内部RAM的X,Y 单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入Z单元中。

若X为正奇数,Z =X+Y;若X为正偶数,Z =X∨Y;若X为负奇数,Z =X∧Y;若X为负偶数,Z =X⊕Y。

分析:负数:第7位为1,正数:第7位为0 奇数:第0位为1,偶数:第0位为0 ORG 0000H MOV A,20H CLR C RL A JC FS ;移到负数处处理RR A RR A ;第0位移到C 再判定一下是不是1 JC ZJS ;到正奇数处MOV A,20H ORL A,21H MOV 22H,A SJMP OKZJS: MOV A,20H ADD A,21H MOV 22H,A SJMP OKFS: MOV A,20H CLR C RR A JC FJS ;第0位是1,移到正奇数处理MOV A,20H XRL A,21H MOV 22H,A SJMP OKFJS: MOV A,20H ANL A,21H MOV 22H,A OK: END4、把一个8位二进制数的各位用ASCII码表示之(亦即为“0”的位用30H表示,为“1”的位用31H表示)。

单片机考试题目及答案

单片机考试题目及答案

单片机考试题目及答案一、选择题(每题2分,共10分)1. 单片机的CPU主要由哪几个部分组成?A. 运算器和控制器B. 存储器和输入输出设备C. 运算器、控制器和存储器D. 运算器、控制器和输入输出设备答案:A2. 下列哪项不是单片机的存储器?A. ROMB. RAMC. EPROMD. CD-ROM答案:D3. 8051单片机的定时器/计数器有几个?A. 1个B. 2个C. 3个D. 4个答案:B4. 8051单片机的中断系统有几个中断源?A. 5个B. 6个C. 7个D. 8个答案:C5. 8051单片机的外部中断有几个?A. 1个B. 2个C. 3个D. 4个答案:B二、填空题(每空1分,共10分)1. 单片机的全称是_________。

答案:微控制器单元2. 8051单片机的内部RAM共有_________字节。

答案:1283. 8051单片机的外部中断有_________和_________两个。

答案:INT0,INT14. 8051单片机的定时器/计数器可以工作在_________、_________和_________三种模式。

答案:模式0,模式1,模式25. 8051单片机的串行通信可以工作在_________和_________两种方式。

答案:同步,异步三、简答题(每题10分,共20分)1. 简述单片机的工作原理。

答案:单片机的工作原理基于程序存储和程序执行。

程序存储在单片机的ROM中,CPU按照程序存储器中的指令序列执行操作。

CPU从程序存储器中取出指令,解码后执行相应的操作,如数据处理、控制输入输出等。

执行完毕后,CPU再取出下一条指令,如此循环,直至程序结束或遇到中断。

2. 描述8051单片机的中断响应过程。

答案:当8051单片机的中断请求信号被激活时,CPU首先完成当前的机器周期,然后检查中断允许寄存器,确定是否有允许的中断请求。

如果有,CPU将当前程序计数器的值压入堆栈,然后根据中断向量表跳转到相应的中断服务程序。

单片机考试题目和答案

单片机考试题目和答案

单片机考试题目和答案一、单项选择题(每题2分,共20分)1. 单片机的英文缩写是()。

A. CPUB. PCC. PLCD. MCU答案:D2. 8051单片机的振荡器频率为12MHz,机器周期为()。

A. 1μsB. 0.5μsC. 0.1μsD. 2μs答案:B3. 8051单片机的外部中断有()个。

A. 2B. 3C. 4D. 5答案:A4. 8051单片机的定时器/计数器有()个。

A. 1B. 2C. 3D. 4答案:B5. 8051单片机的堆栈指针SP的初值是()。

A. 0x00B. 0x07C. 0x7FD. 0xFF答案:C6. 8051单片机的程序存储器和数据存储器的地址范围分别是()。

A. 0000H~FFFFH,0000H~07FHB. 0000H~0FFFH,0000H~07FHC. 0000H~FFFFH,0000H~0FFFHD. 0000H~07FH,0000H~FFFFH答案:B7. 8051单片机的P1口作为输入口使用时,需要()。

A. 外部上拉电阻B. 内部上拉电阻C. 外部下拉电阻D. 内部下拉电阻答案:A8. 8051单片机的P0口作为输入口使用时,需要()。

A. 外部上拉电阻B. 内部上拉电阻C. 外部下拉电阻D. 内部下拉电阻答案:A9. 8051单片机的定时器/计数器工作在方式1时,定时器/计数器的计数初值为()。

A. 0x00B. 0x01C. 0xFFD. 0x80答案:D10. 8051单片机的串行通信的波特率可变,其波特率的计算公式为()。

A. 波特率 = 12MHz / 定时器初值B. 波特率 = 12MHz / (定时器初值 × 32)C. 波特率 = 12MHz / (定时器初值 × 64)D. 波特率 = 12MHz / (定时器初值 × 128)答案:B二、填空题(每题2分,共20分)1. 8051单片机的内部RAM共有______字节。

单片机考试题及答案

单片机考试题及答案

单片机考试题及答案一、选择题(每题2分,共20分)1. 单片机的英文缩写是:A. CPUB. MCUC. ROMD. RAM答案:B2. 下列哪个不是单片机的组成部分?A. 中央处理器B. 存储器C. 输入/输出接口D. 显示器答案:D3. 8051单片机的内部RAM是:A. 128字节B. 256字节C. 512字节D. 1024字节答案:B4. 单片机的程序存储器通常使用的是:A. RAMB. ROMC. EPROMD. EEPROM答案:C5. 单片机的I/O口可以配置为:A. 只读B. 只写C. 推挽输出D. 开漏输出答案:D6. 下列哪个不是单片机的中断源?A. 定时器溢出B. 外部中断C. 串行通信D. 显示器答案:D7. 8051单片机的定时器/计数器的计数范围是:A. 0到255B. 0到511C. 0到1023D. 0到2047答案:A8. 单片机的看门狗定时器的主要作用是:A. 计时B. 计数C. 监视程序运行D. 控制I/O口答案:C9. 下列哪个不是单片机的常用编程语言?A. C语言B. 汇编语言C. Java语言D. C++语言答案:C10. 单片机的I/O口的模式设置通常包括:A. 推挽输出B. 开漏输出C. 上拉输入D. 以上都是答案:D二、填空题(每题2分,共20分)1. 单片机的CPU主要由______、______和______组成。

答案:算术逻辑单元、控制单元、寄存器组2. 单片机的______存储器用于存储程序代码。

答案:程序3. 8051单片机的定时器/计数器有______个。

答案:24. 单片机的中断优先级可以通过______寄存器来设置。

答案:IP5. 单片机的______模式可以减少功耗。

答案:睡眠6. 单片机的______接口允许单片机与外部设备进行数据交换。

答案:I/O7. 单片机的______寄存器用于存储程序计数器的值。

答案:PC8. 单片机的______功能可以防止程序死循环。

单片机课堂例题

单片机课堂例题
D7
D6
D5
D4
D3
D2
D1
D0
GATE
C/T
M1
M0
GATE
C/T
M1
M0
T1控制
TMOD=10H
T0控制
中断方式:
ORG 0000H
LJMP MAIN
ORG 001BH
AJMP LOOP
MAIN: MOV TMOD,#10H
MOV TH1,#0FFH
MOV TL1,#083H
SETB EA
SETB ET1
sbit K3=P1^6;
code uchar
seg7code[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90};
code uchar seg7bit[6]={0x01,0x02,0x04,0x08,0x10,0x20};
main()
{
KEY3接P1.6。KEY0按下个位显示“1”,KEY1按下
十位显示“2”, KEY2按下百位显示“3” KEY3按
下千位显示“4”
C4
C1
C2
30PF
30PF
X1
R14
R15
R16
R17
R18
R19
R20
R21
10k10k10k10k10k10k10k10k
U1
10uF
19
XTAL1
CRYSTAL
VREF--标准电压, DAC0832:-10V~+10V
• 分析:
DELAY: MOV
• 1VDx=51;2VDx=102
R7,#N
上升段:

单片机例题

单片机例题

【例4-1】片内RAM的21H单元存放一个十进制数据十位的ASCII码,22H单元存放该数据个位的ASCII码。

编写程序将该数据转换成压缩BCD码存放在20H单元。

ORG 0040HSTART:MOV A,21H ;取十位ASCII码ANL A,#0FH ;保留低半字节SW AP A ;移至高半字节MOV 20H,A ;存于20H单元MOV A,22H ;取个位ASCII码ANL A,#0FH ;保留低半字节ORL 20H,A ;合并到结果单元SJMP $END【例4-2】设变量x以补码的形式存放在片内RAM的30H单元,变量y与x的关系是:当x大于0时,y=x;当x=0时,y=20H;当x小于0时,y=x+5。

编制程序,根据x的大小求y并送回原单元。

ORG 0040HSTART:MOV A,30H ;取x至累加器JZ NEXT ;x = 0 ,转NEXTANL A,#80H ;否,保留符号位JZ DONE ;x >0 ,转结束MOV A,#05H ;x <0 ,处理Y=X+5ADD A,30HMOV 30H,A ;X+05H送YSJMP DONENEXT:MOV 30H,#20H ;x = 0 ,20H送YDONE:SJMP DONEEND【例4-3】根据R7的内容x(转移序号)转向相应的处理程序。

设R7内容为0~4,对应的处理程序入口地址分别为PP0~PP4。

START:MOV R7,#3 ;以转移序号3为例ACALL JPNUMAJMP STARTJPNUM:MOV DPTR,#TAB ;置分支入口地址表首址MOV A,R7ADD A,R7 ;乘2,调整偏移量MOV R3,AMOVC A,@A+DPTR ;取地址高字节,暂存于R3XCH A,R3INC AMOVC A,@A+DPTR ;取地址低字节MOV DPL,A ;处理程序入口地址低8位送DPLMOV DPH,R3 ;处理程序入口地址高8位送DPHCLR AJMP @A+DPTRTAB:DW PP0DW PP1DW PP2DW PP3DW PP4PP0:MOV 30H,#0 ;转移序号为0时,置功能号“0”于30H单元RETPP1:MOV 30H,#1 ;转移序号为1时,置功能号“1”于30H单元RETPP2:MOV 30H,#2 ;转移序号为2时,置功能号“2”于30H单元RETPP3:MOV 30H,#3 ;转移序号为3时,置功能号“3”于30H单元RETPP4:MOV 30H,#4 ;转移序号为4时,置功能号“4”于30H单元RET【例4-4】将内部RAM的30H至3FH单元初始化为00H。

单片机练习试题答案解析

单片机练习试题答案解析

单片机练习试题答案解析一、选择题1. 以下哪个不是51单片机的特点?答案:D解析:51单片机具有以下特点:低功耗、高性能、价格低廉、易于扩展。

而D选项“不支持中断”是错误的,因为51单片机支持中断功能。

2. 51单片机的定时器/计数器有几个?答案:C解析:51单片机内部有两个定时器/计数器,分别是定时器0和定时器1。

3. 以下哪个引脚是51单片机的晶振输入引脚?答案:B解析:51单片机的晶振输入引脚为19号引脚,即XTAL1。

4. 在51单片机中,哪个寄存器用于控制串行通信?答案:D解析:51单片机中,串行通信控制寄存器为SCON。

二、填空题1. 51单片机的时钟频率与机器周期之间的关系是:机器周期 = 12 / 时钟频率。

解析:51单片机的机器周期是由时钟频率决定的,每个机器周期等于12个时钟周期。

2. 在51单片机中,定时器/计数器的工作方式有:模式0、模式1、模式2、模式3。

解析:51单片机的定时器/计数器共有四种工作模式,分别是模式0(13位计数器)、模式1(16位计数器)、模式2(8位自动重装载计数器)和模式3(两个8位计数器)。

3. 51单片机的串行通信波特率计算公式为:波特率 = 2^SMOD 定时器溢出率 / 32。

解析:51单片机的串行通信波特率与SMOD位、定时器溢出率以及32有关。

当SMOD=1时,波特率加倍。

三、判断题1. 51单片机的定时器/计数器可以同时工作在定时模式和计数模式。

答案:错误解析:51单片机的定时器/计数器在同一时刻只能工作在定时模式或计数模式,不能同时工作。

2. 51单片机的串行通信可以同时进行发送和接收。

答案:正确解析:51单片机的串行通信具有全双工通信功能,可以同时进行发送和接收。

四、简答题1. 简述51单片机的定时器/计数器工作原理。

答案解析:51单片机的定时器/计数器工作原理如下:(1)定时器/计数器由一个加法计数器和一个控制寄存器组成。

(2)定时器/计数器可以工作在定时模式或计数模式。

单片机试题及答案解析

单片机试题及答案解析

单片机试题及答案解析一、单项选择题1. 8051单片机的内部数据存储器的容量是()。

A. 128BB. 256BC. 512BD. 1024B答案:B解析:8051单片机的内部数据存储器容量为256B,其中128B 为可位寻址的RAM,另外128B为特殊功能寄存器。

2. 下列哪个不是8051单片机的定时器()。

A. 定时器0B. 定时器1C. 定时器2D. 定时器3答案:D解析:8051单片机具有两个定时器,分别是定时器0和定时器1,没有定时器3。

3. 8051单片机的外部中断源有几个()。

A. 1个B. 2个C. 3个D. 4个答案:B解析:8051单片机有两个外部中断源,分别是INT0和INT1。

4. 8051单片机的串行通信中,波特率的计算公式为()。

A. 波特率 = 定时器频率 / 32B. 波特率 = 定时器频率 / 64C. 波特率 = 定时器频率 / 128D. 波特率 = 定时器频率 / 256答案:C解析:在8051单片机的串行通信中,波特率的计算公式为波特率 = 定时器频率 / 128。

5. 8051单片机的P0口作为I/O口使用时,需要外接()。

A. 上拉电阻B. 下拉电阻C. 电源D. 地答案:A解析:8051单片机的P0口作为I/O口使用时,由于其内部没有上拉电阻,需要外接上拉电阻。

二、多项选择题1. 8051单片机的下列哪些寄存器是可位寻址的()。

A. 累加器AB. B寄存器C. 数据指针DPTRD. 堆栈指针SP答案:A, B解析:8051单片机中,累加器A和B寄存器是可位寻址的,而数据指针DPTR和堆栈指针SP不是可位寻址的。

2. 8051单片机的下列哪些中断源是可屏蔽的()。

A. 外部中断0B. 外部中断1C. 定时器0中断D. 定时器1中断答案:A, B, C, D解析:8051单片机的所有中断源都是可屏蔽的,包括外部中断0、外部中断1、定时器0中断和定时器1中断。

51单片机试题及答案

51单片机试题及答案

51单片机试题及答案一、选择题(每题2分,共20分)1. 51单片机的内部时钟频率为12MHz时,一个机器周期为多少微秒?A. 1μsB. 2μsC. 4μsD. 6μs答案:B2. 51单片机的I/O口的初始状态是什么?A. 高电平B. 低电平C. 浮动D. 随机答案:C3. 下列哪个寄存器是51单片机的程序计数器?A. PCB. SPC. DPTRD. ACC答案:A4. 51单片机的中断向量表起始地址是多少?A. 0000HB. 0003HC. 0030HD. 0100H答案:A5. 51单片机中,下列哪个指令是无条件跳转指令?A. LJMPB. SJMPC. AJMPD. JMP答案:B6. 51单片机的定时器/计数器的计数器溢出时,会自动重置为多少?A. 0B. 1C. 255D. 256答案:A7. 51单片机的串行通信中,波特率的计算公式是?A. 波特率 = 时钟频率 / 12B. 波特率 = 时钟频率 / 32C. 波特率 = 时钟频率 / 定时器初值D. 波特率 = 定时器初值 / 时钟频率答案:C8. 51单片机的外部中断源有几个?A. 2B. 3C. 4D. 5答案:B9. 51单片机的定时器/计数器的定时器模式和计数器模式有什么区别?A. 定时器模式计数外部事件,计数器模式计数内部时钟脉冲B. 定时器模式计数内部时钟脉冲,计数器模式计数外部事件C. 两者没有区别D. 定时器模式只能计数,计数器模式只能定时答案:B10. 51单片机中,下列哪个指令是将累加器的内容与寄存器R0的内容进行交换?A. MOV A, R0B. XCH A, R0C. SWAP AD. CPL A答案:B二、填空题(每题2分,共20分)1. 51单片机的内部RAM分为______区和______区。

答案:工作寄存器;位寻址2. 51单片机的外部中断INT0和INT1的中断向量地址分别是______和______。

单片机考试题目及答案

单片机考试题目及答案

单片机考试题目及答案一、单项选择题(每题2分,共20分)1. 单片机中,以下哪个寄存器用于存储程序计数器(PC)的值?A. SPB. PCC. DPTRD. SCON答案:B2. 在8051单片机中,下列哪个指令用于将累加器A的内容传送到外部数据存储器?A. MOV A, @R0B. MOVX A, @DPTRC. MOV A, #dataD. MOV A, R0答案:B3. 下列哪个指令是8051单片机的无条件跳转指令?A. SJMPB. CJNEC. DJNZD. JZ答案:A4. 在8051单片机中,以下哪个中断源的中断优先级最高?A. 外部中断0B. 定时器0中断C. 外部中断1D. 串行通讯中断答案:C5. 8051单片机的定时器/计数器工作在方式1时,其计数器的计数范围是多少?A. 0到255B. 0到65535C. 0到32767D. 0到65536答案:C6. 8051单片机中,哪个指令用于将累加器A的内容与立即数进行逻辑“或”操作?A. ORL A, #dataB. ORL A, directC. ORL A, @R0D. ORL direct, #data答案:A器R0的内容进行逻辑“与”操作?A. ANL A, R0B. ANL R0, AC. ANL A, #dataD. ANL direct, A答案:A8. 8051单片机中,哪个指令用于将累加器A的内容与直接地址中的数据进行逻辑“异或”操作?A. XRL A, #dataB. XRL A, directC. XRL direct, AD. XRL A, @R0答案:B器R0的内容进行逻辑“异或”操作?A. XRL A, R0B. XRL R0, AC. XRL A, #dataD. XRL direct, A答案:A10. 8051单片机中,哪个指令用于将累加器A的内容与寄存器R0的内容进行逻辑“与”操作后,结果存回R0?A. ANL A, R0B. ANL R0, AC. ANL A, #dataD. ANL direct, A答案:B二、填空题(每题2分,共20分)1. 8051单片机的内部RAM分为______和______两部分。

单片机模考试题含参考答案

单片机模考试题含参考答案

单片机模考试题含参考答案一、单选题(共107题,每题1分,共107分)1.可编程接口芯片8155,其内部的计数器是 ( ) 计数器。

A、减法B、加法C、可逆D、升序正确答案:A2.下列指令中,对标志位CY有影响的指令是 ( ) 。

A、ADDB、,C、(B)INCD、(C)MOVE、,F、D.ANLG、,正确答案:A3.当T0向51系列单片机的CPU发出中断请求时,若CPU允许并接受中断时,程序计数器PC的内容将被自动修改为 ( ) 。

A、0003B、000BC、0013D、001BH正确答案:B4.MCS-51系列单片机的P0口除做为输入/输出接口使用外,还可以作为 ( ) 使用。

A、低8位地址总线和数据总线B、高8位地址总线C、控制总线D、读写控制线正确答案:A5.当MCS-51系列单片机的RST引脚上出现持续 ( )个振荡周期以上的高电平时,系统复位。

A、6B、12C、24D、36正确答案:C6.一个EPROM的地址线有A0~A11引脚,它的容量为 ( )。

A、2KB、(B)4KC、(C)8KD、16K正确答案:B7.MCS-51系列单片机的堆栈位于 ( ) 中。

A、内部RAMB、程序存储器C、外部RAMD、寄存器正确答案:A8.8051单片机的P2口除作为输入/输出接口使用外,还可以作为( )使用。

A、数据总线B、控制总线C、高8位地址总线D、低8位地址总线正确答案:C9.AT89C52单片机有 ( ) 个中断优先级。

A、1B、2C、3D、4正确答案:B10.对于MCS-51系列单片机来说,直接寻址可寻址的空间是 ( ) 。

A、内部RAM中0-7FH的空间和SFRB、内部RAM和外部RAMC、程序存储器D、外部RAM正确答案:A11.ALU的中文含义是( )。

A、加法器B、算术逻辑单元C、逻辑单元D、数学单元正确答案:B12.当标志寄存器P S W的R S 0和R S1分别为1和0时,系统选用的工作寄存器组为 ( ) 。

单片机例题——精选推荐

单片机例题——精选推荐

单⽚机例题定时/计数器应⽤1本题要求:AT89C51单⽚机扩展16KB外部程序存储器,⽬代码存放于外部存储器中,P1.0⼝接⼀个发光⼆极管,编写程序,控制发光⼆极管闪烁,时间间隔1s,采⽤AT89C51内部定时器计时。

基础知识:关于内部计数器的编程,主要是定时常数的设置和有关控制寄存器的设置。

内部计数器在单⽚机中主要有定时器和计数器两个功能。

本题⽬使⽤的是定时器,定时1s。

CPU运⾏定时中断⽅式,实现每1s输出状态发⽣⼀次反转,即发光管每隔1s亮⼀次。

定时器有关的寄存器有⼯作⽅式寄存器TMOD和控制寄存器TCON。

TMOD ⽤于设置定时器/计数器的⼯作⽅式0~3,并确定⽤于定时还是计数。

TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运⾏或停⽌等。

内部计数器⽤作定时器时,是对机器周期计数。

每个机器周期的长度是12个振荡器振荡周期。

本题中单⽚机晶振采⽤12MHz,定时/计数器⼯作于⽅式2(8位⾃动重装⽅式)定时器,定时器100微妙中断⼀次,所以定时常数的设置可按以下⽅法计算:机器周期=12/12MHz=1µs(256?定时常数)×1µs=100µs定时常数=156。

然后对100微妙中断次数计数10000次,就是1s。

在本题的中断处理程序中,因为中断定时常数的设置对中断程序的运⾏起到关键作⽤,所以在置数前要先关对应的中断,置数完成之后再打开相应的中断。

在Proteus ISIS编辑环境中按表1所列的元件清单添加元件,并在Proteus ISIS 的编辑区域中按图1所⽰的原理图连接硬件电路。

表1 元件清单元件名称所属类所属⼦类AT89C51 Microprocessor ICs 8051 FamilyCAP Capacitors GenericCAP-POL Capacitors GenericCRYSTAL MiscellaneousRES Resistors GenericBUTTON Switches & Relays SwitchesLED-YELLOW Optoelectronics LEDsNOT Simulator Primitives Gates图1 电路原理图1、程序流程主程序定时器中断服务程序2、源程序定时/计数器应⽤2本题要求:⽤AT89C51单⽚机的定时/计数器T0产⽣2s的定时时间,每当2s定时到来,更换指⽰灯闪亮,每个指⽰灯闪亮的时间为0.2s。

单片机试题含参考答案

单片机试题含参考答案

单片机试题含参考答案一、单选题(共107题,每题1分,共107分)1.8051单片机有 ( )个中断源。

A、4B、6C、3D、5正确答案:D2.下列芯片中属于单片机的芯片是( ) 。

A、AT89C52B、8086C、80486D、Z80正确答案:A3.8051单片机中,唯一一个用户不能直接使用的寄存器是 ( ) 。

A、PB、(B)C、PD、ACE、D.B正确答案:A4.8051单片机的串行接口具有( ) 种工作方式。

A、2B、3D、4正确答案:D5.8031单片机的定时器T1有 ( ) 种工作方式。

A、2B、1C、4D、3正确答案:D6.MCS-51单片机的最小时序定时单位是 ( ) 。

A、节拍B、状态C、机器周期D、指令周期正确答案:A7.8051单片机的P2口除作为输入/输出接口使用外,还可以作为( )使用。

A、高8位地址总线B、控制总线C、数据总线D、低8位地址总线正确答案:A8.上电复位后,8051单片机P3口的值是 ( ) 。

A、不确定B、00D、80正确答案:C9.8031单片机的RST引脚通过一个 ( ) 与单片机复位电路相连。

A、D触发器B、分频器C、单稳触发器D、施密特触发器正确答案:D10.溢出标志OV在 ( ) 中。

A、累加器B、算逻运算部件ALUC、程序状态字寄存器PSWD、DPTR正确答案:C11.累加器A的内容是12H,执行SWAP A 指令后累加器的内容变为( ) 。

A、10B、20C、21D、02H正确答案:C12.8031与8751的区别是: ( ) 。

A、内部程序存储器的类型不同B、有无内部程序存储器C、内部数据存储单元数目的不同D、内部的寄存器的数目不同正确答案:B13.对于MCS-51系列单片机来说,变址间接寻址可寻址的空间是( )。

A、程序存储器B、内部RAMC、外部RAMD、特殊功能寄存器正确答案:A14.下列单片机中没有片内程序存储器的是 ( ) 。

单片机原理及应用模拟练习题+参考答案

单片机原理及应用模拟练习题+参考答案

单片机原理及应用模拟练习题+参考答案一、单选题(共53题,每题1分,共53分)1.T0:定时方式,工作在方式1。

方式字TMOD=A、00HB、01HC、12HD、11H正确答案:B2.MCS-51单片机CPU开中断的指令是A、SETB EAB、SETB ESC、CLR EAD、SETB EX0正确答案:A3.MOV R1 ,#30H; MOV A,#64H; ADD A,#47H; DA A; MOV @R4,A;后(CY)=A、0B、1C、2D、4正确答案:B4.指令MOVC A,@A+DPTR 源操作数的寻址方式是():A、寄存器寻址B、直接寻址C、立即数寻址D、寄存器间接寻址E、变址寻址F、相对寻址G、位寻址正确答案:E5.RRC A是()A、数据传送指令B、算术运算指令C、逻辑运算指令D、控制转移指令E、位操作指令正确答案:C6.INC direct 是()A、数据传送指令B、算术运算指令C、逻辑运算指令D、控制转移指令E、位操作指令正确答案:B7.已知晶振频率为6MHz,在P1.0引脚上输出周期为500微秒的等宽矩形波,若采用T1中断,工作方式2。

TH1=#( )A、05HB、06HC、04HD、03H正确答案:D8.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符是()A、MOVB、MOVXC、MOVCD、以上都行正确答案:B9.MCS-51汇编语言指令格式中,唯一不可缺少的部分是()。

A、标号B、操作码C、操作数D、注释正确答案:B10.下列指令能使R0的最高位取反的是()。

A、CPL R0.7B、XRL 00H,#80HC、CPL (R0).7D、ARL R0,#80H正确答案:B11.若要使用T0方式0产生500μs延时,TMOD应设置为():A、00HB、01HC、10HD、11H正确答案:A12.JNZ REL指令的寻址方式是()A、相对寻址B、立即寻址C、位寻址D、寄存器寻址正确答案:A13.下列指令能能使累加器A的最高位置1的是()。

单片机考试题目及答案

单片机考试题目及答案

单片机考试题目及答案一、选择题(每题2分,共20分)1. 单片机的英文缩写是()。

A. CPUB. ROMC. RAMD. MCU答案:D2. 8051单片机的振荡频率为12MHz,机器周期为()。

A. 1μsB. 0.5μsC. 0.1μsD. 2μs答案:B3. 8051单片机的内部RAM共有()字节。

A. 128B. 256C. 512D. 1024答案:B4. 8051单片机的外部中断有()个。

A. 1B. 2C. 3D. 4答案:B5. 8051单片机的定时器/计数器有()个。

A. 1B. 2C. 3D. 4答案:B6. 8051单片机的串行通讯方式是()。

A. 同步通讯B. 异步通讯C. 并行通讯D. 串行通讯答案:B7. 8051单片机的P0口作为I/O口使用时,必须外接()。

A. 上拉电阻B. 下拉电阻C. 限流电阻D. 滤波电容答案:C8. 8051单片机的P1口作为I/O口使用时,可以直接驱动()。

A. 蜂鸣器B. 继电器C. 显示器D. 指示灯答案:D9. 8051单片机的P2口作为地址/数据总线使用时,必须外接()。

A. 上拉电阻B. 下拉电阻C. 限流电阻D. 滤波电容答案:A10. 8051单片机的P3口的RD和WR引脚分别表示()。

A. 读和写B. 写和读C. 读和地址D. 写和地址答案:A二、填空题(每空2分,共20分)1. 单片机是指将CPU、______、______、I/O接口等集成在一个芯片上的微型计算机。

答案:存储器、定时器/计数器2. 8051单片机的内部RAM分为______和______两部分。

答案:工作寄存器区、可位寻址区3. 8051单片机的外部中断有INT0和INT1两个,其中INT0的中断优先级______于INT1。

答案:高4. 8051单片机的定时器/计数器有定时和______两种工作方式。

答案:计数5. 8051单片机的串行通讯方式是______通讯,波特率可变。

蓝桥杯单片机小例题

蓝桥杯单片机小例题

1、在蓝桥杯单片机比赛中,常用的单片机类型是什么?
A. ARM Cortex系列
B. 8051系列(答案)
C. AVR系列
D. PIC系列
2、单片机中,I/O端口的主要功能是什么?
A. 仅用于输入数据
B. 仅用于输出数据
C. 可用于输入或输出数据(答案)
D. 用于存储程序
3、下列哪项不是单片机编程中常用的语言?
A. C语言(答案应为非此选项,但为保持格式一致,此处标记为错误选项)
B. 汇编语言
C. Python(答案)
D. C++(部分情况下)
4、在单片机系统中,晶振的主要作用是什么?
A. 提供稳定的电压
B. 提供稳定的电流
C. 提供时钟信号(答案)
D. 提供复位信号
5、单片机中的定时器/计数器,通常用于什么功能?
A. 计算程序运行时间(答案)
B. 存储数据
C. 放大信号
D. 转换电压
6、下列哪种通信方式不是单片机常用的?
A. UART(串行通信)
B. SPI(串行外设接口)
C. HDMI(高清多媒体接口)(答案)
D. I2C(集成电路总线)
7、在单片机编程中,中断的主要作用是什么?
A. 使程序暂停运行
B. 使程序跳转到特定地址执行(答案)
C. 加快程序运行速度
D. 减少程序占用的存储空间
8、单片机复位后,程序计数器(PC)通常指向哪个地址?
A. 0x0001
B. 0x0000(答案,对于大多数单片机而言)
C. 0xFFFF
D. 随机地址。

单片机例题

单片机例题

1.例:假定(A)=85H,(R0)=20H,(20H)=0AFH。

执行指令“ADD A,@R0”后,(A)=34H ,(CY)= 1 ,(OV)= 1 ,(P)=1。

(理论值是134H,发生溢出)1000 0101+) 1010 1111=1 0011 01002.例:设程序执行前F0=0,RS1RS0=00B,请问机器执行如下程序后MOV A,#0FH ;A←0FH ADD A,#F8H ;PSW中各位的状态是什么?解:上述加法指令执行时的人工算式是:0000 1111B + 1111 1000B = 1 0000 0111BF0、RS1和RS0由用户设定,加法指令也不会改变其状态;均为0;PSW=C1HCY为进位标志,为1;AC为半进位标志,也为1;P为奇偶标志,也为1;3.如:设片外RAM的2000H单元中有一个数X,若要把它取入累加器A,则可采用如下程序:MOV DPTR, #2000H ;DPTR←2000HMOVX A, @DPTR ;A←X(第二条指令MOVX的助记符“X”指示DPTR中的2000H是外部RAM 地址,而不是外部ROM地址,第三章将深入讨论,如是外部ROM地址,用MOVC)4.已知(SP)=60H,(DPTR)=3456H,在执行下列指令后PUS H DPHPUS H DPL(SP)=_62H___,内部RAM(61H)=_34H_ , RAM(62H)=_56H_ 。

5.外部ROM2000H单元内容送内部RAM20H单元:MOV A,#00HMOV DPTR,#2000HMOVC A,@A+DPTRMOV 20H,A(如送R0:则最后一条指令改为: MOV R0,A)6.外部RAM0020H单元内容送内部RAM20H单元:MOV DPTR ,#0020HMOVX A,@DPTRMOV 20H,A7..程序中执行二字节绝对调用指令“8100H :ACALL 48FH” 后,构造的目的地址是?PC+2→PC=8102,addr0~10→PC0~10 ,PC11~15不变048FH=0000 0 100 1000 1111 B8102H=1000 0 001 0000 0010 BPC = 1000 0 100 1000 1111 B=848FH8.分支结构:假定在外部ram中有ST1、ST2、ST3、共3个连续单元,其中st1和st2中存放两个无符号二进制数,要求找出其中的大数并存放入ST3.START: CLR CMOV DPTR ,#ST1MOVX A,@DPTRMOV R2,AINC DPTRMOVX A,@DPTRSUBB A ,R2JNC BIG1XCH A,R2BIG0: INC DPTRMOVX @DPTR,ARETBIG1: MOVX A,@DPTRSJMP BIG09.循环结构:设两个10字节的无符号数分别存放在内部RAM以20H和60H开始的单元中,要求相加后的结果要求存放在以60H开始单元的数据区。

单片机考试题和答案详解

单片机考试题和答案详解

单片机考试题和答案详解一、单项选择题1. 单片机是指()。

A. 单芯片微处理器B. 单芯片微控制器C. 单芯片微处理器和微控制器D. 单芯片微处理器和外设答案:B解析:单片机(Microcontroller Unit,MCU)是指将CPU、存储器、I/O接口等集成在一个芯片上的微控制器。

2. 8051单片机的内部RAM共有()字节。

A. 128B. 256C. 512D. 1024答案:B解析:8051单片机的内部RAM共有256字节,分为工作寄存器区和可寻址的通用RAM区。

3. 8051单片机的定时器/计数器有()个。

A. 1B. 2C. 3D. 4答案:B解析:8051单片机有两个定时器/计数器,分别是定时器0和定时器1。

4. 8051单片机的外部中断有()个。

A. 1B. 2C. 3D. 4答案:B解析:8051单片机有两个外部中断,分别是INT0和INT1。

5. 8051单片机的串行通信方式有()种。

A. 1B. 2C. 3D. 4答案:B解析:8051单片机的串行通信方式有两种,分别是方式0(同步移位寄存器方式)和方式1(8位UART方式)。

二、填空题1. 8051单片机的指令系统共有____指令。

答案:111解析:8051单片机的指令系统共有111条指令。

2. 8051单片机的定时器/计数器工作在方式1时,为____位计数器。

答案:16解析:8051单片机的定时器/计数器工作在方式1时,为16位计数器。

3. 8051单片机的外部中断INT0的中断向量地址为____。

答案:0003H解析:8051单片机的外部中断INT0的中断向量地址为0003H。

4. 8051单片机的串行通信方式1的波特率可由定时器1的____值决定。

答案:溢出解析:8051单片机的串行通信方式1的波特率可由定时器1的溢出值决定。

5. 8051单片机的内部RAM的工作寄存器区共有____个寄存器。

答案:8解析:8051单片机的内部RAM的工作寄存器区共有8个寄存器,分别是R0-R7。

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

[例题] 指出下列指令的寻址方式MOV A,R1 ;A←(R1)寄存器寻址ADD A,#05H ; A←(A)+立即数05H 立即寻址MOV A,@R1 ; A ←((R1)) 寄存器间接寻址MOV 30H,4AH ; 30H ←(4AH)直接寻址MOVC A,@A+DPTR ;A←((A)+(DPTR)) 变址寻址SJMP LP ; PC←(PC)+ 2 + 偏移量相对寻址MOV C, 65H ; Cy ←(65H))位寻址【例】MOV DPTR,#1234H ;(DPTR)=1234H该指令也可以用两条8位数据传送指令实现:MOV DPH,#12H ;(DPH)=12HMOV DPL,#34H ;(DPL)=34H,(DPTR)=1234H例1:读下面程序,写出41H、42H单元内容MOV R0,#40HMOV R1,#41HMOV A,#11HMOV 40H,#32HMOV @R1,AMOV 42H ,@R0解:(41H)=11H,(42H)=32H例2:将片内RAM中30H~3FH单元的内容复制到50H~5FH单元中。

MOV R0,#30H ;30h →R0MOV R1,#50H ;50h →R1MOV R7,#10H ;10h →R7LOOP:MOV A,@R0 ;( (R0 )) →AMOV @R1,A ;A →(R1 )INC R0 ;(R0 )+1 →R0INC R1 ;(R1 )+1 →R1DJNZ R7,LOOP ;R7内容不为零转LOOPRET例1 :已知外部RAM的88H单元有一个数x,试编程将x送外部RAM的1818H单元。

【解】:外部RAM中的数据是不能直接传送的,因此必须使用两次MOVX 指令完成此操作。

ORG 2000HMOV R0,#88H ;为8位指针赋值MOVX A,@R0 ;取x 到累加器AMOV DPTR,#1818H ;为16位指针赋值MOVX @DPTR,A ;x 送RAM的1818h单元已知RAM50h单元有一个0~9的数,试编程将它变成相应的ASCII码。

【解】:0~9的ASCII码是30h~39h,两者相差30h。

方法一:对50h单元的数据高四位组装一个30h。

mov r0,#50h ;指针赋值mov a,#30h ;30h→Axchd a,@r0 ;(A)3~0↔(r0)3~0,在A中组成ASCII码mov @r0,a ;A中的ASCII送回50h单元例:设(30H)=X,(40H)=Y,试利用堆栈区域实现30H和40H单元中的数据交换MOV SP,#60H;设栈底的地址为60HPUSH 40H;Y →(61H)PUSH 30H;X →(62H)POP 40H;X →(40H)POP 30H;Y→(30H)【例】编程将片内RAM中10H和20H单元的内容交换。

方法一:用交换指令。

XCH A,10HXCH A,20HXCH A,10H方法二:用“MOV”指令。

MOV A,10HMOV 10H,20HMOV 20H,A方法三:用堆栈。

PUSH 10HPUSH 20HPOP 10HPOP 20H思考题:已知:(A)=A9H、(20H)= 98H,试问执行如下指令后累加器A和CY中的值是多少?CLR CMOV A,#0A9HMOV R0,#20HMOV 20H,#98HSUBB A,@R0执行结果:(A)= 11H,(PSW)=00H【例】:已知M1、M2单元中存有两个16位无符号数x1 、x2(低位在前)。

试编程求x1+x2,并将结果放入M1、M1+1单元(低8位在M1单元)。

设两数之和不会超过16位(65535)。

【解】:MOV R0,#M1 ;x1指针赋初值MOV R1,#M2 ;x2指针赋初值MOV A,@R0 ;取x1低8位送AADD A,@R1 ;x1与x2低8位相加MOV @R0,a ;低8位和送m1单元INC R0INC R1 ;修改指针MOV A,@R0 ;取x1的高8位送AADDC A,@R1 ;x1与x2的高8位和Cy相加MOV @R0,A ;结果送M1+1单元【例】:试将A中的二进制数转换为3位BCD码,其中,百位数存放于31H单元,十位数和个位数压缩后存于30H单元中。

【解】:MOV B,#100DIV ABMOV 31H,AMOV A,#10XCH A,BDIV ABSW AP AADD A,BMOV 30H,A已知:外部RAM的30H单元中有一个数AAH,现要将其高4位不变,低4位取反,试编程。

解1,利用MOVX A,@Ri指令:MOV R0,#30H 1 0 1 0 1 0 1 0MOVX A,@R0 ⊕0 0 0 0 1 1 1 1XRL A,#0FH 1 0 1 0 0 1 0 1MOVX @R0,A解2,利用MOVX A,@DPTRMOV DPTR,#0030HMOVX A,@DPTRXRL A,#0FHMOVX @DPTR,A已知:在M1和M1+1单元有一个16位数(M1存低8位),试编程将其扩大2倍(设结果小于65535)。

解:扩大2倍可以用左移一位来实现。

CLR C ;清除Cy位MOV R1,#M1 ;指针赋值MOV A,@R1 ;取低8位数据RLC A ;循环左移,Cy进低位,高位进CyMOV @R1,A ;移位后数据回送INC R1 ;指针加一MOV A,@R1 ;取高8位数据RLC A ;循环左移Cy进低位MOV @R1,A ;数据回送【例】令片内RAM中DATA为起始地址的数据块中连续10个无符号数相加,并把和送到SUN单元(设其和小于256)。

ORG 1000HSTART:MOV R2,#0AH ;数据块长度10送计数器R2MOV R0,#DATA ;数据块起始地址送指针R0CLR A ;累加器清零LOOP: ADD A,@R0 ;累加部分和INC R0DJNZ R2,LOOP ;若R2-1≠0则转LOOP继续MOV SUN,A ;存累加和END例:试将00H位和7FH位中的内容互换。

【解】:两个位互换必须找一个位作为缓冲位。

MOV C,00HMOV 01H,CMOV C,7FHMOV 00H,CMOV C,01HMOV 7FH,C已知:内部RAM 的M1、M2单元各有两个无符号的8位数。

试编程比较其大小,并将大数送MAX单元。

【解】: MOV A,M1 ;操作数1送累加器ACJNE A,M2,LOOP ;两个数相比较LOOP: JNC LOOP1 ;M1>=M2时转LOOP1MOV A,M2 ;M1<M2时,取M2到ALOOP1: MOV MAX,A ;A中数据送MAX单元【说明】:1,第2条指令作为比较指令使用,不论结果多少都转LOOP2,第3条指令是一条位控转移指令,根据Cy的状态控制转移。

【例】已知16位二进制负数存放在R1R0中,试求其补码,并将结果存在R3R2中。

CONT: CLR AMOV A,R0 ;读低8位CPL A ;取反ADD A,#01H ;加1MOV R2,A ;存低8位MOV A,R1 ;读高8位CPL A ;取反ADDC A,#80H ;加进位及符号位MOV R3,A ;存高8位RET例:将R2中BCD码数转为二进制数存进R2ORG 2000HBCD2B:MOV A,R2 ;取入口数据ANL A,#0F0H ;取出十位SW AP A ;高4位低4位MOV B,#0AHMUL AB ;十位乘10MOV R3,A ;积暂存进R3MOV A,R2;再取入口数据ANL A,#0FH ;取出个位ADD A,R3MOV R2,A ;结果R2RET ;若不是子程序可用END例:软件循环延时100mS(晶振12MHz)☆1Tm =1uS 100mS = 100000 uS☆MOV Rn #data 和NOP 是单机器周期指令☆DJNZ Rn,rel 是双机器周期指令☆200 = 0C8H ; 248 = 0F8HORG 1000HDELAY: MOV R6,#200 ; 1TmLOOP1: MOV R7,#248 ; 1TmNOP ; 1TmLOOP2: DJNZ R7,LOOP2 ; 2TmDJNZ R6,LOOP1 ; 2TmRET ; 2Tm例:软件循环延时1S(晶振12MHz)☆1Tm =1uS 1S = 1000000 uS☆MOV Rn #data 是单机器周期指令☆DJNZ Rn,rel 是双机器周期指令ORG 1000HDL1S:MOV R7,#10DL1: MOV R6,#200DL2: MOV R5, #250DL3: DJNZ R5, DL3DJNZ R6,DL2DJNZ R7,DL1RET例: 16进制数(00H—0FH)转ASCII码子程序算法:凡≥10的十六进制数加37H;凡<10的十六进制数加30H。

ie. 0~9 →30H~39H, A~F →41H~46HORG 2000HH2ASC: MOV A,R2 ;取待转换的数据(入口)ADD A,#0F6H ;判此数是否≥10 ?若≥10,则C=1;<10,则C=0MOV A,R2 ;重取待转换的数据JNC AD30H ;小于10就跳去加30HADD A,#07H ;≥10就先加7 再去加30HAD30H: ADD A,#30HMOV R2,A ;存结果(出口)RET例:根据16个双字节数的序号查表找出对应数据ORG 2000HSTA1: MOV A,R2 ;取待查数据的序号X (入口)RL A ;每数占2个单元,序号要乘2MOV R3,A ;R3 ←序号x2 (即偏移量)MOV DPTR,#TABL ;DPTR ←表格首地址MOVC A,@A+DPTR ;(A)←查到数据低8位XCH A,R3 ;数据低8位存进R3(出口);同时取出偏移量到AINC DPTR ;DPTR指向下一个单元MOVC A,@A+DPTR ;再查到数据高8位MOV R4,A ;将数据高8位存进R4(出口)RETTABL: DW 050FH, 0E89H, 0A695H, 1EAAH, 0D9BH, 7F93H DW 0373H, 26D7H, 2710H, 9E3FH, 1A66H, 22E3HDW 1174H, 16EFH, 33E4H, 6CA0HEND例:求双字节补码程序ORG 0100HMOV A, #80HANL A, addr1 ;判断是否为正数CJNE A, #0,TTSJMP LOOPTT: XRL addr1+1, #7FH ;除第一位异或取反XRL addr1, #0FFH ;低八位取反INC addr1 ;加1MOV addr2, addr1MOV A,#0ADDC A, addr1+1 ;用ADDCMOV addr2+1, ALOOP: RET例:利用外部中断0做一个计数器。

相关文档
最新文档