单片机C语言习题(3)

合集下载

单片机应用技术(c语言知识版第3版)[王静霞]习题集标准答案

单片机应用技术(c语言知识版第3版)[王静霞]习题集标准答案

习题 11.1 单项选择题(1) A (2)C (3)C1.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> //包含头文件reg51.h,定义了51单片机的专用寄存器//函数名:delay//函数功能:实现软件延时//形式参数:无符号整型变量i,控制空循环的循环次数//返回值:无void delay(unsigned int i) //延时函数{unsigned int k;for(k=0;k<i;k++);}void main() //主函数{while(1){P1=0x00;delay(20000); //调用延时函数,实际参数为20000P1=0xff;delay(20000); //调用延时函数,实际参数为20000}}(2)参考程序:#include <reg51.h> //包含头文件reg51.h,定义了51单片机的专用寄存器//函数名:delay//函数功能:实现软件延时//形式参数:无符号整型变量i,控制空循环的循环次数//返回值:无void delay(unsigned int i) //延时函数{unsigned int k;for(k=0;k<i;k++);}void main() //主函数{while(1){P1=0x55;delay(20000); //调用延时函数,实际参数为20000P1=0xff;delay(20000); //调用延时函数,实际参数为20000}}习题 22.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口各引脚的第二功能如下表。

单片机C语言练习题

单片机C语言练习题

5.下述程序的输出结果是。
main ( )
{ int a=0,b=0,c=0;
if (++a>0 | | ++b>0)
++c;
printf(“%d,%d,%d”,a,b,c);
}
A)0,0,0 B)1,1,1 6.以下程序输出结果是
C)1,0,1 。
D)0,1,1
main ( )
{ int x=1,y=0,a=0,b=0;

6、数学表达式 1<=a<=3
的 C 语言表达式为

7、已知:char a=’a’,b=’b’,c=’c’,unsigned int i;则表达式 i=a+b+c 的数值为

8、已知 int a=12,n=5;则:表达式运算后 a 的值各为

a+=a
a-=2
a*=2+3
a/=a+a
n%=(n%=2)
switch(x) {
case 1:switch (y) {
case 0 : a++ ; break ;
case 1 : b++ ; break ;
}
case 2:a++; b++; break;
case 3:a++; b++;
}
printf(“a=%d,b=%d”,a,b);
}
A)a=1,b=0 B)a=2,b=1 C)a=1,b=1 D)a=2,b=2
A)①和② B)②和③ C)①和③ D)③和④
16、逻辑运算符两侧运算对象的数据类型( )

51单片机c语言考试题目及答案

51单片机c语言考试题目及答案

51单片机c语言考试题目及答案一、选择题(每题2分,共10分)1. 下列关于51单片机的描述,错误的是()。

A. 51单片机是一种8位微控制器B. 51单片机具有丰富的I/O端口C. 51单片机的内部RAM是256字节D. 51单片机的时钟频率不能超过12MHz答案:D2. 在51单片机中,下列哪个寄存器用于存储当前正在执行的指令的地址?()A. SPB. PCC. DPTRD. PSW答案:B3. 51单片机的定时器/计数器可以工作在以下哪种模式?()A. 定时模式B. 计数模式C. 定时和计数模式D. 以上都是答案:D4. 51单片机的中断向量表中,外部中断0的中断向量地址是()。

A. 0003HB. 000BHC. 0013HD. 001BH答案:B5. 在51单片机的C语言编程中,下列哪个关键字用于定义一个函数?()A. intB. voidC. functionD. define答案:A二、填空题(每题2分,共10分)1. 51单片机的内部RAM分为______区和______区。

答案:工作寄存器;位寻址2. 51单片机的定时器/计数器0和定时器/计数器1的中断优先级分别是______和______。

答案:低;高3. 在51单片机的C语言编程中,使用______关键字可以定义一个全局变量。

答案:extern4. 51单片机的EA位是______位,它控制着______中断的总开关。

答案:总中断;所有5. 51单片机的定时器/计数器溢出时,会自动向______寄存器写入______。

答案:计数器;1三、简答题(每题5分,共20分)1. 简述51单片机的中断系统是如何工作的?答案:51单片机的中断系统由中断向量表、中断优先级和中断服务程序组成。

当一个中断事件发生时,单片机会自动将当前程序的地址存入堆栈,然后跳转到中断向量表中对应的中断服务程序地址执行中断服务程序。

中断服务程序执行完毕后,单片机会从堆栈中恢复程序的地址,继续执行被中断的程序。

单片机C语言模拟试题

单片机C语言模拟试题
DJNZ R7,LOOP
2.请将ROM3000H单元内容送R7
答:MOV DPTR, #3000H
CLR A
MOVC A,@A+DPTR
MOV R7,A
七、编程题(40分)
1 已知一MCS—51单片机系统的片内RAM 20H单元存放了一个8位无符号数7AH,片外扩展RAM的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。
2、片内RAM的20H~2FH为位寻址区,所包含的位地址是( B )。
A、00H~20H B、00H~7FH C、20H~2FH D、00H~FFH
3、MCS-51单片机的复位信号是( A )有效。
A、高电平 B、低电平 C、脉冲 D、下降沿
答:P=1/f=(1/11.059×106)=0.09×10-6s
=90ns
S=2P=2×90ns=180ns
机器周期=12P=12×90ns=1.08μs
双指令周期=2×机器周期=2.16μs
判题标准:每问4分,结果错,分值全扣;结果正确,量纲错或不写量纲,每问扣1分。
2.MCS—5l单片机的堆栈区只可设置在 片内数据存储区(器)
3.MCS—51单片机外部中断请求信号有电平方式和脉冲方式,在电平方式下,当采集到INT0、INT1的有效信号为低电平时,激活外部中断。
4.定时器/计数器的工作方式3是指的将定时器/计数器0 拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为串行口的波特率发生器使用。

单片机试题库分章节答案

单片机试题库分章节答案

单片机试题库分章节答案(C语言)(总24页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--(红色是考试考过的,蓝色是老师给的习题“重点看“)第1部分单片机概述及数学基础一、填空题1、十进制255的二进制是,十六进制是 FF 。

2、单片机是将CPU、存储器、特殊功能寄存器、定时/计数器和输入/输出接口电路、以及相互连接的总线等集成在一块芯片上。

3、十进制127的二进制是 1111111,十六进制是7F。

4、+59的原码是 00111011,-59的补码是。

5、十进制数100转换为二进制数是1100100;十六进制数100转换为十进制数是256。

6、十进制数40转换为二进制数是101000;二进制数转换为十进制数是 2. 5。

7、十进制99的二进制是 1100 011 ,十六进制是 63 。

二、判断题(×) 1、AT89S51是一种高性能的16位单片机。

8位机(×) 2、有符号正数的符号位是用1表示的。

三、选择题()1、计算机中最常用的字符信息编码是( A)A. ASCII 码 C. 余3码 D. 循环码四、简答题1、何谓单片机单片机与一般微型计算机相比,具有哪些特点第2部分 51单片机硬件结构、存储系统及I/O接口一、填空题1、AT89S51单片机共有 4 个8位的并行I/O口,其中既可用作地址/数据口,又可用作一般的I/O口的是 P0 。

2、若采用12MHz的晶振,则MCS-51单片机的振荡周期为__ 1/12 μS __ ,机器周期为____1μS __。

3、AT89S51单片机字长是___8___位,有___40根引脚。

4.89S51单片机是 8 位单片机,其PC计数器是 16 位。

5.若单片机使用的晶振频率是6MHz,那么一个振荡周期是 1/6 µS,一个机器周期是 2μS µS。

6.89S51单片机是+5 V供电的。

单片机应用技术(C语言版)习题参考答案

单片机应用技术(C语言版)习题参考答案

⑴将 m 中的数据从 P1 口输出。
⑵将 mybit 中的数据从 P1.2 口线输出。
⑶将 P1.5 口线置 1。
⑷将 P1.0 口线清 0。
⑸读 P1 口的输入状态,并保存至 m 中。
⑹读 P1.7 口线输入状态,并保存到 mybit 中。
【解】
⑴ sfr P1=0x90;
unsigned char m;
3.用 C51 设计单片机程序时,应尽量使用 无符号字符 型和 位 型数据,以便提高程 序的运行速度。
4.写出下列常量和变量的定义式: ⑴值为 20 的符号常量 KTIM。 ⑵无符号字符型变量 i、j。 ⑶带符号整型变量 k。 ⑷浮点型变量 f。 ⑸有符号的长整型变量 sl。 ⑹位变量 mybit。 ⑺定义无符号字符型变量 i、j,并给 i 赋值 3、j 赋值 4。 【解】 ⑴ #define KTIN 20 ⑵ unsigned char i,j; ⑶ int k; 或者 signed int k; ⑷ float f; ⑸ long sl; 或者 signed long sl; ⑹ bit mybit; ⑺ unsigned char i=3,j=4; 5.语句“i=(j=3)+(k=4);”的含义是 求求两个赋值表达式“j=3”与“k=4”的和,并 将和值赋给变量 i ,语句执行后 i= 7 ,j= 3 ,k= 4 。 6.若有下列定义:
int i=0x1234; unsigned char j; 语句“j=i;”执行后,i= 0x1234 ,j= 0x34 。 7.若有下列定义: int i; unsigned char j=0x82; 语句“i=j;”执行后,i= 0x0082 。 8.若有下列定义: unsigned int i; char j=0x82; 语句“i=j;”执行后,i= 0xff82 ,j= 0x82 。 9.定义下列特殊功能寄存器和特殊位: ⑴特殊功能寄存器 P0、P1、P2、P3。 ⑵16 位特殊功能寄存器 RCAP2,RCAP2 的低字节地址为 0xca,高字节地址为 0xcb。

(精品)单片机应用技术(C语言版)习题参考答案

(精品)单片机应用技术(C语言版)习题参考答案
单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_123@)
单片机应用技术(C 语言版) 课后习题参考答案
任务 1 控制 1 只发光二极管闪烁显示
1. EA 脚的功能是 控制程序存储器的选择 ,单片机使用片内程序存储器时,该引脚 应该 接+5V 高电平 。
2.单片机的 RST 引脚是 复位引脚 ,外接 复位 电路。
0x00~0xff ,共 256 字节。
5.MCS-51 单片机的 data 区位于单片机的 片内 RAM 中,地址范围为 0x00~0x7f ,共
128 字节。
6.MCS-51 单片机有 4 组工作寄存器组,工作寄存器组区的地址范围是 0x00~0x1f ,
当前工作寄存器组用 R0~R7 8 个寄存器表示。
第2页
单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_123@)
31.Keil uVision2 中,代码的 ROM 大小有 Small、Compact、Large3 种模式,Small 模式的特点是 所有程序使用低 2KB 程序存储器空间 ,Compact 模式的特点是 单个函数 的代码量不能超过 2KB,整个程序可以使用 64KB 空间 ,Large 模式的特点是 可以使用全部 64KB 程序存储空间 。
第二步:在弹出的“Option for Target‘Target 1’”对话框中点击“C51”标签。 第三步:在“C51”标签中勾选“Don’t use absolute register accesses”多选钮。
第3页
单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_123@)
32.简述用 Keil uVision2 创建 Hex 文件的设置方法。 【解】略

单片机c语言试题及答案

单片机c语言试题及答案

单片机c语言试题及答案试题一:数据类型与变量定义(20分)1. 请问以下哪种数据类型不属于C语言中的基本数据类型?A. intB. floatC. booleanD. char答案:C. boolean2. 在C语言中,下列变量命名中哪个是不合法的?A. myVarB. _dataC. 123abcD. num1答案:C. 123abc3. 下列语句中,哪个是正确的变量定义?A. int num = 10;B. float = 3.14;C. bool flag;D. char = 'A';答案:A. int num = 10;试题二:条件语句与循环结构(30分)1. 下列条件语句中,哪个用于多个选项的判断?A. if语句B. while语句C. for语句D. switch语句答案:D. switch语句2. 请问以下哪个循环结构是先判断后执行?A. while循环B. for循环C. do-while循环D. if语句答案:C. do-while循环3. 下列代码中,哪个选项可以正确打印出10到1的倒序数列?A. for(int i = 10; i > 0; i--)B. while(i >= 1) { i--; }C. do { i--; } while(i >= 1);D. if(i > 0) { i--; }答案:A. for(int i = 10; i > 0; i--)试题三:函数与数组(50分)1. 下列关于函数的说法中,哪个是错误的?A. 函数可以重复定义多次B. 函数可以有返回值也可以没有返回值C. 函数可以调用其他函数D. 函数可以接收参数,也可以不接收参数答案:A. 函数可以重复定义多次2. 请问以下代码片段有什么问题?int sum(int a, int b) {int result = a + b;return result;}int main() {int result = sum(3, 4);printf("The sum is %d", result);}答案:缺少头文件包含和函数调用。

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

单片机C语言习题(3)
1.简述使用Keil C51软件的步骤。

2.80C51单片机有哪几个中断源?各中断源的入口地址是什么?
3.简述单片机内部数据存储器结构。

4.简述51系列单片机CPU响应中断的条件。

5.简述中断处理过程的几个阶段。

6.80C51单片机串行口有哪几种工作方式?其各自功能和波特率是什么?
7.简要说明采用软件消除按键抖动的原理和方法。

8.除了支持C语言的各种数据类型外,Keil还有哪些数据类型?
9.各个SFR的作用
分析下面程序的运行结果。

1.
void fun()
{ static int a=0;
a+=2;
printf("%d",a);
}
main()
{ int cc;
for(cc=1;cc<4;cc++)
fun();
printf("\n");
}
2.
main()
{int i;
for(i=100;i<200;i++)
{
if(i%5==0) continue;
printf(“%d\n”,i);
break;
}
}
3.
main()
{ int i,a[10];
for(i=9;i>=0;i--)
a[i]=10-i;
printf("%d%d ",a[2],a[5]);
}
4.
main()
{ char c[11]={'I','t',' ','i','s',' ','a',' ','d','o','g'};
int i;
for(i=0;i<11;i++)
printf("%c",c[i]);
printf("\n");
}
5.
int func(int a,int b)
{ int c;
c=a+b;
return c;
}
main()
{ int x=7,y=8,z=9,r;
r=func((x--,y++,x+y),z--); printf("%d\n",r);
}
6.
main()
{ int a=16,b=21,m=0;
switch(a%3)
{
case 0:m++;
break;
case 1:m++;
switch(b%2)
{ default:m++;
case 0:m++;
break;
}
}
printf("%d\n",m);
}。

相关文档
最新文档