单片机实用教程部分课后习题_朱一纶

合集下载

单片机课后习题答案[1]1

单片机课后习题答案[1]1

习题31.结合MCS-51系列单片机功能框图阐明其大致组成。

答:MCS-51系列单片机内部组成如图所示。

主要有8031、8051、875l 三种机型,基于HMOS 工艺,它们的指令系统与芯片引脚完全兼容,只是片内程序存储器(ROM, Read Only Memory)有所不同。

51子系列的主要功能为:●8位CPU;●片内带振荡器及时钟电路;●128B片内数据存储器;●4KB片内程序存储器(8031/80C31无);●程序存储器的寻址范围为64KB;●片外数据存储器的寻址范围为64KB;●21B特殊功能寄存器;●4×8根I/O线;●1个全双工串行I/O接口,可多机通信;●两个16位定时器/计数器;●中断系统有5个中断源,可编程为两个优先级;●111条指令,含乘法指令和除法指令;●布尔处理器;●使用单+5V电源。

2.综述80C51系列单片机各引脚的作用。

答:80C51 有4 个8 位并行I/O 口,共32 条端线:P0、P1、P2 和P3 口。

每一个I/O 口都能用作输入或输出。

用作输入时,均须先写入“1”;用作输出时,P0口应外接上拉电阻。

P0口的负载能力为8个LSTTL门电路;P1~P3口的负载能力为4个LSTTL门电路。

在并行扩展外存储器或I/O口情况下:P0口用于低8位地址总线和数据总线(分时传送)P2口用于高8位地址总线,P3口常用于第二功能,用户能使用的I/O口只有P1口和未用作第二功能的部分P3口端线。

3.80C51单片机内部包含哪些主要逻辑功能部件?各有什么主要功能?答:80C51 单片机内部包含含布尔(位)处理器的中央处理器、数据存储器和程序、并行输入/输出端口、中断系统、定时器/计数器,串行口、时钟电路、复位电路。

4.什么是ALU?简述MCS-51系列单片机ALU的功能与特点。

答:ALU是用于对数据进行算术运算和逻辑操作的执行部件,由加法器和其他逻辑电路(移位电路和判断电路等)组成。

《单片机》课后习题及答案

《单片机》课后习题及答案

《单片机》课后习题及答案单片机是计算机科学与技术中的重要领域之一,学习单片机的过程中,习题是不可或缺的一部分。

通过解答习题,不仅可以加深对单片机知识的理解,还可以培养解决问题的能力。

本文将为大家介绍一些经典的单片机习题,并提供详细的答案解析。

一、基础知识题1. 请简述单片机的定义及其作用。

答:单片机是一种集成度极高的微型计算机系统,它包括中央处理器、存储器、输入/输出接口和时钟电路等基本组成部分。

单片机广泛应用于嵌入式系统、仪器仪表、工控设备等领域,能够完成各种控制、计算、通信等任务。

2. 请列举常见的单片机类型及其特点。

答:常见的单片机类型有AVR系列、PIC系列、STM32系列等。

它们的特点如下:- AVR系列:低功耗、性能稳定、易于编程调试。

- PIC系列:成本较低、易于学习上手,适用于简单的应用场景。

- STM32系列:性能强大、资源丰富、支持多种外设接口。

3. 单片机的时钟输入一般采用什么方式?请简要说明原因。

答:单片机的时钟输入一般采用晶体振荡器的方式。

晶体振荡器具有稳定的振荡频率和相位,能够提供可靠的时钟信号,保证单片机各个部件按时序工作。

二、编程习题1. 编写一个程序,实现LED灯在不同时间间隔下的闪烁。

答:以下是示例代码:```c#include <reg51.h>sbit LED = P1^0;void delay(unsigned int ms){unsigned int i, j;for(i = ms; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){LED = 0; // 点亮LED灯delay(500); // 延时500msLED = 1; // 熄灭LED灯delay(500); // 延时500ms}}```2. 编写一个程序,实现通过按键控制LED灯的亮灭。

答:以下是示例代码:```c#include <reg51.h>sbit LED = P1^0;sbit KEY = P2^0;void delay(unsigned int ms){unsigned int i, j;for(i = ms; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){if(KEY == 0) // 如果按键按下{LED = ~LED; // 切换LED灯的状态delay(500); // 延时500ms,防止按键抖动}}}```三、应用题1. 设计一个温度监测系统,当温度超过设定的阈值时,点亮LED 灯并发出蜂鸣器警报。

单片机课后习题答案

单片机课后习题答案

单片机课后习题答案单片机课后习题答案在学习单片机的过程中,课后习题是检验自己掌握程度的重要方式。

然而,有时候我们可能会遇到一些难题,不知道如何解答。

本文将提供一些常见的单片机课后习题答案,希望能够帮助大家更好地理解和应用单片机知识。

1. 请简述单片机的工作原理。

单片机是一种集成电路芯片,内部包含了中央处理器(CPU)、内存、输入输出接口等功能模块。

它通过接收外部的输入信号,经过处理后,再通过输出接口将结果输出。

其工作原理主要包括以下几个步骤:(1)从外部接收输入信号,例如按键、传感器等。

(2)将输入信号转化为数字信号,经过模数转换器(ADC)进行模数转换。

(3)CPU对数字信号进行处理,例如进行逻辑运算、数值计算等。

(4)根据处理结果,通过输出接口将结果输出,例如驱动LED灯、显示器等。

(5)循环执行上述步骤,实现单片机的持续工作。

2. 如何在单片机中实现延时功能?在单片机中,延时功能往往是非常常见的需求。

我们可以通过使用定时器来实现延时功能。

具体步骤如下:(1)设置定时器的工作模式和计数方式。

例如,选择定时器模式为定时器模式,计数方式为自动重载。

(2)设置定时器的初始值和计数周期。

初始值决定了延时的起始时间,计数周期决定了延时的时长。

(3)启动定时器,使其开始计数。

(4)在程序中检测定时器是否计数完成。

可以通过检测定时器中断标志位或者定时器计数值是否达到设定值来判断。

(5)如果定时器计数完成,表示延时时间已经到达,可以执行延时后的操作。

(6)如果定时器计数未完成,表示延时时间还未到达,可以继续等待或执行其他操作。

3. 如何实现数码管的动态显示?数码管的动态显示是通过快速切换不同的数码管段位来实现的。

具体步骤如下:(1)设置一个计数器,用于控制数码管的刷新频率。

(2)设置一个数组,用于存储需要显示的数码管段位的状态。

(3)编写一个中断服务函数,用于定时刷新数码管的显示。

(4)在主程序中,设置数码管需要显示的内容。

单片机课后重要习题答案

单片机课后重要习题答案

单片机课后重要习题答案单片机课后重要习题答案在学习单片机的过程中,课后习题是巩固知识、提高编程能力的重要环节。

下面是一些常见的单片机课后习题及其答案,供大家参考。

一、基础题1. 请用C语言编写一个程序,实现将一个整数的二进制表示输出到LED灯上。

答案:```c#include <reg52.h>void main(){int num = 10; // 待转换的整数int i;while (1){for (i = 0; i < 8; i++){P1 = num & (1 << i) ? 0xFF : 0x00; // 判断第i位是否为1,是则点亮LED灯delay(); // 延时函数}}```2. 请编写一个程序,实现将一个8位二进制数的奇偶校验位计算出来,并输出到P1口。

答案:```c#include <reg52.h>void main(){unsigned char num = 0b10011010; // 待计算的8位二进制数int count = 0;int i;for (i = 0; i < 8; i++){if (num & (1 << i)){count++;}}P1 = count % 2 ? 0xFF : 0x00; // 奇数个1则输出高电平,偶数个1则输出低电平}二、进阶题1. 请编写一个程序,实现一个简单的计算器功能,能够进行加、减、乘、除四则运算,并将结果输出到数码管上。

答案:```c#include <reg52.h>void main(){unsigned char num1 = 10; // 第一个操作数unsigned char num2 = 5; // 第二个操作数unsigned char operator = '+'; // 运算符,可修改为其他运算符unsigned char result;switch (operator){case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':result = num1 / num2;break;default:result = 0;break;}// 将结果输出到数码管上P1 = result;}```2. 请编写一个程序,实现一个简单的密码验证功能,用户输入密码后,若密码正确,则点亮一个LED灯,否则不点亮。

单片机的课后习题答案

单片机的课后习题答案

单片机的课后习题答案单片机的课后习题答案在学习单片机的过程中,课后习题是非常重要的一环。

通过解答习题,我们可以巩固所学的知识,提高自己的实践能力。

下面是一些常见的单片机课后习题及其答案,希望对大家的学习有所帮助。

1. 什么是单片机?答:单片机是一种集成电路芯片,具有中央处理器、存储器和各种输入输出接口等功能。

它能够完成各种控制任务,广泛应用于电子产品、仪器仪表、通信设备等领域。

2. 请简述单片机的工作原理。

答:单片机通过接收输入信号,经过处理后,控制输出信号。

其工作原理可以概括为:输入信号经过外部输入接口输入到单片机内部,单片机通过中央处理器对输入信号进行处理,然后根据处理结果通过输出接口控制外部设备。

3. 什么是中断?答:中断是一种机制,用于在单片机运行过程中,处理外部事件的优先级。

当发生中断事件时,单片机会立即中断当前任务,转而执行中断服务程序,处理完中断事件后再返回原来的任务。

4. 请简述中断的优点。

答:中断具有以下几个优点:- 灵活性:中断可以随时响应外部事件,提高系统的实时性和灵活性。

- 高效性:通过中断,可以及时处理紧急事件,提高系统的处理效率。

- 可靠性:中断可以确保关键任务的执行,避免因外部事件而导致的系统故障。

5. 请简述定时器的作用。

答:定时器是单片机中常用的一种外设,用于产生精确的时间延迟。

通过定时器,我们可以实现定时、计数、测量等功能,广泛应用于各种计时、控制、通信等场景。

6. 如何使用定时器产生1秒的延时?答:以8051单片机为例,可以通过设置定时器的初值和工作模式来实现1秒的延时。

具体步骤如下:- 设置定时器的初值,使其在溢出前计数器的值为65536-(机器周期/定时器时钟周期)*(所需延时时间/定时器溢出时间)。

- 设置定时器的工作模式,选择合适的时钟源和分频系数。

- 等待定时器溢出,即可实现1秒的延时。

7. 请简述串口通信的原理。

答:串口通信是一种常用的数据传输方式,通过串行传输数据。

单片机课后习题

单片机课后习题

习题答案习题 01.单片机是把构成微型计算机的各功能零件即〔微办理器〔CPU 〕〕、〔储存器〔 ROM 和 RAM 〕〕、〔总线〕、〔准时器 /计数器〕、〔输入 /输出接口〔 I/O 口〕〕及〔中断系统〕等零件集成在一块芯片上的微型计算机。

2.什么叫单片机?其主要特色有哪些?将微办理器〔 CPU 〕、储存器〔寄存程序或数据的ROM 和 RAM 〕、总线、准时器/计数器、输入 /输出接口〔 I/O 口〕、中断系统和其余多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。

单片机的特色:靠谱性高、便于扩展、控制功能强、拥有丰富的控制指令、低电压、低功耗、片内储存容量较小、集成度高、体积小、性价比高、应用宽泛、易于产品化等。

3.单片机有哪几个展开阶段?(1〕第一阶段〔 1974— 1976 年〕:制造工艺落伍,集成度低,并且采纳了双片形式。

典型的代表产品有Fairchild 企业的 F8 系列。

其特色是:片内只包含了8 位 CPU,64B 的 RAM 和两个并行口,需要外加一块3851 芯片〔内部拥有1KB 的 ROM 、准时器 /计数器和两个并行口〕才能构成一台完好的单片机。

〔 2〕第二阶段〔1977— 1978 年〕:在单片芯片内集成CPU、并行口、准时器/计数器、RAM 和 ROM 等功能零件,但性能低,品种少,应用范围也不是很广。

典型的产品有Intel 企业的 MCS-48 系列。

其特色是,片内集成有8 位的 CPU, 1KB 或 2KB 的 ROM , 64B 或128B 的 RAM ,只有并行接口,无串行接口,有 1 个 8 位的准时器 /计数器,中断源有 2 个。

片外寻址范围为4KB ,芯片引脚为40 个。

(3〕第三阶段〔 1979— 1982 年〕: 8 位单片机成熟的阶段。

其储存容量和寻址范围增大,并且中断源、并行 I/O 口和准时器 /计数器个数都有了不一样程度的增添,并且集成有全双工串行通信接口。

51单片机课后习题答案

51单片机课后习题答案

51单片机课后习题答案51单片机是一种非常常见的单片机型号,广泛应用于各种电子设备中。

学习51单片机的过程中,课后习题是不可或缺的一部分,通过解答习题可以巩固所学知识,提高编程能力。

本文将为大家提供一些常见的51单片机课后习题的答案,希望对大家的学习有所帮助。

1. 请编写一个程序,实现LED灯的闪烁功能。

答案:以下是一个简单的实现LED灯闪烁的程序:```c#include <reg51.h>sbit LED = P1^0; // 将P1.0引脚定义为LED灯void delay(unsigned int t) // 延时函数{unsigned int i, j;for(i = t; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){LED = 0; // 点亮LED灯delay(1000); // 延时1秒LED = 1; // 熄灭LED灯delay(1000); // 延时1秒}}```2. 请编写一个程序,实现通过按键控制LED灯的亮灭。

答案:以下是一个简单的实现通过按键控制LED灯亮灭的程序:```c#include <reg51.h>sbit LED = P1^0; // 将P1.0引脚定义为LED灯sbit Button = P2^0; // 将P2.0引脚定义为按键void delay(unsigned int t) // 延时函数{unsigned int i, j;for(i = t; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){if(Button == 0) // 检测按键是否按下{LED = ~LED; // 反转LED灯状态delay(200); // 延时200毫秒,避免按键抖动}}}```3. 请编写一个程序,实现通过数码管显示数字0-9的功能。

单片机课件习题答案(部分).doc

单片机课件习题答案(部分).doc

习题第三章4,立即寻址方式直接寻址方式位寻址方式寄存器间接寻址方式寄存器间接寻址方式寄存器寻址方式寄存器间接寻址方式立即寻址方式变址寻址方式10, (1)34H(2)A5H(3)A5H (4) 34H11, (A)=30H, (R0)=70H(A)=A0H, (30H)=70H(A) =A0H, (30H)=70H(A)=07H(A)=A0H, (R0)=30H(A)=10H, (30H)=A0H(A)=A0H(A)=10H(A)=D0H12, (A)=60H, (R0)=40H, (32H)=61H, (40H)=60H 13, (A) =74H 14,MOV SP, #30H ;(SP)=30H MOV 30H, #55H MOV 40H,#66H PUSH 30H ;(SP)=31H, (31H)=55H PUSH 40H ;(SP)=32H, (32H)=66H PO P 30H ;32H 中数据传送至30H 中,(SP)=31PO P 40H;31H 中数据传送至40H 中,(SP)=30 17,MOV DPTR,#4020H MO VX A, @DPTR 18,MOV DPTR,#5000H MO VX A, @DPTR MO V DPTR,#6030H MO VX @DPTR, A 21,ANL Pl, #07H22, RL PlRL Pl23, CJNE A, #10, NEXT24, CLR CMOV RO, 40HMOV Rl, 41H CJNE RO, R1,LP1LP1 : JNCLP2LP3 : MOV42H, @R0LP2 : MOV42H, @R126, MOV RO,#30HMOV Rl,#16CLR ALoop:MOV ©RO, AINC RODJNZ R1,Loop27, MOV A, #mMO V DPTR, #2040HMOVCA, @A+DPTR第四章5, CLR AMO V A, 21HAD D A, 31HMO V 41H, AMO V A, 20HAD DC A, 30HMO V 40H, A6, ORG OOOOHLJMP MAINORG 0030HMAI N: MOV A, 61H CLP AADD A, #O1H MOV 71H, A MOV A, 60H CLP A ADDC A, #OOH MOV 70H, A SJMP $END7, ORG OOOOHLJMP MAINORG 0030HMAI N: MOV Rl,#30 MOV DPTR,#50H MOV R2,#20LOO P: MOV A, @R1MOVX @DPTR, A INC R1INC DPTRDJNZR2, LOOP SJMP$ END8, ORG OOOOHAJMP MAIN ORG 0030H MAIN : MOV SP ,#6FH QE : MOV R3 ,#50H QE1: MOV A,R3 MOVRO, A MOV R7, #OAHCLR OOH MOV A, @RO L2: INC ROMOVR2, ACLR AMOV 22H, @RO CJNE A, 22H, L3 SETB C L3: MOV A, R2JC LI SETB OOHXCH A, @RO DEC RO XCH A, @RO INC RO LI : MOV A, @RODJNZ R7, L2 JB OOH,QE1 SJMP $ END12, MOV A, 30H CJNE A, #96, NEXT1 LOAD 1: JNC NEXTMOV 31H, #1 SJMP DONENEXT2: CJNE A, #105,NEXT3 NEXT3: JNC NEXT4MOV 31H, #2 SJM P DONE NEXT4: MOV 31H, #3DONE: SJMP $END。

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

1、从22H单元开始存放一数据块,其长度存放在20H单元,编写一个数据块求和程序,要求将和存入21H单元,设和不超过255。

(5分) (1)2、编写一查表子程序。

设40单元中的内容为00~09之间的整数,求其平方值(BCD码),并将其存入41H单元中。

(5分) (2)3、有50个无符号8位二进制数,存放在内部RAM以BUFFR为首地址的连续单元中,试编写将其最小数存放到内部RAM的MIN单元的程序并画出相应的流程。

(10分) (2)4、用中断方法设计单片机秒、分脉冲发生器。

从P1.0每秒产生一个机器周期的正脉冲,从P1.1每分钟产生一个机器周期的正脉冲。

(10分) (3)5、将8255A的PA口设为方式0——基本输出方式,8255A的PB口设为方式1——选通输入方式,并在数据输入后会向CPU发出中断请求,不作控制用的C口端口数位全部输出,设PA口地址为4000H。

编写初始化程序。

(10分) (4)6、设字符串存放在以21H开始的内部RAM单元中,以“$”作结束标志,试计算该字符串的长度,并存入20H单元。

(5分) (4)7、编写一查表子程序。

设40单元中的内容为00~09之间的整数,求其立方值(BCD码),并将其存入41H单元中。

(5分) (5)8、设有50个无符号8位二进制数,存放在内部RAM以BUFFR为首地址的连续单元中,试编写将其最小数存放到内部RAM的MIN单元的程序并画出相应的流程。

(10分) (5)9、利用定时器T1产生50HZ的方波,由P1.1输出(f=6MHZ)。

(10分) (6)10、8051内部RAM的30H~39H中存放10个数,试编程采用串行口工作方式0把它逐个发送出去。

(10分) (6)11、7-4-4 (7)1、从22H单元开始存放一数据块,其长度存放在20H单元,编写一个数据块求和程序,要求将和存入21H单元,设和不超过255。

(5分)ORG 0000HLJMP STARTORG 2000HSTART: CLR AMOV R2, 20HMOV R1, #22HLOOP: ADD A, @R1INC R1DJNZ R2, LOOPMOV 21H, ASJMP $END2、编写一查表子程序。

设40单元中的内容为00~09之间的整数,求其平方值(BCD码),并将其存入41H单元中。

(5分)DAA DA TA 40HRES DA TA 41HORG 0000HLJMP STARTORG 2000HSTART: MOV A,DAAACALL SQRMOV RES,ASJMP $SQR: ADD A,#01HMOVC A,@A+PCRETSQRTAB: DB 00H,01H,04H,09H,16H,25H,36H,49H,64H,81HEND3、有50个无符号8位二进制数,存放在内部RAM以BUFFR为首地址的连续单元中,试编写将其最小数存放到内部RAM的MIN单元的程序并画出相应的流程。

(10分)BUFFR DATA 40HMIN DATA 50HORG 0000HLJMP STARTORG 2000HSTART: MOV R0,#BUFFRMOV R1,#49MOV A,@R0MOV MIN,ALOOP: INC R0MOV A,@R0CLR CSUBB A,MINJC LOOP1DJNZ R1, LOOPSJMP PRO_ENDLOOP1: MOV A,@R0MOV MIN,ADJNZ R1, LOOPPRO_END:SJMP $END4、用中断方法设计单片机秒、分脉冲发生器。

从P1.0每秒产生一个机器周期的正脉冲,从P1.1每分钟产生一个机器周期的正脉冲。

(10分)答:假设f osc=6MHZ,用T0在模式1下,定时100ms时,定时初值x=216-1210006100⨯⨯=15536=3CB0H ORG 0000HLJMP MAINORG 000BHLJMP INT_T0ORG 2000HMAIN: MOV SP,#60HMOV R1,#10MOV R2,#60MOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#3CHSETB TR0SETB ET0SETB EACLR P1.0CLR P1.1SJMP $INT_T0: MOV TL0,#0B0HMOV TH0,#3CHDJNZ R1,LOOP1MOV R1,#10SETB P1.0NOPCLR P1.0DJNZ R2,LOOP1MOV R2,#60SETB P1.1NOPCLR P1.1LOOP1: RETIEND5、将8255A的PA口设为方式0——基本输出方式,8255A的PB口设为方式1——选通输入方式,并在数据输入后会向CPU发出中断请求,不作控制用的C口端口数位全部输出,设PA口地址为4000H。

编写初始化程序。

(10分)答:控制字为10000110B=86H为保证断口B开放中断,对端口PC.2置1,控制字为00000101B=05HMOV DPTR,#4003HMOV A,#86HMOVX @DPTR,AMOV A,#05HMOVX @DPTR,A6、设字符串存放在以21H开始的内部RAM单元中,以“$”作结束标志,试计算该字符串的长度,并存入20H单元。

(5分)ORG 0000HLJMP STARTORG 2000HSTART: CLR AMOV R0,#21HLOOP: CJNE @R0,#24H,NEXTSJMP COMPNEXT: INC AINC R0SJMP LOOPCOMP: MOV 20H,ASJMP $END7、编写一查表子程序。

设40单元中的内容为00~09之间的整数,求其立方值(BCD码),并将其存入41H单元中。

(5分)DAA DATA 40HORG 0000HLJMP STARTORG 2000HSTART: MOV A,DAAADD A,DAAMOV R2,AADD A,#10MOVC A,@A+PCMOV 41H,AMOV A,R2ADD A,#04MOVC A,@A+PCMOV 42H,ASJMP $SQRTAB:DB 00H,00H,00H,01HDB 00H,08H,00H,27HDB 00H,64H,01H,25HDB 02H,16H,03H,43HDB 05H,12H,07H,29HEND8、设有50个无符号8位二进制数,存放在内部RAM以BUFFR为首地址的连续单元中,试编写将其最小数存放到内部RAM的MIN单元的程序并画出相应的流程。

(10分)BUFFR DATA 40HMIN DATA 50HORG 0000HLJMP STARTORG 2000HSTART: MOV R0,#BUFFRMOV R1,#49MOV A,@R0MOV MIN,ALOOP: INC R0CLR CSUBB A,MINJC LOOP1DJNZ R1, LOOPSJMP PRO_ENDLOOP1: MOV A,@R0MOV MIN,ADJNZ R1, LOOPPRO_END:SJMP $END9、利用定时器T1产生50HZ的方波,由P1.1输出(f=6MHZ)。

(10分)答:假设T1工作在方式1下,方波周期T=20ms,用T1定时10ms,计算初值X为X=216-121000106⨯⨯=65536-5000=60536=EC78HORG 0000HLJMP STARTORG 2000HSTART: MOV TMOD,#10HSETB TR1LOOP: MOV TH1,#0ECHMOV TL1,#78HJNB TF1,$CLR TF1CPL P1.1SJMP LOOPEND10、8051内部RAM的30H~39H中存放10个数,试编程采用串行口工作方式0把它逐个发送出去。

(10分)ORG 0000HLJMP STARTORG 2000HSTART: MOV SCON,#00HMOV R1,#10 LOOP: MOV A,@R0INC R0MOV SBUF,A WAIT: JNB TI,WAITCLR TIDJNZ R1,LOOPSJMP $END11、7-4-4ORG 0000HLJMP MAINORG 0003HLJMP INTR0ORG 0050HMAIN:MOV 30H,#01HMOV 31H,#0FHMOV R0,#02HMOV A,#88HMOV DPTR,#0FEFCHMOVX @DPTR,AINC DPTRMOV A,#93HMOVX @DPTR,AMOV DPTR,#0FEF8HMOV A,#0C2HMOVX @DPTR,AMOV IE,#81HSETB IT0SJMP $INTR0:MOV A,#88HMOV DPTR,#0FEFCH MOVX @DPTR,A INC DPTRMOV A,#93HMOVX @DPTR,A MOV DPTR,#0FEF8H MOV A,#0C2H MOVX @DPTR,A MOV DPTR,#0FEFBH MOVX A,@ DPTR ANL A,#01HJZ LOOPMOV A,30HRL AMOV 30H,AMOV DPTR,#0FEFAH MOVX @DPTR,A AJMP RETURN LOOP:DJNZ R0,RETURN MOV R0,#02HMOV A,31HCPL AMOV 31H,AMOV DPTR,#0FEFAHMOVX @DPTR,ARETURN:RETIEND。

相关文档
最新文档