当前位置:文档之家› 单片机应用技术c语言版 第版王静霞 习题答案

单片机应用技术c语言版 第版王静霞 习题答案

单片机应用技术c语言版 第版王静霞 习题答案
单片机应用技术c语言版 第版王静霞 习题答案

习题 1

1.1 单项选择题

(1) A (2)C (3)C

1.2 填空题

(1)硬件系统、软件系统

(2)时钟电路、复位电路

(3)XTAL1、XTAL2、RESET、EA

(4)晶振

1.3 问答题

什么是单片机它由哪几部分组成什么是单片机应用系统

答:单片微型计算机(Single Chip Microcomputer)简称单片机,是指集成在一个芯片上的微型计算机,它的各种功能部件,包括CPU(Central Processing Unit)、存储器(memory)、基本输入/输出(Input/Output,简称I/O)接口电路、定时/计数器和中断系统等,都制作在一块集成芯片上,构成一个完整的微型计算机。

单片机应用系统是以单片机为核心,配以输入、输出、显示等外围接口电路和控制程序,能实现一种或多种功能的实用系统。

1.4 上机操作题

(1)

参考程序:

#include //包含头文件reg51.h,定义了51单片机的专用寄存器

//函数名:delay

//函数功能:实现软件延时

//形式参数:无符号整型变量i,控制空循环的循环次数

//返回值:无

void delay(unsigned int i) //延时函数

{

unsigned int k;

for(k=0;k

}

void main() //主函数

{

while(1){

P1=0x00;

delay(20000); //调用延时函数,实际参数为20000

P1=0xff;

delay(20000); //调用延时函数,实际参数为20000

}

}

(2)

参考程序:

#include //包含头文件reg51.h,定义了51单片机的专用寄存器

//函数名:delay

//函数功能:实现软件延时

//形式参数:无符号整型变量i,控制空循环的循环次数

//返回值:无

void delay(unsigned int i) //延时函数

{

unsigned int k;

for(k=0;k

}

void main() //主函数

{

while(1){

P1=0x55;

delay(20000); //调用延时函数,实际参数为20000

P1=0xff;

delay(20000); //调用延时函数,实际参数为20000

}

}

习题 2

2.1 单项选择题

(1)C (2)A (3)A (4)A (5)A (6)D (7)C (8)A (9)A (10)C 2.2 填空题

(1)外部程序存储器、外部数据存储器、内部程序存储器、内部数据存储器

(2)程序存储器

(3)工作寄存器组、位寻址区、用户RAM

(4)1us、2us

(5)按键复位、上电复位

(6)2、高

2.3 回答题

(1)P3口的第二功能是什么

答:P3口各引脚的第二功能如下表。

(2)画出单片机时钟电路,并指出石英晶体和电容的取值范围。

答:单片机时钟电路单片机时钟电路如下图。

一般地,电容C1和C2取30 pF左右;晶体振荡器,简称晶振,频率范围是1.2~12 MHz。晶体振荡频率越高,系统的时钟频率也越高,单片机的运行速度也就越快。在通常情况下,使用振荡频率为6 MHz或12 MHz的晶振。如果系统中使用了单片机的串行口通信,则一般采用振荡频率为11.0592 MHz的晶振。

(3)什么是机器周期机器周期和晶振频率有何关系当晶振频率为6MHz时,机器周期是多少

答:

51单片机采用定时控制方式,有固定的机器周期。规定一个机器周期的宽度为6个状态,即12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。

当晶振频率为6MHz时,机器周期是2us。

(4)51单片机常用的复位方法有几种画电路图并说明其工作原理。

答:2种,上电复位和按键复位。单片机常见的复位电路下图所示。

(a)为上电复位电路。它利用电容充电来实现复位,在接电瞬间,RST端的电位与V CC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于两个机器周期,便能正常复位。

(b)为按键复位电路。该电路除具有上电复位功能外,还可以按图2.5(b)中的RESET键实现复位,此时电源V CC经两个电阻分压,在RST端产生一个复位高电平。图1.23中的信号灯控制电路就采用按键复位电路。

(5)51单片机片内RAM的组成是如何划分的各有什么功能

答:8051的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址0x00~0x7F)和高128单元(单元地址0x80~0xFF)。

片内RAM的低128个单元用于存放程序执行过程中的各种变量和临时数据,称为DATA区。内部RAM 的高128单元地址为0x80~0xFF,是供给专用寄存器SFR(Special Function Register,也称为特殊功能寄存器)使用的。

(6)51单片机有多少个特殊功能寄存器它们分布在什么地址范围

答:51单片机有21个可寻址的专用寄存器,它们不连续地分布在片内RAM的高128单元中,尽管其中还有许多空闲地址,但用户不能使用。另外还有一个不可寻址的专用寄存器,即程序计数器PC,它不占据RAM单元,在物理上是独立的。

(7)简述程序状态寄存器PSW各位的含义,单片机如何确定和改变当前的工作寄存器组。

答:程序状态字PSW是一个8位寄存器,用于存放程序运行中的各种状态信息。PSW的各位定义如下表所示。

CY(PSW.7):进位标志位。存放算术运算的进位标志。

AC(PSW.6):辅助进位标志位。存放算术运算中低4位向高4位进位或借位。

F0(PSW.5):用户标志位。供用户定义的标志位,需要利用软件方法置位或复位。

RS1和RS0(PSW.4,PSW.3):工作寄存器组选择位。上电或复位后,RS1 RS0=00。

OV(PSW.2):溢出标志位。存放带符号数加减运算的溢出位。

F1(PSW.1):保留未使用。

P(PSW.0):奇偶标志位。存放累加器ACC数据的二进制形式中1的个数的奇偶性。一般用于异步串行通信中的奇偶校验。

(8)C51编译器支持的存储器类型有哪些

答:单片机的存储器结构包括4个物理存储空间,C51编译器对这4个物理存储空间都能支持。常见的C51编译器支持的存储器类型如下表所示。

(9)当单片机外部扩展RAM和ROM时,P0口和P2口各起什么作用

答:P0口可以分时复用作为8位数据总线和低8位地址线,P2口作为高8位地址线。

(10)在单片机的C语言程序设计中,如何使用SFR和可寻址位

答:采用sfr和sbit来定义专用寄存器和位。

2.4 上机操作题

(1)修改程序ex2_1.c,使得蜂鸣器发出有变化的报警声。

提示:修改延时参数,声音就会有改变。

(2)利用单片机控制蜂鸣器和发光二极管,设计一个声光报警系统。

提示:增加一个LED发光二极管,采用一个I/O口来控制,当报警时,发出声音的同时,灯也闪动。

(3)利用单片机控制按键和发光二极管,设计一个单键控制单灯亮灭的系统。

参考电路如下图:

参考程序如下:

//功能:单键控制单灯程序

#include

sbit P1_0=P1^0; //定义P1.0引脚名称为P1_0

sbit P3_0=P3^0; //定义P3.0引脚名称为P3_0

void main() //主函数

{

bit led; //定义位变量led

P3_0=1; //P3.0作为输入口,置1

led=P3_0; //读P3.0

if(led==1) P1_0=1; //判断按键是否按下,没有按下,灯熄灭

if()led==0 P1_0=0; //按键按下,灯点亮

}

(4)利用单片机控制4个按键和4个发光二极管,设计一个4人抢答器,要求当有某一参赛者首先按下抢答开关时,相应的LED灯亮,此时抢答器不再接受其他输入信号,需按复位按键才能重新开始抢答。

参考电路如下图。

参考程序如下。

//功能:实用4路抢答器程序

#include

sbit P3_0=P3^0; //定义P3.0引脚名称为P3_0

sbit P3_1=P3^1; //定义P3.1引脚名称为P3_1

sbit P3_2=P3^2; //定义P3.2引脚名称为P3_2

sbit P3_3=P3^3; //定义P3.3引脚名称为P3_3

void main() //主函数

{

bit flag; //定义位变量flag

while(!flag)

{

if(!P3_0)

{

P1=0xfe;

flag=1;

}

else if(!P3_1)

{

P1=0xfd;

flag=1;

}

else if(!P3_2)

{

P1=0xfb;

flag=1;

}

else if(!P3_3)

{

P1=0xf7;

flag=1;

}

while(flag);

}

}

习题 3

3.1 单项选择题

(1)C (2)A (3)A (4)D (5)D (6)D (7)A (8)B (9)C (10)A

(11)void delay (unsigned int i)、delay、delay

3.2 填空题

(1)main (2)sbit FLAG=P3^1; (3)sfr (4)顺序、选择和循环

(5)表达式和分号(6)if、switch (7)do-while语句、while语句(8)无限次

(9)10000 (10)unsigned char

(11)指定该变量在51单片机硬件系统中所使用的存储区域,并在编译时准确的定位。

(12)’\0’

3.3 上机操作题

(1)感应灯控制系统设计。实现当照明灯感应到有人接近时自动开灯,当人离开后自动关灯的功能。

提示:采用热释电红外传感器模块和发光二极管模拟电灯

(2)自动滑动门开关控制系统设计。实现当滑动玻璃门感应到有人接近时自动开门,当人离开后自动关门的功能。

提示:采用热释电红外传感器模块和电机模拟自动开关门

习题 4

4.1 单项选择题

(1)C (2)A (3)C (4)B (5)B (6)D (7)B

(8)C(9)D (10)D (11)C

4.2 填空题

(1)led[k] delay(); (2)’\0’(3)程序存储器

4.3 在任务10的图4.1中,如果直接将共阳极数码管换成共阴极数码管,能否正常显示为什么应采取什么措施

答:

不能正常显示。因为共阳极数码管和共阴极数码管的显示码不同,二者是反相关系。修改程序,或者将显示码数组disp中的显示码换成共阴极显示码,或者在程序中增加取反操作即可。

4.4 七段LED静态显示和动态显示在硬件连接上分别具有什么特点,实际设计时应如何选择使用

答:

静态显示是指使用数码管显示字符时,数码管的公共端恒定接地(共阴极)或+5 V电源(共阳极)。将每个数码管的8个段控制引脚分别与单片机的一个8位I/O端口相连。只要I/O端口有显示字型码输出,数码管就显示给定字符,并保持不变,直到I/O端口输出新的段码。数码管动态显示电路通常是将所有数码管的8个显示段分别并联起来,仅用一个并行I/O端口控制,称为“段选端”。各位数码管的公共端,称为“位选端”,由另一个I/O端口控制。

实际应用时,当显示位数少于2位时,可以采用静态显示方式;当显示位数较多时,建议采用动态显示方式。

4.5 LED大屏幕显示一次能点亮多少行显示的原理是怎样的

答:

LED大屏幕显示一次能点亮1行,采用逐行点亮的方式。

显示原理:先给第1行送高电平(行高电平有效),同时给8列送该行显示码(列低电平有效);然后给第2行送高电平,同时给8列送显示码,……最后给第8行送高电平,同时给8列显示码。每行点亮延时时间为约1 ms,第8行结束后再从第1行开始循环显示。利用视觉驻留现象,人们看到的就是一个稳定的字符。

4.6 机械式按键组成的键盘,应如何消除按键抖动

答:

按键的机械抖动可采用硬件电路来消除,也可以采用软件方法进行去抖。软件去抖编程思路:在检测到有键按下时,先执行10 ms左右的延时程序,然后再重新检测该键是否仍然按下,以确认该键按下不是因抖动引起的。同理,在检测到该键释放时,也采用先延时再判断的方法消除抖动的影响。

4.7 独立式按键和矩阵式按键分别具有什么特点适用于什么场合

答:

在单片机应用系统中,如果系统需要按键数量较少,一般采用独立式按键接口,每个按键单独占用一根I/O端口线,按键的工作不会影响其他I/O端口线的状态,独立式按键的电路配置灵活,软件结构简单,但每个按键必须占用一根I/O端口线,因此,在按键较多时,I/O端口线浪费较大,不宜采用。

为了节约单片机硬件接口资源,当系统需要按键数量较多时,一般采用矩阵键盘接口方式。由4根行线和4根列线组成,例如:P0.0~P0.3控制行线,P2.0~P2.3控制列线,按键位于行、列线的交叉点上,且行线通过上拉电阻接到+5 V电源上,构成了一个4×4(16个按键)的矩阵式键盘。

习题 5

5.1 单项选择题

(1)C (2)A (3)D (4)A (5)A (6)B (7)A (8)A (9)C

(10)A (11)C (12)C (13)C (14)D

5.2 填空题

(1)T0、T1、方式寄存器TMOD和控制寄存器TCON (2)GA TE=0

(3)0x50 (4)设置定时器的工作方式

(5)控制定时器的启动、停止、标识定时器的溢出和中断情况

(6)中断标志寄存器TCON、串行口控制寄存器SCON、中断允许控制寄存器IE和中断优先级控制寄存器IP

(7)中断标志寄存器TCON和串行口控制寄存器SCON、中断允许控制寄存器IE和中断优先级控制寄存器IP

(8)电平触发方式(9)软件方法、硬件方法、硬软结合(10)0

5.3 问答题

(1)51单片机定时/计数器的定时功能和计数功能有什么不同分别应用在什么场合

答:

T0或T1用做计数器时,分别对从芯片引脚T0(P3.4)或T1(P3.5)上输入的脉冲进行计数,外部脉冲的下降沿将触发计数,每输入一个脉冲,加法计数器加1。计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间都在一个机器周期以上。一般用于需要计数的场合,对时间没有要求。

用做定时器时,对内部机器周期脉冲进行计数,由于机器周期是固定值,故计数值确定时,定时时间也随之确定。如果51单片机系统采用12MHz晶振,则计数周期为:T机器周期=1/(12×106 /12)=1 s,这是最短的定时周期。适当选择定时器的初值可获取各种定时时间。一般用于对时间有要求的场合。

(2)软件定时与硬件定时的原理有何异同

答:

软件定时是靠CPU运行空操作实现的,CPU在定时时不能进行其它操作,白白占用CPU时间。硬件定时是指采用单片机内部定时器实现定时,当定时器进行计数操作时,CPU可以进行其它操作。

(3)51单片机的定时/计数器是增1计数器还是减1计数器增1和减1计数器在计数和计算计数初值时有什么不同

答:51单片机的定时/计数器是增1计数器。

增1计数器是在初值基础上加1计数,直到翻转;减1计数器是在初值基础上减1计数,直到翻转。计算初值时,增1计数的初值需要用最大计数值(模值)减去计数值;减1计数的初值就是计数值。

(4)当定时/计数器在工作方式1下,晶振频率为6 MHz,请计算最短定时时间和最长定时时间各是多少

答:工作方式1的计数模值是65536,机器周期2us,所以最短定时时间为2us,最长定时时间为:2us*65536=130ms。

(5)51单片机定时/计数器四种工作方式的特点有哪些如何进行选择和设定

答:工作方式0是13位定时计数器,工作方式1是16位定时计数器,工作方式2是初值自动重载的8位定时计数器,工作方式3下只有T0可以设置为工作方式3,T1设置为工作方式3后不工作。

可根据应用场合和定时时间来确定工作方式,在TMOD寄存器中设定。

(6)什么叫中断中断有什么特点

答:

中断是指通过硬件来改变CPU的运行方向。计算机在执行程序的过程中,外部设备向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再继续执行原来被中断的程序。这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。

中断特点:同步工作、实时处理、异常处理等。

(7)51单片机有哪几个中断源如何设定它们的优先级

答:

中断源有5个,分别为外部中断0请求INT0、外部中断1请求INT1、T0溢出中断请求TF0、T1溢出中断请求TF1和串行口中断请求RI或TI。

51单片机有两个中断优先级:高优先级和低优先级。

每个中断源都可以通过设置中断优先级寄存器IP确定为高优先级中断或低优先级中断,实现二级嵌套。同一优先级别的中断源可能不止一个,因此,也需要进行优先权排队。同一优先级别的中断源采用自然优先级。中断优先级寄存器IP,用于锁存各中断源优先级控制位。IP中的每一位均可由软件来置1或清零,1表示高优先级,0表示低优先级。

(8)外部中断有哪两种触发方式如何选择和设定

答:

外部中断有电平触发方式和下降沿触发方式。由TCON中的IT位设定,例如:

当IT1 = 0时,外部中断1控制为电平触发方式;当IT1 = 1时,外部中断1控制为边沿(下降沿)触发方式。

(9)中断函数的定义形式是怎样的

答:

C51编译器支持在C源程序中直接以函数形式编写中断服务程序。中断函数的定义形式如下:void 函数名()interrupt n

其中n为中断类型号,C51编译器允许0~31个中断,n的取值范围为0~31。

5.4 操作题

(1)设计时间间隔为1 s的流水灯控制程序。

参考程序如下:

//功能:间隔显示时间为1秒的流水灯程序

#include "REG51.H" //包含头文件REG51.H,定义了MCS-51单片机的特殊功能寄存器

//函数名:delay1s

//函数功能:用T1工作在方式1下的1秒延时函数,采用查询方式实现

//形式参数:无

//返回值:无

void delay1s()

{

unsigned char i;

for(i=0;i<0x14;i++){ //设置20次循环次数

TH1=0x3c; //设置定时器初值为3CB0H

TL1=0xb0;

TR1=1; //启动T1

while(!TF1); //查询计数是否溢出,即定时50ms时间到,TF1=1

TF1=0; //50ms定时时间到,将T1溢出标志位TF1清零

}

}

void main() //主函数

{

unsigned char i,w;

TMOD=0x10; //设置T1为工作方式1

while(1){

w=0x01; //显示码初值为01H

for(i=0;i<8;i++){

P1=~w; //w取反后送P1口,点亮相应LED灯

w<<=1; //点亮灯的位置移动

delay1s(); //调用1秒延时函数

}

}

}

(2)用单片机控制8个LED发光二极管,要求8个发光二极管按照BCD码格式循环显示00~59,时间间隔为1 s。

提示:

BCD(Binary Coded Decimal)码是用二进制数形式表示十进制数,例如十进制数45,其BCD码形式为0x45。BCD码只是一种表示形式,与其数值没有关系。

BCD码用4位二进制数表示一位十进制数,这4位二进制数的权为8421,所以BCD码又称为8421码。用4位二进制数表示一个十进制数,例如十进制数56、87和143的BCD码表示形式如下:0101 0110 (56)

1000 0111 (87)

0001 0100 0011 (143)

答:

参考程序如下:

//功能:采用BCD码格式显示的0~59简易秒表程序

#include

void delay1s() //1秒延时函数,参见任务7程序ex4_1.c

void main()

{

unsigned char i, t;

TMOD=0x10; // 置T1为工作方式1

while(1)

{

for(i=0;i<60;i++)

{

t=(((i/10)<<4)|(i%10));// 将i转换为BCD码

P1=~t; // 计数值取反后送P1口显示

delay1s(); // 调用1秒延时函数

}

}

}

(3)可控霓虹灯设计。系统包括8个发光二极管,连接在P3.2引脚的一个按键,通过按键改变霓虹灯的显示方式。要求正常情况下8个霓虹灯依次顺序点亮,循环显示,时间间隔为1 s。按键按下后8个霓虹灯同时亮灭一次,时间间隔为0.5s。(按键动作采用外部中断0实现)。

答:

参考程序如下:

//功能:可控信号灯程序

#include

//函数名:delay0_5s

//函数功能:用T0的方式1编制0.5秒延时程序,假定系统采用12MHz晶振,定

// 时器1、工作方式1定时50ms,再循环10次即可定时到0.5秒

//形式参数:无

//返回值:无

void delay0_5s()

{

unsigned char i;

for(i=0;i<0x0a;i++) // 设置10次循环次数

{

TH0=0x3c; // 设置定时器初值

TL0=0xb0;

TR0=1; // 启动T0

while(!TF0); // 查询计数是否溢出,即定时50ms时间到,TF0=0 TF0=0; // 50ms定时时间到,将定时器溢出标志位TF0清零 }

}

//函数名:delay_t

//函数功能:实现0.5秒~128秒延时

//形式参数:unsigned char t;

// 延时时间为0.5秒×t

//返回值:无

void delay_t(unsigned char t)

{

unsigned char i;

for(i=0;i

}

//函数名:int_0

//函数功能:外部中断0中断函数,当CPU响应外部中断0的中断请求时,自动执行该// 函数,实现八个信号灯闪烁

//形式参数:无

//返回值:无

void int_0() interrupt 0 //外部中断0的中断号为0

{

P1=0x00; //熄灭八个信号灯

delay0_5s(); //调用0.5秒延时函数

P1=0xff; //点亮八个信号灯

delay0_5s(); //调用0.5秒延时函数

}

void main() //主函数

{

unsigned char i,w;

EA=1; // 打开中断总允许位

EX0=1; // 打开外部中断0允许位

IT0=1; // 设置外部中断为边沿(下降沿)触发方式

TMOD=0x01; // 设置T0为工作方式1

while(1){

w=0x01; // 显示码初值为01H

for(i=0;i<8;i++){

P1=~w; // w取反后送P1口,点亮相应LED灯

w<<=1; // 点亮灯的位置移动

delay_t(2); // 调用延时函数delay_t(),实际参数为2,延时1秒 }

}

}

习题 6

6.1 单项选择题

(1)A (2)B (3)D (4)C (5)B (6)C (7)B (8)C

(9)C (10)A (11)C (12)D (13)A

6.2 问答题

(1)什么是串行异步通信有哪几种帧格式

答:

在异步通信中,数据通常是以字符为单位组成字符帧传送的。字符帧由发送端一帧一帧地发送,每一帧数据是低位在前,高位在后,通过传输线由接收端一帧一帧地接收。发送端和接收端分别使用各自独立的时钟来控制数据的发送和接收,这两个时钟彼此独立,互不同步。

在串行通信中,两相邻字符帧之间可以没有空闲位,也可以有若干空闲位,这由用户来决定。

(2)定时器T1做串行口波特率发生器时,为什么采用工作方式2

答:

实际上,当定时器T1做波特率发生器使用时,通常是工作在定时器的模式2下,即作为一个自动重装载的8位定时器,TL1做计数用,自动重装载的值在TH1内。

7.3 编程题

(1)利用串行口设计4位静态LED显示,画出电路图并编写程序,要求4位LED每隔1 s交替显示“1234”和“5678”。

参考电路在教材第207页图6.16的基础之上再添加两片74LS164和两个数码管即可。

参考程序如下:

#include "reg51.h" //包含头文件reg51.h,定义51单片机的专用寄存器

unsigned char da[]={0xF9,0xA4,0xB0,0x99}; //定义1~4的共阳极字型显示码

unsigned char da1[]={0x92,0x82,0x0F8,0x80}; //定义5~8的共阳极字型

void delay1s()

{

unsigned char i;

for(i=0;i<0x20;i++) // 设置20次循环次数

{

TH0=0x3c; // 设置定时器初值

TL0=0xb0;

TR0=1; // 启动T0

while(!TF0); // 查询计数是否溢出,即定时50ms时间到,TF0=0

TF0=0; // 50ms定时时间到,将定时器溢出标志位TF0清零

}

}

main()

{

unsigned char i;

P1=0xff; //P1.0置1,允许串行移位

SCON=0x00; //设串行口方式0

TMOD=0x01; // 设置T0为工作方式1

while(1){

for (i=0;i<4;i++)

{

SBUF=da[i]; //送显示数据1234

TI=0;

while(!TI); //等待发送完毕

}

delay1s();

for (i=0;i<4;i++)

{

SBUF=da1[i]; //送显示数据5678

TI=0;

while(!TI); //等待发送完毕

}

}

}

(2)编程实现甲乙两个单片机进行点对点通信,甲机每隔1 s发送一次“A”字符,乙机接收到以后,在LCD上能够显示出来。

参考电路图略。

参考程序如下:

甲机发送程序:

//功能:甲机发送数据程序,采用查询方式实现

#include //包含头文件reg51.h,定义51单片机的专用寄存器

void main() //主函数

{

unsigned char i;

TMOD=0x20; //定时器T1工作于方式2

TL1=0xf4; //波特率为2400bps

TH1=0xf4;

TR1=1;

while(1)

SCON=0x40; //定义串行口工作于方式1

SBUF=0x41; // 发送A

while(TI==0); // 查询等待发送是否完成

TI=0; // 发送完成,TI由软件清0

delay1s(); //1秒延时函数参见7.3(1)题

}

}

乙机接收程序略。

(3)编写一个实用的串行通信测试软件,其功能为:将PC机键盘的输入数据发送给单片机,单片机收到PC机发来的数据后,回送同一数据给PC机,并在屏幕上显示出来。只要屏幕上显示的字符与所键入的字符相同,说明二者之间的通信正常。

通信协议:第1字节,最高位(MSB)为1,为第1字节标志;第2字节,MSB为0,为非第1字节标志,依次类推,最后1字节为前几字节后7位的异或校验和。

单片机串行口工作在方式1,晶振为11.0592 MHz,波特率为4800 bps。

通信程序略。

习题7

7.1 单项选择题

(1)D (2)A (3)C (4)D (5)A

7.2 填空题

(1)模拟,数字,数字,模拟

(2)分辨率、建立时间

7.3 问答题

(1)判断A/D转换是否结束,一般可采用几种方式每种方式有何特点

答:

查询方式,CPU通过查询转换结束标志位确认转换结束后,再执行后面的操作,占用CPU时间;

中断方式,转换结束后向CPU申请中断,CPU在中断服务函数中读取转换值,不占用CPU时间;

延时方式,如果知道A/D转换时间,可以在转换开始后直接延时超过该时间的时间,占用CPU 时间。

7.4 应用题

(1)设计一个锯齿波发生器系统。

提示:程序ex7_3.c中修改数组sin据即可。

(2)EEPROM芯片A T24C02采用的也是I2C总线接口,请设计51单片机扩展EEPROM的软硬件系统。

提示:请查阅A T24C02资料,参考电路(AT24C01)

//功能:EEPROM读写程序,从AT24C01的4个连续存储单元中读出4个字节的数据,然后将4 // 个新的数值写入AT24C01的对应4个存储单元中,再重新读出。

#include

#include //_nop_()函数所在的头文件

/******************************位定义及预定义*******************************/ #define AddWr 0xa0 //器件地址选择及写数据地址0xa0 #define AddRd 0xa1 //器件地址选择及读数据地址0xa1 sbit SDA= P3^4; //串行数据输入/输出位定义

sbit SCL= P3^3; //串行时钟位定义

bit ack_bit; //应答标志

/******************************函数声明************************************/ void mDelay(unsigned char ms); //延时函数声明

void Start(void); //开始函数

void Stop(void); //停止函数

void Ack(void); //应答函数

void NoAck(void); //反向应答函数

void Shout(unsigned char Data); //串行输出数据函数

unsigned char Shin(void); //串行输入数据函数

void WrByte(unsigned char Data[],unsigned char Address,unsigned char Num);

//写字节函数

void RdRadom(unsigned char Data[],unsigned char Address,unsigned char Num);

//随机地址读函数

/******************************主函数************************************/ void main()

{

unsigned char R1data[4]= {0,0,0,0}; //初始化读数据数组1为全0 unsigned char R2data[4]= {0,0,0,0}; //初始化读数据数组2为全0 unsigned char Wdata[4]={1,2,3,4}; //初始化写数据数组

RdRadom(R1data,4,4); //读AT24C01中的4个字节数据到读数据数组1 WrByte(Wdata,4,4); //将初始化后的数值写入AT24C01 mDelay(20);

RdRadom(R2data,4,4); //重新读出写入的数据到读数据数组2

}

/******************************写字节************************************/

//函数名:WrByte

//函数功能:向AT24C**器件的指定地址按字节连续写入数据

//形式参数:待写入的数据Data[],起始地址Address,待写入的字节数Num

//返回值:返回为0表示操作成功,否则操作有误

void WrByte(unsigned char Data[],unsigned char Address,unsigned char Num)

{

unsigned char i;

unsigned char *PData;

PData=Data;

for(i=0;i

{

Start(); //发送启动信号

Shout(AddWr); //发送写操作器件地址AddWr,0xa0

Ack(); //接收ACK应答

Shout(Address+i); //发送地址

Ack(); //接收ACK应答

Shout(*(PData+i)); //发送待写入的数据

Ack(); //接收ACK应答

Stop(); //发送停止信号

mDelay(20); //等待内定时写入周期结束}

/*****************************随机地址读***********************************/ //函数名:RdRadom

//函数功能:从AT24C**器件的指定地址按字节读入数据

//形式参数:起始地址Address,待读入的字节数Num

//返回值:读出的字节放入data[],如果操作成功返回为0,否则操作有误

void RdRadom(unsigned char Data[],unsigned char Address,unsigned char Num) {

unsigned char i;

unsigned char *PData;

PData=Data;

for(i=0;i

{

Start(); //开始

Shout(AddWr); //发送写操作器件地址AddWr

Ack();

shout(Address+i); //发送字节地址

Ack();

Start(); //开始

shout(AddRd); //发送读操作器件地址AddRd

Ack();

*(PData+i)=shin(); //调用读数据函数

SCL=0;

NoAck(); //反向应答

Stop(); //停止

}

}

/*****************************开始函数***********************************/ //函数名: Start

//函数功能:发送START状态,定义为当SCL为高时SDA从高到低

//形式参数:无

//返回值:返回时SCL,SDA为低

void Start(void)

{

SDA=1; //升高SDA

SCL=1; //升高SCL

_nop_();_nop_();_nop_();_nop_(); //保持数据建立延迟及周期延迟

SDA=0; //降低SDA

_nop_();_nop_();_nop_();_nop_(); //保持SDA为低,保持时间hold delay

SCL=0; //降低SCL

}

/********************************停止函数*********************************/

//函数名:Stop

//函数功能:发送STOP状态,定义为当SCL为高时SDA从低变高

//形式参数:无

//返回值:返回时SCL,SDA为高

void Stop(void)

{

SDA=0;

_nop_();_nop_(); //保持SCL为低及数据稳定

SCL=1;

_nop_();_nop_();_nop_();_nop_(); //保持建立延迟

SDA=1;

_nop_();_nop_();_nop_();_nop_();

}

/*******************************串行输出数据*****************************/

//函数名:Shout

//函数功能:串行发送一个字节(包括地址和数据)给AT24C**器件,高位在前

//形式参数:待发送的字节Data,调用前SCL,SDA为低,返回时SCL为低。

//返回值:无

void Shout(unsigned char Data)

{

unsigned char BitCounter=8; //设置位计数器

unsigned char temp; //中间变量控制

do

{

temp=Data;

SCL=0; //时钟为低电平

_nop_();_nop_();_nop_();_nop_();//保持SCL为低

if((temp&0x80)==0x80) SDA=1; //输出一位,如果最高位是1,则输出1到SDA

else SDA=0; //如果最高位是0,则输出0到SDA

SCL=1; //时钟为高电平

temp=Data<<1; //左移一位(高位在前)

Data=temp;

BitCounter--;

}while(BitCounter); //传送下一位

SCL=0;

}

/*******************************串行输入数据******************************/

//函数名:Shin

//函数功能:从AT24C**串行读入一个字节数据,高位在前

//形式参数:调用前SCL为低

//返回值:返回读入的字节,返回时SCL为低

unsigned char Shin(void)

{

unsigned char temp=0;

unsigned char temp1=0;

unsigned char BitCounter=8; //设置位计数器

SDA=1; //使SDA为高,准备读

do{

SCL=0; //降低时钟

_nop_();_nop_();_nop_();_nop_();//保持SCL为低且使数据稳定

SCL=1; //升高时钟

_nop_();_nop_();_nop_();_nop_();//保持SCL为高

if(SDA) temp=temp|0x01; //输入一位,如果SDA=1则temp的最低位置1

else temp=temp&0xfe; //否则temp的最低位清0

if(BitCounter-1)

{

temp1=temp<<1; //左移一位(高位在前)

temp=temp1;

}

BitCounter--;

}while(BitCounter); //传送下一位

return(temp); //返回读入的数据

}

//********************************应答**************************************/ //函数名:Ack

//函数功能:检测来自AT24C**器件的ACK应答

//形式参数:无

//返回值:返回ack_bit,为0表示操作成功,否则操作有误

bit Ack(void)

{

bit ack_bit;

SDA=1; //置SDA为高,准备接收ACK应答

_nop_();_nop_();_nop_();_nop_();

SCL=1; //第9个时钟脉冲

_nop_();_nop_();_nop_();_nop_();

ack_bit = SDA; //读入应答

SCL=0;

return(ack_bit); //返回应答标志ack_bit

}

/*******************************反向应答*************************************/

//函数名:NoAck

//函数功能:向AT24C**器件发送NAK反向应答,随时钟输出一个高电平的负应答位,调用前// SCL为低,返回时SCL为低,SDA为高

//形式参数:无

//返回值:无

void NoAck(void)

{

SDA=1;

_nop_();_nop_();_nop_();_nop_();

SCL=1;

_nop_();_nop_();_nop_();_nop_();

SCL=0;

}

/**********************************延时************************************/

//函数名:mDelay

//函数功能:延时函数

//函数形式参数:ms用来控制循环次数,从而控制延时时间长短

//函数返回值:无

void mDelay(unsigned char ms)

{

unsigned int i;

while(ms--)

{

for(i=0;i<125;i++);

}

}

单片机应用技术试卷A及答案

《单片机应用技术(C语言版)》试卷A一、单项选择题(每题1.5分,共30分) 1、51单片机的CPU主要由()组成。 A、运算器、控制器 B、加法器、寄存器 C、运算器、加法器 D、运算器、译码器 2、程序是以()形式存放在程序存储器中。 A、C语言源程序 B、汇编程序 C、二进制编码 D、BCD码 ——引脚()3、单片机8031的EA。 A、必须接地 B、必须接+5V电源 C、可悬空 D、以上三种视需要而定 4、单片机上电复位后,PC的内容为()。 A、0x0000 B、0x0003 C、0x000B D、0x0800 5、外部扩展存储器时,分时复用做数据线和低8位地址线的是() A、P0口 B、P1口 C、P2口 D、P3口 6、单片机的ALE引脚是以晶振振荡频率的()固定频率输出正脉冲,因此它可作为外部时钟或外部定时脉冲使用。 A、1/2 B、1/4 C、1/6 D、1/12 7、下面叙述不正确的是()。 A、一个C源程序可以由一个或多个函数组成。 B、一个C源程序必须包含一个主函数main( )。 C、在C程序中,注释说明只能位于一条语句的后面。 程序的基本组成部分单位是函数。C、D 8、在C语言中,当do-while语句中的条件为()时,循环结束。 A、0 B、false C、true D、非0 9、下面的while循环执行了()次空语句。 While(i=3); A、无限次 B、0次 C、1次 D、2次 10、C程序总是从()开始执行的。 A、主函数 B、主程序 C、子程序 D、主过程 11、在C51程序中常常把()作为循环体,用于消耗CPU运行时间,产生延时效果。 A、赋值语句 B、表达式语句 C、循环语句 D、空语句 12、在单片机应用系统中,LED数码管显示电路通常有()显示方式。 A、静态 B、动态 C、静态和动态 D、查询 13、共阳极LED数码管加反相器驱动时显示字符“6”的段码是() A、0x06 B、0x7D C、0x82 D、0xFA 14、51单片机的定时器T1用做定时方式时,采用工作方式1,则工作方式控制字为() A、0x01 B、0x05 C、010 D、0x50 15、启动T0开始计数是使TCON的()。

单片机原理及应用试卷和答案(三套试卷和答案)

试卷一 一、填空题(20分,每小题2分) 1、-19D的二进制的补码表示为11101101B。 2、89C51含4KB掩膜ROM,128B的RAM,在物理上有4个独立的存储器空间。 3、通过堆栈操作实现子程序调用,首先要把PC 的内容入栈,以进行断点保护。调 用返回时再进行出栈操作,把保护的断点弹回 PC。 4、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8 块芯片。 5、PSW中RS1 RS0=10H时,R2的地址为12H。 6、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令: MOVC A,@A+DPTR 后,送入A的是程序存储器8140H单元的内容。 7、设SP=60H,片内RAM的(30H)=24H,(31H)=10H,在下列程序段注释中填执 行结果。 PUSH 30H ;SP=61H,(SP)=24H PUSH 31H ;SP=62H,(SP)=10H POP DPL ;SP=61H,DPL=10H POP DPH ;SP=60H,DPH=24H MOV A,#00H MOVX @DPTR,A 最后执行结果是执行结果将0送外部数据存储器的2410H单元。 8、在中断系统中,T0和T1两引脚扩展成外部中断源时,计数初值应当是(TH)=(TL)= 0FFH。 9、12根地址线可寻址4KB存储单元。 二、选择题(10分,每小题1分) 1、MCS-51响应中断时,下面哪一个条件不是必须的(C) (A)当前指令执行完毕(B)中断是开放的 (C)没有同级或高级中断服务(D)必须有RETI 2、执行PUSH ACC指令,MCS-51完成的操作是(A) (A)SP+1→SP,(ACC)→(SP);(B)(ACC)→(SP),SP-1→SP (C)SP-1→SP,(ACC)→(SP);(D)(ACC)→(SP),SP+1→SP 3、89C51是(C) (A)CPU (B)微处理器 (C)单片微机(D)控制器 4、关于MCS-51的堆栈操作,正确的说法是(C) (A)先入栈,再修改栈指针(B)先修改栈指针,再出栈 (C)先修改栈指针,再入栈(D)以上都不对

单片机原理及应用考试试卷及答案修订稿

单片机原理及应用考试 试卷及答案 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

一.填空题: 1.8051系列单片机字长是 8 位,有 40 根引脚。当系统扩展外部 存储器或扩展I/O口时, P0 口作地址低8位和数据传送总线, P2 口作地址总线高8位输出, P3 口的相应引脚会输出控制信号。 2.当EA为低电平(接地)时,CPU只执行外部程序存储器或ROM 中的程序。 3.数据指针DPTR有 16 位,程序计数器PC有 16 位。 4.在MCS-51单片机中,一个机器周期包括 12 个时钟周期。 5.C51编译器支持三种存储模式,其中SMALL模式默认的存储类型为 data ,LARGE模式默认的存储类型为 xdata 。 6.欲使P1口的低4位输出0,高4位不变,应执行一条 ANL P1,#0F0H 命令。 7.8051单片机复位后,PC = 0000H 。 8. 74LS138是具有3个输入的译码器芯片,用其输出作片选信号,最多可在 8 块芯片中选中其中任一块。 9.单片机位寻址区的单元地址是从 20H 单元到 2FH 单元,若某位地址是12H,它所在单元的地址应该是 22H 10.MOV A,30H 指令对于源操作数的寻址方式是直接寻 址。 11.在MCS-51单片机中,寄存器间接寻址用到的寄存器只能是通用寄存器R0、 R1和 DPTR 。 12..程序状态字PSW中的RS1和RS0的作用是选择工作寄存器组 13.8051单片机,当CPU响应某中断请求时,将会自动转向相应规定地址(即 中断入口地址)去执行,外部中断0入口地址为: 0003 H,T1入口地址 为 0018 H。 14.变量的指针就是变量的地址。对于变量a,如果它所对应的内存单元地址为2000H,它的指针是 2000H 。

基于STM32的经典项目设计实例

13个基于STM32的经典项目设计实例,全套资料STM32单片机现已火遍大江南北,各种教程资料也是遍布各大网站论坛,可谓一抓一大把,但大部分都差不多。今天总结了几篇电路城上关于STM32 的制作,不能说每篇都是经典,但都是在其他地方找不到的,很有学习参考意义的设计实例。尤其对于新手,是一个学习stm32单片机的“活生生”的范例。 1.开源硬件-基于STM32的自动刹车灯设计 自动刹车灯由电池供电并内置加速度传感器,因此无需额外连接其他线缆。使用两节5号电池时,设计待机时间为一年以上(待机功耗66微安),基本可以实现永不关机,即装即忘。 2.基于STM32F407的openmv项目设计资料 本项目是一个openmv,通过摄像头可以把图像实时传输给显示屏显示。MCU选择的是STM32F407(STM32F407数据手册),ARM Cortex-M4内核,最高频率可达180Mhz,包含一个单精度浮点DSP,一个DCMI(数字相机接口)。 3.STM32无线抢答器 无线抢答器采用STM32F302(STM32F302数据手册)芯片主控,同时用蓝牙,语音模块,数码管,七彩灯等部件构成,当主持人按下抢答键时,数码管进入倒记时,选手做好准备,当数码管从9变为0时,多名选手通过手机上虚拟按键进行抢答,同时语音播报抢答结果,显示屏上显示选手的抢答时间。 4.基于ARM-STM32的两轮自平衡小车 小车直立和方向控制任务都是直接通过控制小车两个电机完成的。假设小车电机可以虚拟地拆解成两个不同功能的驱动电机,它们同轴相连,分别控制小车的直立平衡、左右方向。 5.基于STM32F4高速频谱分析仪完整版(原创) 本系统是以STM32F407(STM32F407数据手册)进行加Blackman预处理,再做1024个点FFT进行频谱分析,最后将数据显示在LCD12864上,以便进行人机交互!该系统可实现任意波形信号的频谱显示,以及可以自动寻找各谐波分量的幅值,频率以及相位并进行8位有效数据显示。 6.基于STM32F4的信号分析仪设计(有视频,有代码) 这次基于discovery的板子做一个信号分析仪,就是练手,搞清楚STM32F4(STM32F4系列数据手册)中的USB固件编写,USB驱动的开发,上位机UI开发等一整套流程,过一把DIY的瘾。 7.基于STM32F4的解魔方机器人-stm32大赛二等奖(有视频) 本系统是基于Cortex-M4内核的STM32微控制器的解魔方机器人,在硬件方面主要有OV7670摄像头,LCD,舵机,在软件方面主要有OV7670的驱动,摄像头颜色识别算法,解魔方算法和舵机动作算法。整个设计过程包括电子系统的设计技术及调试技术,包括需求分析,原理图的绘制,制版,器件采购,安装,焊接,硬件调试,软件模块编写,软件模块测试,系统整体测试等整个开发调试过程。

单片机原理与应用试题及答案

单片机原理与应用试题 及答案 https://www.doczj.com/doc/213488651.html,work Information Technology Company.2020YEAR

单片机原理与应用试卷及答案 一、填空题 1、10110110B 作为无字符数时,十进制数值为182;作为补码时,十进制数值为—74. 2、原码01101011B 的反码为01101011B ;补码为01101011B 。 3、由8051的最小系统电路除芯片外,外部只需要复位电路和时钟(晶振)电路,如果由8031的最小系统,还需要扩展外部ROM 电路。 4、若已知8051RAM 的某位地址为09H ,则该位所处的单元地址为21H 。 5、C51语言中,指令#define ADC XBYTE[OXFFEO]能够正确编译的前提是包含头文件absacc.h ,该指令的作用是定义一个外部地址单元为OXFFEO 。 二、选择题 1、程序和常数都是以(二进制)的形式存放在单片机程序的存储器中。 2、下列哪一个选项的指令语句不是任何时候都可以被C51正确编译(uchar; k=ox20) 3、当PSW 的RS0和RS1位分别为1和0时,系统选用的寄存器组为(1组) 4、若某存储器芯片地址线为12根,那么它的存储容量为(4KB ) 5、已知T osc =12MHZ ,TH1=177,TL1=224,TMOD=ox10,则从定时器启动到正常溢出的时间间隔为(20ms ) 三、简答题 答:①新建工程项目②配置工程项目属性③创建源文件④将源文件加入项目⑤保存项目 3、PSW 寄存器有何作用其各位是如何定义的 4、 答:标志寄存器PSW 是一个8位的寄存器,它用于保存指令执行结果的状态,以供工程查询和判别。 C (PWS.7):进位标志位 AC (PWS.6):辅助进位标志位 FO (PWS.5):用户标志位 RS1、RS0(PWS.4、PWS.3 PSW DOH

(精校版)单片机原理及应用期末考试试卷及答案

(完整word版)单片机原理及应用期末考试试卷及答案 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)单片机原理及应用期末考试试卷及答案)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)单片机原理及应用期末考试试卷及答案的全部内容。

单片机原理及应用期末考试试卷 班级:_______________学号:_______________姓名:_______________得分:_______________(卷面共有100题,总分100分,各大题标有题量和总分,每小题标号后有小分) 一、单项选择题(33小题,共33分) [1分](1)要MCS—51系统中,若晶振频率屡8MHz,一个机器周期等于( A )μs A 1。5 B 3 C 1 D 0.5 [1分](2)MCS—51的时钟最高频率是 ( A )。 A 12MHz B 6 MHz C 8 MHz D 10 MHz [1分](3)下列不是单片机总线是( D ) A 地址总线 B 控制总线 C 数据总线 D 输出总线 [1分](4)十进制29的二进制表示为原码( C ) A 11100010 B 10101111 C 00011101 D 00001111 [1分](5)电子计算机技术在半个世纪中虽有很大进步,但至今其运行仍遵循着一位科学家提出的基本原理。这位科学家是:( D ) (A)牛顿(B)爱国斯坦(C)爱迪生(D)冯·诺伊曼 [1分](6)在CPU中,控制器的功能是:( C ) (A)进行逻辑运算(B)进行算术运算 (C)分析指令并发出相应的控制信号(D)只控制CPU的工作 [1分](7)下列数据中有可能是八进制数的是:( A) (A)764 (B)238 (C)396 (D)789 [1分](8)MCS—51的时钟最高频率是 (D ) A、6MHz B、8MHz C、10MHz D、12MHz [1分](9)-49D的二进制补码为.( B) A、 11101111 B、11101101 C、0001000 D、11101100 [1分](10)要用传送指令访问MCS—51片外RAM,它的指令操作码助记符应是( B) A、 MOV B、 MOVX C、 MOVC D、以上都行 [1分](11)若某存储芯片地址线为12根,那么它的存储容量为(C ) A、1KB B、2KB C、 4KB D、 8KB [1分](12)PSW=18H时,则当前工作寄存器是(D ) A、 0组成 B、 1组成 C、2组成 D、3组成 [1分](13)所谓CPU是指( B) A、运算器与存储器 B、运算器与控制器 C、输入输出设备 D、控制器与存储器 [1分](14)PSW=18H时,则当前工作寄存器是(D ) (A)0组(B)1组(C)2组(D)3组 [1分](15)P1口的每一位能驱动( B ) (A)2个TTL低电平负载有(B)4个TTL低电平负载 (C)8个TTL低电平负载有(D)10个TTL低电平负载 [1分](16)二进制数110010010对应的十六进制数可表示为( A) A、192H B、C90H C、1A2H D、CA0H [1分](17)一3的补码是( D ) A、10000011 B、11111100 C、11111110 D、11111101 [1分](18)对于8031来说,脚总是( A ) A、接地 B、接电源 C、悬空 D、不用 [1分](19)进位标志CY在( C)中 A、累加器 B、算逻运算部件ALU C、程序状态字寄存器PSW D、DPOR

单片机C语言编程实例

单片机C语言编程实例 前言 INTEL公司的MCS-51单片机是目前在我国应用得最广泛的单片机之一.随着 单片机应用技术的不断发展,许多公司纷纷以51单片机为内核,开发出与其兼容的 多种芯片,从而扩充和扩展了其品种和应用领域。 C语言已成为当前举世公认的高效简洁而又贴近硬件的编程语言之—。将C语言向单片机上的移植,始于20世纪80年代的中后期。经过十几年的努力,C语言终于成为专业化单片机上的实用高级语言。用C语言编写的8051单片机的软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完善的系统。因此,不管是对于新进入这一领域的开发者来说,还是对于有多年单片机开发经验的人来说,学习单片机的C语言编程技术都是十分必要的。. C语言是具有结构化.模块化编译的通用计算机语言,是国际上应用最广.最多的计算语言之一。C51是在通用C语言的基础上开发出的专门用于51系列单片机编程的C语言.与汇编语言相比,C51在功能上.结构上以及可读性.可移植性.可维护性等方面都有非常明显的优势。目前 最先进、功能最强大、国内用户最多的C51编译器是Keil Soft ware公司推出的KeilC51。第 一章单片机C语言入门 1.1建立您的第一个C项目 使用C语言肯定要使用到C编译器,以便把写好的C程序编译为机器码, 这样单片机才能执行编写好的程序。KEIL uVISION2是众多单片机应用开发软 件中优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,它集编辑, 编译,仿真等于一体,同时还支持PLM、汇编和C语言的程序设计,它的界面 和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真 方面也有很强大的功能。因此很多开发51应用的工程师或普通的单片机爱好者,都对它十分喜欢。 以上简单介绍了KEIL51软件,要使用KEIL51软件,必需先要安装它。KEIL51是一个商业的软件,对于我们这些普通爱好者可以到KEIL中国代理周 立功公司的网站上下载一份能编译2K的DEMO版软件,基本可以满足一般的个

单片机应用技术课后习题参考答案

1 习题1答案 1.2 填空题 (1)单片级应用系统是由硬件系统、软件系统组成的 (2)除了单片机和电源外,单片机最小系统包括时钟电路、复位电路 (3)除了电源和电线引脚外,XTAL1、XTAL2、RST、EA引脚信号必须连接相应电 路 (4)51系列单片机的存储器主要有4个物理存储空间,即片内数据存储器、片内程序存储器、片外数据存储器、片外程序存储器 (5)51系列单片机的XTAL1和XTAL2引脚是时钟电路 (6)51系列单片机的应用程序一般存放在程序存储器 (7)片内RAM低128单元,按其用途划分为工作寄存器组、位寻址区、用户RAM区(8)但振荡脉冲频率为12MHz时,一个机器周期为1us,当振荡脉冲频率为6MHz时,一个机器周期为2us (9)51系列单片机的复位电路有两种,即上电复位电路、按键复位电路 (10)输入单片机的复位信号需延续2个机器周期以上的高电平即为有效。 1.3 (4)什么是机器周期?机器周期和晶振频率有何关系?当晶振频率为6MHz时,机器周期是多少? 答: 规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。 当振荡脉冲频率为6 MHz时,一个机器周期为2 μs。 (5)51系列单片机常用的复位方法有哪几种?画电路图并说明其工作原理。 答: (a)上电复位电路(b)按键复位电路 单片机常见的复位电路 图(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST端的电位

与VCC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于两个机器周期,便能正常复位。 图(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图(b)中的RESET键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。 习题3 答案 3.2 填空题 (2)用C51编程访问51单片机的并行I/O口是,可以按字节,寻址操作,还可以按位操作(4)C51中定义一个可位寻址变量FLAG访问P3口的P3.1引脚的方法是s bit FLAG=P3^1; (10)下面的while循环执行了无限次空语句。 i=3; While(i!=0); (15)在以下的数组定义中,关键字“code”是为了把tab数组存储在程序存储器ROM中 Unsigned char code b[]={}; 3.3 上机操作题 (1) //xiti3_3_1.c——第三章习题3.3上机操作题(1) #include void delay(unsigned char i); //延时函数声明 void main() //主函数 { while(1){ P1=0x55; //按状态1的方式点亮8个LED delay(200); //延时 P1=0xaa; //按状态2的方式点亮8个LED delay(200); //延时 } } void delay(unsigned char i) //延时函数参见任务1程序ex1_1.c (2) //xiti3_3_2.c——第三章习题3.3上机操作题(2) #include //包含头文件REG51.H void delay(unsigned char i); //延时函数声明 void main() //主函数 { unsigned char i,l,r; while(1){ l=0x10; // 高4位灯的位置初值为00010000B r=0x08; // 低4位灯的位置初值为00001000B

单片机试题及答案教材

C51单片机习题及答案第一章 1-1选择 1.计算机中最常用的字符信息编码是( A ) A ASCII B BCD码 C 余3码 D 循环码 2 .要MCS-51系统中,若晶振频率屡 8MHz,—个机器周期等于(A )卩s A 1.5 B 3 C 1 D 0.5 3.MCS-51的时钟最高频率是(A ). A 12MHz B 6 MHz C 8 MHz D 10 MHz 4. 以卜不疋构成的控制器部件( D ): A 程序计数器、B指令寄存器、C指令译码 器、D存储器 5. 以下不是构成单片机的部件( D ) A 微处理器(CPU )、B存储器C接口适配器(1\0接口电路)D打印机 6. 卜列不是单片机总线是( D ) A 地址总线B控制总线C数据总线 D 输出总线 7.-49D的二进制补码为.(B ) A 11101111 B11101101 C 0001000 D 11101100 8?十进制29的二进制表示为原码(C ) A 11100010 B10101111 C 00011101 D 00001111 9.十进制0.625转换成二进制数是( A ) A 0.101 B 0.111 C 0.110 D 0.100 10选出不是计算机中常作的码制是( D ) A 原码 B反码 C补码 D ASCII 1-2填空 1.计算机中常作的码制有原码、反码和补码 2.十进制29的二进制表示为 00011101 3.十进制数-29的8位补码表示为.11100011 4.单片微型机CPU、存储器和1\0接口三部分组成. 5.若不使用MCS-51片内存器引脚EA必须接地. 6.输入输出设备是计算机与外部世界交换信息的载体 7.十进制数-47用8位二进制补码表示为.11010001 8.-49D的二进制补码为.11101101 9.计算机中最常用的字符信息编码是ASCII 10 ?计算机中的数称为机器数,它的实际值叫真值。— 1-3判断 1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。(V ) 2.MCS-51 上电复位时, SBUF=00H。( X )。SBUF 不定。 3.使用可编程接口必须处始化。( V) o 4.8155的复位引脚可与89C51的复位引脚直接相连。(V ) 5.MCS-51是微处理器。( X )不是。 6. MCS-51系统可以没有复位电路。(X )不可以。复位是单片机的初始化操作。 7 .要MCS-51系统中,一个机器周期等于 1.5卩So ( X )若晶振频率屡8MHz,才可能为 8.计算机中常作的码制有原码、反码和补码(V ) 9.若不使用MCS-51片内存器引脚EA必须接地.(V ) 1.5 s

《单片机应用技术》试卷B及答案

《单片机应用技术(C 语言版)》试卷B 一、 单项选择题(每题1.5分,共30分) 1、51单片机的CPU 主要由( )组成。 A 、运算器、控制器 B 、加法器、寄存器 C 、运算器、加法器 D 、运算器、译码器 2、PSW 中的RS1和RS0用来( ) 。 A 、选择工作方式 B 、指示复位 C 、选择定时器 D 、选择工作寄存器组 3、单片机8031的EA —— 引脚( )。 A 、必须接地 B 、必须接+5V 电源 C 、可悬空 D 、以上三种视需要而定 4、单片机上电复位后,PC 的内容为( )。 A 、0x0000 B 、0x0003 C 、0x000B D 、0x0800 5、单片机的4个并行I/O 端口作为通用I/O 端口使用,在输出数据时,必须外接上拉电阻的是( ) A 、P0口 B 、P1口 C 、P2口 D 、P3口 6、单片机的ALE 引脚是以晶振振荡频率的( )固定频率输出正脉冲,因此它可作为外部时钟或外部定时脉冲使用。 A 、1/2 B 、1/4 C 、1/6 D 、1/12 7、下面叙述不正确的是( )。 A 、一个C 源程序可以由一个或多个函数组成。 B 、一个 C 源程序必须包含一个主函数main( )。 C 、在C 程序中,注释说明只能位于一条语句的后面。 D 、C 程序的基本组成部分单位是函数。 8、在C51语言的if 语句中,用做判断的表达式为( )。 A 、关系表达式 B 、逻辑表达式 C 、算术表达式 D 、任意表达式

9、下面的while循环执行了()次空语句。 While(i=3); A、无限次 B、0次 C、1次 D、2次 10、C程序总是从()开始执行的。 A、主函数 B、主程序 C、子程序 D、主过程 11、在C51程序中常常把()作为循环体,用于消耗CPU运行时间,产生延时效果。 A、赋值语句 B、表达式语句 C、循环语句 D、空语句 12、在单片机应用系统中,LED数码管显示电路通常有()显示方式。 A、静态 B、动态 C、静态和动态 D、查询 13、在共阳极数码管使用中,若要仅显示小数点,则其相应的字段码是()。 A、0x80 B、0x10 C、0x40 D、0x7F 14、51单片机的定时器T1用做定时方式时,采用工作方式1,则工作方式控制字为() A、0x01 B、0x05 C、0x10 D、0x50 15、MCS-51系列单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将SCON中的(),向CPU申请中断。 A、RI或TI置1 B、RI或TI置0 C、RI置1或TI置0 D、RI置0或TI置1 16、在定时/计数器的计数初值计算中,若设最大计数值为M,对于工作方式1下的M值为()。 A、M=213 = 8192 B、M=28 = 256 C、M=24 = 16 D、M=216 = 65536 17、51单片机的串行口是()。 A、单工 B、全双工 C、半双工 D、并行口 18、表示串行数据传输速率的指标为()。 A、USART B、UART C、字符帧 D、波特率 19、串行口的控制寄存器为()。 A、SMOD B、SCON C、SBUF D、PCON 20、串行口的发送数据和接收数据端为()。 A、TXD和RXD B、TI和RI C、TB8和RB8 D、REN 二、填空题(每空1.5分,共30分)

《单片机应用技术》课程标准

电子技术应用专业 《单片机应用技术》课程标准 增加附录:51或52单片机说明书,编程软件烧程序软件使用说明,增加实验中使用的各种器件说明 修改任务内容:去掉任务ISP下载线制作 增加点阵及液晶显示 一、概述 (一)课程性质 单片机技术是现代电子工程领域一门飞速发展的技术,其在教学及产业界的技术推广仍然是当今科学技术发展的热点。学习单片机并掌握其应用已经成为电子类学生必须具备的技能,也是现代工科学生就业的一个基本条件。 《单片机应用技术》是电子技术应用专业的一门职业技术课。它以模拟电子技术、数字电子技术、C语言等课程为基础。后续课程如电子产品装调技术、电子产品检测技术及相关实训课程,一般都要应用到单片机系统的应用。它可以充分体现学生利用自己所掌握的知识解决实际工程问题的能力。单片机知识在电子类专业整个课程体系中处于承上启下的核心地位。 通过本课程的学习,使学生掌握单片机技术及其在工业控制、经济建设和日常生活中的应用,培养学生实践能力、创新能力,为将来从事相关产品的检测和维护等工作奠定坚实的基础,为学生将来在电子类专

业领域进一步发展打下良好基础。 (二)课程基本理念 本课程的设计突破了学科体系模式,打破了原来各学科体系的框架,将各学科的内容按“项目”进行整合。本课程的“项目”以职业实践活动为主线,因而,它是跨学科的,且理论与实践一体化。强调学生个人适应劳动力市场变化的需要。因而,本课程的设计兼顾了企业和个人两者的需求,着眼于人的全面发展,以培养全面素质为基础,以提高综合职业能力为核心。 本课程包含了单片机应用技术的五个项目,每个项目均由若干个具体的典型工作任务组成,每个任务均将相关知识和实践(含实验)过程有机结合,力求体现“做中学”、“学中做”的教学理念;本课程内容的选择上降低理论重心,突出实际应用,注重培养学生的应用能力和解决问题的实际工作能力。 (三)课程设计思路 本课程标准注重培养分析问题、解决问题的能力,强化学生动手实践能力,遵循学生认知规律,紧密结合应用电子专业的发展需要,为将来从事应用电子产品的设计、检测奠定坚实的基础。将本课程的教学活动分解设计成若干项目或工作情景,以项目为单位组织教学,并以典型设备为载体,通过具体案例,按单片机项目实施的顺序逐步展开,让学员在掌握技能的同时,引出相关专业理论知识,使学生在技能训练过程中加深对专业知识、技能的理解和应用,培养学生的综合职业能力,满足学生职业生涯发展的需要。 二、课程目标 1、总目标 本课程先修要求:学生已学习《模拟电子技术》、《数字电子技术》等相关专业基础理论课程,有一定的电路识图、分析能力后进行本专业能力实训。通过实训学生应达到: (一)应使学生熟悉单片机的原理与结构,通过试验实训的训练和一些简易单片机项目制作,掌握单片机控制的基本原理、接口技术,掌

《单片机应用技术》期末测试题

《单片机应用技术》期末测试题 2分,共20分) 下面对于MCU描述正确的是()。 A.微控制器 B.存储器 C.开发工具 D.中断系统STC89C52RC单片机有几个I/O口()。 A.4 B.3 C.2 D.1)。 A.定时器T0中断 B.定时器T1中断 C.外部中断0 D.外部中断1 下面那个字符()一位七段数码不能显示。 A.2 B.3 C.C D.K 数码管中单个发光二极管的管压降一般为()。 A.1.7V B.1.8V C. 1.9V D.2V DS18B20有()根数据线。 A.4 B.3 C.2 D.1 DS18B20就是一种典型的()。 A.热电阻 B.热电偶 C.温度IC D.铂电阻 MCS-51单片机内部的定时器/计数器1可以用下面()来表示。 A.Q1 B.R1 C.S1 D.T1 DS1302的SCLK引脚功能是()。 A.串行时钟 B.串行数据 C.并行时钟 D.并行数据 10.DS1302有()个电源引脚。 A.4 B.3 C.2 D.1 二、简答题(共6题,每小题10分,共60分) 1. 简述时钟芯片的分类。 2.简述时钟周期、机器周期和指令周期之间的关系。 3. 如何对数码管进行测量?

什么称为中断?中断有什么特点? 6. 单片机的开发系统由哪些部分构成? 绘制出典型的程序下载电路。 三、编程题(共2题,每小题10分,共20分) 1.根据下图所示电路试编写程序实现1、3、4、5和7的循环显示。

2.如何用下图所示电路实现下述功能?要求根据下面说明编写相应C语言程序。 (1)按键按下,对应的灯亮,按键未按下,对应的灯灭。对应关系变为S1对应D4;S2对应D3;S3对应D2;S4对应D1。 (2)按下S1时D1到D4全亮;按下S2时D1到D4全灭;按下S3时D1 和D3全亮,D2和D4全灭;按下S4时D1和D3全灭,D2和D4全亮。

单片机原理及应用试题及答案

广西工学院 2002 — 2003 学年第 2 学期课程考核试题考核课程单片机原理及应用考核班级自动化00级 学生数 145 印数 150 考核方式闭卷考核时间 120 分钟 一.填空题(每空1分,共20分) 1、单片机与普通计算机的不同之处在于其将CPU 微处理器、存储 器和I/O口三部分集成于一块芯片上。 2、使用双缓冲方式的D/A转换器,可实现多路模拟信号的同时输出。习题11.4 3、通过堆栈操作实现子程序调用,首先就要把PC的内容入栈,以进行断点保 护。调用返回时,再进行出栈保护,把保护的断点送回到PC。习题2.17 4、在基址加变址寻址方式中,以累加器A作变址寄存器, 以DPTR或PC 作基址寄存器。3.3 5、假定累加器A中的内容为40H,执行指令 1000H:MOVC A,@A+PC 后,把程序存储器1041H单元的内容送入累加器A中。 6、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作 数,而是操作数的地址。3.10 7、假定A=83H,(R0)=17H,(17H)=0B5H,执行以下指令: ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 后,A的内容为4BH 。 解析: ANL A,#17H ;A中83H与17H相与,(A)=03H ORL 17H,A ;(17H)中0B5H与(A)中03H相或,(17H)=B7H XRL A,@R0 A ;(A)中03H与(17H)中B7H异或,(A)=B4H

CPL A ;对A取反, A=4BH 8、已知程序执行前有A=01H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后: POP DPH POP DPL MOV DPTR,#3000H RL A MOV B,A MOVC A,@A+DPTR PUSH A MOV A,B INC A MOVC A,@A+DPTR PUSH A RET ORG 3000H DB 10H,80H,30H,80H,50H,80H 请问:A= 80H,SP= ,(41H)= ,(42H)= 。 9、在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的片选端提供信号。 10、在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问程序存 储器提供地址,而DPTR是为访问数据存储器提供地址。 11、16KB RAM存储器的首地址若为3000H,则末地址为 H。 解析:1000H=0001 0000 0000 0000B=2^12=4K,16K就是4000H,即:0100 0000 0000 0000B=2^14 所以末地址为:7000H-1=6FFFH

《单片机应用技术》模拟试卷A

××××学院 ××××学年第×学期试卷(A) 《单片机应用技术》课程 复查人: 备注: 一、填空题(1×10=10分) 1、十进制数96转化成十六进制数为_____。 2、________和________合称为中央处理单元CPU。 3、CPU通过______总线、______总线和______总线连接存储器及I/O接口。 4、8051单片机片内有4组工作寄存器,每组都有8个寄存器,分别命名为R0~ R7,可通过设置___和____的值来选择其中一组为当前工作寄存器组。 5、单片机中用于存放程序及表格常数的是_______存储器。 6、8051有个中断源。 二、选择题,四个选项中,只有一个正确,将答案写于表格中(2×15=30分) 1、MCS-51系列单片机内部不含ROM的芯片型号是()。 A.8031 B.8051 C.8751 D.8951 2、单片机内部RAM的可位寻址的地址空间是()。 A.00H~1FH B.20H~2FH C.30H~7FH D.80H~0FFH 3、在21个特殊功能寄存器中,有()个具有位寻址能力。 A.11 B.12 C.13 D.14 4、P3口作为外部中断0的引脚是()。 A. P3.0 B. P3.1 C. P3.2 D. P3.3 5、一个机器周期等于()振荡周期。 A.4 B.6 C.8 D.12 6、单片机执行复位操作后,内容不为00H的是()。 A.PSW B.PC C.TCON D.SP 7、指令MOV R0,#20H是()寻址方式。 A.直接 B.立即 C.间接 D.寄存器 8、在语句格式中,唯一不能缺省的部分是() A.标号 B.操作码 C.操作数 D.注释 9、执行算术运算时,OV=1表示()。 A.数据过大 B.数据过小 C.数据运算出现溢出 D.数据运算正常 10、定时/计数器在工作方式1的计数器位数是()。 A.13 B.16 C.8 D.11 11、紫外线擦除可编程的ROM属()。 A.ROM B.PROM C.EPROM D.EEPROM 12、特殊功能寄存器的地址分布在()区域。 A.00H~1FH B.20H~2FH C.30H~7FH D.80H~0FFH 13、寻址空间为外部程序存储器所用的指令是(): A. MOVX B.MOV C.MOVC D.ADDC 14、PC的值是() A.当前指令前一条指令的首地址 B.当前正在执行指令的首地址 C.下一条指令的首地址 D.控制器中指令寄存器的地址 15、在CPU内部反映程序运行状态或反映运算结果的特征寄存器是()。 (A)PC (B)PSW (C)A (D)SP 三、判断题,你认为说法正确的打√,不正确的打×(2×5=10分) 1、单片机的指令系统对某些寄存器既可按位又能按字节进行数据的操作。() 2、指令MOV B,#40H的含义是将数据40H送到寄存器B中。() 3、8051的RETI是中断返回命令。() 4、JB 20H.0 , L1指令含义为当20H.0为1时转移到L1,并将20H.0位清零。() 5、消除按键抖动的方法只能是采用软件技术。 () 四、指出下列指令对源操作数的寻址方式(2×5=10分) 1、MOV A, #40H 2、MOV A,40H 3、MOV A,@R1 4、MOV A, R3 5、SJMP LOOP

单片机应用技术考试试题(六)及答案

单片机应用技术考试试题(六) (本试题分笔试题和操作题两部分。共100分,考试时间120分钟。) 第一部分笔试题 (本部分共有4大题,总分60分,考试时间60分钟,闭卷) 一、填空题(每空1分,共20分) 1、半导体存储器的最重要的两个指标是()和()。 2、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对()。 3、指令ALMP的跳转范围是()。 4、通常、单片机上电复位时PC=(),SP=();而工作寄存器缺省则采用第()组,这组寄存器的地址范围是从()。 5、假定累加器A的内容30H,执行指令: 1000H:MOVC A,@A+PC 后,把程序存储器()单元的内容送累加器A中。 6、MCS-51单片机访问外部存储器时,利用()信号锁存来自()口的低8位地址信号。 7、MCS-51单片机8031中有( )个( )位的定时/计数器,可以被设定的工作方式有四种。 8、用MCS-51串行口扩展并行I/O口时,串行口工作方式应选择()。 9、在CPU内部,反映程序运行状态或反映运算结果的一些特征寄存器是()。 10、计算机的系统总线有地址总线、控制总线和()。 11、若某8位D/A转换器的输出满刻度电压为+5V,则D/A转换器的分辨率为()。 12、JZ e 的操作码地址为1000H,e=20H,它转移的目标地址为()。 13、单片机串行通信时,若要发送数据,就必须将要发送的数据送至()单元,若要接收数据也要到该单元取数。 11、单片机串行通信时,其波特率分为固定和可变两种方式,在波特率可变的方式中,可采用()的溢出率来设定和计算波特率。 二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。每题1分,共10分) 1、在单片机中,通常将一些中间计算结果放在()中。 A、累加器 B、控制器 C、程序存储器 D、数据存储器 2、单片机8051的XTAL1和XTAL2引脚是()引脚。 A、外接定时器 B、外接串行口 C、外接中断 D、外接晶振 3、当标志寄存器P S W的R S O和R S I分别为1和0时,系统选用的工作寄存器组为()。 A、组0 B、组1 C、组2 D、组3 4、下列指令中错误的是()。 A、MOV A,R4 B、MOV 20H,R4 C 、MOV R4,30H D、MOV﹫R4,R3 5、8051单片机共有()中断源。

桂林电子科技大学单片机试卷

桂林电子科技大学信息科技学院试卷2009-2010 学年第1 学期课号 课程名称单片机原理与应用技术(A卷; 笔试, 闭卷)适用班级(或年级、专业)07级电信、信息 一、单项选择题(每小题3分,共45分) 1、- 10的补码为()。 A: F5H B:F6H C:0AH D:0BH 2、单片机复位后的SP与P0的内容是()。 A:SP=00H,P0=00H B: SP=00H,P0=FFH C:SP=07H,P0=00H D:SP=07H,P0=FFH 3、单片机中WR的功能是选通是()。 A:片外数据RAM B:片内数据RAM C:片外程序ROM D:片内程序ROM 4、在下列指令中,正确的MCS-51单片机指令是()。 A:INC C B:ADD A,B C:SUB A , R2 D:MOVX @R2, A 5、能同时将TF0清零的跳转指令是()。 A:JB TF0,LOOP B:JBC TF0,LOOP C:JNB TF0,LOOP D:JZ LOOP 6、当R0的地址为10H时,PSW中的RS1、RS0两位是()。 A:00 B:01 C:10 D:11 7、片内没有上拉电阻的并口是()。 A:P3 B:P2 C:P1 D:P0 8、外部中断1的中断服务程序入口地址是()。 A:0003H B:000BH C:0013H D:0023H 9、用12MHz晶体时,T1做一次定时的最长时间为()。 A:256 μS B:512 μS C:65536μS D:131072 μS 10、在串口控制寄存器SCON中,REN是()。

A:串行接收中断标志位B:串行接收允许位 C:串行发送中断标志位D:串行发送允许位 11、定时器T1的溢出中断标志是()。 A:IT1 B:TI C:TF1 D:IE1 12、EOC信号在ADC0809中起到的作用是() A.启动AD转换 C. ADC0809的片选信号 B.AD转换结束标志 D. 不能确定 13、已知(00H)= 06H, (01H) = 08H, 有这样的定义char data *p; 其中p = 0x01;则*p = () A.00H C.01H B.06H D.08H 14、已知C语言程序p = 0x30; *p = 0x48与之等价的汇编语言程序为() A.MOV 30H,#48H C.MOV 30H,48H B.MOV 30H,#48 D.MOV 30H,48 15、DAC0832的工作方式不包括以下哪一种() A.直通C.单缓冲 B.双缓冲D.双极性 二、阅读程序填空(每小题5分,共25分) 1、设PSW=00H, R0=49H、B=0EDH,问:执行下列程序后PSW= ?R0= ?B= ? MOV SP, #6FH PUSH 0F0H PUSH 00H PUSH PSW POP P SW POP 0F0H POP 00H 2、分别写出若A=57H,执行下列程序后A= ?若A=0F2H, 执行下列程序后 A= ? CJNE A, #80H , LOOP1 ; LJMP NEXT

相关主题
文本预览
相关文档 最新文档