单片机c语言设计试题答案
单片机c语言试题和答案

单片机c语言试题和答案一、选择题1. 以下哪项不是51单片机的特点?A. 内部集成定时器/计数器B. 内部集成中断系统C. 内部集成TCP/IP协议栈D. 具有丰富的外设接口答案:C2. 在51单片机中,下列哪个寄存器用于存储程序计数器(PC)的值?A. AB. BC. DPTRD. PC答案:D3. 在51单片机中,下列哪个特殊功能寄存器用于控制定时器/计数器?A. TMODB. TCONC. TH0/TH1D. TL0/TL1答案:A4. 以下哪个函数用于初始化51单片机的串行通信接口?A. void Serial_Init(void)B. void Uart_Init(void)C. void SSI_Init(void)D. void SCI_Init(void)答案:B二、填空题5. 在51单片机中,外部中断0的入口地址是________。
答案:0x00036. 在51单片机的I/O端口中,P0口既可以作为________,也可以作为________使用。
答案:数据总线,地址总线7. 51单片机中的定时器/计数器共有________个。
答案:2个三、判断题8. 51单片机的时钟频率越高,程序执行速度越快。
(对/错)答案:对9. 在51单片机中,外部中断0和外部中断1都可以设置为边沿触发或电平触发。
(对/错)答案:对10. 51单片机的串行通信接口可以设置为8位数据位、1位停止位和可变的波特率。
(对/错)答案:对四、编程题11. 编写一个程序,使用51单片机的定时器/计数器实现一个简单的秒表功能。
要求:秒表计时到60秒时自动停止,并显示“Time Out!”。
```c#include <reg51.h>sbit LED = P1^0; // 将P1.0口定义为LEDvoid Timer0_Init(void) {TMOD = 0x01; // 设置定时器模式为模式1TH0 = 0xFC; // 设置定时器初值TL0 = 0x18;ET0 = 1; // 开启定时器0中断EA = 1; // 开启总中断TR0 = 1; // 启动定时器0}unsigned int count = 0; // 计数器变量void Timer0_ISR(void) interrupt 1 {TH0 = 0xFC; // 重新加载定时器初值TL0 = 0x18;count++; // 计数器加1if (count >= 60) { // 判断是否达到60秒 TR0 = 0; // 关闭定时器0LED = 1; // 点亮LED// 显示“Time Out!”}}void main() {Timer0_Init(); // 初始化定时器0LED = 0; // 熄灭LEDwhile (1) {// 主循环,等待定时器中断}}```五、问答题12. 请简述51单片机的串行通信接口的工作原理。
51单片机应用技术(C语言版)习题答案(1)

解:计数初值X=216- T/T机=65536-1000/1=64536=FC18H
则TH0 = 0xfc
TL0 = 0x18
定时器0方式1时,TMOD=0x01
查询法参考程序:
#include<reg51.h>
同级或低级中断请求不能打断正在执行的中断;
同级中断源同时提出请求时按自然优先级响应:
单片机复位时,IP各位都被置0,所有中断源为低级中断。
自然优先级顺序是:/INT0→ T0 → /INT1→T1→TI/RI
5.答:有一按键接到单片机外部中断0引脚上,要求编程对按键动作进行计数和显示,达到99后重新由0开始计数(采用中断方式)。
答:MCS-51单片机的存储器采用的是哈佛结构,即把程序存储器和数据存储器分开,有各自的寻址系统、控制信号和功能。
MCS-51单片机存储器的最大寻址空间64KB。
4.MCS-51单片机的时钟周期,状态周期,机器周期,指令周期的含义是什么?当晶振频率为6MHZ时,它们分别为多少?
答:时钟周期:由振荡电路产生的时钟脉冲的周期;
MCS-51单片机提供了4个8位的I/O端口,分别命名为P0、P1、P2、P3,这些端口既可以按字节一次输入或输出8位数据,同时它们的每一位都可以独立进行输出或输出操作。
MCS-51单片机内部有两个16位的定时器/计数器,既可以做定时功能,又可以做计数功能。
2.MCS-51单片机的P0-P3口在功能上各有什么用途和区别?当它们做I/O口使用时,具有哪些特点?
sbit p1_0=P1^0;
void main()
{
TMOD=0x01;
(完整版)单片机题库分章节答案(C语言)

第1部分单片机概述及数学基础一、填空题1、十进制255的二进制是11111111,十六进制是FF 。
2、单片机是将CPU、存储器、特殊功能寄存器、定时/计数器和输入/输出接口电路、以及相互连接的总线等集成在一块芯片上。
3、十进制127的二进制是1111111,十六进制是7F。
4、+59的原码是00111011,-59的补码是11000101。
5、十进制数100转换为二进制数是1100100;十六进制数100转换为十进制数是256。
6、十进制数40转换为二进制数是101000;二进制数10.10转换为十进制数是 2. 5。
7、十进制99的二进制是1100 011,十六进制是63。
二、判断题(×)1、AT89S51是一种高性能的16位单片机。
8位机(×)2、有符号正数的符号位是用1表示的。
三、选择题()1、计算机中最常用的字符信息编码是(A)A. ASCIIB.BCD码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供电的。
4.0-5.5V7.堆栈是内部数据RAM区中,数据按先进后出的原则出入栈的。
8.MSC-51系列单片机具有 4 个并行输入/输出端口,其中_P0_口是一个两用接口,它可分时输出外部存储器的低八位地址和传送数据,而_P1__口是一个专供用户使用的I/O口,常用于第二功能的是P3 口。
51单片机c语言考试题和答案

51单片机c语言考试题和答案一、单项选择题(每题2分,共20分)1. 51单片机中,以下哪个寄存器是用于存储程序计数器(PC)的值?A. DPTRB. SPC. PCD. ACC答案:C2. 在51单片机中,以下哪个指令用于将累加器A的内容传送到外部数据存储器?A. MOV A, @R0B. MOV @R0, AC. MOV A, #dataD. MOV DPTR, #address答案:B3. 51单片机的定时器/计数器有几种工作模式?A. 2种B. 3种C. 4种D. 5种答案:C4. 51单片机中,以下哪个指令用于将立即数传送到累加器A?A. MOV A, #dataB. MOV A, @R0C. MOV A, R0D. MOV A, DPTR答案:A5. 51单片机的串行通信中,以下哪个寄存器用于存储串行数据?A. TCONB. SCONC. PCOND. IE答案:B6. 51单片机中,以下哪个指令用于将累加器A的内容与寄存器R0的内容进行异或操作?A. XOR A, R0B. ORL A, R0C. ANL A, R0D. CPL A答案:A进行逻辑与操作?A. ANL A, #dataB. ORL A, #dataC. XRL A, #dataD. CPL A答案:A8. 51单片机中,以下哪个指令用于将累加器A的内容与寄存器R0的内容进行逻辑或操作?A. ORL A, R0B. ANL A, R0C. XRL A, R0D. CPL A答案:AR0的内容进行逻辑异或操作?A. ORL A, R0B. ANL A, R0C. XRL A, R0D. CPL A答案:C10. 51单片机中,以下哪个指令用于将累加器A的内容与寄存器R0的内容进行逻辑非操作?A. ORL A, R0B. ANL A, R0C. XRL A, R0D. CPL A答案:D二、填空题(每题2分,共20分)1. 51单片机的外部中断有______个,分别是INT0和INT1。
C51单片机复习题及答案

C51程序设计基础单项选择练习题一、基本概念1. C语言程序是由 C 构成的。
A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数2.( A )是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程3.C语言程序从 C 开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在_D___。
A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5、以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是(D )。
A.主函数可以分为两个部分:主函数说明部分和主函数体。
B.主函数可以调用任何非主函数的其它函数。
C.任何非主函数可以调用其它任何非主函数。
D.程序可以从任何非主函数开始执行。
7. 下列说法错误的是:( B )A.C程序运行步骤是编辑、编译、连接、执行。
B.C语言的变量名必须用小写,常量用大写。
C.C语言的三种基本结构是顺序、选择、循环。
D. C程序一定由函数构成的。
8.下列关于C语言的说法错误的是( B )。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行9. 系统默认的C语言源程序扩展名为.C,需经过 C 之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错二、数据类型、运算符与表达式1. 不是C语言提供的合法关键字是(B )。
A.switchB.cherC.caseD.default2.C语言中的简单数据类型包括(D )。
c语言版单片机试题及答案

c语言版单片机试题及答案一、选择题(每题2分,共10分)1. C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B3. 下列关于C语言数组的描述,正确的是:A. 数组的大小在运行时确定B. 数组的大小在编译时确定C. 数组可以动态分配D. 数组可以存储不同类型的数据答案:B4. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcatB. strcpyC. strcmpD. strlen答案:B5. C语言中,以下哪个函数用于打开文件?A. fopenB. fcloseC. freadD. fwrite答案:A二、填空题(每题2分,共10分)1. 在C语言中,______关键字用于定义一个函数。
答案:void2. C语言中,______关键字用于声明一个指针。
答案:*3. 在C语言中,______关键字用于定义一个全局变量。
答案:extern4. C语言中,______关键字用于定义一个静态变量。
答案:static5. 在C语言中,______函数用于将一个整数转换为字符串。
答案:itoa三、简答题(每题5分,共20分)1. 请简述C语言中指针和数组的关系。
答案:在C语言中,指针和数组有密切的关系。
指针可以存储数组的地址,通过指针可以访问数组的元素。
数组名本身可以作为指向数组首元素的指针使用。
指针运算可以用来遍历数组。
2. 解释C语言中的预处理器指令#include的作用。
答案:预处理器指令#include用于将指定的文件包含到当前文件中。
这些文件通常是库文件或头文件,包含了函数声明、宏定义、类型定义等,使得程序可以调用这些文件中定义的内容。
3. 描述C语言中函数的调用过程。
答案:在C语言中,函数调用过程包括:调用语句、函数名、参数列表、函数执行和返回值。
(C语言版)绝密版C51单片机复习题及答案

(C 语言版)绝密版 C51 单片机复习题及答案一填空题1、计算机中最常用的字符信息编码是( ASCII 码)。
2、MCS-51 系列单片机为( 8 )位单片机。
3、若不使用 MCS-51 片内存储器引脚( /EA )必须接(地)。
4、8031 内部有 ( 128 )个 RAM; 8051 内部有 (4K ROM )和( 128 个 RAM)。
5 、堆栈的地址由 ( SP ) 内容确定,其操作规律是“(先 ) 进(后)出”。
6 、在单片机扩展时, ( P0 ) 口和 ( P2 ) 口为地址线, (P0 ) 口又分时作为数据线。
7 、在 MCS-51 单片机中,如采用 6MHZ 晶振,一个机器周期为( 2us )。
8、当 80C51 的 RST 引脚上保持 ( 2 ) 个机器周期以上的低电平时,80C51 即发生复位。
9、当 P1 口做输入口输入数据时,必须先向该端口的锁存器写入( 1 ),否则输入数据可能出错。
10、若某存储芯片地址线为 12 根,那么它的存储容量为( 4K B )。
11、程序状态寄存器 PSW 的作用是用来保存程序运行过程中的各种状态信息。
其中 CY 为 (进位) 标志,用于无符号数加 (减) 运算,当进行(位)操作时作为位累加器。
OV 为(溢出)标志,用于有符号数的加(减)运算。
12、消除键盘抖动常用两种方法,一是采用(硬件去抖电路),用基本 RS 触发器构成;二是采用(软件去抖程序),既测试有键输入时需延时 ( 约大于 10 毫秒) 后再测试是否有键输入,此方法可判断是否有键抖动。
13、若 MCS-51 单片机采用 12MHz 的晶振频率,它的机器周期为( 1us ),ALE 引脚输出正脉冲频率为(2 MHZ )。
14 、 8051 有两个 16 位可编程定时/计数器,T0 和 T1。
它们的功能可由两个控制寄存器( TCON ) 、 ( TMOD ) 的内容决定,且定时的时间或计数的次数与( TH)、 ( TL)两个寄存器的初值有关。
单片机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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机C语言程序设计师试题?一、填空题?1、设X=5AH,Y=36H,则X与Y“或”运算为_________,X与Y的“异或”运算为________。
?2、若机器的字长为8位,X=17,Y=35,则X+Y=_______,X-Y=_______(要求结果写出二进制形式)。
?3、单片机的复位操作是__________(高电平/低电平),单片机复位后,堆栈指针SP的值是________。
?4、单片机中,常用作地址锁存器的芯片是______________,常用作地址译码器芯片是_________________。
?5、若选择内部程序存储器,应该设置为____________(高电平/低电平),那么,PSEN信号的处理方式为__________________。
?6、单片机程序的入口地址是______________,外部中断1的入口地址是_______________。
?7、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为_________,机器周期为_______________。
?8、外围扩展芯片的选择方法有两种,它们分别是__________________和_______________。
?9、单片机的内部RAM区中,可以位寻址的地址范围是__________________,特殊功能寄存器中,可位寻址的地址是____________________。
?10、子程序返回指令是________,中断子程序返回指令是_______。
?11、8051单片机的存储器的最大特点是____________________与____________________分开编址。
??12、8051最多可以有_______个并行输入输出口,最少也可以有_______个并行口。
?13、_______是C语言的基本单位。
?14、串行口方式2接收到的第9位数据送_______寄存器的_______位中保存。
?15、MCS-51内部提供_______个可编程的_______位定时/计数器,定时器有_______种工作方式。
?16、一个函数由两部分组成,即______________和______________。
?17、串行口方式3发送的第9位数据要事先写入___________寄存器的___________位。
?18、利用8155H可以扩展___________个并行口,___________个RAM单元。
?19、C语言中输入和输出操作是由库函数___________和___________等函数来完成。
?二、选择题?1、C语言中最简单的数据类型包括(?)。
?A、整型、实型、逻辑型?????????????B、整型、实型、字符型?C、整型、字符型、逻辑型???????????D、整型、实型、逻辑型、字符型?2、当MCS-51单片机接有外部存储器,P2口可作为?(????)。
?A、数据输入口?????????????????????B、数据的输出口?????C、准双向输入/输出口?????????????D、输出高8位地址?3、下列描述中正确的是(????)。
??A、程序就是软件???????????????????B、软件开发不受计算机系统的限制?C、软件既是逻辑实体,又是物理实体?D、软件是程序、数据与相关文档的集合?4、下列计算机语言中,CPU能直接识别的是(????)。
?A、?自然语言?????B、?高级语言??????C、?汇编语言?????D、机器语言?5、MCS-5l单片机的堆栈区是设置在(????)中。
???A、片内ROM区??B、片外ROM区??C、片内RAM区??D、片外RAM区?6、以下叙述中正确的是(??)。
?A、用C语言实现的算法必须要有输入和输出操作?B、用C语言实现的算法可以没有输出但必须要有输入?C、用C程序实现的算法可以没有输入但必须要有输出?D、用C程序实现的算法可以既没有输入也没有输出?7、定时器/计数器工作方式1是(?????)。
???A、8位计数器结构?????????????????B、2个8位计数器结构???C、13位计数结构??????????????????D、16位计数结构?8、C语言提供的合法的数据类型关键字是(?????)。
?A、Double???????B、short??????????C、integer????????D、Char?9、片内RAM的20H~2FH 为位寻址区,所包含的位地址是(????)。
???A、00H~20H????B、00H~7FH?????C、20H~2FH?????D、00H~FFH?10、以下能正确定义一维数组的选项是(??)。
?A、int?a[5]={0,1,2,3,4,5};????????????B、char?a[?]={0,1,2,3,4,5};??C、char?a={'A','B','C'};???????????????D、int?a[5]="0123";?11、数据的存储结构是指(???)。
?A、存储在外存中的数据????????????B、数据所占的存储空间量??C、数据在计算机中的顺序存储方式??D、数据的逻辑结构在计算机中的表示?12、下列关于栈的描述中错误的是(????)。
?A、栈是先进后出的先性表??B、栈只能顺序存储??C、栈具有记忆作用????????D、对栈的插入和删除操作中,不需要改变栈底指针?13、在寄存器间接寻址方式中,间址寄存器中存放的数据是(???)。
???A、参与操作的数据????????????????B、操作数的地址值???C、程序的转换地址????????????????D、指令的操作码?14、MCS-51单片机的复位信号是(?????)有效。
???A、高电平???????B、低电平???????C、脉冲???????????D、下降沿?15、为了使模块尽可能独立,要求(??)。
?A、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强?B、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱?C、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱?D、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强?16、若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过(?????)。
???A、2μs??????????B、4μs???????????C、8μs???????????D、1ms?17、以下选项中可作为C语言合法常量的是(????)??A、-80?????????B、-080?????????C、-8e1.0???????D、-80.0e?18、能够用紫外光擦除ROM中程序的只读存储器称为(?????)。
???A、掩膜ROM????B、PROM????????C、EPROM???????D、EEPROM?19、以下不能定义为用户标识符是(????)。
?A、Main?????????B、_0????????????C、_int??????????D、sizeof?20、下选项中,不能作为合法常量的是(??)。
//幂不能为小数?A、1.234e04??????B、1.234e0.4??????C、1.234e+4??????D、1.234e0?21、以下叙述中错误的是(??)??A、对于double类型数组,不可以直接用数组名对数组进行整体输入或输出?B、数组名代表的是数组所占存储区的首地址,其值不可改变?C、当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息?D、可以通过赋初值的方式确定数组元素的个数?22、以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是(?????)??A、feof(fp)???????B、ftell(fp)???????C、fgetc(fp)???????D、rewind(fp)?23、存储16×16点阵的一个汉字信息,需要的字节数为(????)?A、?32???????????B、?64???????????C、?128???????????D、?256??24、已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,则它的字形代码应为(????)。
???A、06H?????????B、F9H??????????C、30H???????????D、CFH?25、在C语言中,合法的长整型常数是(??????)?A、?OL??????????B、?4962710???????C、?324562&??????D、?216D?26、以下选项中合法的字符常量是(????)?A、?"B"??????????B、?’\010’?????????C、?68????????????D、?D??27、若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用(??????)指令。
???A、PUSH??R0???B、PUSH??@R0???C、PUSH??00H???D、PUSH??08H?28、在片外扩展一片2764程序存储器芯片要??(???????)地址线。
???A、8根?????????B、13根??????????C、16根?????????D、20根?29、设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为(??????)???A、2MHz????????B、1MHz????????C、500kHz????????D、250kHz?30、下列数据字定义的数表中,(??????)是错误的。
???A、DW??“AA”?????B、DW??“A”???????C、DW??“OABC”???D、DW??OABCH??三、判断题?(??)1、在对某一函数进行多次调用时,系统会对相应的自动变量重新分配存储单元。
?(??)2、在C语言的复合语句中,只能包含可执行语句。
??(??)3、自动变量属于局部变量。
?(??)4、Continue?和break都可用来实现循环体的中止。
?(??)5、字符常量的长度肯定为1。
?(??)6、在MCS-51系统中,一个机器周期等于1.5μs。
?(??)7、C语言允许在复合语句内定义自动变量。
?(??)8、若一个函数的返回类型为void,则表示其没有返回值。
?(??)9、所有定义在主函数之前的函数无需进行声明。
?(??)10、定时器与计数器的工作原理均是对输入脉冲进行计数。
?(??)11、END表示指令执行到此结束。
?(??)12、ADC0809是8位逐次逼近式模/数转换接口。