单片机上机操作考试题部分答案
单片机简答题与答案
1、MCS-51单片机的时钟周期及振荡周期之间有什么关系?一个机器周期
的时序如何划分?
答:时钟周期是单片机最基本的时间单位。机器周期则是完成某一个规定操作所需的时间。一个机器周期为6个时钟周期,共12个振荡周期性,依次表示为S1P1、S1P2、……S6P1、S6P2。
2、MCS-51单片机有几种复位方法?应注意的事项?
答:上电复位和开关复位。上电复位要求接通电源,自动实现复位操作。开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。
3、MCS-51单片机内部包含哪些主要逻辑功能部件?
答:(1)一个8位微处理器CPU。
(2)数据存储器RAM和特殊功能寄存器SFR。
(3)内部程序存储器ROM。
(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。
(5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。
(6)一个串行端口,用于数据的串行通信。
4、什么是堆栈?堆栈有何作用?在程序设计时,有时为什么要对堆栈指针SP重新赋值?如果CPU在操作中要使用两组工作寄存器,你认为SP的初值应为多大?
答:堆栈是一种按照“先进后出”或者“后进先出”规律存取数据的RAM区域由于程序中没有表识,所以要对SP重新赋值对指针SP 重新赋值是因为堆栈空间有限,要给他赋首地址。要使用两组工作寄存器,SP的值应该设置为10H。
5、MCS-51单片机的P0~P3四个I/O端口在结构上有何异同?使用时应注意的事项?
答:80C51单片机的4个I/O端口在结构上时基本相同的,但又各具特点。在无片外扩展存储器的系统中,这4个端口的每1位都可以作为I/O端口使用。在作为一般的通用I/O输入时,都必须先向锁存器写入“1”,使输出驱动场效应管FET截止,以免误读数据。在系统扩展片外存储器时, P2口作为高8位地址,P0口分时作为低8位地址和双向数据总线。
《单片机原理及应用》课后习题答案
第2章 MCS-51的基本结构2.1 MCS-51单片机内部包含那些主要逻辑功能部件?各个功能部件的最主要的功能是什么?2.2 MCS-51的EA端有何用途?2.3 MCS-51单片机外部总线结构是怎样的?2.4 MCS-51单片机存储器的组织结构是怎样的?2.5 MCS-51系列单片机的存储器可划分为几个空间?各自的地址范围和容量是多少?在使用上有什么不同?2.6 8051如何确定和改变当前工作寄存器组?2.7 MCS-51单片机的程序存储器中0000H、0003H、000BH、0013H、001BH和0023H这几个地址具有什么特殊的功能?2.8 8051单片机有哪几个特殊功能寄存器?可位寻址的SFR有几个?2.9 程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?2.10 (SP)=30H 指什么?2.11 MCS-51系列单片机的P0、P1、P2和P3口各有什么特点?2.12 ALE信号有何功用?一般情况下它与机器周期的关系如何?在什么条件下ALE信号可用作外部设备的定时信号。2.13 有那几种方法能使单片机复位?复位后各寄存器的状态如何?复位对内部RAM有何影响?2.14 MCS-51的时钟振荡周期、机器周期和指令周期之间有何关系?2.1 MCS-51单片机内部包含那些主要逻辑功能部件?各个功能部件的最主要的功能是什么?答案:MCS-51单片机内部主要包括以下几个部分:1.一个8位微处理器CPUMCS-51单片机中有一个8位的CPU,包括运算器和控制器两个部分,并且增加了面向控制的处理功能,不仅可以处理字节数据还可以进行位变量的处理,如位处理、查表、状态检测、中断处理等。2.数据存储器RAM和特殊功能寄存器SFR片内具有128Bytes(52系列为256Bytes)的数据存储器,,片外最多可以扩展64KB。数据存储器用来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等。3.内部程序存储器ROM内部具有4KB(51系列)/8KB(52系列)的程序存储器(FLASH),用来存储用户程序。如果片内程序存储器容量不够可以外部扩展程序存储器,最多可以扩展64KB。4.两个定时/计数器MCS-51单片机内部具有2个16位的定时器/计数器。在使用中,这两个定时器/计数器既可以进行精确的计时,又可以对外部事件进行计数,是最常用和最基本的部件。5.四个8位可编程的I/O(输入/输出)并行端口四个8位的并行端口,其中P0为双向口,P1~P3为准双向口。6.一个串行通信端口一个全双工的串行口,具有四种工作方式。可以用来进行串行异步通信,与PC机或者多个单片机主从通信或者构成多机系统实现更强大的功能。7.中断控制系统MCS-51单片机具有5个固定的可屏蔽中断源,3个在片内
第三章MCS51系列单片机指令系统及汇编语言程序设计
寄存器间接寻址的存储器空间包括:内部数据RAM和外部数据RAM。 内部数据RAM共用128字节,用一个字节的R0或R1可寻址整个空间。 外部数据RAM最大可达64K字节,仅用R0或R1无法寻址整个空间。在 MCS-51系列单片机指令中,对外部数据RAM作间接寻址有两种方法:第一种 由P2口提供高8位外部数据RAM地址,由R0或R1提供低8位地址,由此共同 寻址64K空间;第二种是用16位的DPTR作寄存器间接寻址。
3.1 MCS-51单片机的寻址方式
MCS-51单片机共有7种寻址方式:
➢ 立即寻址 ➢ 直接寻址 ➢ 寄存器寻址 ➢ 寄存器间接寻址 ➢ 变址寻址 ➢ 相对寻址 ➢ 位寻址
1. 立即寻址
立即寻址就是把操作数直接在指令中给出,即操作 数包含在指令中。立即操作数有8位和16位两种形式, 前面加“#”来表示。
CLR A ;0→A,累加器A中的内容清零 循环移位指令(4条)
RL A ;累加器A中的内容左移一位 RR A ;累加器A中的内容右移一位 RLC A ;累加器A中的内容连同进位位C左移一位 RRC A ;累加器A中的内容连同进位位C右移一位 例:A=16H,指令RR A执行后,A=0BH。
4.控制转移类指令 (共17条)
单片机复习题
单片机复习提纲(1)
一.单项选择题:(10分)
1.MC-51单片机复位后,程序计数器PC的内容是 C 。
A.00H B.FFH C.0000H D.FFFFH
2.8031单片机芯片要使用时应把EA信号引脚 B 。
A.接高电平B.接地C.悬空D.接地址锁存器选通端
3.MCS-51的程序计数器PC为16位计数器,因此其寻址范围是 D 。
A.8K B.16K C.32K D.64K
4.在MCS-51单片机中,唯一一个可供用户使用的16位寄存器是 B 。A.PSW B.DPTR C.IP D.PC
5.在MCS-51单片机中,唯一一个用户不能直接使用的寄存器是 D 。A.PSW B.DPTR C.IE D.PC
6.在单片机中,用作标志寄存器的一个特殊功能寄存器是 A 。
A.PSW B.DPTR C.TCON D.PC
7.单片机的指令地址存放在 D 中。
A.PSW B.DPTR C.SP D.PC
8.提高单片机的晶振频率,则机器周期信号 C 。
A.不变B.变长C.变短D.变长变短不定
9.8031不具有第二功能的I/O口是:( B )
A、P0 口
B、P1口
C、P2口
D、P3口
10.在M C S-51单片机的中断中,如果出现同级中断申请时,就按硬件查询序列来处理响应次序,其优先级别中第三个为:( D )
A、定时/计数器中断0
B、定时/计数器中断1
C、外部中断0
D、外部中断1
E、串行口中断11.MSC-51在响应中断时,必须由用户清除的标志为( B )
A、TF0
B、RI
C、IE0
D、TF1
12.设(A)=F0H,若执行4次指令RL A ,则执行完后,A 中的内容为:(C )
(完整版)单片机试题库(有答案)
以下题目及答案因时间及水平关系,仅供参考,也请大家对错误提出修正。
MCS-51单片机原理与结构
1.MCS-51单片机CPU的主要组成部分为A。
A.运算器、控制器 B.加法器、寄存器 C.运算器、加法器 D.运算器、译码器
2.单片机能直接运行的程序叫C。
A. 源程序 B.汇编程序 C.目标程序 D.编译程序3.单片机中的程序计数器PC用来C。
A.存放指令 B.存放正在执行的指令地址 C.存放下一条指令地址
D.存放上一条指令地址
4.单片机上电复位后,PC的内容和SP的内容为B。
A.0000H,00H B.0000H,07H C.0003H,07H D.0800H,08H
5.单片机8051的ALE引脚是B。
A.输出高电平 B.输出矩形脉冲,频率为fosc的1/6
C.输出低电平 D.输出矩形脉冲,频率为fosc的1/2
6.单片机8051的EA引脚C。
A.必须接地 B.必须接+5V C.以上两种视需要而定
7.访问外部存储器或其它接口芯片时,作数据线和低8位地址线的
是A。
A.P0口 B.P1口 C.P2口 D.P0口和 P2口8.PSW中的RS1和RS0用来A。
A.选择工作寄存器组号 B.指示复位 C.选择定时器D.选择工作方式
9.上电复位后,PSW的值为D。
A.1 B.07H C.0FFH D.0
10.8051单片机上电复位后,堆栈区的最大允许范围是B个单元。A.64 B.120 C.128 D.256
11.8051单片机上电复位后,堆栈区的最大允许范围是内部RAM的D。A.00H—FFH B.00H—07H C.07H—7FH D.08H—7FH 12.复位后,堆栈指针SP在内部RAM中的直接地址是C。
单片机原理及应用课后习题答案
6.一个串行通信端口 一个全双工的串行口,具有四种工作方式。可以用来进行串行异 步通信,与PC机或者多个单片机主从通信或者构成多机系统实现更强 大的功能。 7.中断控制系统 MCS-51单片机具有5个固定的可屏蔽中断源,3个在片内,2个在 片外,它们在程序存储器中有各自固定的中断入口地址,由此进入中 断服务程序。5个中断源有两个中断优先级,可形成中断嵌套。 8.内部时钟电路 单片机的时钟信号用来提供单片机片内各种微操作的时间基准。
9
(TCON)=00H,复位后定时器/计数器T0、T1停止工作,外部中断0、1 为电平触发方式。 (T2CON)=00H,复位后定时器/计数器T2停止工作。 (SCON)=00H,复位后串行口工作在移位寄存器方式,且禁止串行口接 收。 (IE)=00H,复位后屏蔽所有中断。 (IP)=00H,复位后所有中断源都设置为低优先级。 P0~P3口锁存器都是全1状态,说明复位后4个并行接口设置为输入口。 复位不影响内部RAM的状态(包括通用寄存器Rn) 。 2.14 MCS-51的时钟振荡周期、机器周期和指令周期之间有何关系? 答案:时钟周期是单片机的基本时间单位。若晶振的振荡频率为12MHz, 则时钟周期为1/12MHz=0.0833us。CPU完成一个基本操作所需要的时 间称为机器周期(MC)。 MCS-51单片机每12个振荡周期为一个机器周 期。晶振频率为12MHz时,机器周期为12/12MHz=1us。指令周期是执 行一条指令所需的时间,可以包括1,2,4个机器周期。
(完整版)单片机试题及答案
单片机原理与接口技术习题答案
习题与思考题1
1-1 微型计算机通常由哪些部分组成?各有哪些功能?
答:微型计算机通常由控制器、运算器、存储器、输入/输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序和数据;输入/输出接口电路完成CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。
1-2 单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点?
答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。
1-3 简述计算机的工作过程。
答:计算机的工作是由微处理器以一定的时序来不断的取指令、指令译码和执行指令的过程。
1-4 单片机的几个重要指标的定义。
答:单片机的重要指标包括位数、存储器、I/O口、速度、工作电压、功耗和温度。
1-5 单片微型计算机主要应用在哪些方面?
答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。
1-6 为什么说单片微型计算机有较高的性能价格比和抗干扰能力?
答:因为单片微型计算机主要面向特定应用而设计,设计者在硬件和软件上都高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,具备较高的性能、价格比;单片机嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中,另外单片机体积小,可以放入屏蔽设备中,从而使其具有较高的抗干扰能力。
单片机复习材料题目加答案
(1)单片机主要集成了中央处理器(CPU)、数据寄存器(RAM)、程序储存器(ROM)、中断系统、定时器/计时器、以及输入/输出接口电路等部件。
(2)单片机最小系统主要包括单片机、晶振电路、复位电路、和电源等4个部分。
(3)单片机常采用两种复位方式,即上电自动复位和手动复位。
(4)一个机器周期包含12个晶振周期,若晶振周期的频率为12MHz,则机器周期为1μ
s ,指令周期为1μs ~ 4μs机器周期。
(5)当P1口作输入口输入数据时,必须先向该端口的锁存器写入1,否则输入数据可能出错。
(6)MCS-51系列单片机有4个并行I/O口, 1 个全双口串口, 2 个16位定时器/计数器,5个中断源。
(7)单片机位寻址区的单元地址是从20H单元到2FH单元,若某位地址是09H,它所在单元的地址应该是21H。
(8)寄存器PSW中的RS1和RSO的作用是选择当前工作寄存器。
(9)MCS-51单片机的内部RAM中从00H 到1FH是工作寄存器区,共分为4组。
(10)既做数据线又做地址线的是P0口,只能做地址线的是P1口。
(11)MCS-51单片机有两种复位方式,即上电复位和手动复位。复位后SP=07H,PC=0000H,PSW=00H,A=00H,P0=P1=P2=P3=FFH。
(12)若(PSW)=18H,则选取的是第_4_组工作寄存器。其地址范围从00H-1FH。
(13)C51中定义位变量的关键字bit,位变量对应的地址空间范围是20H-2FH 。
(14)unsigned char定义的变量取值范围0-255,unsigned int定义的变量取值范围0-65535。
单片机应用技术-课后习题参考答案
1
习题1答案
1.2 填空题
(1)单片级应用系统是由硬件系统、软件系统组成的
(2)除了单片机和电源外,单片机最小系统包括时钟电路、复位电路
(3)除了电源和电线引脚外,1、2、、EA引脚信号必须连接相应电路
(4)51系列单片机的存储器主要有4个物理存储空间,即片内数据存储器、片内程序存储器、片外数据存储器、片外程序存储器
(5)51系列单片机的1和2引脚是时钟电路
(6)51系列单片机的应用程序一般存放在程序存储器
(7)片内低128单元,按其用途划分为工作寄存器组、位寻址区、用户区
(8)但振荡脉冲频率为12时,一个机器周期为1,当振荡脉冲频率为6时,一个机器周期为2
(9)51系列单片机的复位电路有两种,即上电复位电路、按键复位电路
(10)输入单片机的复位信号需延续2个机器周期以上的高电平即为有效。
1.3
(4)什么是机器周期?机器周期和晶振频率有何关系?当晶振频率为6时,机器周期是多少?
答:
规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。
当振荡脉冲频率为6 时,一个机器周期为2 µs。
(5)51系列单片机常用的复位方法有哪几种?画电路图并说明其工作原理。
答:
(a)上电复位电路(b)按键复位电路
单片机常见的复位电路
图(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,端的电位与相同,随着充电电流的减少,的电位逐渐下降。只要保证为高电平的时间大于两个机器周期,便能正常复
位。
图(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图(b)中的键,此时电源经电阻R1、R2分压,在端产生一个复位高电平。
单片机上机操作考试题及答案(word文档良心出品)
单片机上机考试试题
1.使得8个发光二极管循环点亮,采用定时器方式0使得每个发光二极管点亮的时间为0.5s。#include <reg51.h>
int count=0;
int minute=0;
int temp;
char code style[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
void desplay()
{
temp=minute%8;
P0= style[temp];
}
void toProc() interrupt 1
{
count++;
TH0=0x0c;
TL0=0x78;
}
void main()
{
TMOD=0;
TH0=0x0c;
TL0=0x78;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(count==100)
{
minute++;
count=0;
}
desplay();
}
}
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 K1=0,K2=0 ○○○○○○○○K1=0,K2=1 ●●●●○○○○K1=1,K2=0 ●●○○●●○○K1=1,K2=1 ●●●●●●●●
#include <reg51.h>
char code style[4]={0x0,0xf0,0x33,0xff};
sbit P1_0=P1^0;
sbit P1_1=P1^1;
void main()
{
P0=0xff;
while(1)
{
if(P1_0==0&&P1_1==0)
{
P0=style[0];
}
if(P1_0==0&&P1_1==1)
(完整版)单片机考试试题带答案
单片机原理及应用试卷A
一、填空题(每空1分,共20分)
1、单片微型计算机由CPU、存储器和I/O 三部分组成。
2、MCS-51系统中,当PSEN信号有效时,表示从P0口稳定地送出了低8位地址。
3、访问8031片外数据存储器采用的是寄存器间接寻址方式。
4、累加器(A)=80H,执行完指令ADD A,#83H后,进位位CY= 1 。
5、指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H入栈,37B0H送入PC。
6、51有5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器IP 加以选择。
7、在变址寻址方式中,以A作为变址寄存器,以PC或DPTR作基址寄存器。
8、中断请求信号有电平触发和脉冲触发两种触发方式
9、用串行口扩展并行口时,串行接口的工作方式应选为方式0。
10、74LS273通常用来作简单输出接口扩展;而74LS244则常用来作简单输入接口扩展。
11、51的并行I/O口信息有读引脚和读锁存器两种读取方法,读—改—写操作是针对
并行I/O口内的锁存器进行的。
12、A/D转换器的三个重要指标是转换速度、分辨率和转换精度。
二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。每题1.分,共10分)
1、计算机能识别的语言是( C )。
(A)汇编语言(B)自然语言(C)机器语言(C)高级语言
2、MCS-51单片机外扩存储器芯片时,4个I/O口中用作数据总线的是( B )。
(A)P0和P2口(B)P0口(C)P2和P3口(D)P2口
3、在中断服务程序中,至少应有一条( D )。
单片机实践上机操作试题
上机考试操作要求
(1)在桌面文件夹,用学号姓名命名。将上机操作所有文件均建立在该文件夹内。(2)按题目要求应用PROTEUS软件完成硬件图的绘制。
(3)用KEIL软件编写程序实现题目要求。
(4)进行仿真调试。
题目:
1、设计单片机外接4位数码管的动态显示接口电路,编程实现4位数码管显示稳定的
1234
2、设计单片机外接4位数码管的动态显示接口电路,编程实现4位数码管显示稳定的
5678
3、设计单片机外接4位数码管的动态显示接口电路,编程实现4位数码管显示稳定的
9876
4、设计单片机外接4位数码管的动态显示接口电路,编程实现4位数码管显示稳定的
0246
5、设计单片机外接4位数码管的动态显示接口电路,编程实现4位数码管显示稳定的
1357
6、设计单片机外接1位数码管和一个按键的电路。编程实现:程序启动后,数码管不
显示,当按键按下并释放后数码管循环显示0~9,当按键再次按下并释放后暂停显示。循环该过程。
7、设计单片机外接1位数码管和2个按键的电路。编程实现:程序启动后,数码管不
显示,当按键1按下并释放后数码管循环显示0~9,当按键2按下并释放后暂停显示。
8、设计单片机外接1位数码管和一个按键的电路。编程实现:程序启动后,后数码管
循环显示0~9,当按键按下并释放后数码管暂停显示,当按键再次按下并释放后继续显示。
9、设计单片机外接1位数码管和2个按键的电路。编程实现:程序启动后,数码管循
环显示0~9,当按键1按下并释放后暂停显示。当按键2按下并释放后继续显示。
10、设计单片机外接8个发光二极管的电路。编程实现:8个发光二极管从第1个
基于hal库的stm32单片机的试题
基于hal库的stm32单片机的试
问题:使用HAL库配置STM32的GPIO引脚为输出模式,并将LED灯连接到引脚上。根据按键输入,实现LED灯的开关功能。
提示:
1.初始化HAL库和相关外设。
2.配置GPIO引脚为输出模式。
3.根据按键输入状态,控制GPIO引脚的电平状态来打
开或关闭LED灯。
请回答以下问题:
1.使用HAL库中的哪个函数来初始化GPIO引脚?
2.使用HAL库中的哪个函数来配置GPIO引脚为输出
模式?
3.如何读取按键输入状态?
4.如何根据按键输入状态来控制GPIO引脚的电平状
态?
单片机原理与应用综合习题与答案
综合习题一
一、填空题
1、单片机的发展大致可分为个阶段。
2、单片机与普通计算机的不同之处在于其
将、和 3部分集成于一块芯片之上。
3、单片机的存储器设计采用哈佛结构,它的特点是。
4、CPU主要由器和器组成。CPU中
的用来处理位操作。
5、第四代计算机所采用的主要器件是。
6、MCS-51系列单片机中,片无ROM的机型是,有4KB ROM 的机型是,而有4KB EPROM的机型
是。
7、—32的补码为 B,补码11011010B代表的真值
为 D。
8、原码数DFH= D,原码数6EH= D。
9、100的补码= H,—100的补码= H。
10、在8031单片机部,其RAM高端128个字节的地址空间称为区,但其中仅有个字节有实际意义。
11、通常单片机上电复位时PC= H、SP= H、通用寄存器则采用第组,这一组寄存器的地址围是
从 H~ H。
12、若PSW为18H,则选取的是第组通用寄存器。
13、8031单片机复位后R4所对应的存储单元地址为 H,因上电时PSW= H。
14、若A中数据为63H,那么PSW的最低位(即奇偶位P)为。
15、在微机系统中,CPU是按照来确定程序的执行顺序的。
16、堆栈遵循的数据存储原则,针对堆栈的两种操作
为和。
17、在8031单片机中,使用P2、P0、口传送信号,且使用了P0口来传送、信号,这里采用的是技术。
18、使用8031单片机时需将EA引脚接电平,因为其片
无存储器,8031片外可直接寻址的存储空间
达 KB。
19、8位机中的被码数80H和7FH的真值分别
为和。
20、配合实现“程序存储自动执行”的寄存器是,对其操作的一个特别之处是。
单片机上机操作考试题及答案
单片机上机操作考试题及答案
1. 实验目的
通过单片机上机操作考试,测试学生对单片机相关知识的掌握程度,以及培养学生动手实践能力和解决问题的能力。
2. 实验要求
根据题目要求,使用单片机进行编程,完成所提供的电路连接和操
作步骤。要求学生能够独立完成实验,并且在规定时间内提交答案。
3. 考试题目
3.1 题目一:LED流水灯
连接8个LED灯,灯依次顺序点亮并循环显示,每个灯的亮灭时
间为500ms。
3.2 题目二:数码管计数器
使用数码管显示0-9的数字,实现一个计数器功能。按下按键后计
数器加1,并且在数码管上显示当前的计数值。
3.3 题目三:温度采集与显示
通过温度传感器采集环境温度,并使用数码管显示当前温度值,温
度单位为摄氏度。
4. 考试答案
4.1 题目一答案:LED流水灯
```C语言
#include
sbit LED1 = P0^0;
sbit LED2 = P0^1;
sbit LED3 = P0^2;
sbit LED4 = P0^3;
sbit LED5 = P0^4;
sbit LED6 = P0^5;
sbit LED7 = P0^6;
sbit LED8 = P0^7;
void delay(unsigned int i) //延时函数{
unsigned int j, k;
for(j=i; j>0;j--)
for(k=121;k>0;k--);
}
void main()
{
while(1)
LED1 = 0; delay(500); LED2 = 0; delay(500); LED3 = 0; delay(500); LED4 = 0; delay(500); LED5 = 0; delay(500); LED6 = 0; delay(500); LED7 = 0; delay(500); LED8 = 0; delay(500); LED1 = 1; delay(500); LED2 = 1; delay(500); LED3 = 1; delay(500); LED4 = 1; delay(500); LED5 = 1; delay(500); LED6 = 1; delay(500); LED7 = 1; delay(500); LED8 = 1; delay(500); }
单片机原理及应用考试试题及答案
单片机原理及应用考试试题及答案[1]11
《单片机原理与应用》试题018答案
填空题(每空2分,共30分)
1、真值1001001B的反码为;其补码为
2、MCS-51系列单片机00—1FH 。
3、程序状态标志字寄存器PSW中的PSW.7的含义是;PSW.0的含义是志。
6、单片机汇编语言程序有三种基本结构,分别是:和
7、MCS—51单片机0 。
8、存储器EPROM 27128的地址线有KB。
9、可编程并行I / O接口芯片8255A有个8位并行I / O端口,可通过编程决定它们的功能。
二、单项选择题(每小题3分,共15分)
1、MCS—51单片机外部有40个引脚,其中,地址锁存允许控制信号引脚是
(A)ALE (B)PSEN
(C)EA (D)RST (B )
A (A )2、下列指令写法正确的是。(A)MOV #20H,A (B)ADD R2,#30H (C)PUSH R0 (D)RRC
3、ORG 0003H
LJMP 2000H
ORG 000BH
LJMP 3000H 当CPU响应外部中断0后,PC的值是(B)
(A)0003H (B)2000H (C)000BH (D)3000H
4、用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(A)
(A)方式0 (B)方式1 (C)方式2 (D)方式3
5、MCS-51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是(A)
(A)读锁存器具(B)读数据库(C)读A累加器具(D)读CPU
三、简答题(每小题10分,共20分)
1 简述可编程并行接口8255 A的其中有数据总线驱动器,读/写控制逻辑
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sbit k1=P1^0;
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={0xbf,0x86,0xed};
uchar T_count=0;
uchar i=1;
void intoProc() interrupt 1
{
{
TH0=0x3c;
TL0=0xb0;
if(++T_count==10)
{
P0=tab[i];
i=(i+1)%5;
T_count=0;
}
}
void main()
{
TMOD=1;
TH0=0x3c;
TL0=0xb0;
EA=1;
TR0=1;
ET0=1;
P0=tab[0];6个数码管上分别显示自己学号的后六位数字。
{
TH0=0x3c;
TL0=0xb0;
if(++T_count==20)
{
P0=tab[i];
i=(i+1)%4;
T_count=0;
}
}
void main()
{
TMOD=1;
TH0=0x3c;
TL0=0xb0;
EA=1;
TR0=1;
ET0=1;
P0=tab[0]; 一个数码管上循环显示“0” “1” “5” 3个数字,循环的时间为1s。
TH0=0x3c;
TL0=0xb0;
if(++T_count==10)
{
P0=tab[i];
i=(i+1)%3;
T_count=0;
}
}
void main()
{
TMOD=1;
TH0=0x3c;
TL0=0xb0;
EA=1;
TR0=1;
ET0=1;
P0=tab[0];4个数码管上稳定显示出“A” “C”“E” “P”四个字符。
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={0xf6,0xf9,0xb8,0xb8,0xbf};
uchar T_count=0;
uchar i=1;
void t0Proc() interrupt 1
#define uint unsigned int
uchar code tab[]={0x05,0x06,0x03};
uchar T_count=0;
uchar State=0;
uchar i=1;
void t0Proc() interrupt 1
{
TH0=0x3c;
TL0=0xb0;
switch(State)
uchar T_count=0;
uchar i=0;
void delay(int x)
{
uchar i;
while(x--)
{
for(i=0;i<100;i++);
}
}
void t0Proc() interrupt 1
{
TH0=0x3c; 用外中断1来控制,当无按键按下时8个发光二极管循环点亮,循环点亮的时间为1s,有按键按下时,8个发光二极管全部熄灭。
#include<>
#define uchar unsigned char
#define uint unsigned int
void delay(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<100;i++);
}
}
void main()
{
while(1)
{
P0=0xf7;一个20s的简易秒表,当按键K1按下时,秒表暂停计数,K2按下时,开始计数。
uchar i=1;
void t0Proc() interrupt 1
{
TH0=0x3c;
TL0=0xb0;
switch(State)
{
case 0:
if(++T_count==30)
{
P1=~tab[i];
i=(i+1)%4;
T_count=0;
State=1;
}
break;
case 1:
if(++T_count==10)
状态1
○
○
●
●
状态2
○
●
●
●
状态3
●
●
●
●
状态4
○
○
○
○
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={0x0c,0x0e,0x0f,0x00};
uchar T_count=0;
uchar State=0;
{
P1=~tab[i];
i=(i+1)%4;
T_count=0;
State=2;
}
break;
case 2:
if(++T_count==5)
{
P1=~tab[i];
i=(i+1)%4;
T_count=0;
State=3;
}
break;
case 3:
if(+来自百度文库T_count==1)
{
P1=~tab[i];
#include<>
#include<>
#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^2;
uchar code tab[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
uchar T_count=0;
{
case 0:
if(++T_count==10)
{
P1=~tab[i];
i=(i+1)%3;
T_count=0;
State=1;
}
break;
case 1:
if(++T_count==20)
{
P1=~tab[i];
i=(i+1)%3;
T_count=0;
State=2;
}
break;
case 2:
if(++T_count==30)
{
P1=~tab[i];
i=(i+1)%3;
i=1;
T_count=0;
State=0;
}
break;
}
}
void main()
{
TMOD=1;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
TR0=1;
P1=~tab[0];
while(1);
}
18.彩灯系统,实现8个发光二极管从左到右点亮,每个发光二极管点亮的时间为2s,然后从右到左亮,每个发光二极管点亮的时间为.
○
○
○
○
○
○
○
○
K1=0,K2=1
●
●
●
●
○
○
○
○
K1=1,K2=0
●
●
○
○
●
●
○
○
K1=1,K2=1
●
●
●
●
●
●
●
●
#include<>
#define uint unsigned int
#define uchar unsigned char
sbit k1=P3^2;
sbit k2=P3^3;
一个数码管上循环显示“H”“E” “L”“L”“O”,循环的时间为1s。
void delay1s()
{
uchar i;
for(i=0;i<10;i++)
{
TH1=0x3c;
TL1=0xb0;
TR1=1;用外中断0来控制,去实现下列功能。
其中K1为按键,P1口对应8个发光二极管的状态
无按键按下(循环)
●
●
○
○
●
●
○
○
●
●
●
●
○
○
●
●
有按键按下
●
●
●
●
○
○
○
○
#include<>
1.使得8个发光二极管循环点亮,采用定时器方式0使得每个发光二极管点亮的时间为。
#include<>
#include<>
#define uchar unsigned char
uchar T_count=0;
成下面电路所示的功能,K1,K2对应两个开关按键。P1口对应发光二极管的状态
K1=0,K2=0
#define uint unsigned int
#define uchar unsigned char
uchar code tab[]={0xcc,0x30};
sbit k1=P3^2;
采用定时器方式1使得8个发光二极管按如下方式点亮,循环的时间为2s
○
○
○
○
●
●
●
●
●
●
●
●
○
○
○
○
●
●
○
○
●
●
○
#define uchar unsigned char
sbit k1=P3^2;
sbit k2=P3^3;
成下面电路的功能,P1口对应发光二极管的状态,状态1显示的时间为1s,状态2显示的时间为2s,状态3显示的时间为3s,如此循环
状态1
●
○
●
状态2
○
●
●
状态3
●
●
○
#include<>
#define uchar unsigned char
{
State=1;
}
T_count=0;
}
break;
case 1:
if(++T_count==15)
{
i=(i+1)%8;
P2=tab1[i];
if(i==7)
{
State=0;
i=1;
}
T_count=0;
}
break;
}
}
void main()
{
TMOD=1;
TH0=0x3c;
TL0=0xb0;
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code tab1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code tab2[]={0x6f,0x7f,0x07,0x7d,0x6d,0x66,0x4f,0x5b,0x06,0x3f};
uchar State=0;
uchar T_count=0;
uchar i=1;
void t0Proc() interrupt 1
{
TH0=0x3c;
TL0=0xb0;
switch(State)
{
case 0:
if(++T_count==20)
{
P2=tab[i];
i=(i+1)%8;
if(i==7)
uchar i=1;
完成下面电路所示的功能,K1,K2对应两个开关按键。P1口对应发光二极管的状态
K1=0,K2=0
●
●
●
●
●
●
●
●
K1=0,K2=1
●
●
●
●
○
○
○
○
K1=1,K2=0
○
○
○
○
●
●
○
○
K1=1,K2=1
○
●
○
●
○
●
○
●
#include<>
#define uint unsigned int
○
●
●
●
●
●
●
●
●
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={0x0f,0xf0,0xcc,0x00};
uchar T_count=0;
uchar i=1;
void t0Proc() interrupt 1
#include<>
#define uint unsigned int
#define uchar unsigned char
uchar tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbit k1=P3^2;
sbit k2=P3^3;
void delay(int x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
void main()
{
P0=tab[0];
P2=tab[1];
P3=tab[2];
P1=tab[3];
delay(500);
}
20. 完成下面电路的功能,P1口对应发光二极管的状态,状态1显示的时间为3s,状态2显示的时间为1s,状态3显示的时间为,状态4显示的时间为,如此循环
#include<>
#include<>
#define uchar unsigned char
uchar code tab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar code tab1[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
#include<>
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={};一个简易30s的倒计时秒表,秒表的显示通过8个发光二极管显示出来。
#include<>
#define uchar unsigned char
i=(i+1)%4;
T_count=0;
State=0;
}
break;
}
}
void main()
{
TMOD=1;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
TR0=1;
P1=~tab[0];
while(1);
}
23.数码管数字显示控制程序设计。控制要求:用按键K1和K2分别控制数码管显示数字0~9的顺序,当按下K1键时按从0到9的顺序显示,当按下K2时按从9到0的顺序显示。时间间隔均为1秒。硬件电路如图所示。
EA=1;
ET0=1;
TR0=1;
P2=tab[0];
while(1);
}
19.在4个数码管上显示出当天的日期。
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={0x06,0x5b,0x06,0x6f};