单片机复习题(C语言)

作者&投稿:濮蒲 (若有异议请与网页底部的电邮联系)
单片机考试题目及答案(单片机考试复习题)~

《单片机原理及接口技术》试卷(闭卷A卷)
一.单项选择题(每题1分,共20分)
1.DPTR为( C)
A.程序计数器 B.累加器 C.数据指针寄存器 D.程序状态字寄存
2.PSW的Cy位为( B)
A.辅助进位标志 B.进位标志 C.溢出标志位 D.奇偶标志位
3.MCS-51单片机片内ROM容量为( A )
A.4KB B.8KB C.128B D.256B
4.MCS-51单片机片要用传送指令访问片外数据存储器,它的指令操作码助记符是以下哪个?( B)
A.MUL B.MOVX C.MOVC D.MOV
5.direct表示( C )
A.8位立即数 B.16位立即数 C.8位直接地址 D.16位地址
6.堆栈指针SP是一个( A )位寄存器
A.8 B.12 C.13 D.16
7.定时器/计数器工作方式选择中,当M1M0=11时,其工作方式为( D )
A.方式0 B.方式1 C.方式2 D.方式3
8.定时器/计数器工作方式0为( A)
A.13位定时/计数方式 B.16位定时/计数方式
C.8位可自动装入计数初值方式 D.2个8位方式
9.MCS-51的最小时序定时单位是( A )
A.节拍 B.状态 C.机器周期 D.指令周期
10.#data表示( A )
A.8位直接地址 B.16位地址 C.8位立即数 D.16位立即数
11.主频为12MHz的单片机它的机器周期为(C )
A.1/12微秒 B.0.5微秒 C.1微秒 D.2微秒
12.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( A )。
A.外部中断0 B.外部中断1 C.定时器0中断 D.定时器1中断
13.MOVC A ,@A+PC指令对于源操作数的寻址方式是( D )
A.寄存器间接寻址 B.寄存器寻址 C.立即寻址 D.变地寻址
14. 为( C )
A.复位信号输入端 B.地址锁存允许信号输出端
C.程序存储允许输出端 D.程序存储器地址允许输入端
15.MCS-51单片机的一个机器周期由(D )个振荡脉冲组成。
A.2 B.4 C.6 D.12
16.MOVC A ,#30H指令对于源操作数的寻址方式是( C )
A.寄存器间接寻址 B.寄存器寻址 C.立即寻址 D.变地寻址
17.计算机能直接识别的语言为( B)
A.汇编语言 B. 机器语言 C.自然语言 D.硬件和软件
18.PSW的OV位为( C )
A.辅助进位标志 B.进位标志 C.溢出标志位 D.奇偶标志位
19.在单片机中( A )为程序存储器。
A.ROM B. RAM C.EPROM D.EEPROM
20.能用紫外线光擦除ROM中的程序的只读存储器为( C )
A.掩膜ROM B.PROM C.EPROM D.EEPROM
二、填空(每题 2 分,共 10 分)
1、从单片机系统扩展的角度出发,单片机的引脚可以构成三总线结构,即 数据
总线、地址总线和 控制 总线。
2、ALE信号的作用是 锁存低8位地址信号(或 低8位地址锁存) 。
3、MOV A,40H 指令对于源操作数的寻址方式是 直接 寻址。
4、PC存放的内容为: 下一条要执行的指令的地址 。
5、MCS-8051系列单片机字长是 8 位,有 40 根引脚。
三、简答题:(共 25 分)
1、什么是单片机?简述单片机的应用领域。(15 分)
答:单片微型计算机简称单片机,它是把微型计算机的各个功能部件:中央处理器CPU、随机存储器RAM、只读存储器ROM、定时/计数器及I/O接口电路等集成在一块芯片上,构成一个完整的微型计算机。
应用领域:(1)单片机在智能仪器仪表中的应用;(2)单片机在工业控制中的应用;(3)单片机在计算机网络与通信技术中的应用;(4)单片机在日常生活及家电中的应用。


2、什么叫中断?中断有什么特点?(10 分)
答:(1)“中断”是指计算机在执行某段程序的过程中,由于计算机系统内、外的某种原因,当出现CPU以外的某种情况时,由服务对象向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再返回继续执行原来被中断的程序。
(2)特点:分时操作;实时处理;故障处理。

四.已知:(R1)=32H,(30H)=AAH,(31H)=BBH,(32H)=CCH,求执行下列指令后累加器A.50H.R6.32H.和P1口中的内容。(10分)
MOV A ,#30H
MOV 50H ,A
MOV R6 ,31H
MOV @R1 ,31H
MOV P1,32H
解:上述指令执行后的操作结果为:
A=30H
(50H)=30H
R6=BBH
(32H)=BBH
P1=BBH


五、分析执行如下指令后,PSW中的Cy 、Ac、OV、P各为多少? A中的结果用十进制表示是多少?(15分)
MOV A,#85H
ADD A,#0AEH


Cy=1,Ac=1,OV=1,P=0。(A)=51


六、编程题: (每小题10分,共20分)
1、在程序中定义一个0——9的平方表,利用查表指令找出累加器A=03的平方值。(10分)
解:编程如下:
ORG 0050H
MOV DPTR,#TABLE ;表首地址→DPTR
MOV A,# ;03→A
MOVC A ,@A+DPTR ;查表指令,25→A
SJMP $ ;程序暂停
TABLE:DB 0,1,4,9,16,25,36,49,64,81 ;定义0——9平方表
END
2、试采用两种方法编制程序,开放定时器T1的溢出中断。(10分)
解:编程如下:
MOV IE,88H
或者MOV A8H,88H
或者 SETB EA
SETB ET1

1、uchar state1;//主函数中 有 state1 变量,整个程序却没有改变量定义,可知,第1空即是该变量的定义。
2、state1=0xfe; 或者 state1=~1;//图中 LED为 低电平驱动,D1为 P10,循环中直接将state1的值赋值给 P1,所以,要想D1亮,state1 的值就 必须=0xfe
3、temp=4;//题目要求 亮灯 按 D1\3\5\7 执行,只有 4个步骤,且 for循环的 步进值 只有 -1(temp--),结束条件为temp=0,故temp 的初始值 应= 结束值-步进值×步骤数=0-(-1)×4=4。
4、state1=(state1<<2)+3;//本语句的前半截 为 左移2位,则低2位变为0,需要补充2个1(即0000 0011b=3),以关闭低2位 的灯。
5、j<q;//但这个时间到底多少,没有标准答案,定时不能靠延时函数。晶振不一样,时间不一样。编译器不同,编译结果不一样。单片机类型不同,延时结果不一样。

一. 填空题
1. MCS-51单片机是____8____位机,其最大程序容量可达___64_____K字节,有_____4___个并行口和____32____条I/O管脚。
2. MCS-51单片机正常工作所必须的外部硬件电路是___电源_____、___时钟_____、__复位______。
3. MCS-51单片机复位电平是___高_____电平,正常工作时复位端为__低______电平,复位后并所有行口的输出为____高____电平。
4. MCS-51单片机内部结构中,四个基本功能单元分别是___CPU_____、__RAM______、____ROM____、___定时器计数器I/O口_____;三个扩展功能单元分别是____?____、___?____、___?_____。
5. MCS-51单片机内部RAM四个分区分别是__00H到1FH(R0-R7)可位寻址____、____ _ 20H-2FH___、_30H-7FH__ _____、__80H-FFH______。
6. MCS-51单片机___P0_____口没有内部上拉电阻;并行口作为输入口使用时必须保证该端口场效应管__开漏______,即向该端口写___0xff_____,此时该端口的输出锁存器Q端为___1(高电平)_____。
7. MCS-51单片机计数器工作在方式1和方式2的最大计数值分别是_____65536______、___256________。
8. MCS-51单片机若单片机的主时钟振荡频率为6MHz,定时器工作在方式1和方式2的最大定时时间分别是_____自己算!!______ms、___不懂看书!!________us。基本指令周期是___0.5-2_______us。
9. MCS-51单片机的五个中断源分别是___INT0______、__T0_______、_____INT1_____、___T1______、___UART_______。
10. 编写程序常用的三种程序结构是 __顺序结构_______、__循环结构_______、___选择结构_______。
11. C语言语法中,数据类型unsigned char 定义的是____8_____位无符号数;数据类型unsigned int定义的是___16______位无符号数。对8位和16位有符号数,定义数据类型关键词为___signed char______、____short_____。
12. 单片机上电后是从主函数void main()的___0x0000H______位置运行。
13. 单片机C语言编程时必须有的固定结构的语句是#include <reg51.h>、void main()以及____while_____。
14. keil 集成开发软件的三个主要功能是___编译______、__调试_______、___仿真______。
15. 十进制数100对应的十六进制数是____64_____、二进制数是___01100100______。

二. 读程序题
默认有关变量x、y、z、a、b、c、i均为unsigned int (8为无符号数)(这个是不是打错了)请写出局部程序运行后的结果,用十进制表示。
1. x = ___6___, y = ___3___, z = __11____ , a = ___5___, b = ___15___, c = ___252___。
x = 50/8; y = 100%12; z = 240+26;
a = z>>1; b = x | z; c = ~y;
2. x = _183_____, y = __10____, z = __11____ , a = __10____, b = __10____, c = ___10___。
x = 0xa5 ^ 0x12; y = 5*2; z = y++
a = --z; b = a & y; c = (a+z)/2;
3. x = ___6___, y = __12____, i = ___3___。
x=0;y=0;
for (i=1;i<=3;i++){
x = x+i;
y = y + i*2;
}
4. x = __20____, y = ___10___, z = ___81___ , a = __8____, b = ____9__,
c = __48____, i = ___8___。
a=0;
if (!a){
x=20; y=x<<2; z=y++;
}else{
x=10; y=x<<2; z=y++;
}
i=2<<2; y=10;
if (i>3 && y){
a=y & 0x0c;
b=++i;
c=x^y;
}
随便做的,有些东东忘了!不懂的自己回去看看书去。

本来想帮你做的,可是现在作业太多了,有空了就给你看

有空我看看哈

bsyoa
396

晕,好多呀,可不可以分到10个问题中发,这样我们可以多赚点分数


C语言的5个简答题
三. 在程序上,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。四.具有protected访问控制级别的成员是半公开...

c语言的问题
union是联合体,其中的所有变量共用一片内存空间,该空间长度为union中最长的变量长度,即int数组i[2]的长度8。union会牵涉到大小端问题,而题中给出的数组的第0个元素在低位并不能说明机器为大端序还是小端序,因为数组的生长方向永远向上,和大小端以及堆栈的生长方向没有关系。这意味着这道题目是有...

C语言的题,谢谢您的解答
这个问题看你较真到什麼程度。A一定错---源程序不能直接运行,CPU只识别二进制代码,你知道的.C应该是错的---源程序被编译之後,二进制代码仅仅是你在源文件里写的那些,不包括任何库文杰,所以不能执行,还需要连接库的二进制代码文件。不过也有例外,如果你什麼代码都没写,main是空的就不行了。

C语言题 求解答
5.B 解area=S(5+1,3+4)=5+1*3+4=12 6.A 7.B 8.A 解5.0\/2+4%2=2.5+0=2.5 9.B

c语言问题
int a[5]={1,2,3,4,5};int *ptr1=(int *)(&a+1);\/\/ptr1 = a[0]的地址的地址+1*a数组的长度(也就是5个int的长度)int *ptr2=(int *)((int)a+1);\/\/ptr2 = (a[0]的地址强制转化为整数+1)再转化成的地址 printf("%x,%x\\n",ptr1[-1],*ptr2);\/\/以16进制 首...

二级C机试都是怎么考,考哪些东西
上学期考了 分笔试跟上机 重点不同老师不同划分 题目是老师出的 给些复习题给你吧 我在复习题里面看到的 老师有些也考了第一章C语言概述 一、选择题:1、一个C程序的执行是从( A )。A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开...

急求全国计算机等级考试二级C语言复习题库和资料
其实二级C并不难,只要你认真把教材多翻几遍。我个人觉得所有的资料如下:公共基础知识 高等教育出版社, C语言程序设计 高等教育出版社 , “未来教育的笔试题和机试题”。只要你认认真真的把题做完,要通过肯定没问题。祝您顺利通过!

关于一道c语言题目
你是在TC语言环境下吧?int占2个字节,k变量与char c[2]用的地址是同一片地址。k = -7,-7分为两个字节存储,当你输出c[0]和c[1]时,c[0]就是k的低字节位,c[2]就似乎k的高字节。-7二进制比较难算,举个简单例子,如果k=1,则其二进制为00000000 00000001,此时c[0]= 00000001,...

七年级计算机期末考试复习题
计算机期末考试的复习题哪位大哥大姐能帮帮我啊~1.在Word中,需要输入特殊的符号,可以使用“插入”“符号”菜单命令来实现。()2.计算机技术越向前发展,...程序 C . 内存 D . 外存8、EXCEL的主要功能是( )。A .字处理 B . 电子表格制作C . 幻灯片制作 D . 网页制作9、Excel中,设置表格线,可使用( ...

《单片机C语言程序设计实训100例——基于8051+Proteus仿真》 第03...
单片机c语言编程100个实例目录1 函数的使用和熟悉 实例3:用单片机控制第一个灯亮 实例4:用单片机控制一个灯闪烁:认识单片机的工作频率 实例5:将 P1口状态分别送入P0、P2、P3口:认识I\/O口的引脚功能 实例6:使用P3口流水点亮8位LED 实例7:通过对P3口地址的操作流水点亮8位LED 实例8:用不...

巨野县13667503912: 51单片机编程练习题 请使用C语言回答 -
芮生尼莫: #include<reg51.h> sbit pluse=P1^0; void t0isr() interrupt 1 { TH1=(65536-10000)/256; TL1=(65536-10000)%256; pluse=~pluse; } main() { TMOD=0x10; TH1=(65536-10000)/256; TL1=(65536-10000)%256; TR1=1; ET1=1; EA=1; while(1); }

巨野县13667503912: 编写完整C语言程序 单片机考试题目 -
芮生尼莫: #include #define led P1; int x=0; void InitTimer0(void) { TMOD = 0x01; TH0 = 0x0D8; TL0 = 0x0F0; x=1; } viod main() { EA=1; TMOD = 0x01; TH0 = 0x0D8; TL0 = 0x0F0; EA = 1; ET0 = 1; TR0 = 1; led=0x01; while(1); { if(x==1) {x=0;led = _crol_(led,1);} } }

巨野县13667503912: 求助,《单片机C语言程序设计》编程练习题 -
芮生尼莫: #include#include#define uchar unsigned char#define uint unsigned int sbit kai=P3^5; sbit beep=P3^2; sbit wela1=P1^7; sbit wela2=P1^6; void delay(uint z); void display(); uchar code table[]={0xc0,0xf9,0xa4}; uchar a,aa,b,bb,cc; uint dier; void main(...

巨野县13667503912: 单片机 题目:用c语言程序 编写程序.求高手 谢谢
芮生尼莫: 1. T = 1/2000= 500us T/2 = 250us 因此定时250us T0 工作方式1,初值计算: TH0 = (65536-250)/256 TL0 = (65536-250)%256 2. 查询法 #include &lt;reg51.h&gt; #define WAVE 0x01; int main() { TMOD = 0x01; TH0 = (65536-250)/256; TL0 = (...

巨野县13667503912: 单片机c语言的一道简单的题目,急求答案,要答题过程,在线等 -
芮生尼莫: #include sbit LED = P1^0; void Timer0Init(void) { AUXR &= 0x7F;TMOD &= 0xF0;TMOD |= 0x01;TL0 = 0xE0;TH0 = 0xB1;TF0 = 0;TR0 = 1; ET0 = 1; } void main(void) { EA = 1; Timer0Init(); } void timer0_Isr() interrupt 1 { LED = ~LED; TL0 = 0xE0; TH0 = 0xB1; }

巨野县13667503912: 求助,一道单片机C语言题!!! -
芮生尼莫: #include#define uchar unsigned char uchar num=0; void key-ext0() interrupt 0 { num++; SBUF=num; while(TI==0); TI=0; } main() { TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1; SCON=0x40; EX0=1; IT0=1; EA=1; while(1); }

巨野县13667503912: 用C语言编写以下单片机程序.将R2中的各位倒序排列后送入R3.设A中为无符号数,试编写程序,若满足以下条件,则程序移至LOOP储存单元.(1)A>=10(2... -
芮生尼莫:[答案] 是什么单片机 51吗 我是做单片机开发的

巨野县13667503912: 各位大虾帮帮忙看一下这几道有关单片机c语言的题目!!!!!!!!!!!!
芮生尼莫: 让我来告诉你答案!第一题自己算; 第二 1.P2=P2&0xbe 2.P1=P1|0x28 3. 4.P1=P1&0x08&0xfb 5.if(P2^6) 6.if(P2^0?&&P2^7)

巨野县13667503912: 单片机题目,用c语言,求助!! -
芮生尼莫: 主程序前这样写:uchar time=0; uint second=1500;sbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;主程序大致这样:void main(){TMOD=0x01;TH0=(65536_50000)/256;//定时50msTL0=(65536_50000)%256;ET0=1;EA=1;while(key1!=0)//没有...

巨野县13667503912: 单片机编程题目 -
芮生尼莫: ; ORG 0000H JMP START ORG 000BH; JMP T0_INT T0_INT: MOV TH0, #(65536 - 50000) / 256 MOV TL0, #(65536 - 50000) MOD 256 DJNZ R2, T0_END MOV R2, #10 JNB F0, T0_2 ORL P1, #127 CPL P1.7 T0_END: RETI T0_2: RL A MOV P1...

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网