单片机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语言考试题目及答案
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语言)
第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。
51单片机c语言考试题目及答案
51单片机c语言考试题目及答案一、单项选择题(每题2分,共20分)1. 51单片机中,以下哪个寄存器用于存储程序计数器(PC)?A. R0B. SPC. DPTRD. PC答案:D2. 在51单片机中,哪个寄存器用于存储堆栈指针?A. R0B. SPC. DPTRD. PC答案:B3. 51单片机的定时器/计数器有几种工作模式?A. 2种B. 3种C. 4种D. 5种答案:C4. 51单片机中,哪个指令用于将累加器A的内容送入外部数据存储器?A. MOV A, #dataB. MOV A, @R0C. MOVX @DPTR, AD. MOVX A, @DPTR答案:C5. 51单片机中,哪个指令用于将累加器A的内容送入寄存器R0?A. MOV A, R0B. MOV R0, AC. MOV A, #dataD. MOVX @DPTR, A答案:B6. 51单片机中,哪个指令用于将立即数送入累加器A?A. MOV A, R0B. MOV A, #dataC. MOVX @DPTR, AD. MOVX A, @DPTR答案:B7. 51单片机中,哪个指令用于将累加器A的内容与寄存器R0的内容进行逻辑“或”操作?A. ORL A, R0B. ORL A, #dataC. ORL @R0, AD. ORL A, @R0答案:A8. 51单片机中,哪个指令用于将累加器A的内容与立即数进行逻辑“与”操作?A. ANL A, R0B. ANL A, #dataC. ANL @R0, AD. ANL A, @R0答案:B9. 51单片机中,哪个指令用于将累加器A的内容与寄存器R0的内容进行逻辑“异或”操作?A. XRL A, R0B. XRL A, #dataC. XRL @R0, AD. XRL A, @R0答案:A10. 51单片机中,哪个指令用于将累加器A的内容与寄存器R0的内容进行逻辑“非”操作?A. CPL AB. CPL R0C. CPL @R0D. CPL A, R0答案:A二、填空题(每题2分,共20分)1. 51单片机的内部RAM共有______字节。
c语言单片机期末试题及答案
c语言单片机期末试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strncpyD. strcmp答案:A3. 下列关于单片机的描述,哪一项是不正确的?A. 单片机是一种集成了CPU、存储器和I/O接口的微控制器。
B. 单片机通常用于嵌入式系统。
C. 单片机的编程语言只能是汇编语言。
D. 单片机的运行速度通常高于个人计算机。
答案:C4. 在C语言中,下列哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A5. 在单片机编程中,下列哪种方式用于控制单片机的I/O端口?A. 直接操作内存地址B. 使用中断C. 通过操作系统调用D. 通过串口通信答案:A二、填空题(每题2分,共20分)1. C语言中,表示逻辑与的运算符是____。
答案:&&2. 在单片机中,用于定义变量存储类型的关键字是____。
答案:volatile3. C语言中,用于定义数组的关键字是____。
答案:数组4. 在单片机编程中,用于控制定时器的函数是____。
答案:定时器函数5. C语言中,用于定义函数的关键字是____。
答案:函数三、简答题(每题5分,共30分)1. 请简述C语言中指针的概念。
答案:指针是一种变量,其值是另一个变量的内存地址。
2. 描述单片机的中断系统是如何工作的。
答案:单片机的中断系统允许外部或内部事件打断CPU当前的执行流程,以处理紧急任务。
3. 解释C语言中函数的原型声明和定义的区别。
答案:函数原型声明只包含函数的返回类型、名称和参数列表,而定义则包括函数原型和函数体。
4. 在单片机编程中,如何使用循环结构?答案:循环结构用于重复执行一段代码,直到满足特定条件。
单片机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);}答案:缺少头文件包含和函数调用。
c语言51单片机试题及答案
c语言51单片机试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,正确的是()。
A. C语言是一种汇编语言B. C语言是一种高级语言C. C语言是一种面向对象的编程语言D. C语言是一种面向过程的编程语言答案:D2. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 51单片机中,下列哪个寄存器用于存储程序计数器的值()。
A. SPB. PCC. PSWD. ACC答案:B4. 在C语言中,用于定义一个函数的关键字是()。
A. structB. unionC. functionD. int5. 51单片机中,下列哪个寄存器用于存储累加器的值()。
A. SPB. PCC. PSWD. ACC答案:D6. 在C语言中,用于定义一个全局变量的关键字是()。
A. staticB. externC. registerD. auto答案:B7. 51单片机中,下列哪个寄存器用于存储程序状态字的值()。
A. SPB. PCC. PSWD. ACC答案:C8. 在C语言中,用于定义一个静态变量的关键字是()。
A. staticB. externC. registerD. auto答案:A9. 51单片机中,下列哪个寄存器用于存储堆栈指针的值()。
B. PCC. PSWD. ACC答案:A10. 在C语言中,用于定义一个寄存器变量的关键字是()。
A. staticB. externC. registerD. auto答案:C二、填空题(每题2分,共20分)1. C语言中,定义一个整型变量的关键字是______。
答案:int2. 在C语言中,用于声明一个函数的关键字是______。
答案:extern3. 51单片机中,用于存储当前工作寄存器的寄存器是______。
答案:R0-R74. C语言中,用于声明一个静态变量的关键字是______。
单片机考试试题及答案c语言
单片机考试试题及答案c语言一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于将整数转换为字符串?A. sprintfB. atoiC. itoaD. strtol答案:C3. 下列关于C语言数组的描述中,错误的是?A. 数组可以存储不同类型的数据B. 数组的索引从0开始C. 数组在声明时必须指定大小D. 数组可以作为函数的参数答案:A4. 在C语言中,以下哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A5. C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. intD. void答案:C6. 下列关于C语言指针的描述中,正确的是?A. 指针可以存储函数的地址B. 指针不能存储数组的地址C. 指针不能存储变量的地址D. 指针不能存储常量的地址答案:A7. 在C语言中,以下哪个关键字用于定义一个全局变量?A. externB. staticC. registerD. auto答案:A8. 下列关于C语言函数的描述中,错误的是?A. 函数可以返回一个值B. 函数可以没有返回值C. 函数可以没有参数D. 函数可以有多个返回值答案:D9. 在C语言中,以下哪个语句用于在循环中终止循环?A. breakB. continueC. returnD. exit答案:A10. 下列关于C语言中文件操作的描述中,错误的是?A. 使用fopen函数打开文件B. 使用fclose函数关闭文件C. 使用fread函数读取文件D. 使用fwrite函数写入文件答案:C二、填空题(每题2分,共20分)1. 在C语言中,用于定义单片机特殊功能寄存器的关键字是________。
答案:sfr2. C语言中,用于声明一个无符号字符的关键字是________。
单片机C语言试题库
出错信息 D、可以通过赋初值的方式确定数组元素的个数 18、使用 Keil μVision 编写 MCS-51 单片机的 C 程序时,若定义一个整型变量 x,并由编 译器将其分配至 ROM 中,则应定义如下语句中的( ) 。 A、xdata int x; B、code int x; C、idata int x; C、pdata int x; 19、使用 Keil μVision 编写 MCS-51 单片机的 C 程序时,若定义一个整型变量 x,并由编 译器将其分配至片外 RAM 中,则应定义如下语句中的( ) 。 A、xdata int x; B、code int x; C、idata int x; C、pdata int x; 20、具有模数转换功能的芯片是( ) 。 A、MAX232 B、L298 C、74HC04 D、ADC0808 21、具有直流电机驱动功能的芯片是( ) 。 A、A、MAX232 B、L298 C、74HC04 D、ADC0808 22、串口工作方式 1 是( ) 。 A、8 位同步移位寄存器 B、10 位 UART,波特率由 T1 控制 C、10 位 UART,波特率为晶振频率的 1/64 或 1/32 D、11 位 UART,波特率由 T1 控制
程序: #include <REGX52.H> void main() { while(1) {
if( else
) ; ;
} }
5
2、完成流水灯程序:4 个流水灯 L0~L3 依次发光。
程序: #include <REGX52.H> unsigned char i,temp,a,b; void delay(); void main() { while(1) { temp= ; P0=temp; delay(); for(i=1; ;i++) {
单片机的C语言程序设计试题
填空题1、设X=5AH,Y=36H,则X与Y“或”运算为__7EH_______,X与Y的“异或”运算为___6CH_____。
2、若机器的字长为8位,X=17,Y=35,则X+Y=__110100_____,X-Y=_11101110______(要求结果写出二进制形式)。
3、单片机的复位操作是____高电平______(高电平/低电平),单片机复位后,堆栈指针SP的值是___07h_____。
4、单片机中,常用作地址锁存器的芯片是__74HC373____________,常用作地址译码器芯片是_____74HC138____________。
5、若选择内部程序存储器,应该设置为_____高_______(高电平/低电平),那么,PSEN信号的处理方式为___不用__________________。
6、单片机程序的入口地址是____0000H__________,外部中断1的入口地址是______0013H_________。
7、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为__0.5us_______,机器周期为_____2us__________。
8、外围扩展芯片的选择方法有两种,它们分别是___线选法_______________和_____译码法__________。
9、单片机的内部RAM区中,可以位寻址的地址范围是____20H~2FH______________,特殊功能寄存器中,可位寻址的地址是___是能被8整除的地址_________________。
10、子程序返回指令是___ret______,中断子程序返回指令是__ reti 。
单片机C语言程序设计师试题2(连载)11、8051单片机的存储器的最大特点是内部RAM 与外部RAM 分开编址。
12、8051最多可以有32 个并行输入输出口,最少也可以有8 个并行口。
13、函数是C语言的基本单位。
14、串行口方式2接收到的第9位数据送SCON 寄存器的RB8 位中保存。
单片机应用技术(C语言)试题
一、选择题1、单片机8031的/EA引脚(C)。
A. 可悬空B. 必须接+5V电源C. 必须接地D. 以上三种情况视需要而定2、MCS-51单片机的4个并行I/O端口作为通用I/O端口使用,在输出数据时,必须外接上拉电阻的是(A)。
A. P0口B. P1口C. P2口D. P3口3、当MCS-51单片机应用系统需要扩展外部存储器或其它接口芯片时,(A)可作为低8位地址总线使用。
A. P0口B. P1口C. P2口D. P0口和P2口4、系统复位后,堆栈指针SP的内容是(B)。
A. 08HB. 07HC. 30HD. 50H5、MCS-51单片机的位寻址区位于内部RAM的( D )单元。
A. 00H~7FHB. 20H~7FHC. 00H~1FHD. 20H~2FH6、PSW中的RS1和RS0用来(A)。
A. 选择工作寄存器组B. 指示复位C. 选择定时器D. 选择工作方式7、MCS-51单片机规定一个机器周期共有(A)个节拍。
A. 12B. 6C. 8D. 168、下面叙述不正确的是(C)。
A. 一个C源程序可以由一个或多个函数组成B. 一个C源程序必须包含一个函数main()C. 在C51中,注释说明只能使用/*……*/注释D. C程序的基本组成单位是函数9、在C51程序中常常把(D)作为循环体,用于消耗CPU时间,产生延时效果。
A. 赋值语句B. 表达式语句C. 循环语句D. 空语句10、在单片机应用系统中,LED数码管显示电路通常有(C )显示方式。
A. 静态B. 动态C. 静态和动态D. 查询11、共阳极LED数码管加反向器驱动时显示字符“6”的段码是(B)。
A. 06HB. 7DHC. 82HD. FAH12、LED数码管若采用动态显示方式,下列说法错误的是(C)。
A. 将各位数码管的段选线并联B. 将段选线用一个8位I/O端口控制C. 将各位数码管的公共端直接连接在+5V或者GND上D. 将各位数码管的位选线用各自独立的I/O端口控制13、按键开关的结构通常是机械弹性元件,在按键按下和断开时,触点在闭合和断开瞬间会产生接触不稳定,为消除抖动引起的不良后果,常采用的方法有(C)。
单片机原理c语言试题及答案
单片机原理c语言试题及答案一、选择题(每题2分,共10分)1. 在C语言中,下列哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于单片机中断处理的描述,不正确的是?A. 中断服务程序必须使用中断服务函数来实现B. 中断服务程序可以嵌套C. 中断服务程序执行完毕后,CPU会自动返回到被中断的程序继续执行D. 中断服务程序的执行时间应尽可能短答案:B3. 在8051单片机中,下列哪个寄存器用于存储当前正在执行的中断服务程序的地址?A. SPB. PCC. PSWD. DPTR答案:B4. 下列关于C语言中指针的描述,正确的是?A. 指针变量不能被赋值B. 指针变量可以存储任意类型的数据C. 指针变量的值是它所指向的变量的地址D. 指针变量不能作为函数的参数答案:C5. 在8051单片机中,下列哪个指令用于将累加器A的内容传送到外部数据存储器?A. MOVX A, @DPTRB. MOV A, @R0C. MOV A, #dataD. MOV A, direct答案:A二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字可以定义一个全局变量。
答案:extern2. 在8051单片机中,定时器/计数器的控制寄存器是________。
答案:TCON3. C语言中,函数的返回值类型定义在函数定义的________部分。
答案:首部4. 在8051单片机中,使用________指令可以设置定时器的模式。
答案:TMOD5. 在C语言中,使用________运算符可以获取一个变量的地址。
答案:&三、简答题(每题5分,共10分)1. 简述单片机中断系统的作用。
答案:单片机中断系统的作用是允许单片机在执行当前任务的同时,能够响应外部事件或内部事件的请求,从而实现多任务处理。
2. 描述C语言中数组和指针的关系。
答案:在C语言中,数组名可以作为指向数组首元素的指针使用。
c语言单片机考试题及答案
c语言单片机考试题及答案1. 单片机中,下列哪个寄存器用于存储程序计数器(PC)的值?A. SPB. PCC. DPTRD. ACC答案:B2. 在C语言中,用于定义单片机特殊功能寄存器的关键字是什么?A. volatileB. staticC. constD. register答案:A3. 8051单片机的定时器/计数器有哪几种工作模式?A. 0、1、2、3B. 1、2、3、4C. 0、1、2、3、4D. 0、1、2、3、4、5答案:C4. 8051单片机的中断优先级由哪两个寄存器共同决定?A. IP和IEB. IP和TCONC. IE和TCOND. P1和P2答案:A5. 在C语言中,如何声明一个外部中断服务程序?A. 使用关键字interruptB. 使用关键字interrupt和中断号C. 使用关键字interrupt和中断向量地址D. 使用关键字interrupt和中断优先级答案:B6. 8051单片机的串行通信可以工作在哪些模式?A. 模式0、1、2、3B. 模式0、1、2、3、4C. 模式0、1、2、3D. 模式0、1、2、3、4、5答案:C7. 在C语言中,如何声明一个定时器中断服务程序?A. 使用关键字timer和中断号B. 使用关键字interrupt和中断号C. 使用关键字timer和中断向量地址D. 使用关键字interrupt和中断优先级答案:B8. 8051单片机的外部中断有哪几个?A. INT0和INT1B. INT0、INT1和T0C. INT0、INT1和T1D. INT0、INT1、T0和T1答案:A9. 在C语言中,如何声明一个看门狗定时器中断服务程序?A. 使用关键字watchdog和中断号B. 使用关键字interrupt和中断号C. 使用关键字watchdog和中断向量地址D. 使用关键字interrupt和中断优先级答案:B10. 8051单片机的I/O口可以驱动多少个LED灯?A. 4个B. 8个C. 16个D. 32个答案:B。
c语言单片机考试题及答案
c语言单片机考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B2. 在C语言中,以下哪个符号用于数组的声明?A. {B. [C. (D. {答案:B3. 若有定义:int a=5; 则表达式 a++ 的值是多少?A. 4B. 5C. 6D. 0答案:B4. C语言中,以下哪个关键字用于定义指针?A. intB. charC. *D. float5. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C6. C语言中,以下哪个函数用于输出字符串?A. printfB. scanfC. putsD. getchar答案:C7. 若有定义:int a=3, b=4; 则表达式 a+b 的值是多少?A. 7B. 34C. 43D. 3+4答案:A8. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A9. C语言中,以下哪个函数用于输入一个字符?B. getcharC. getsD. printf答案:B10. 下列哪个选项是C语言中的合法常量?A. 0x1AB. 0X1aC. 0x1A3D. 0x1AG答案:A二、填空题(每题2分,共20分)1. 在C语言中,用来定义单片机I/O端口的关键字是______。
答案:sbit2. 若定义了指针变量 int *p; 则 p 指向的变量的值可以通过______ 来改变。
答案:*p3. C语言中,用于定义一个无返回值的函数的关键字是 ______ 。
答案:void4. 若有数组定义 int arr[5] = {1, 2, 3, 4, 5}; 则 arr[2] 的值是 ______ 。
答案:35. 在C语言中,用于定义一个字符数组的关键字是 ______ 。
单片机与c语言试题及答案
单片机与c语言试题及答案一、单选题1. 下列哪个不是单片机的特点?A. 体积小B. 功耗低C. 价格高D. 集成度高答案:C2. C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列哪个不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D二、填空题1. 单片机的英文缩写是______。
答案:MCU2. 在C语言中,用于定义数组的关键字是______。
答案:array3. 单片机的内部存储器通常分为______和______。
答案:ROM、RAM三、简答题1. 简述单片机与PC机的主要区别。
答案:单片机是微型计算机的一种,其特点是体积小、功耗低、集成度高、成本低,通常用于嵌入式系统。
而PC机是个人计算机,体积较大,功能强大,主要用于办公、娱乐等。
2. 描述C语言中指针的概念。
答案:指针是一种特殊的变量,它存储的是另一个变量的内存地址。
通过指针,可以间接访问和操作内存中的数据。
四、编程题1. 编写一个C语言程序,实现将一个整数数组逆序输出。
答案:```c#include <stdio.h>void reverseArray(int arr[], int size) {int temp;for (int i = 0; i < size / 2; i++) {temp = arr[i];arr[i] = arr[size - i - 1];arr[size - i - 1] = temp;}}int main() {int arr[] = {1, 2, 3, 4, 5};int size = sizeof(arr) / sizeof(arr[0]); reverseArray(arr, size);for (int i = 0; i < size; i++) {printf("%d ", arr[i]);}return 0;}```2. 编写一个C语言函数,计算并返回两个整数的和。
c语言单片机试题及答案
c语言单片机试题及答案一、选择题(每题2分,共10分)1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 单片机的内部RAM中,哪个区域用于存储位地址?A. 直接地址区B. 间接地址区C. 位寻址区D. 扩展RAM区答案:C3. 下列哪个选项是C语言中正确的字符串定义方式?A. char str[] = "Hello";B. char str[5] = "Hello";C. char str[] = {"Hello"};D. char str[6] = {"Hello"};答案:A4. 在8051单片机中,哪个寄存器用于存储当前正在执行的程序的地址?A. ACCB. BC. PCD. SP答案:C5. C语言中,以下哪个选项是正确的数组定义?A. int a[] = {1, 2, 3};B. int a[3] = {1, 2, 3};C. int a = {1, 2, 3};D. int a[3] = {1};答案:A二、填空题(每题4分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。
答案:int2. 8051单片机的外部中断0的中断向量地址是________。
答案:0003H3. 单片机的I/O口通常可以被配置为________或输出模式。
答案:输入4. 在C语言中,用于定义一个字符型数组的关键字是________。
答案:char5. 8051单片机的定时器/计数器0的控制寄存器是________。
答案:TMOD三、简答题(每题10分,共20分)1. 简述C语言中如何实现函数的递归调用。
答案:在C语言中,函数的递归调用是指一个函数在其定义中调用自身。
递归函数通常包含一个结束递归的条件,以防止无限递归。
例如,计算阶乘的函数可以定义为:```cint factorial(int n) {if (n == 0) return 1; // 递归结束条件return n * factorial(n - 1); // 递归调用}```2. 解释8051单片机的定时器/计数器的作用。
单片机C语言期末考精彩试题
单片机C语言期末考试题(A)一、单项选择题:40分1、MCS-51系列的单片机中片内RAM的字节大小可能的是()A、 128MB、 128KC、 128D、 642、C51语言提供的合法的数据类型关键字是()。
A、 sfrB、 BITC、 CharD、 integer r3、片内RAM的位寻址区,位于地址()处。
A、00H-1FHB、20H〜2FHC、30H-7FHD、80H-FFH4、间接寻址片内数据存储区(256字节),所用的存储类型是()A、 dataB、 bdataC、 idataD、 xdata5、MCS-51单片机上电复位的信号是()A、下降沿B、上升沿C、低电平D、高电平6、可以将P1 口的低4位全部置高电平的表达式是()A、P1&=0x0fB、P1|=0x0fC、P「=0x0fD、P1=~P17、一般单片机C51程序中,为了使程序执行的效率最高,函数参数传递时,函数参数的个数不能够超过()A、1B、2C、3D、48、需要扩展一片外部RAM,大小32K字节,需要的地址线是()A、15B、14C、13D、129、如果将中断优先级寄存器IP中,将IP设置为0x0A,则优先级最高的是()A、外部中断1B、外部中断0C、定时/计数器1D、定时/计数器010、单片机C51中用关键字()来改变寄存器组A、 interruptB、 unsignedC、 usingD、 reentrant11、红外线遥控码由发射电路经()Hz的载频调制后发射。
A、 38KB、12MC、 6MD、32。
768K实用文档12、红外线遥控码的逻辑“0”与逻辑“1”是以脉冲的()决定的。
A、电平B、宽度C、频率D、形状13、DS1302内的时钟寄存器是以()的数据格式定义的。
A、十进制B、十六进制C、BCD码D、压缩BCD码14、设MCS-51单片机晶振频率为12MHz,定时器作定时器使用时,其最高的输入计数频率应为()A、 2MHzB、 1MHzC、 500kHzD、 250kHz15、使用_nop_()函数时,必须包含的库文件是()A、reg52.hB、absacc.hC、intrins.hD、stdio.h16、ADC0809的启动转换的信号是()A、 ALEB、 EOCC、 CLOCKD、 START17、线反转法识别有效按键时,如果读入的列线值不全为1,则说明()A、有键被按下B、一定只有一个键被按下C、一定有多个键被按下D、没有键被按下18、DS18B20的总线方式是()A、SPIB、I2CC、ONE—WIRED、SP219、24C02采用的总线形式是()A、 CANB、 SPIC、 I2CD、 PWM20、串行口每一次传送()字符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
f ocs 12MHz 。(图中 74LS48 为共阴极数码管驱动电路)
现在我们选择 T0 的 16 位定时/计数方式,即方式 期为 μs,最大定时时间 TM max 2^ ×
,在 12MHz 晶振频率下,机器周 = ms。假设取
二、判断题: 1、若一个函数的返回类型为 void,则表示其没有返回值。 ( ) 2、定时器与计数器的工作原理均是对输入脉冲进行计数。 ( ) 3、SFR 中凡是能被 8 整除的地址,都具有位寻址能力。 ( ) 4、MCS-51 单片机的程序存储器只能用来存放程序的。 ( ) 5、特殊功能寄存器的名字,在 C51 程序中,全部大写。 ( ) 6、位 TF0 是定时器 T1 的溢出中断标志位。( ) 7、#include <reg51.h>与#include “reg51.h”是等价的。 ( ) 8、51单片机只能做控制用,不能完成算术运算。( ) ) 9、必须有中断源发出中断请求,并且 CPU 开中断,CPU 才可能响应中断。(
程序:
#include <REGX52.H>
6
void delay_nus(unsigned int n) { n=n/10; while(--n); } void main() { unsigned char counter; while(1) { if( ) { for( ;counter>0;counter--)
10、在 C 语言中,函数的调用是可以根据需要随便调用,前面的函数可以调用后面的函数, 后面的函数也可以调用前面的函数,无需声明。 ( ) 11、函数的形式参数属于局部变量。 ( ) 12、break 可用来实现循环体的中止。 ( ) 13、字符常量的定义形式是#define A 100; 。 ( ) 14、在 51 系列的单片机系统中,一个机器周期是固定的。 ( ) 15、C51 语言允许在复合语句内再定义局部变量。 ( ) 16、 使用定时器 T0 中断方式编写程序时, 必须在中断服务程序中手动清零中断标志位 TF0。 ( ) 17、使用串口中断方式编写串口接收程序时,必须在中断服务程序中手动清零中断标志位 RI。 ( ) 18、使用中断方式实现 ADC0808 的模数转换功能,必须将 ADC0808 的 EOC 引脚直接连
四、问答题: 1、MCS-51 单片机的 P0 口能不能直接输出高电平?请说明理由,若不能则请给出解决的 方法。
2、MCS-51 单片机的四组 P 口作通用 I/O 口时,都是准双向 I/O 口而不是双向 I/O 口,为 什么?请简述之。
3
3、在使用 MCS-51 单片机的 T/C (定时器/计数器)前,应对它进行初始化,其步骤是什 么?(以定时/计数器 0 为例)
a=temp<<i; b=temp>> P0= ; delay(); } } } void delay() { unsigned int x; for(x=0;x<15000;x++); }
;
3、完成报警产生器程序:P2.0 输出 1KHz 和 500Hz 的音频信号驱动扬声器,作报警信号, 要求 1KHz 信号持续 100ms,500Hz 信号持续 200ms,交替进行;P2.7 接一开关作为控制 信号输入端,开关合上则输出报警信号,开关打开则停止输出报警信号。
电气自动化技术 13 级与 14 级创新班《单片机及其控制技术》期末复习卷 (2015-06)
一、单项选择题: 1、中央处理器是由( )构成。 A.运算器、存储器 B.运算器、控制器 C.运算器和 I/O 接口 D.运算器、控制器、存储器和 I/O 接口 2、下列计算机语言中,CPU 能直接识别的是( ) 。 A、 自然语言 B、 高级语言 C、 汇编语言 D、机器语言 3、单片机应用程序一般存放在( )中。 A.RAM B.CPU C.寄存器 D.ROM 4、串行口每次传送( )字符。 A、1 个 B、1 串 C、1 帧 D、1 波特 5、高级中断打断低级中断的过程称为( )。 A.中断请求 B.中断嵌套 C.中断服务 D.中断响应 6、当 MCS-51 单片机晶振频率 fOSC 为 12MHz 时,其机器周期为( )。 A、0.5μs B、1μs C、1.5μs D、2μs 7、使用宏来访问 AT89C52 绝对地址时,一般需包含的库文件是( ) A、regx52.h B、absacc.h C、intrins.h D、startup.h 8、单片机的定时器/计数器工作方式 1 是( ) 。 A、8 位计数器结构 B、2 个 8 位计数器结构 C、13 位计数结构 D、16 位计数结构 9、定时/计数器有 4 种操作模式,它们由( )寄存器中的 M1 M0 状态决定。 A.TCON B.TMOD C. PCON D.SCON 10、MCS-51 单片机各中断源的优先级别设定是利用寄存器( )。 A.TMOD B.IP C.PCON D.SCON 11、下列描述中正确的是( ) 。 A、程序就是软件 B、软件开发不受计算机系统的限制 C、软件既是逻辑实体,又是物理实体 D、软件是程序、数据与相关文档的集合 12、C 语言中最简单的数据类型包括( ) 。 A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 13、以下选项中可作为 C 语言合法常量的是( ) A、-80 B、-0x080 C、-8e1.0 D、-80.0e 14、以下选项中合法的字符常量是( ) A、 "B" B、 ’\010’ C、 68 D、 D 15、以下不能定义为用户标识符是( )。 A、Main B、_0 C、_int D、sizeof 16、以下能正确定义一维数组的选项是( ) 。 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"; 17、以下叙述中错误的是( ) 。 A、对于 double 类型数组,不可以直接用数组名对数组进行整体输入或输出 B、数组名代表的是数组所占存储区的首地址,其值不可改变 C、当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的
成电路芯片上的微型计算机。 2、MCS-51 系列单片机字长是 位。 3、MCS-51 单片机的复位信号是 (高电平/低电平) ,寄存器 P3 的复位值 是 ,寄存器 IE 的复位值是 (十六进制) 。 4、单片机的内部 RAM 区中,可以位寻址的地址范围是 ,特殊功能寄存器 的地址范围是 。 5、Keil μVision2 软件中,工程文件的扩展名是 ,编译连接后生成可烧写 的文件扩展名是 。 6 、 AT89C52 单片机中,在 IP=0x00 时,优先级最高的中断是 ,最低的 是 。 7、MCS-51 单片机外部中断请求信号有 方式和 方式,在 方式下,当采集到 INT0、INT1 的有效信号为低电平时,激活外部中断。 8、若采用 6MHz 的晶体振荡器,则 MCS-51 单片机的机器周期为 。 9、AT89C52 单片机中,若单片机具有 256 字节的内部 RAM,需要使用高 128 字节的内部 RAM,则定义时的存储方式是 ,若定义的变量需要使用外部 64Kbytes 的 存储区,则定义时的存储方式是 。 10、AT89S52 单片机内部提供 个可编程的 位定时/计数器, 定时器有 种工作方式。 11、设 X 和 Y 是无符号字符型,且 X=0x0f,Y=0xf0,则 X&&Y 的值为 ,X&Y 的值 为 。 12、一个函数由两部分组成,即 13、共阴极数码管驱动电平为 14、打开串口中断的语句是 是 。 15、ALE 信号的作用是 和 。 ,共阳极数码管驱动电平为 。 ,将外部中断式确定数组元素的个数 18、使用 Keil μVision 编写 MCS-51 单片机的 C 程序时,若定义一个整型变量 x,并由编 译器将其分配至 ROM 中,则应定义如下语句中的( ) 。 A、xdata int x; B、code int x; C、idata int x; C、pdata int x; 19、使用 Keil μVision 编写 MCS-51 单片机的 C 程序时,若定义一个整型变量 x,并由编 译器将其分配至片外 RAM 中,则应定义如下语句中的( ) 。 A、xdata int x; B、code int x; C、idata int x; C、pdata int x; 20、具有模数转换功能的芯片是( ) 。 A、MAX232 B、L298 C、74HC04 D、ADC0808 21、具有直流电机驱动功能的芯片是( ) 。 A、A、MAX232 B、L298 C、74HC04 D、ADC0808 22、串口工作方式 1 是( ) 。 A、8 位同步移位寄存器 B、10 位 UART,波特率由 T1 控制 C、10 位 UART,波特率为晶振频率的 1/64 或 1/32 D、11 位 UART,波特率由 T1 控制
4、如何消除键盘的抖动?
5、MCS-51 单片机有多少个中断源?请按自然优先级先后顺序进行排列。 AT89S52 单片机 在 MCS-51 单片机的基础上又增加了一个什么中断源?
6、本课程采用国产的哪个型号的单片机替换进口的 AT89S52 单片机?该单片机支持串口 下载程序,由于计算机 COM 口使用 RS232 电平而单片机串口使用 TTL 电平,通讯中需 要进行电平转换, 机器人控制板采用哪个型号的芯片实现 RS232 电平与 TTL 电平的转换?
程序: #include <REGX52.H> void main() { while(1) {
if( else
) ; ;
} }
5
2、完成流水灯程序:4 个流水灯 L0~L3 依次发光。
程序: #include <REGX52.H> unsigned char i,temp,a,b; void delay(); void main() { while(1) { temp= ; P0=temp; delay(); for(i=1; ;i++) {