单片机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);}答案:缺少头文件包含和函数调用。
单片机C语言版参考答案
入函数 getkey 实现?如果不能使用请说明原因。 2. 在实际的单片机应用系统编程时一般不会使用类似 printf、getchar、getkey 等函数,请分
A.立即数寻址
B.寄存器寻址
C. 直接寻址 D.寄存器间接寻址
7. 直接从指令中获得操作对象地址的方式称为( C )。
A.立即数寻址
B.寄存器寻址
C. 直接寻址 D.寄存器间接寻址
8. 从寄存器中获得操作对象地址的方式称为( D )。
A.立即数寻址
B.寄存器寻址
C. 直接寻址 D.寄存器间接寻址
二. 填空题 1. 计算机系统由 硬件系统 和 软件系统 组成。 2. 依据冯·诺伊曼计算机模型,计算机的硬件系统由 控制器 、 运算器 、
要求使用 C 语言编写程序,并在 μVision4 集成开发环境进行仿真。 提示: ¾ 只要修改程序 3-1,程序 3-2 不需要进行任何修改; ¾ 将 1 号 UART(UART #1)观察窗口设为当前窗口即可通过键盘模拟 UART 的输
入; ¾ UART 收到一个有效数据,RI 将置为 1,可用软件清除。 3. 对例 3-1 的功能进行如下扩展:初始化后等待接收;收到字母 c 或 C 进行发送;收到字 母 n 或 N 暂停发送。
要求使用 C 语言编写程序,并在 μVision4 集成开发环境进行仿真。 提示: ¾ 只要修改程序 3-1,程序 3-2 不需要进行任何修改; ¾ 将 1 号 UART(UART #1)观察窗口设为当前窗口即可通过键盘模拟 UART 的输
入; ¾ UART 收到一个有效数据,RI 将置为 1,可用软件清除; ¾ 当 RI 为 1 时,读取 SBUF(UART 的接收缓存)即可获得键盘输入的值。 4. 将通过 UART 接收到的字符再由 UART 发送出去。
单片机考试试题及答案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语言程序设计与运用期末复习题及答案
一、填空1.KeiL C51软件中,工程文件的扩展名是____UV2______,编译连接后生成可烧写的文件扩展名是_____HEX_______。
2.C51支持的指针有一般指针和存储器指针。
3.C51中,没有专门的循环语句,我们可以用函数______crol_______完成一个字节的循环左移,用____irol_____完成二个字节的循环左移。
4.函数是C语言的基本单位。
5.C语言中输入和输出操作是由库函数scanf 和 printf等函数来完成。
6.若有说明int i,j,k;则表达式i=10,j=20,k=30,k*=i+j 的值为__ 900______。
7.数组是一组有固定数目和相同类型成分分量的有序集合。
8.变量的指针就是变量的地址;指针变量的值是指针。
9.在C语言中,把多个不同类型的变量结合在一起形成的一个组合型变量,称为结构变量,简称结构。
10.C51的数据类型有基本类型、构造类型、指针类型、空类型。
11.C51的基本数据类型有位型、字符型、整形、长整形、浮点型、双精度浮点型。
12.C51的构造数据类型有数组类型、结构类型、共用体型、梅举型。
13.C51的存储类型有 data 、 bdata 、 idata 、pdata 、 xdata 、 code 。
14.C51的存储模式有 SMALL 、 COMPACT 和 LARGE 。
15.C51程序与其他语言程序一样,程序结构也分为顺序结构、选择结构(或分支结构)、循环结构三种。
16.数组的一个很重要的用途就是查表。
17.二、单项选择题:1.89S51的内部程序存储器与数据存储器容量各为多少?(C)(A)64KB、 128B ( B)4KB、64KB(C)4KB、128B (D)8KB、256B2.在8x51芯片里,哪个引脚用于控制使用内部程序存储器还是外部程序存储器?(B)(A)XTAL1(B)/EA(C)/PSEN (D)ALE3.下列哪个不是KeilC的预处理命令?(C)(A)#include (B)#define (C)#exit (D)#if 4.下列哪个不是KeilC的数据类型?(B)(A)void (B)string (C)char (D)float 5.在8x51的输入/输出端口里,哪个输入/输出端口执行在输出功能时没有内部上拉电阻(A)(A)P0 (B)P1 (C)P2 (D)P36.在KeilC的程序里,若要指定P0口的bit3,如何编写?(C)(A)P0.3 (B)Port0.3 (C)P0^3 (D)Port^3 7.在8x51里,若要扩展外部存储器时,数据总线连接哪个输入/输出端口?(A)(A)P0 (B)P1 (C)P2 (D)P38.点亮一般的LED所耗的电流约为多少?(D)(A)1~5uA(B)10~20uA (C)1~5mA(D)10~20mA9.在8x51的程序里,若要将个输入/输出端口设置成输入功能,应如何处理?(A)(A)先输出高电平到该输入/输出端口(B)先输出低电平到该输入/输出端口(C)先读取该输入/输出端口的状态(D)先保存该输入/输出端口的状态10.根据实验统计,当操作开关时,其不稳定关态大约持续多久?(B)(A)1~5ms(B)10~20ms (C)100~150ms (D)150~250us 11.在KeilC里,判读开关状态时,使用if_else if语句与使用switch语句有何差异?(B)(A)if-else if 语句较快(B)if-else if语句有优先级(C)switch语句可判读较多开关状态(D)switch语句有优先级12.对于低电平动作(低电平触发)的开关而言,下列哪个不是在输入口上连接一个上拉电阻VCC的目的?(A)(A)提供足够的驱动电流(B)防止确定状态(C)保持输入高电平(D)防止噪声干扰13.中断功能具有什么好处?(C)(A)让程序更复杂(B)让程序执行速度更快(C)让程序更有效率(D)以上皆非14.8x51的IP缓存器的功能为何?(A)(A)设置中断优先级(B)启用中断功能(C)设置中断触发信号(D)定义CPU的网址15.在KeilC里,中断子程序与函数有何不同?(A)(A)中断子程序不必声明(B)函数不必声明(C)中断子程序必须有形式参数(D)中断子程序一定会有返回值16.若要同时启用INT0及INT1中断功能,则应如何设置?(B)(A)TCON=0x81 (B)IE=0x85 (C)IP=0x83 (D)IE=0x0317.若要提高INT1的优先级,则应如何设置?(C)(A)IP=0x01 (B)IE=0x01 (C)IP=0x04(D)IE=0x0418.在8x51的Timer里,若使用Mode 0,其最大计数值为多少个机器周期?(B)(A)65636 (B)8192 (C)1024 (D)25619.12 MHz的8x51系统里,哪一种方式一次可定时5ms?(A)(A)Mode0及Mode1 (B)Mode1及Mode2 (C )Mode2及Mode3 (D) Mode3及Mode120.8x51的定时器,在下列哪种方式下具有自动加载功能?(C)(A)Mode0 (B) Mode1 (C)Mode2 (D)Mode321.若将Timer0设置为外部启动,则可由哪个引脚启动?(A)(A)P3.2(B)P3.3 (C)P3.4 (D)P3.522.下列哪个IC具有将串行数据转换成并行数据的功能?(B)(A)74138 (B)74164 (C)74165 (D)7416823.在同一时刻,只能接收或发送信号者称为什么?(A)(A)半双工(B)全双工(C)半单工(D)单工24‘在8x51的串行口里,在哪一种方式下,可利用Timer1产生波特率?(C)(A)Mode0 (B)Mode1 (C)Mode2(D)Mode325.在8x51里,若通过串行端口传出数据,则只要将数据放入哪个寄存器,CPU就会自动将它会传出?(B)(A)SMOD(B)SBUF (C)PCON (D)RBUF26.在8x51里,若CPU完成串行端口数据的接收将会如何?(D)(A)将TI标志变为0 (B)将RI标志为0 (C)将TI标志变为了 1 (D)将RI标志变为127.若要设置8x51串行端口方式,可在哪个寄存器中设置?(B)(A)SMOD (B)SCON (C)PCON (D)TCON28.在共阳极8*8LED点阵里,其阳极如何连接?(C)(A)各行阳极连接到行引脚(B)各列阳极连接到列引脚(C)各行阳极连接到列引脚(D)各列阳极连接到行引脚29.在共阳极8*8点阵里,其阴极如何连接?(A)(A)各行阴极连接到行引脚(B)各列阴极连接到列引脚(C)各行阴极连接到列引脚(D)各列阴极连接到行引脚30.通常8*8LED点阵的驱动方式是什么?(B)(A)直接驱动(B)扫描驱动(C)双向驱动(D)以上皆非31.若要对LCM下指令,则应如保设置?(A)(A)RS=0,R/~W=0(B)RS=1,R/~W=0 (C)RS=1,R/~W=1(D)RS=0,R/~W=132.若要在LCM中显示些字符,则需把所要显示的字符放入何处?(B)(A)CG RAM (B)DDRAM (C)IRAM (D)GDRAM33.若要将数据写入LCM,则应如何设置?(B)(A)RS=0,R/~W=0 (B)RS=1,R/~W=0 (C)RS=1,R/~W=1 (D)RS=0,R/~w=1341.利用下列( D)关键字可以改变工作寄存器组A、interruptB、sfrC、whileD、using35.C51中一般指针变量占用( C )字节存储。
单片机应用技术(C语言版)课后答案
设计和制作一台使用白色光LED作为光源的台灯,台灯具有一个机械电源开关和两个感应式触摸开关,用手触摸感应开关可以调节台灯亮度。
台灯由220V市电供电,并配有小型铅酸蓄电池。
使用变压器和充电电路可对蓄电池充电。
使用中若蓄电池电量不足时,可通过台灯一定规律的闪烁提示对蓄电池充电。
电池电压过低时关闭台灯以保护蓄电池。
主要技术指标(1)系统电源:220V,50Hz交流。
(2)蓄电池:12V,2.3Ah。
(3)LED灯总功率:10Wmax。
(4)调光步进:5级调光。
(5)蓄电池充电最高电压:13.8V。
(6)蓄电池充电电流:<1A(7)蓄电池欠压保护点:11.0V昨天,略去。
今天,珍惜。
明天,争取。
对的,坚持。
错的,放弃。
人生要做两件事:第一件事,就是感恩;第二件事,就是结缘。
人生要迈两道坎:情与钱。
人生要喘两种气:一种是生命之气,一种是精神之气。
人生要会两件事:学会挣钱,学会思考。
人生的两个基本点:糊涂点,潇洒点。
人生的两种状态:谋生,乐生。
一心一意,是世界上最温柔的力量。
有些事情,只有经历了,才有穿透心扉的体验;曾经的人,只有从心底放下了,心灵才会真正地解脱。
没有哪件事,能够一直捆住你的手脚;没有哪个人,能够成为你的永远。
所以,想做的事,只要有能力做,那就不要等,不要害怕失败;想付出的爱,只要觉得可以,那就大胆些,不要留下遗憾。
学会放下,是一种生活的智慧;放下,是一门心灵的学问。
人生在世,有些事情是不必在乎的,有些东西是必须清空的。
该放下时就放下,你才能够腾出手来,抓住真正属于你的快乐和幸福。
已经拥有的不要忘记;已经得到的更加珍惜;属于自己的不要放弃;已经失去的留作回忆;想要得到的一定要努力;累了把心靠岸;选择了就不要后悔;苦了才懂得满足;痛了才享受生活;伤了才明白坚强。
放下压力,累与不累,取决于心态;放下烦恼,快乐其实很简单;放下自卑,把自卑从你的字典里删去;放下懒惰,奋斗改变命运;放下消极,绝望向左,希望向右;放下抱怨,与其抱怨,不如努力;放下犹豫,立即行动,成功无限;放下狭隘,心宽天地宽。
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章单⽚机的C语⾔概述1.写出⼀个单⽚机的C语⾔程序的构成。
答:⼀个单⽚机的C语⾔程序构成如下:#include < > /*预处理命令*/long fun1( );/*函数说明*/float fun2( );int x,y;float z;fun1( ) /*功能函数1*/{ ...}main( ) /*主函数*/{ ...}fun2( ) /*功能函数2*/{ ...}2.标准C语⾔有那些特点?答:(可以参照第3题)3.标准C语⾔程序主要的结构特点是什么?答:标准C语⾔的主要结构特点有以下⼏点:①语⾔简洁、紧凑,使⽤⽅便、灵活标准C语⾔共有32个关键字、9种控制语句。
程序书写形式⾃由,与其他⾼级语⾔相⽐较,程序简练、简短。
②运算符、表达式丰富标准C语⾔包括34种运算符,⽽且把括号、赋值、强制类型转换等都作为运算符处理。
表达式灵活、多样,可以实现各种各样的运算。
③数据结构丰富,具有现代化语⾔的各种各样的数据结构标准C语⾔的数据类型有整型、实型、字符型、数组类型、指针类型等,并能⽤来实现各种复杂的数据结构。
④可进⾏结构化程序设计标准C语⾔具有各种结构化的程序语句,如if...else语句、while语句、do...while语句、switch语句、for语句等。
⑤可以直接对计算机硬件进⾏操作标准C语⾔允许直接访问物理地址,能进⾏位操作,能实现汇编语⾔的⼤部分功能,可以对硬件直接进⾏操作。
⑥⽣成的⽬标代码质量⾼,程序执⾏效率⾼效率仅⽐汇编语⾔编写的程序低10%~20%。
⽽C语⾔编写程序⽐汇编语⾔编写程序⽅便、容易得多,可读性强,开发时间也短得多。
⑦可移植性好不同的计算机汇编指令不⼀样,⽤汇编语⾔编写的程序⽤于另外型号的机型使⽤时,必须改写成对应机型的指令代码。
⽽标准C语⾔编写的程序基本上都不⽤修改就可以⽤于各种机型和各类操作系统。
4.简述C51语⾔和汇编语⾔的⽐较使⽤C51语⾔进⾏嵌⼊式系统的开发,有着汇编语⾔所不可⽐拟的优势:①编程调试灵活⽅便;②⽣成的代码编译效率⾼;③模块化开发;④可移植性好;⑤便于项⽬的维护;5.简述单⽚机的C语⾔和标准C的⽐较答:单⽚机的C语⾔和标准C的⽐较主要有以下⼏点不同:① C51中定义的库函数和标准的C语⾔定义的库函数不同;② C51中的数据类型和标准C的数据类型也有⼀定的区别;③ C51变量的存储模式与标准C中变量的存储模式不⼀样;④ C51与标准C的输⼊/输出处理不⼀样;⑤ C51与标准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语言单片机考试题及答案详解一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在单片机编程中,以下哪个寄存器用于存储程序计数器的值?A. PCB. SPC. ACCD. B答案:A3. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable-nameC. variable$nameD. variable_name答案:D4. 在单片机中,若要将一个8位二进制数扩展为16位,应使用哪种指令?A. MOVB. CLRC. SWAPD. EXT答案:D5. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A二、填空题1. 在C语言中,用于定义一个无符号字符型变量的关键字是________。
答案:unsigned char2. 单片机的I/O口可以被配置为________模式,用于接收外部信号。
答案:输入3. 在C语言中,若要声明一个指向整型的指针变量,应使用________。
答案:int*4. 单片机编程中,使用________指令可以将累加器A的内容传送到外部数据存储器。
答案:MOVX5. C语言中,________运算符用于计算两个数的差,并更新累加器A的值。
答案:-三、简答题1. 简述C语言中数组和指针的区别。
答案:数组是一种数据结构,用于存储相同类型的多个元素,而指针是一种变量,它存储了另一个变量的内存地址。
数组名可以被用来访问数组的第一个元素的地址,但数组本身不能被赋值;指针变量可以被赋值,指向不同的内存地址。
2. 描述单片机中断服务程序的执行流程。
答案:当单片机检测到一个中断请求时,它会保存当前程序的状态(如程序计数器和寄存器的值),然后跳转到中断向量指定的地址执行中断服务程序。
单片机c语言设计试题答案
单片机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内部提供_______个可编程的_______位定时/计数器,定时器有_______种工作方式。
- 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位逐次逼近式模/数转换接口。