单片机C语言项目式教程综合题含答案

合集下载

单片机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语言考试题目及答案

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单片机的中断系统由中断向量表、中断优先级和中断服务程序组成。

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

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

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

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语言考试题目及答案

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语言版单片机试题及答案

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语言试题及答案

单片机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);}答案:缺少头文件包含和函数调用。

MCS-51单片机技术项目驱动教程C语言第二版牛军课后参考答案

MCS-51单片机技术项目驱动教程C语言第二版牛军课后参考答案

MCS-51单片机技术项目驱动教程C语言第二版习题答案第1章思考与练习1. 什么是单片机?最早的单片机是什么时间推出的?答:单片机是单片微型计算机的简称,它将中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、中断系统、定时器/计数器、串行口和I/O接口等主要计算机部件集成在一块大规模集成电路芯片上,具有了微型计算机的组成结构和功能。

最早的单片机是在20世纪70年代初推出的。

2. 简述单片机的特点。

答:单片机具有种类众多、性价比高、集成度和可靠性高、存储器ROM和RAM严格区分、采用面向控制的指令系统、I/O引脚通常是多功能的、外部扩展能力强等特点。

3. 什么是MCS-51单片机?最早是哪家公司推出的?答:MCS-51单片机是所有兼容Intel 8051指令系统单片机的统称,最早由Intel 公司推出。

4. 说出4种以上常用的单片机类型。

答:(1)MCS-51单片机;(2)AVR单片机;(3)PIC单片机;(4)MSP430单片机;(5)Motorola单片机。

5. 什么是总线?单片机中的总线有哪几种?答:总线是指从任意一个源点到任意一个终点的一组传输数字信息的公共通道。

单片机中总线包括地址总线、数据总线和控制总线三种。

6. 简述单片机中位和字节的概念。

答:一个二进制数叫1位,相邻的8位二进制数构成一个字节。

7.存储地址的作用是什么?答:存储地址用来定义每个存储单元,以供CPU寻址、操作。

第2章思考与练习1. AT89C51单片机的内部ROM 和RAM分别是多大空间?最多可扩展多少空间?答:分别是4KB和128B,ROM最多可扩展60KB,RAM最多可扩展64KB。

2. AT89C51单片机有哪几个中断源?答:有3个内部中断源和2个外部中断源。

3. 画出MCS-51单片机的复位电路原理图,包括上电复位和手动复位功能,并根据参数计算上电复位时高电平的持续时间。

答:复位电路原理图如下图所示。

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

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语言中,用于声明一个静态变量的关键字是______。

单片机应用技术项目式教程 考试1[4页]

单片机应用技术项目式教程 考试1[4页]

《单片机应用技术》课程试卷一一、选择题(每小题 2 分,共24分)1、C语言中最简单的数据类型包括()。

A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型2、下列计算机语言中,CPU能直接识别的是()。

A、自然语言B、高级语言C、汇编语言D、机器语言3、MCS-5l单片机的堆栈区是设置在()中。

A、片内ROM区B、片外ROM区C、片内RAM区D、片外RAM区4、以下能正确定义一维数组的选项是()。

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";5、数据的存储结构是指()。

A、存储在外存中的数据B、数据所占的存储空间量C、数据在计算机中的顺序存储方式D、数据的逻辑结构在计算机中的表示6、下列关于栈的描述中正确的是()。

A、栈是先进后出的线性表B、栈是只出不进的线性表C、栈是先出后进的线性表D、不确定7、能够用紫外光擦除ROM中程序的只读存储器称为()。

A、掩膜ROMB、PROMC、EPROMD、EEPROM8、在MCS-51系统中,若晶振频率为8MHz,一个机器周期等于()μs 。

A、1.5B、3C、1D、0.59、AT89S51的时钟最高频率是()。

A、12MHzB、6 MHzC、8 MHzD、33 MHz10、以下不是构成单片机的部件()。

A、微处理器(CPU)B、存储器C、接口适配器(I/O接口电路)D、打印机11、下列不是单片机总线是()。

A、地址总线B、控制总线C、数据总线D、电源总线12、十进制29的二进制表示为原码()。

A、11100010B、10101111C、00011101D、00001111二、判断题(每小题 2 分,共26分)()1、在对某一函数进行多次调用时,系统会对相应的自动变量重新分配存储单元。

单片机C语言项目式教程期末复习试卷10套

单片机C语言项目式教程期末复习试卷10套

一、选择题(每题2分,共20分)1、所谓CPU是指()A、运算器和控制器B、运算器和存储器C、输入输出设备D、控制器和存储器2、访问片外数据存储器的寻址方式是()A、立即寻址B、寄存器寻址C、寄存器间接寻址D、直接寻址3、堆栈数据的进出原则是()A、先进先出B、先进后出C、后进后出D、进入不出4、开机复位后,CPU使用的是寄存器第一组,地址范围是()A、00H-10HB、00H-07HC、10H-1FHD、08H-0FH5、定时器/计数器工作于模式1时,其计数器为几位?()A、8位B、16位C、14位D、13位6、若某存储器芯片地址线为12根,那么它的存储容量为()A、1KBB、2KBC、4KBD、8KB7、控制串形接口工作方式的寄存器是()A、TCONB、PCONC、SCOND、TMOD8、当8031外扩程序存储器32KB时,需使用EPROM2764()A、2片B、3片C、4片D、5片9、已知:R0=28H (28H)=46MOV A,#32HMOV A,45HMOV A,@R0 执行结果A的内容为()A、46HB、28HC、45HD、32H10、下面程序运行后结果为()MOV 2FH,#30HMOV 30H,#40HMOV R0,#30HMOV A,#20HSETB CADDC A,@R0DEC R0MOV @R0,AA、(2FH)=30H (30H)=40HB、(2FH)=61H (30H)=40HC、(2FH)=60H (30H)=60HD、(2FH)=30H (30H)=60H二、填空题(每空1分,共25分)1、8051有()条指令。

2、晶振的频率为6MHz时,一个机器周期为()μS。

3、单片机是把中央处理器,()()()以及I/O接口电路等主要计算机部件集成在一块集成电路芯片上的微型计算机。

4、传输速率是用每秒传送数据位的()来表示,把它定义为(),单位为()。

5、所谓最小应用系统是指能维持单片机运行的()配置系统。

单片机应用技术项目教程(C语言版)习题答案

单片机应用技术项目教程(C语言版)习题答案

单片机应用技术项目教程(C语言版)习题答案项目一1-1 填空题(1)8031,8751(2)存储器,定时器/计数器,输入/输出接口电路(3)上电自动复位,手动复位(4)12,1μs,1,4(5)1(6)4,1,2,51-2选择题(1)A(2)C(3)D(4)C(5)A1-3(1)Keil C51软件的主要功能Keil C51软件提供了丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

μVision2 集成开发环境可以完成工程建立和管理、编译、连接、目标代码的生成、软件仿真和硬件仿真等完整的开发流程。

(2)PROTEUS软件的主要功能Proteus不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,也是目前较先进的单片机和嵌入式系统的设计与仿真平台。

在计算机上,能完成从原理图与电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整的电子设计、研发过程。

1-4 简叙单片机的发展及发展趋势。

单片机的发展主要有以下几个方面:(1)增加字长,提高数据精度和处理的速度;(2)改进制作工艺,提高单片机的整体性能;(3)由复杂指令集CISC转向简单指令集RISC的技术;(4)多功能模块集成技术,使一块“嵌入式”芯片具有多种功能;(5)微处理器与DSP技术相结合;(6)融入高级语言的编译程序;(7)低电压、宽电压、低功耗。

目前,国际市场上8位、16位单片机系列已有很多,32位的单片机也已经进入了实用阶段。

随着单片机技术的不断发展,新型单片机还将不断涌现,单片机技术正以惊人的速度向前发展。

1-5 简叙单片机的主要应用领域。

单片机的主要应用领域:工业控制、智能仪表、外设控制、家用电器、机器人、军事装项目二LED循环点亮控制 2置等。

1-6 简叙单片机的主要特点。

(1)体积小、重量轻,价格低、功能强,电源单一、功耗低,可靠性高、抗干扰能力强。

(2)使用方便灵活、通用性强。

单片机C语言项目式教程综合题含答案

单片机C语言项目式教程综合题含答案

六、综合题1.现有8031单片机、74LS373锁存器、1片2764EPROM和2片6116RAM,请使用他们组成一个单片机系统,要求:(1)画出硬件电路连线图,并标注主要引脚;(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。

解:(1)电路图如下所示:(2)2764的地址为C000H-DFFFH;第一个6116的地址为A000H-A7FFH;第二个6116的地址为6000H-67FFH;事实上,由于采用的是线选法,导致了地址不连续,地址空间利用不充分。

建议在实际工作中要具体情况具体分析。

在两种地址分配中选一种较好的来应用。

2.使用89C51芯片外扩一片E2PROM2864,要求2864兼作程序存储器和数据存储器,且首地址为8000H。

要求:(1)确定2864芯片的末地址;(2)画出2864片选端的地址译码电路;(3)画出该应用系统的硬件连接图。

解:(1)2864为8KB的存储器,如果首地址为8000H,则其末地址为9FFFH,理由参考第12题;(2)电路图如下所示:(3)电路图如下所示:3.画出MCS-51系列单片机利用串行口进行1台主机与4台从机多机串行通讯连线图,其中1台从机通讯地址号为02H,请叙述主机向02H从机发送一个字节数据的过程。

从机从机从机从机答:主机发送数据过程如下:将从机00~03H的REN置1,SM2=1,并使它们工作在串行口工作方式2或3。

由主机向4个从机发出一帧地址址信息02H,第9位为1。

从机接到信息后均发生中断,执行中断服务程序,将02H与自身地址做比较。

若相同,则清SM2=0,若不同则SM2不变仍为1。

主机发送一帧数据信息,第9位为0,从机接到信息后,只有SM2=0的从机发生中断,将数据信息收取,其余SM2=1的从机不放出中断,信息丢失,从而实现主机向02H从机发送一个字节数据的功能。

4.请回答:(1).下图中外部扩展的程序存储器和数据存储器容量各是多少?(2).两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1)(3).请编写程序,要求:(A)将内部RAM 30H~3FH中的内容送入1# 6264的前16个单元中;(B)将2# 6264的前4个单元的内容送入40H~43中;解:(1).外扩程序存储器的容量是8K,外扩数据存储器的容量是16K(2).2764范围:C000H~DFFFH1#范围: A000H~BFFFH2#范围: 6000H~7FFFH(3).请编写程序(A)MOV R1 ,#10HMOV DPTR,@0A000HMOV R0,#30HLOOP: MOV A,@RoMOVX @DPTR,AINC DPTRINC R0DINE R1,LOOPRET(B) MOV R1,#04HMOV DPTR,#6000HMOV R0 ,#40HLOOP: MOVX A ,@DPTRMOV @R0 ,AINC DPTRINC R0DTNZ R1 ,LOOPRET5.简述一种多外部中断源系统的设计方法。

c语言单片机考试题及答案详解

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语言项目式教程期末试卷2套及答案

单片机C语言项目式教程期末试卷2套及答案

-1无锡职业技术学院 2011~2012学年第二学期《单片机C 语言项目式教程》期末试卷(A 卷) (开卷考试)系 电子信息技术系 班级 学号 姓名一、填空题(每题1分,共20分)1、除了单片机和电源外,单片机最小系统包括____时钟________和_____复位_______ 。

2、MCS-51系列单片机的应用程序一般存放在____ROM________中。

3、C51单片机采用定时器实现定时功能,可采用___方式1______和____方式2______两种方式。

4、一个完整的单片机应用系统由_____软件_______和____硬件________两大部分组成。

5、C51的中断源有5个,分别是___外部中断0______、_外部中断1________、___定时器0______、___定时器1_______和串行中断。

6、DAC0832是______8_____位数模转换器,与单片机的接口可分为_____单缓冲________、______双缓冲_________两种方式。

7、欲使P1口的低4位输出1,高4位输出0,C51写为____P1=0X0F________。

8、机械式按键在按下和释放时,通常伴有一定时间的____抖动_______事件;单片机经常通过_____软件消抖_______方式来消除此事件对键盘的10、8051内部有______4______个并行口,____P0________口直接作输出口时,必须外接上拉电阻。

二、选择题(每小题2分,共26分)1. 80C51单片机的( D )口的引脚,还具有外中断、串行通信等第二功能。

A 、P0 B 、P1 C 、P2 D 、P32.单片机应用程序一般存放在( B ) 。

A 、 RAMB 、ROMC 、寄存器D 、CPU 3.若单片机的振荡频率为12MHz ,设定时器工作在方式1需要定时1ms ,则定时器初值应为( C )。

A 、500 B 、1000 C 、64536 D 、605364.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( A )。

STC15系列可仿真单片机项目化应用教程(C语言)习题答案完整版

STC15系列可仿真单片机项目化应用教程(C语言)习题答案完整版

项目一控制灯光闪烁习题一、填空题1. 单片机复位方式有外部RST引脚复位,内部低压检测复位,MAX810专用复位电路复位,软件复位,掉电复位/上电复位,看门狗复位和程序地址非法复位。

2. IAP15W4K58S4内部程序存储器(ROM)容量为58KB ,地址从0000H开始,用于存放程序和表格常数。

3. IAP15W4K58S4输入/输出口线38 条,它们都是标准输入输出端口。

二、简答题1. IAP15W4K58S4单片机最小应用系统由哪几个部分组成?答:单片机最小系统包含复位电路、时钟电路和电源。

IAP15W4K58S4片内包含RC时钟电路、复位电路,因此IAP15W4K58S4单片机不需外围电路,只需接上电源就是一个单片机最小系统了。

2. IAP15W4K58S4单片机复位电路有几种形式?答:外部RST引脚复位,内部低压检测复位,MAX810专用复位电路复位,软件复位,掉电复位/上电复位,看门狗复位和程序地址非法复位。

3. IAP15W4K58S4单片机的主时钟有几种类型?答:内部RC振荡器时钟、外部时钟4.Keil C51数据类型有哪些?答:char/unsignedchar、int/unsignedint、long/unsignedlong、float/double、genericpointer5.Keil C51存储类型有哪些?答:data、bdata、idata、pdata、xdata、code6.Keil C51和ANSI C的差异主要有哪些?答:Keil C51有ANSI C的所有标注数据类型,而Keil C51还加入了一些特殊的数据类型。

Keil C51可以让用户针对8051的结构进行程序设计,其他差异主要是8051的一些局限性引起的。

三、编程题1. 试编写实现流水灯。

要求每次点亮3个发光二极管,从高位至低位轮流点亮,点亮时间自定,分别采用顺序结构、循环结构实现,并画出流程图。

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语言单片机考试题及答案

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语言习题参考答案

单⽚机的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语言单片机试题及答案

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单片机的定时器/计数器的作用。

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

百度文库六、综合题1.现有8031单片机、74LS373锁存器、1片2764EPROM和2片6116RAM,请使用他们组成一个单片机系统,要求:(1)画出硬件电路连线图,并标注主要引脚;(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。

解:(1)电路图如下所示:(2)2764的地址为C000H-DFFFH;第一个6116的地址为A000H-A7FFH;第二个6116的地址为6000H-67FFH;事实上,由于采用的是线选法,导致了地址不连续,地址空间利用不充分。

建议在实际工作中要具体情况具体分析。

在两种地址分配中选一种较好的来应用。

U 474L S 373347813141718111256912151619D 0D 1D 2D 3D 4D 5D 6D 7O CG Q 0Q 1Q 2Q 3Q 4Q 5Q 6Q 7U 28031313938373635343332212223242526272817162930E A /V P P 0.0P 0.1P 0.2P 0.3P 0.4P 0.5P 0.6P 0.7P 2.0P 2.1P 2.2P 2.3P 2.4P 2.5P 2.6P 2.7R DW R P S E N A L E /PU 5H M 611687654321232219182021910111314151617A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A 10C SO E W E D 0D 1D 2D 3D 4D 5D 6D 7U 3276410987654325242123220222711112131516171819A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A 10A 11A 12C EO E P G M V P P O 0O 1O 2O 3O 4O 5O 6O 7U 6H M 611687654321232219182021910111314151617A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A 10C SO E W E D 0D 1D 2D 3D 4D 5D 6D 72.使用89C51芯片外扩一片E2PROM2864,要求2864兼作程序存储器和数据存储器,且首地址为8000H 。

要求:(1)确定2864芯片的末地址;(2)画出2864片选端的地址译码电路; (3)画出该应用系统的硬件连接图。

解:(1)2864为8KB 的存储器,如果首地址为8000H ,则其末地址为9FFFH ,理由参考第12题;(2)电路图如下所示:P2.6N1U2313938373635343332212223242526272817162930EA/VP P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7RD WR PSEN ALE/P P2.6P2.7U112364515141312111097A B C G1G2A G2B Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7P2.7+5vP2.5P2.5(3)电路图如下所示:U474LS373347813141718111256912151619D0D1D2D3D4D5D6D7OCG Q0Q1Q2Q3Q4Q5Q6Q7N1U174LS13812364515141312111097A B C G1G2A G2B Y0Y1Y2Y3Y4Y5Y6Y7U28031313938373635343332212223242526272817162930EA/VP P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7RD WR PSEN A L E /PP2.6N1P2.7P2.7U3286410987654325242123220222711121315161718191A0A1A2A3A4A5A6A7A8A9A10A11A12CE OE WE D0D1D2D3D4D5D6D7READYP2.6+5vP2.5P2.53.画出MCS-51系列单片机利用串行口进行1台主机与4台从机多机串行通讯连线图,其中1台从机通讯地址号为02H ,请叙述主机向02H 从机发送一个字节数据的过程。

答:主机发送数据过程如下:将从机00~03H 的REN 置1,SM2=1,并使它们工作在串行口工作方式2或3。

由主机向4个从机发出一帧地址址信息02H ,第9位为1。

从机接到信息后均发生中断,执行中断服务程序,将02H 与自身地址做比较。

若相同,则清SM2=0,若不同则SM2不变仍为1。

主机发送一帧数据信息,第9位为0,从机接到信息后,只有SM2=0的从机发生中断,将数据信息收取,其余SM2=1的从机不放出中断,信息丢失,从而实现主机向02H 从机发送一个字节数据的功能。

4.请回答:(1).下图中外部扩展的程序存储器和数据存储器容量各是多少?(2).两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1) (3).请编写程序,要求:(A )将内部RAM 30H~3FH 中的内容送入1# 6264的前16个单元中; (B )将2# 6264的前4个单元的内容送入40H~43中;TXD RXD 8031 主机 TXD RXD 00H TXD RXD 01H TXD RXD 02H TXD RXD 03H从机 从机 从机 从机 PSEN CE WR│8031 D0-D7 D0-D7 OE 2764CE A8-A12A0-A7 OE 74LS373 Q0 Q7D0 D7 │ │ G ALE│ 88 8 8 8 5 5 5 8 8 +5V WR 2# 6264 CS CE A8-A12 A0-A7 +5V WR CS A8-A12 A0-A7 OE OE 1# 6264 RD5 8● ● ● ● ● ●● ● ●解:(1).外扩程序存储器的容量是8K,外扩数据存储器的容量是16K(2).2764范围:C000H~DFFFH1#范围: A000H~BFFFH2#范围: 6000H~7FFFH(3).请编写程序(A)MOV R1 ,#10HMOV DPTR,@0A000HMOV R0,#30HLOOP: MOV A,@RoMOVX @DPTR,AINC DPTRINC R0DINE R1,LOOPRET(B) MOV R1,#04HMOV DPTR,#6000HMOV R0 ,#40HLOOP: MOVX A ,@DPTRMOV @R0 ,AINC DPTRINC R0DTNZ R1 ,LOOPRET5.简述一种多外部中断源系统的设计方法。

(给出图和程序)解:原理电路如图所示程序如下:INT:PUSH PSWPUSH AJNB , IR0 ;扫描中断请求JNB , IR1JNB , IR2JNB , IR3INTIR: POP A;返回POP PSWIR0: 中断服务子程序 :中断服务AJMP INTIRIR1: 中断服务子程序AJMP INTIRIR2: 中断服务子程序AJMP INTIRIR3: 中断服务子程序AJMP INTIP6.结合原理图,简述行列式扫描键盘的工作原理。

答: 扫描键盘工作原理首先X0~X3,始终接高电平,Y0~Y3给低电平,扫描~若全为高电平,则没有键按下,若有低电平,则有键按下。

接着Y0输出低电平,Y1~Y3输出高平,扫描~,若全为高电平,则没有键按下,若有低电平,则找出相位,得到所按的键。

再Y1输出低电平,Y0,Y2,Y3输出高电平,重复第2 步骤作.再Y2输出低电平,Y0,Y1,Y3输出高电平扫描再Y3输出低电平,Y0,Y1,Y2输出高电平扫描根据据以上扫描,确定以上各键是否按下。

单片机外扩展一片8255,画出系统电路原理图,写出地址分布。

8255A可以直接与MCS-51单片机进行接口,其连接图如图所示。

8255A的A0、A1分别接地址总线的A0、A1,片选端CS接口,因此8255A PA口地址为7FFCH、PB口地址为7FFDH、PC口地址为7FFEH、控制口地址为7FFFH。

8255A 8031OE GALE74LS373P0Q0A1A0RD WR D0~D7Q1WR RD D0~D7Q7CS RESETRESETPAPBPC8.编写交通灯控制程序。

在十字路口东西南北各设置红、黄、绿三种信号灯,东西方向(A 线)通车时,东西方向绿灯亮、南北方向(B 线)红灯亮;东西方向通车时间(30秒)到后,东西方向的绿灯亮,黄灯亮3秒,之后由东西方向切换到南北方向通车,此时东西方向黄灯灭,红灯亮,南北方向红灯灭、绿灯亮,南北方向开始通车。

通车时间(60秒)到后,南北方向的绿灯亮,黄灯亮3秒,之后由南北方向切换到东西方向通车,如此循环。

(20分) ORG 2000HMAIN : MOV P1,#0CH ;A 线放行、B 线禁止MOV R7,#19H ;延时秒数MAIN1: LCALL DELAY ;1秒延时子程序DJNZ R7,MAIN1MOV P1,#0AH ;A 线警告、B 线禁止 MOV R7,#05H ;延时秒数MAIN2: LCALL DELAY ;1秒延时子程序DJNZ R7,MAIN2MOV P1,#21H ;A 线禁止、B 线放行 MOV R7,#19H ;延时秒数MAIN3: LCALL DELAY ;1秒延时子程序DJNZ R7,MAIN3MOV P1,#11H ;A 线放行、B 线警告 MOV R7,#05H ;延时秒数MAIN4: LCALL DELAY ;1秒延时子程序DJNZ R7,MAIN4 AJMP MAIN1秒延时子程序: ORG 2100H DEY1S :MOV R1,#02H ; LOOP3:MOV R2,#C8H ; LOOP2:MOV R3,#FAH ;LOOP1:NOPNOPNOPDJNZ R3,LOOP1DJNZ R2,LOOP2DJNZ R1,LOOP3RET9.若外部程序存储器已扩展(未画出),请编写程序,要求:(1)将30H~3FH中的内容送入6264 1# 的前16个单元中;(2)将6264 2# 的前32个单元的内容送入40H~5FH中;P2.7P2.6P2.5P2.4P2.0ALE 8031P0.0P0.7RDWRD0 Q0D7 Q7G OE A0~A7 A8~A12CS 62641#CED0~D7DE WRA0~A7 A8~A12CS 6264 2#CED0~D7DE WRA0~A7 A8~A12CS 62643#CED0~D7DE WR8588888 373Vcc Vcc Vcc~~~~解:(1).外部扩展的数据存储器为3片8K的RAM帮外扩容量为24中(2). A15 A!4 A13 地址范围0 1 1 6000H~7FFFH1 0 1 A000H~BFFFH(3).(1)程序如下:ORG 0000HRESET:AJMP MAIN ;复位,转主程序ORG 0100HMAIN: MOV DPL,#ooH ;初始化DPTRMOV DPH,#60HMOV R0,#30H. ;初始化R0LOOP: MOV A,@R0MOVX @DPTR, AINC R0INC DPTRCJNE R0,#40H,LoopNOPRET(2)程序如下:ORG 0000HRESET:AJMP MAIN ;转主程序ORG 0100HMAIN: MOV DPL#00H ;初始化DPTRMOV DPH,#0A0HMOV R0,#40H ;初始化 R0 Loop2: movx A,@DPTRMov @Ro,AINC DPTRINC RoCJNE Ro,#60H,Loop2NOPRET10.实现一个4个键盘的方法,画出硬件简略图.怎么实现都可以不限条件。

相关文档
最新文档