MCS51单片机课后作业解答

合集下载

MCS 51单片机应用设计课后答案

MCS 51单片机应用设计课后答案

MCS 51单片机应用设计课后答案mcs-51单片机应用设计课后答案第一章单片机概述1.2除了单片机这一名称之外,单片机还可以称作(微控制器)和(嵌入式控制器)。

1.3单片机与普通计算机的不同之处是其将(微处理器)、(存储器)和(各种输入输出USB)三部分内置于一块芯片上。

4、单片机的发展大致分为哪几个阶段?答:单片机的发展历史可分为四个阶段:第一阶段(1974年----1976年):单片机初级阶段。

第二阶段(1976年----1978年):低性能单片机阶段。

第三阶段(1978年----现在):高性能单片机阶段。

第四阶段(1982年----现在):8位单片机巩固发展及16位单片机、32位单片机推出阶段1.5单片机根据其基本操作处理的位数可分为哪几种类型?请问:单片机根据其基本操作处置的位数可以分成:1十一位单片机、4十一位单片机、8十一位单片机、16十一位单片机和32十一位单片机。

1.6mcs-51系列单片机的基本芯片分别为哪几种?它们的差别是什么?答:基本芯片为8031、8051、8751。

8031内部包含1个8十一位cpu、128bram,21个特定功能寄存器(sfr)、4个8十一位循序i/o口、1个全双工串行口,2个16十一位定时器/计数器,但片内并无程序存储器,需外倍增eprom芯片。

8051就是在8031的基础上,片内又内置存有4kbrom,做为程序存储器,就是1个程序不少于4kb的小系统。

8751是在8031的基础上,增加了4kb的eprom,它构成了1个程序小于4kb的小系统。

用户可以将程序固化在eprom中,可以反复修改程序。

1.7mcs-51系列单片机与80c51系列单片机的优劣点就是什么?请问:共同点为它们的指令系统相互相容。

不同点是mcs-51就是基本型,而80c51使用cmos工艺,功耗很低,存有两种高速缓存工作方式,一种就是cpu暂停工作,其它部分仍稳步工作;另一种就是,除片内ram稳步保持数据外,其它部分都暂停工作。

MCS-51单片机结构及原理题解

MCS-51单片机结构及原理题解

第2章 MCS-51单片机‎结构及原理‎习题1.MSC-51单片机‎内部由哪些‎功能部件组‎成,各有什么功‎能?答:以80C5‎‎1单片机为‎例,其内部功能‎部件有:控制器:是对取自程‎‎序存储器中‎‎的指令进行‎‎译码,在规定的时‎‎刻发出各种‎‎操作所需的‎‎控制信号,完成指令所‎规定的功能‎;运算器:根据控制器‎发来的信号‎,执行算术逻‎辑运算操作‎;存储器:包括程序存‎储和数据存‎储器;定时器计数‎器:2个16位‎定时器/计数器,可对机器周‎期计数,也可对外部‎输入脉冲计‎数;中断系统:可响应三个‎内部中断源‎和两个外部‎中断源的中‎断请求;输入输出接‎口:4个8位并‎行口和一个‎全双工串行‎口;2.MSC-51单片机‎外部引脚的‎名称是什么‎?各有什么功‎能?答:(1) 电源及晶振‎引脚VCC(40脚):+5V电源引‎脚VSS(20脚):接地引脚XTAL1‎(19脚);外接晶振引‎脚(内置放大器‎输入端)XTAL2‎(18脚):外接晶振引‎脚(内置放大器‎输出端)(2) 控制引脚RST/V PD(9)为复位/ 备用电源引‎脚ALE/PROG(30)为地址锁存‎使能输出/ 编程脉冲输‎入PSEN(29):输出访问片‎外程序存储‎器读选通信‎号EA/ VPP (31):外部ROM‎‎允许访问/ 编程电源输‎入(3) 并行I/O口引脚P0.0~P0.7(39~32脚)——P0口;P1.0~P1.7(1~8脚)——P1口;P2.0~P2.7(21~28脚)——P2口;P3.0~P3.7(10~17脚)——P3口。

3.51系列单‎片机的封装‎有哪些类型‎?请说明每一‎种封装引脚‎之间的距离‎。

答:51系列单‎片机的封装‎有:40引脚双‎列直插封装‎(DIP——dual in-line packa‎g e),引脚之间的‎距离是10‎‎0m il(2.54mm);44引脚方‎形扁平封装‎(QFP ——quad flat packa‎g e)方式,引脚之间的‎距离是2.54mm;44引脚带‎引线的塑料‎芯片载体P‎LCC(Plast‎ic Leade‎d Chip Carri‎e r)。

MCS-51作业讲解

MCS-51作业讲解

③ 位地址7CH与字节地址7CH如何区别?位地址 7CH具体在片内RAM中什么位置?
答:位地址7CH与字节地址7CH靠所使用的指令 或指令中所使用的寄存器来区别,当使用 位指令或指令中使用“C”寄存器时表明此 时的地址是位地址,其余情况均为字节地 址。 位地址7CH具体在片内RAM2FH单元中D4位。
CJNE A,30H,NEXT ;两数比较,不等转NEXT SJMP NOCHA ;相等转NOCHA(不交换位置)
NEXT:JNC NOCHA;C=0则(A)>(30H)不交换, 转NOCHA(@R1>R0@)
MOV @R0,A;交换R0与R1指向单元的数 XCH A,30H ;将@R1中的数(A)与30H
⒍ MCS-51单片机如何实现工作寄存器组 R0-R7的选择?
答:用户可通过改变PSW中的RS1和RS0的 两位的值选择相应的工作寄存器组。
⒎什么是时钟周期、机器周期、指令周期?当 单片机时钟频率为12 MHz时,一个机器周期 是多少?ALE引脚的输出频率是多少?
答:时钟周期:指为单片机提供时钟信号的振 荡源的周期.
(原R0 )交换 MOV @R1,A;使A(原R0中数)→@R1 NOCHA:INC R0;调节地址指针
INC R1 DJNZ R3,LOOP1;内循环结束判别 DJNZ R2,LOOP0;外循环结束判别
RET
MOV R0,#51H MOV R5,#07H MOV R4,#00H MOV A, @R0 INC R0 LP: ADD A, @R0 JNC LP1 INC R4 CLR C LP1:INC R0 DJNZ R5,LP
⒉在以3000H为首地址的外部单元中,存放了14 个ASCII码表示的0~9之间的数,试编写程序 将它们转换为BCD码,并以压缩型BCD码的 形式存放在以2000H为首地址的外部单元中. MOV DPTR,#2000H MOV P2,#20H MOV R0,#00H MOV R3,#07H LOOP: MOVX A,@R0

MCS-51单片机原理和接口技术习题参考答案

MCS-51单片机原理和接口技术习题参考答案

MCS-51单片机原理及接口技术习题参考答案第一章绪论1-1解答:第一台计算机的研制目的是为了计算复杂的数学难题。

它的特点是:计算机字长为12位,运算速度为5 000次/s,使用18 800个电子管,1 500个继电器,占地面积为150 m2,重达30 t,其造价为100多万美元。

它的诞生,标志着人类文明进入了一个新的历史阶段。

1-2解答:单片微型计算机简称单片机。

一个完整的单片机芯片至少有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口等部件。

1-3解答:单片机的发展大致经历了四个阶段:第一阶段(1970—1974年),为4位单片机阶段;第二阶段(1974—1978年),为低中档8位单片机阶段;第三阶段(1978—1983年),为高档8位单片机阶段;第四阶段(1983年至今),为8位单片机巩固发展阶段及16位单片机、32位单片机推出阶段。

1-4解答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列产品;Motorola公司的6801、6802、6803、6805、68HC11系列产品;Zilog公司的Z8、Super8系列产品;Atmel公司的AT89系列产品;Fairchild公司的F8和3870系列产品;TI公司的TMS7000系列产品;NS公司的NS8070系列产品;NEC公司的μCOM87(μPD7800)系列产品;National公司的MN6800系列产品;Hitachi公司的HD6301、HD63L05、HD6305。

1-5解答:(1)8031/8051/8751三种型号,称为8051子系列。

8031片内没有ROM,使用时需在片外接EPROM。

8051片内含有4KB的掩模ROM,其中的程序是生产厂家制作芯片时烧制的。

8751片内含有4KB的EPROM,用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序。

(2)8032A/8052A/8752A是8031/8051/8751的增强型,称为8052子系列。

单片机课后习题解答

单片机课后习题解答

单片机课后习题解答练习练习练习第二章单片机结构及原理1、mcs-51单片机内部涵盖哪些主要功能部件?它们的促进作用就是什么?请问:(1)一个8bitcpu就是微处理器的核心,就是运算和逻辑排序的中心。

(2)片内震荡器及时钟电路:提供标准时钟信号,所有动作都依据此进行。

(3)4krom程序存贮器:存贮程序及常用表格。

(4)128bram数据存贮器:暂存一些中间变量和常数等。

(5)两个16bit定时器/计数器:全然硬件定时器(6)32根可编程i/o口线:标准8位双向(4个)i/o接口,每一条i/o线都能独立地作输入或输出。

(7)一个可编程全双工串行口。

(8)五个中断源。

2、什么是指令?什么是程序?请问:指令就是规定计算机继续执行某种操作方式的命令。

程序是根据任务要求有序编排指令的集合。

3、如何重新认识89s51/52存储器空间在物理结构上可以分割为4个空间,而在逻辑上又可以分割为3个空间?答:89s51/52存储器空间在物理结构上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。

在逻辑上有3个存储器地址空间:片内、片外统一的64kb程序存储器地址空间,片内256b数据存储器地址空间,片外64kb的数据存储器地址空间。

4、开机复位后,cpu使用的是哪组工作寄存器?他们的地址是多少?cpu如何确定和改变当前工作寄存器组?请问:开机登位后,cpu采用的就是第0组与工作寄存器,地址为00h~07h,cpu通过发生改变状态字寄存器psw中的rs0和rs1去确认工作寄存器组。

5、什么是堆栈?堆栈有何作用?在程序设计时,有时为什么要对堆栈指针sp重新赋值?如果cpu在操作中要使用两组工作寄存器,sp应该多大?请问:堆栈就是一个特定的存储区,主要功能就是暂时存放数据和地址,通常用以维护断点和现场。

堆栈指针sp登位后指向07h单元,00h~1fh为工作寄存器区,20h~2fh为十一位串行区,这些单元存有其他功能,因此在程序设计时,须要对sp再次赋值。

MCS-51单片机系统及接口技术_习题集(含答案)

MCS-51单片机系统及接口技术_习题集(含答案)

《MCS-51单片机系统及接口技术》课程习题集【说明】:本课程《MCS-51单片机系统及接口技术》(编号为09001)共有单选题,判断题,阅读分析,问答与作图题, 填空题等多种试题类型,其中,本习题集中有[阅读分析]等试题类型未进入。

一、单选题1.下面哪些指令是访问ROM的指令?(A)MOVX A,@DPTR (B)MOVC A,@A+PC(C)MOVC A,@A+DPTR (D)MOVX @DPTR,A2.下面哪些指令执行后,能够对PSW寄存器产生影响?(A)DEC 3FH (B)ADD A,3FH(C)SUBB A,R0(D)CJNE A,3FH,rel3.要访问MCS-51单片机的特殊功能寄存器应使用的寻址方式是(A)寄存器间接寻址,(B)变址寻址,(C)直接寻址,(D)相对寻址4.要确定51单片机P1口的输入、输出工作方式,下面哪种说法是正确的?(A)由编程决定;(B)由输入/输出设备决定;(C)由读引脚或写引脚指令决定;(D)由CPU读写命令决定;5.微机设置堆栈的目的是:(A)起数据缓冲作用;(B)存放将要处理的数据;(C)保存程序断点地址;(D)保存程序断点地址和数据。

6. CPU访问外部存储器的时候,下面哪种说法是正确的?(A)DPTR既可以存放ROM的地址又可以存放RAM的地址;(B)DPTR只能存放ROM的地址;(C)DPTR只能存放RAM的地址;7.在程序设计中使用MOV PSW,#10H 指令的目的是:(A)当前程序使用第2组工作寄存器(B)程序初始化(C)给一个单元赋初值(D)将立即数10H暂存入PSW中8. 51单片机的堆栈操作,应该是:(A)先入栈,再修改指针(B)先修改栈指针,再出栈(C)先修改栈指针,再入栈(D)以上都不对。

9.执行返回指令时,返回的断点是:(A)调用指令的首地址(B)调用指令的末地址(C)调用指令下一条指令的首地址(D)返回指令的末地址10.可以使程序循环转移的指令是:(A)AJMP addr11 (B)DJNZ R n ,rel(C)SJMP rel (D)ACALL addr1111. CPU响应中断后,将产生哪些操作?(A)保护现场(B)自动到中断服务程序去执行(C)断点地址进栈(D)断点地址进栈,将矢量地址装入PC12. 51单片机外扩8155芯片后,可以扩展的I/O口线是:(A)16根(B)22根(C)24根(D)32根13.下面哪一个部件不属于CPU的部件?(A)IP (B)ALU (C)PC (D)PSW14.要把P1口高4位变为0,低4位不变,应使用下列哪条指令?(A)ORL P1,#0FH (B)ORL P1,#0F0H(C)ANL P1,#0F0H (D)ANL P1,#0FH15. CPU响应中断后,原来程序的断点地址和数据应该由下面哪一条来完成?(A)由CPU自动完成(B)在中断响应中完成(C)应由硬件和中断服务程序完成(D)在主程序中完成16.某种存储器芯片的容量是16KB,那么它与地址总线连接的根数是:(A)11根,(B)12根,(C)13根,(D)14根,(E)15根17.定时器T0、T1的启动/停止应由下面哪一条来完成?(A)由程序来完成(B)由硬件自动完成(C)当GATE=0时,由TR0、TR1置位、清0完成18. 51单片机直接寻址指令中的直接地址单元有哪些?(A)产品厂家给出的地址单元(B)20H~7FH单元和部分SFR寄存器(C)30H~7FH单元(D)片内RAM和SFR寄存器19.下面哪些指令执行后,能够对PSW寄存器产生影响?(A)DEC 3FH (B)ADD A,3FH(C)SUBB A,R0(D)CJNE A,3FH,rel20. 6264芯片是(A)64KB EPROM (B)8KB RAM (C)64KB RAM21.指令LCALL addr16 执行后,硬件会自动产生下列操作。

51单片机课后习题答案孙育才东南大学

51单片机课后习题答案孙育才东南大学

第一章:1.目前微型计算机正沿着哪两个分支迅速发展?为什么会形成单片机这一分支?答:(1)目前微型计算机正沿着通用计算机系统和嵌入式系统这两个分支迅速发展。

(2)为了满足更广泛的实时应用的需要,从微型计算机家族中形成单片机这一分支。

2.什么是单片微型计算机?它与典型微型计算机在结构上有和区别?答:(1)见书P1。

(在一块单晶芯片内集成了……,简称单片机。

)(2)与典型微型计算机在结构上的区别是:单片机采用哈佛结构,存储器ROM和RAM 是严格区分、相互独立的,程序和数据存储器独立编址,而典型微机采用冯.诺依曼结构,程序和数据存储器统一编址。

3.单片机具有哪些突出优点?答:单片机的突出优点:体积小、重量轻、单一电源、功耗低、功能强、价格低廉、运算速度快、抗干扰能力强、可靠性高。

4.MCS-51系列各档单片机各有什么特点?同一档次的8051、8751、8031又有何区别?答:(1)不同型号MCS-51单片机CPU处理能力和指令系统完全兼容,只是存储器、定时器、中断源和I/O接口的配置有所不同。

(2)8051:片内含有掩膜ROM型程序存储器;只能由生产厂家代为用户固化;批量大、永久保存、不修改时用。

8751:片内含EPROM型程序存储器;用户可固化,可用紫外线光照射擦除;但价格高。

8031:片内无程序存储器,可在片外扩展;方便灵活,价格便宜。

5.何谓工业级产品?单片机有几级产品?如何合理选择?答:(1)工作环境介于民用级和军用级之间的产品。

(2)单片机芯片分有三级产品:民用级、工业用级和军品级。

(3)选用单片机时应注意与构成系统的其他元器件相匹配,并满足相关技术要求。

第二章:1.MCS-51系列单片机从制造工艺、功能结构上分为哪几种类型和产品?答:见书P10。

(倒数第三段部分)2.MCS-51系列单片机内部包含哪些主要逻辑功能部件?答:见书P10-11。

3.为了更好地适应“面向控制”的应用特点,MCS-51单片机的CPU作了哪些独特的改进?答:为了更好地适应“面向控制”的应用特点,MCS-51单片机的CPU具有一般微机ALU所不具备的位处理功能。

MCS-51单片机技术项目驱动教程C语言第二版牛军课后参考答案

MCS-51单片机技术项目驱动教程C语言第二版牛军课后参考答案

MCS-51单片机技术项目驱动教程C语言第二版习题答案第1章思考与练习1. 什么是单片机?最早的单片机是什么时间推出的?答:单片机是单片微型计算机的简称,它将中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、中断系统、定时器/计数器、串行口和I/O接口等主要计算机部件集成在一块大规模集成电路芯片上,具有了微型计算机的组成结构和功能。

最早的单片机是在20世纪70年代初推出的。

2. 简述单片机的特点。

答:单片机具有种类众多、性价比高、集成度和可靠性高、存储器ROM和RAM严格区分、采用面向控制的指令系统、I/O引脚通常是多功能的、外部扩展能力强等特点。

3. 什么是MCS-51单片机?最早是哪家公司推出的?答:MCS-51单片机是所有兼容Intel 8051指令系统单片机的统称,最早由Intel 公司推出。

4. 说出4种以上常用的单片机类型。

答:(1)MCS-51单片机;(2)AVR单片机;(3)PIC单片机;(4)MSP430单片机;(5)Motorola单片机。

5. 什么是总线?单片机中的总线有哪几种?答:总线是指从任意一个源点到任意一个终点的一组传输数字信息的公共通道。

单片机中总线包括地址总线、数据总线和控制总线三种。

6. 简述单片机中位和字节的概念。

答:一个二进制数叫1位,相邻的8位二进制数构成一个字节。

7.存储地址的作用是什么?答:存储地址用来定义每个存储单元,以供CPU寻址、操作。

第2章思考与练习1. AT89C51单片机的内部ROM 和RAM分别是多大空间?最多可扩展多少空间?答:分别是4KB和128B,ROM最多可扩展60KB,RAM最多可扩展64KB。

2. AT89C51单片机有哪几个中断源?答:有3个内部中断源和2个外部中断源。

3. 画出MCS-51单片机的复位电路原理图,包括上电复位和手动复位功能,并根据参数计算上电复位时高电平的持续时间。

答:复位电路原理图如下图所示。

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的功能。

第2章单片机原理课后答案

第2章单片机原理课后答案

习题1. MCS-51单片机由哪几个部分组成?答:MCS-51单片机主要由以下部分组成的:时钟电路、中央处理器(CPU)、存储器系统(RAM和ROM)、定时/计数器、并行接口、串行接口、中断系统及一些特殊功能寄存器(SFR)。

2. MCS-51的标志寄存器有多少位,各位的含义是什么?答:MCS-51的标志寄存器PSW有8位;D D D D D D DD7P含义如下:C(PSW.7):进位或借位标志位。

AC(PSW.6):辅助进位或借位可标志位。

F0(PSW.5):用户标志位。

是系统预留给用户自己定义的标志位。

RS1、RS0(PSW.4、PSW.3):寄存器组选择位。

可用软件置位或清零,用于从四组工作寄存器中选定当前的工作寄存器组。

OV(PSW.2):溢出标志位。

在加法或减法运算时,如运算的结果超出8位二进制数的范围,则OV置1,标志溢出,否则OV清零。

P(PSW.0):奇偶标志位。

用于记录指令执行后累加器A中1的个数的奇偶性。

若累加器A中1的个数为奇数,则P置位,若累加器A中1的个数为偶数,则P清零。

其中PSW.1未定义,可供用户使用。

3. 8051程序存储器分哪几部分,相互之间有什么关系?答:程序存储器从物理结构上分为片内程序存储器和片外程序存储器。

片内程序存储器集成在芯片内部,不同的芯片容量不一样。

片外程序存储器是外部用只读存储芯片扩展而来的,存储空间大小随存储芯片容量而定。

片内程序存储器和片外程序存储器的总空间大小不能超过64K字节。

片内程序存储器地址空间和片外程序存储器的低地址空间重叠。

通过引脚EA电平的高低来决定的。

EA接低电平,选择从片外程序存储器取指令;EA接高电平,选择从片内程序存储器取指令。

4. 在8051的存储器结构中,内部数据存储器可分为几个区域?各有什么特点?答:内部数据存储器总体上分为两部分:片内的随机存储块和特殊功能寄存器(SFR)块。

片内的随机存储块按功能可以分成以下几个部分:工作寄存器组区(00H~1FH单元)、位寻址区(20H~2FH)和一般RAM区(30H~7FH),其中还包含堆栈区(08H开始)。

MCS51单片机答案

MCS51单片机答案

1、MCS-51单片机的时钟周期与振荡周期之间有什么关系?一个机器周期的时序如何划分?答:时钟周期是单片机最基本的时间单位。

机器周期则是完成某一个规定操作所需的时间。

一个机器周期为6个时钟周期,共12个振荡周期性,依次表示为S1P1、S1P2、……S6P1、S6P2。

2、MCS-51内部四个并行I/O口各有什么异同?作用是什么?答:MCS-51单片机共有四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器。

但这四个端口的功能不全相同,P0口既可作一般I/O端口使用,又可作地址/数据总线使用;P1口是一个准双向并行口,作通用并行I/O口使用;P2口除了可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用;P3口是一个多功能口除具有准双向I/O功能外,还具有第二功能。

3、简述MCS-51单片机的中断响应过程。

答:CPU在每个机器周期的S5P2期间顺序采样每个中断源,在下一个机器周期S6区间按优先级顺序查询中断标志,如查询到某个中断定标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入 PC,以便进入相应的中断服务程序。

一旦响应中断,CPU首先置位相应的中断“优先级触发器”,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行。

对于有些中断源,CPU在响应中断后会自动清除中断标志。

5、MCS-51单片机内部包括哪些主要逻辑功能部件?答:MCS-51单片机主要由下列部件组成: 1个8位CPU;1个片内振荡器及时钟电路;4KB ROM程序存储器,256BRAM;21个特殊功能寄存器;2个16位定时/计数器;4个8位并行I/O口及1个可编程全双工串行接口;可寻址64KB的外部程序存储器空间;可寻址64KB的外部数据存储器空间;5个中断源、两个优先级中断嵌套中断结构。

新版MCS-51单片机答案,哈工大,嘿嘿---前六章

新版MCS-51单片机答案,哈工大,嘿嘿---前六章

第一章1-3:单片机与普通计算机的不同之处在于其将()()和()三部分集成于一块芯片上。

答:CPU、存储器、I/O口1-8:8051与8751的区别是:A、内部数据存储但也数目的不同B、内部数据存储器的类型不同C、内部程序存储器的类型不同D、内部的寄存器的数目不同答:C第二章2-4:在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为()。

答:2us。

2-6:内部RAM中,位地址为30H的位,该位所在字节的字节地址为()。

答:26H2-7:若A中的内容为63H,那么,P标志位的值为()。

答:02-8:判断下列说法是否正确:A、8031的CPU是由RAM和EPROM所组成。

B、区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。

C、在MCS-51中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1。

D、PC可以看成使程序存储器的地址指针。

答:错、错、对、对2-9:8031单片机复位后,R4所对应的存储单元的地址为(),因上电时PSW=()。

这时当前的工作寄存器区是()组工作寄存器区。

答:04H、00H、02-11:判断以下有关PC和DPTR的结论是否正确?A、DPTR是可以访问的,而PC不能访问。

B、它们都是16位的存储器C、它们都有加1的功能。

D、DPTR可以分为两个8位的寄存器使用,但PC不能。

答:对、对、对、对2-13:使用8031芯片时,需将/EA引脚接()电平,因为其片内无()存储器。

答:低、程序2-14:片内RAM低128个单元划分为哪3个主要部分?各部分的主要功能是什么?答:工作寄存器区、位寻址区、数据缓冲区,功能(略)2-15:判断下列说法是否正确A、程序计数器PC不能为用户编程时直接使用,因为它没有地址。

B、内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。

C、8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。

单片机课后作业答案(万福君)

单片机课后作业答案(万福君)

答:电路图如下:
U V
&
≥1
F
W X
≥1
逻辑表达式: F U V (W X ) 重新整理编写程序如下:
ORG U V W X START: BIT BIT BIT BIT MOV MOV ANL CPL MOV MOV ORL ORL MOV SJMP END 0100H P1.0 P1.1 P1.2 P1.3 P1, #0FH C, U C, V C ACC.0, C C, W C, /X C, ACC.0 F, C $ ;P1.2 | /P1.3 ;P1 作为输入前的准备,使场效应管截止 ;读入 P1.0,存入在进位标志 ;P1.0 & P1.1 ;取反
1.1.10 3-20
分析以下程序段,何时转向 LABEL1?何时转向 LABEL2?
MOV CPL JZ INC JZ …… A, R0 A LABEL1 A LABEL2
答:R0 中内容为 0FFH 时转向 LABEL1,R0 中内容为 00H 时转向 LABEL2。
1.1.11 3-23
4
有四个变量 U、V、W、X 分别从 P1.0~P1.3 输入,阅读如下程序,写出逻辑表达式并画出逻辑电路 图。请使用 ORG、END、BIT 等伪指令重新编写该程序段。
MOV MOV ANL CPL MOV MOV ORL ORL MOV SJMP P1, #0FH C, P1.0 C, P1.1 C ACC.0, C C, P1.2 C, /P1.3 C, ACC.0 F, C $ ;P1.2 | /P1.3 ;P1 作为输入前的准备,使场效应管截止 ;读入 P1.0,存入在进位标志 ;P1.0 & P1.1 ;取反 ;暂存 ACC.0

MCS51单片机课后作业解答

MCS51单片机课后作业解答

MCS51单片机作业解答第二章 MCS-51单片机的结构和原理(1) MCS-51单片机芯片包含哪些主要功能部件?答:CPU、4KBROM、128B RAM、4个8位I/O口、2个定时计数器、串行I/O口、中断系统、时钟电路、位处理器、总线结构。

(2)MCS-51单片机的 /EA端有何用途?答:当/EA =0 只访问片外程序区;当/EA=1时,先访问片内程序区,当PC超过片内程序容量时,自动转向外部程序区。

(3)MCS-51单片机有哪些信号需要芯片引脚以第二功能的方式提供?答:RXD、TXD、/INT0、/INT1、T0、T1、/WR、/RD(4)MCS-51单片机的4个I/O口在使用上各有什么功能和特点?答:P1口通用输入输出;P0口数据总线、地址总线低8位、通用输入输出P2口地址总线高8位、通用输入输出P3第2功能信号、通用输入输出。

(5)单片机的存储器分哪几个空间? 试述各空间的作用。

答:程序存储器:内部ROM、外部ROM数据存储器:内部基本RAM、专用寄存器区、外部RAM(6)简述片内RAM中包含哪些可位寻址单元?答:20H~2FH共16个可寻址单元(7)什么叫堆栈? 堆栈指针SP的作用是什么? 在程序设计中为何要对SP重新赋值?答:只允许数据单端输入输出的一段存储空间。

SP的作用是用来存放堆栈栈顶的地址。

因为SP的初值是07H,后继的是寄存器区和位寻址区,为了便于编程工作,要修改SP.(8)程序状态字寄存器PSW 的作用是什么?简述各位的作用。

答:PSW用来存放程序执行状态的信息,CY—加减运算的进位、借位AC—辅助进位标志,加减运算的低4位进位、借位(9)位地址65H 与字节地址65H 如何区别? 位地址65H具体在片内RAM中什么位置?答:位地址65H中是一位0/1的数据,字节地址65H是8位0/1的数据。

位地址65H在片内RAM中2CH单元第5位。

(10)什么是振荡周期、时钟周期、机器周期和指令周期? 如何计算机器周期的确切时间? 答:振荡周期——为单片机提供信号的振荡源的周期时钟周期——振荡脉冲2分频的信号机器周期——完成一个基本操作需要的时间,是振荡周期/12=1T指令周期——执行1条指令需要的时间 1~4T(11)单片机工作时在运行出错或进入死循环时,如何处理?答:复位处理,在单片机的RESET加持续1段时间的高电平(12)使单片机复位的方法有几种?复位后单片机的初始状态如何?分上电复位和手动复位。

MCS-51单片机原理及应用课后习题答案 天津大学出版社

MCS-51单片机原理及应用课后习题答案 天津大学出版社

第一章思考题及习题1-1请写出下列各十进制数在八位微型机中的原码、反码和补码形式:(1)X=十48 (2)X=+123 (3)X=-34 (4)X=-1151-2将下列数看作八位微型机中带符号数的原码、反码和补码时,写出相应的真值:(1)B (2)B (3)B (4)B1-3写出下列各数的BCD码:(1)47 ---47H 0100 0111B (2)78 --78H 0111 1000B(3)1996 --1996H 0001 1001 1001 0110B (4)115 --115H 0001 0001 0101B 1-4 用十六进制形式写出下列字符的ASCll码:1-5将下列数据进行加法和减法运算,写在前面的数为被加数或被减数(写出竖式)。

(1)97H和OFH (2)0A6H和33H (3)0F3H和0F4H (4)0B6H和0EDH 一、加法(1)97H和OFH被加数 1 0 0 1 0 1 1 1 B =97H加数0 0 0 0 1 1 1 1 B =0FH+和 1 0 1 0 0 1 1 0 B =A6HC8=0 ,C7=0 0V =0 ,CY =0分析:无符号数:CY=0, 97H+0FH=0A6H=166 ∵151+15=166带符号数:OV=0, 97H+0FH=0A6H 真值=-5AH=-90 ∵-69H+15=-105+15=-90 (2)0A6H和33H被加数 1 0 1 0 0 1 1 0 B =A6H加数0 0 1 1 0 0 1 1 B =33H+和 1 1 0 1 1 0 0 1 B =F9HC8=0 ,C7=0 0V =0 ,CY =0分析:无符号数:CY=0, A6H+33H=0D9H=217 ∵166+51=217带符号数:OV=0, A6H+33H=0D9H 真值=-27H=-39 ∵-5AH+51=-90+51=-39(3)0F3H和0F4H被加数 1 1 1 1 0 0 1 1 B =F3H加数 1 1 1 1 0 1 0 0 B =F4H+和 1 1 1 1 0 0 1 1 1 B =E7HC8=1 ,C7=1 0V =0 ,CY =1分析:无符号数:CY=1, F3H+F4H=100H+0E7H=1E7H=487 ∵243+244=487带符号数:OV=0, F3H+F4H=0E7H 真值=-19H=-25 ∵-13+(-12)= -25(4)0B6H和0EDH被加数 1 0 1 1 0 1 1 0 B =B6H加数 1 1 1 0 1 1 0 1 B =EDH+和 1 1 0 1 0 0 0 1 1 B =A3HC8=1,C7=1 0V =0 ,CY =1分析:无符号数:CY=1,B6H+EDH=100H+0A3H=1A3H ∵182+237=419带符号数:OV=0, B6H+EDH=0A3H 真值=-5DH=-93 ∵-4AH-13H=-74-19=-93二、减法:(1)97H和OFH被减数 B-减数 B求补B 取反+ 1 加1+ B进位差 B分析:无:CY=/C8=/1=0,∵97H-0FH=88H, 151-15=136带:C8=1,C7=1 OV=0, ∵97H-0FH=88H, 真值=-78H=-120 ∴-105-15=-120(2)0A6H和33H被减数 B-减数 B求补B 取反+ 1 加1+ B差 B分析:无:CY=/C8=/1=0,∵0A6H-33H=73H, 166-51=115带:C8=1,C7=0,OV=1, ∵0A6H-33H=63H, OVER ∴-90-51=-141<-128 (3)0F3H和0F4H被减数 B-减数 B求补B 取反+ 1 加1+ B差 B分析:无:CY=/C8=/0=1,∵0F3H-0F4H=-100H+0FFH=-1带:C8=0,C7=0,OV=0, ∵0F3H-0F4H=0FFH, 真值=-(00H-0FFH)=-1(4)0B6H和0EDH被减数 B-减数 B求补B 取反+ 1 加1+ B差 B分析:无:CY=/C8=/0=1,∵0B6H-0EDH=-100H+0C9H=-37H=-55带:C8=0,C7=0,OV=0, ∵0B6H-0EDH=0C9H, 真值=-(00H-0C9H)=-37H=-551-6完成下列数据的乘除运算,写在前面的数为被乘数或被除数(写出竖式)。

单片机课后作业答案(万福君)

单片机课后作业答案(万福君)

答: 以内部存储器地址 2FH 作为栈底, 从 30H 开始一直到 7FH, 依次存放外部数据存储器中 2000H~ 204FH 地址中的数据。7FH 作为栈顶。程序完成后 SP=7FH。 (将外部 RAM 中的数据通过堆栈传送到内 部 RAM)
1.1.6 3-9
分析下列程序段执行结果,程序执行完后,SP 指向哪里?
答:电路图如下:
U V
&
≥1
F
W X
≥1
逻辑表达式: F U V (W X ) 重新整理编写程序如下:
ORG U V W X START: BIT BIT BIT BIT MOV MOV ANL CPL MOV MOV ORL ORL MOV SJMP END 0100H P1.0 P1.1 P1.2 P1.3 P1, #0FH C, U C, V C ACC.0, C C, W C, /X C, ACC.0 F, C $ ;P1.2 | /P1.3 ;P1 作为输入前的准备,使场效应管截止 ;读入 P1.0,存入在进位标志 ;P1.0 & P1.1 ;取反
答:在外部数据存储器中的以下地址内存放数据: (向外部存储器放数据) (2000H)=30H (2001H)=31H (2002H)=32H ┇ ┇ (2009H)=39H
1.1.5 3-8
简述下列程序段完成的功能,程序完成后 SP 指针应指向哪里?
MOV MOV MOV NEXT: MOVX PUSH INC DJNZ SJMP SP, #2FH DPTR, #2000H R7, #50H A, @DPTR A DPL R7, NEXT $ ;堆栈指针先加 1 再赋值 ;共 50H 个数据 ;设置栈底
MOV MOV ANL CPL MOV MOV ORL ORL MOV SJMP P1, #0FH C, P1.0 C, P1.1 C ACC.0, C C, P1.2 C, /P1.3 C, ACC.0 F, C $ ;P1.2 | /P1.3 ;P1 作为输入前的准备,使场效应管截止 ;读入 P1.0,存入在进位标志 ;P1.0 & P1.1 ;取反 ;暂存 ACC.0

(完整版)单片机课后习题答案最终修改版

(完整版)单片机课后习题答案最终修改版

第二章1、MCS-51系列单片机内部有哪些主要的逻辑部件?答:MCS-51系列单片机内部主要逻辑部件有:算术/逻辑部件ALU、累加器A(有时也叫ACC)、只读存储器ROM、随即存储器RAM、指令寄存器IR、程序计数器PC、定时器/计数器、I/O接口电路、程序状态寄存器PSW、寄存器组。

3、MCS-51内部RAM区功能如何分配?如何选用4组工作寄存器中的一组作为当前的工作寄存器组?位寻址区域的字节地址范围是多少?答:MCS-51单片机内部RAM共128B,地址空间为00H-7FH,按照功能分为用户区、位寻址区和寄存器工作区。

00H~1FH是32B单元的4个工作寄存器组,单片机执行程序时,具体使用哪一组是通过对PSW的RS1、RS0两位的设置来实现的。

可以位寻址的地址范围是20H~2FH的16B共128位的内部RAM区,按字节寻址的地址范围是30H~7FH共80B的内部RAM区。

5、8031设有4个8为并行端口,若实际应用8为I/O口,应使用P0~P3中的哪个端口传送?16位地址如何形成?答:(1)P1口是专门供用户使用的I/O口,是准双向接口,故可以使用P1口传送;(2)P0既可以做地址/数据总线使用,又可作通用I/O使用。

一方面用来输出外部存储器或I/O的低八位地址,另一方面作为8位数据输入/输出口,故由P0口输出16位地址的低八位。

(3)P2口作为通用I/O口使用,与P1口相同。

当外接存储器或I/O时,P2口给出地址的高八位,故P2 口输出16位地址的高八位。

8、MCS-51的时钟周期、机器周期、指令周期是如何分配的?当震荡频率为10MHz时,一个机器周期为多少微秒?答:CPU执行一条指令的时间称为指令周期,它是以机器周期为单位的。

MCS-51典型的指令周期为一个机器周期,每个机器周期由6个状态周期组成,每个状态周期由2个时钟周期(振荡周期)组成。

一个机器周期=6*一个状态周期=12*一个时钟周期=12/振荡周期当振荡周期为10MHz时,一个机器周期为12/10MHz=1.2us9、在MCS-51扩展系统中,片外程序存储器和片外数据存储器地址一样时,为什么不发生冲突?答:(1)、程序存储器和数据存储器物理上是独立的,寻址片外程序存储器和片外数据存储器的寻址方式、寻址空间和控制信号不同。

MCS-51单片机原理及应用课后习题答案_天津大学出版社

MCS-51单片机原理及应用课后习题答案_天津大学出版社

4-13试编程实现将20H单元的两位BCD数相乘,结果以BCD码的形式存于21H单元当中。

ORG 0000HMOV 20H,#56HMOV A,20HANL A,#0FHMOV B,AMOV A,20HANL A,#0F0HSWAP AMOV R2,ADEC BLOOP: ADD A,R2DA ADJNZ B,LOOPMOV 21H,ASJMP $END4-13-2ORG 0000HMOV 20H,#56HMOV A,20HMOV R0,#21HMOV 21H,#0XCHD A,@R0MOV B,@R0SWAP AMOV R2,ADEC BLOOP: ADD A,R2DA ADJNZ B,LOOPMOV 21H,ASJMP $END4-7设一个加数在50H~52H单元中,另一个加数在53H~55H中,进位存放在位地址00中,试编程实现两数求和。

ORG 000HONE DATA 50HWEI BIT 00HMOV R0,#ONEMOV R1,#TWO ; MOV C,WEICLR CMOV R2,#3 LOOP: MOV A,@R0 ADDC A,@R1MOV @R0,AINC R0INC R1DJNZ R2,LOOPMOV WEI,CSJMP $END4-7-2ORG 0000HONE DATA 50HWEI BIT 00HMOV R0,#ONEMOV R1,#TWO CLR CMOV R2,#3SETB RS0MOV R0,#58HCLR RS0 LOOP: MOV A,@R0 ADDC A,@R1INC R0INC R1SETB RS0MOV @R0,AINC R0CLR RS0DJNZ R2,LOOPMOV WEI,CSJMP $END4-11试用除法指令将20H单元的两位BCD码变成ASCII码后存入21H和22H单元。

ORG 0000HMOV 20H,#67HMOV A,20HMOV B,#10HDIV ABADD A,#30HMOV 21H,AORL B,#30HMOV 22H,BSJMP $END4-1从20H单元开始存放一组带符号数,其数目已存在1FH单元。

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

MCS51单片机作业解答第二章 MCS-51单片机的结构和原理(1) MCS-51单片机芯片包含哪些主要功能部件?答:CPU、4KBROM、128B RAM、4个8位I/O口、2个定时计数器、串行I/O口、中断系统、时钟电路、位处理器、总线结构。

(2)MCS-51单片机的 /EA端有何用途?答:当/EA =0 只访问片外程序区;当/EA=1时,先访问片程序区,当PC超过片程序容量时,自动转向外部程序区。

(3)MCS-51单片机有哪些信号需要芯片引脚以第二功能的方式提供?答:RXD、TXD、/INT0、/INT1、T0、T1、/WR、/RD(4)MCS-51单片机的4个I/O口在使用上各有什么功能和特点?答:P1口通用输入输出;P0口数据总线、地址总线低8位、通用输入输出P2口地址总线高8位、通用输入输出P3第2功能信号、通用输入输出。

(5)单片机的存储器分哪几个空间? 试述各空间的作用。

答:程序存储器:部ROM、外部ROM数据存储器:部基本RAM、专用寄存器区、外部RAM(6)简述片RAM中包含哪些可位寻址单元?答:20H~2FH共16个可寻址单元(7)什么叫堆栈? 堆栈指针SP的作用是什么? 在程序设计中为何要对SP重新赋值?答:只允许数据单端输入输出的一段存储空间。

SP的作用是用来存放堆栈栈顶的地址。

因为SP的初值是07H,后继的是寄存器区和位寻址区,为了便于编程工作,要修改SP.(8)程序状态字寄存器PSW 的作用是什么?简述各位的作用。

答:PSW用来存放程序执行状态的信息,CY—加减运算的进位、借位AC—辅助进位标志,加减运算的低4位进位、借位(9)位地址65H 与字节地址65H 如何区别? 位地址65H具体在片RAM中什么位置?答:位地址65H中是一位0/1的数据,字节地址65H是8位0/1的数据。

位地址65H在片RAM中2CH单元第5位。

(10)什么是振荡周期、时钟周期、机器周期和指令周期? 如何计算机器周期的确切时间? 答:振荡周期——为单片机提供信号的振荡源的周期时钟周期——振荡脉冲2分频的信号机器周期——完成一个基本操作需要的时间,是振荡周期/12=1T指令周期——执行1条指令需要的时间 1~4T(11)单片机工作时在运行出错或进入死循环时,如何处理?答:复位处理,在单片机的RESET加持续1段时间的高电平(12)使单片机复位的方法有几种?复位后单片机的初始状态如何?分上电复位和手动复位。

复位后PC=0000H ALE=0 /PSEN=1(13)开机复位后,单片机使用的是哪组工作寄存器? 它们的地址是什么? 如何改变当前工作寄存器组?答:单片机使用的是第0组工作寄存器R0-R7, 对应的地址为00H-07H,采用置位复位RS1、RS0,可以改变单片机使用的工作寄存器。

第3章 MCS-51单片机的汇编语言指令系统单片机的指令格式为:操作码+操作数[标号:] 操作码助记符 [目的操作数] [,源操作数] [;注释]答: MCS-51单片机有7种寻址方式: 立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。

立即寻址——操作数在指令中直接给出。

直接寻址——操作数存放的地址在指令中给出。

可寻址RAM128B和特殊功能寄存器寄存器寻址——操作数在寄存器中。

可寻址4组寄存器共32个字节即00H—1FH寄存器间接寻址——操作数的地址放在寄存器R0、R1、dptr中R0、R1可寻址256B DPTR可寻址64KB变址寻址——操作数的地址由变址寄存器A和基址寄存器DPTR、PC相加得到。

可寻址64KB的程序区相对寻址——实现程序的相对转移,地址围-128~+127位寻址——按位寻址,操作数的地址为位地址。

可寻址 RAM区128bit 特殊功能区的128bit答:对片RAM可以用直接寻址和寄存器寻址方式。

对片外RAM可以用寄存器寻址方式-答:在对片外RAM单元的寻址中用Ri间接寻址只能寻址当前页的256B,用dptr间接寻址可以直接寻址64KB的存答:(1)立即寻址(2)直接寻址(3)寄存器间接寻址(4)寄存器寻址(5)MOVC A A+DPTR变址寻址(6)相对寻址(7)CLR A 立即寻址 ,CLR C 位寻址答:这2条指令的操作结果相当,但是前1条指令速度快,指令短答:如A= 12H (PC) = 0FFEH + 20H +3= 1021H 如A= 10H (PC)= 0FFEH +3 = 1001H 第4章MCS-51 单片机汇编语言程序设计解: x equ 5AHY EQU 5BHORG 0100HSTART: CJNE A,#10, START1START1: JC START_M ;X<10CJNE A,#15, START2START2: JNC START_B ;X>=15MOV B,A ;10<=X<15MUL ABADD A,#8SJMP START_ENDSTART_M: MOV B,A ; X<10MUL ABDEC ASJMP START_ENDSTART_B: MOV A,#41START_END: MOV Y,ASJMP $解: data equ 50hNum equ 08hResult equ 54hCAL_AVE: MOV R0, #DATAMOV R2, #NumMOV R3, #0MOV R4, #0CLR CCAL_AVE1: MOV A, R4ADDC A, R0MOV R4, AMOV A, R3ADDC A, #0MOV R3 , ADJNZ R2, CAL_AVE1MOV R2, #3CAL_AVE2:CLR CMOV A, R3RRC AMOV R3, AMOV A, R4 ;/2RRC AMOV R4, ADJNZ R2, CAL_AVE2MOV Result, R3RET解: data1 equ 40h Data2 equ 50h Result equ 40hMult10_DATA: MOV R0 , #DATA1 MOV R1 , # DATA2MOV R2, #10HCLR CMult10_DATA1:MOV A, R0ADDC A, R0 ;*2MOV R0, AMOV R1, AINC R0INC R1DJNZ R2, Mult10_DATA1MOV R0 , #DATA1MOV R2, #10HCLR CMult10_DATA2:MOV A, R0ADDC A, R0 ;*2*2MOV R0, AINC R0DJNZ R2, Mult10_DATA2MOV R0 , #DATA1MOV R2, #10HCLR CMult10_DATA3:MOV A, R0ADDC A, R0 ;*2*2*2 MOV R0, AINC R0DJNZ R2, Mult10_DATA3MOV R0 , #DATA1MOV R1 , # DATA2MOV R2, #10HCLR CMult10_DATA4:MOV A, R0 ;*2*2*2 ADDC A, R1 ; + *2 MOV R0, AINC R0INC R1DJNZ R2, Mult10_DATA4 RET解: data equ 2000HNUM EQU 100EVEN EQU 30H ;偶数ODD EQU 31H ;奇数CAL_EVEN_ODD: MOV DPTR , #DATAMOV R2, #NUMCAL_EVEN_ODD2: MOVX A, DPTRACC.0, CAL_ODD ;INC EVENSJMP CAL_EVEN_ODD1CAL_ODD: INC ODDCAL_EVEN_ODD1: INC DPTRDJNZ R2, CAL_EVEN_ODD2 RET解: DATA_ASC EQU 2000HDATA_BCD EQU 3000HNUM EQU 10ASC_TO_BCD: MOV DPTR, #DATA_ASCMOV P2, DPHMOV R0, DPLMOV DPTR,#DATA_BCDMOV R2, #NUMASC_TO_BCD1: MOVX A, R0ANL A, #0FHSWAP AMOV B, AINC R0MOVX A, R0ANL A, #0FHORL A, BMOVX DPTR, AINC R0INC DPTRDJNZ R2, ASC_TO_BCD1RET第5章单片机C51程序设计解:unsigned int htoi(unsigned char s[], unsigned int size) {unsigned int tmp[10];unsigned int i = 0;unsigned int count = 1, result = 0;unsigned int flag = 0;if((s[i] == '0') && (s[i+1] == 'x') || (s[i+1] == 'X')) flag = 2;for(i=size-1; i>=flag; i--){if((s[i]>='0') && (s[i]<='9'))tmp[i] = s[i] - 48;else if((s[i]>='a') && (s[i]<='f'))tmp[i] = s[i] - 'a' + 10;else if((s[i]>='A') && (s[i]<='F'))tmp[i] = s[i] - 'A' + 10;elsetmp[i] = 0;result = result + tmp[i]*count;count = count*16;}return result;}解:#include <stdio.h>#include <string.h>typedef unsigned char bool;bool strend(unsigned char s[], unsigned char t[]);int main(){unsigned char s1[] = "abcdefg";unsigned char s2[] = "ef";bool flag = strend(s1, s2);printf("the result is %d\n", flag);return 0;}bool strend(unsigned char s[], unsigned char t[]){int ls = strlen(s);int lt = strlen(t);if (lt == 0)return 1;if (ls < lt)return 0;return !strcmp(&s[ls-lt],t);}解:晶振频率 12MHZ, 25ms中断1次,5次中断为125ms移位1次。

相关文档
最新文档