51单片机C语言程序设计复习资料

合集下载

51单片机及C语言入门教程

51单片机及C语言入门教程

51单片机及C语言入门教程本教程将介绍51单片机及C语言的入门知识,帮助初学者快速掌握这两个方面的基本内容。

以下是本教程的详细内容:一、51单片机概述(200字)51单片机是由Intel公司推出的一种常见的单片机芯片,具有广泛应用的特点。

它采用了Harvard结构,具有8位数据总线和16位地址总线。

其主要特点是结构简单、易于学习、应用广泛,适用于各种嵌入式系统。

二、C语言基础(300字)C语言是一种高级编程语言,具有跨平台、可移植性强等特点,被广泛应用于各种软件开发和嵌入式系统中。

学习C语言的基础知识是学习51单片机编程的必要前提。

C语言基础知识主要包括数据类型、变量、常量、运算符、表达式、流程控制语句等内容。

这些知识是学习C语言和51单片机编程的基础,需要仔细理解和掌握。

三、51单片机编程入门(400字)1. 搭建开发环境:首先需要安装51单片机的开发工具,如KeilC51等。

然后,连接单片机开发板和电脑,确保硬件连接正确。

2.了解开发板:学习使用51单片机的开发板是学习51单片机编程的第一步。

具体包括开发板上各个接口的功能和使用方法。

3.编写第一个程序:根据教材或教程,编写第一个简单的程序,如让LED灯闪烁等。

学习如何通过C语言编写程序,将其烧录到单片机中,并运行和调试。

四、C语言与51单片机的应用(300字)在学习了C语言和51单片机的基础知识之后,可以进一步学习它们的应用。

1.输入输出操作:学习如何通过51单片机与外部设备进行输入输出操作,如控制LED灯的亮灭、读取按键输入等。

2.定时器和中断:学习如何使用51单片机的定时器和中断功能来实现定时任务和外部事件处理。

3.串口通信:学习如何通过51单片机的串口通信功能与其他设备进行数据交换和通信。

五、实例项目及拓展应用(200字)完成了基础学习后,可以尝试一些实例项目,如温度测量系统、遥控器、电子钟等。

同时,可以进一步学习其他相关知识,如LCD显示、SPI 通信等,以扩展自己的应用能力。

单片机C语言复习题

单片机C语言复习题

单片机C语言复习题在单片机编程中,我们可以使用哪些数据类型?一个C程序通常包含一个主函数和其他_________。

单片机C语言中,常用的输入输出函数有_________,_________等。

在单片机C语言中,我们通常使用_________来定义一个常量。

在单片机C语言中,_________是一种特殊的数据类型,用于声明只读的变量。

编写一个简单的单片机C程序,实现两个数字的相加并输出结果。

要求使用单片机常见的输入输出函数,如scanf和printf。

int num1, num2, sum;printf("请输入两个数字:\n");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两数之和为:%d\n", sum);}单片机是一种微型计算机,它具有强大的计算和控制能力,广泛应用于各种领域,如电子、通信、工业控制等。

C语言是一种通用的编程语言,具有高效、易用、可移植性好等优点,因此也成为单片机开发的首选语言。

在单片机中,使用C语言进行编程需要一定的硬件和软件知识。

你需要了解单片机的硬件结构和相关寄存器的作用,这样才能正确地使用C语言对单片机进行控制。

你需要掌握C语言的语法和编程技巧,这样才能编写出高效、可靠的程序。

数据类型:在单片机中,常用的数据类型有int、char、float等。

其中,int类型通常用于表示整数,char类型用于表示字符,float 类型用于表示浮点数。

运算符:C语言中常用的运算符包括赋值运算符(=)、算术运算符(+、-、*、/)、比较运算符(>、<、>=、<=)、逻辑运算符(&&、||)等。

控制结构:C语言中有三种控制结构,分别是顺序结构、选择结构和循环结构。

其中,选择结构包括if语句和switch语句,循环结构包括for循环、while循环和do-while循环。

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。

C51单片机复习题及答案

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 )。

第3章51系列单片机程序设计(C语言部分)

第3章51系列单片机程序设计(C语言部分)

idata
间接寻址片内数据存储区,可访问片内全部RAM地址空间(256字节)
pdata
分页寻址片外数据存储区(256字节)由MOV @Ri访问(i=0,1)
xdata
片外数据存储区(64 KB)由MOVX @DPTR访问
code
程序存储器64 KB空间,由MOVC @DPTR访问
第3章 51系列单片机程序设计(C部分)
/* Ary37定义为abry[3]的第7位 */
第3章 51系列单片机程序设计(C部分)
3.5 数 组
数组:数组是一组类型相同 有序数据的集合。用数组名 和下标来唯一确定数组中的 元素。
第3章 51系列单片机程序设计(C部分)
3.5.1 一维数组
一、一维数组的定义 形式:类型说明符 数组名 [常量表达式]
使用C51进行编程时,MCS-51片内的I/O口与片外扩展的I/O可以统一在一个头文 件中定义,也可以在程序中(一般在开始的位置)进行定义。
对于MCS-51片内I/O口按特殊功能寄存器方法定义。 例如:
sfr P0=0x80 ; /* 定义P0口,地址为80H */ sfr P1=0x90 ; /* 定义P1口,地址为90H */
第3章 51系列单片机程序设计(C部分)
3.4.3 C51数据的存储类型与MCS-51存储结构
表 3.4.2 C51存储类型与MCS-51存储空间的对应关系
存储类型 与存储空间的对应关系
data
直接寻址片内数据存储区,访问速度快(128字节)
bdata
可位寻址片内数据存储区,允许位与字节混合访问(16字节)
据 浮点型(float) 类
型 指针类型
详细见表3.4.1

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共有______字节。

51单片机C语言编程入门(详讲版)

51单片机C语言编程入门(详讲版)

中国科学技术大学业余无线电协会编目 录§1 前言 (1)§2 单片机简介 (2)2.1 数字电路简介 (2)2.2 MCS-51单片机简介 (2)2.3 Easy 51 Kit Pro简介 (5)2.4 Easy 51 Kit Pro电路功能分析 (5)§3 MCS-51单片机的C语言编程 (8)3.1 汇编语言 (8)3.2 建立你的第一个C项目 (8)3.3 生成hex文件 (12)3.4 Keil C语言 (14)3.5 单片机I/O (18)3.6 中断 (25)3.7 定时器/计数器 (27)3.8 定时器的应用举例 (29)3.9 外部中断 (34)3.10 串行通信 (38)3.11 定时器2 (43)3.12 看门狗 (47)3.13 空闲模式和掉电模式 (50)§4 MCS-51单片机C语言编程应用进阶 (51)4.1 扫描式键盘 (51)4.2 EEPROM芯片AT93C46的读写 (55)4.3 Keil C的高级使用 (63)§5 编写高质量的单片机C程序 (64)5.1 文件结构 (64)5.2 程序的版式 (66)5.3 单片机程序命名规则与变量选择 (70)5.4 表达式和基本语句 (73)5.5 函数设计 (77)5.6 单片机程序框架 (79)附图:Easy 51 Kit Pro电路图(最小系统板) (80)附图:Easy 51 Kit Pro电路图(学习板) (81)§1 前言什么是单片机,目前还没有一个确切的定义。

普通认为单片机是将CPU、RAM、ROM、定时器/计数器以及输入输出(I/O)接口电路等计算机主要部件集成在一块芯片上,这样所组成的芯片级微型计算机称为单片微型计算机(Single Chip Microcomputer)。

简称为单片微机或单片机。

利用单片机程序,可以实现对硬件系统的小型化的智能控制。

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

(C语言版)绝密版C51单片机复习题及答案

(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引脚输出正脉冲频率为(2MHZ)。

14、8051有两个16位可编程定时/计数器,T0和T1。

它们的功能可由两个控制寄存器(TCON)、(TMOD)的内容决定,且定时的时间或计数的次数与(TH)、(TL)两个寄存器的初值有关。

15、串行口的控制寄存器SCON中,REN的作用是(允许串行接收位)。

16、单片机内外中断源按优先级别分为高级中断和低级中断,级别的高低是由(中断优先级寄存器,)寄存器的置位状态决定的。

51单片机c语言编程基础

51单片机c语言编程基础

51单片机c语言编程基础
51单片机是一款经过广泛应用的单片机,它的编程语言主要
是汇编语言和C语言。

在这里,我会介绍一些基础的51单片
机C语言编程知识。

1. 数据类型:51单片机C语言支持标准的数据类型,如整型、字符型、浮点型等。

可以使用关键字来声明变量,如int、char、float等。

2. 输入输出:通过51单片机的GPIO口可以实现输入和输出
功能。

使用P0口、P1口、P2口等可以进行引脚的输入和输
出操作。

通过赋值语句可以控制引脚的高低电平。

3. 控制语句:和标准C语言一样,51单片机C语言也支持if
语句、while循环、for循环等控制语句。

可以根据需要来实现
逻辑判断和循环控制。

4. 中断:中断是51单片机的重要功能,可以通过中断来响应
外部事件。

使用中断相关的关键字和函数,如EA、EX0、IT0
等来实现中断功能。

5. 存储器访问:51单片机的存储器包括RAM和ROM。

使用
关键字和函数来操作存储器,如xdata、pdata、code等。

可以
进行数据的定义和存取操作。

6. 时钟和定时器:时钟和定时器是单片机的重要部分,可以实现时间和计时功能。

使用关键字和函数来设置时钟和定时器,
如TMOD、THx、TLx等。

以上是51单片机C语言编程的基础知识,掌握了这些内容可以进行一些简单的程序开发。

若想深入了解51单片机C语言编程,还可以学习更多高级的知识,如寄存器的操作、串口通信、外部存储器的应用等。

MCS51单片机C语言程序设计基础

MCS51单片机C语言程序设计基础

本章主要内容
• C51变量声明
• C51的IO口操作
• C51的中断响应方法
• C51的定时器操作
• C51的串行口操作
• C51的外部总线扩展操作
2.1 C51语言变量声明
但在C语言编程中,对数据类型与变量的定义必须 要与单片机的存储结构相关联,否则编译器就不能正 确的映射。 所以用C语言编写单片机应用程序是要根据单片机 的结构及内部资源定义相应的C语言中的数据类型和 变量。 用C语言编写的应用程序必须经单片机的C语言编 译器,将源代码转换成单片机的可执行程序。支持 MCS-51系列单片机的编译器有很多,比较著名也是 实际应用最多的是KEIL/Franklin编译器。这也是这门 课使用的编译器。
;双字节无符号数加法 程序 (R3R4+R6R7)=(R3R4) ;入口 :R3,R4,R6,R7 NADD :MOV A,R4 ADD A,R7 MOV R4,A MOV A,R3 ADDC A,R6 MOV R3,A RET unsigned int val_1, val_2; unsigned int val_add; val_add = val_1 + val_2;
第二章 MCS51单片机C语言程序设计
C语言具有很强的表达能力,并具 有较高的可移植性,提供了种类丰富的 运算符和数据类型,可以直接实现对系 统硬件的控制。 相对于汇编语言,使用C语言进行 系统开发可以大大缩短开发周期,明显 增强程序的可读性,便于改进和扩充。
本章就介绍使用C语言开发8051系 列单片机程序的方法。
三、C51存储模式
表2.4 存储模式说明 存储模式 说明
SMALL
参数及局部变量放入可直接寻址的片内存储区 (最大128个字节),默认存储类型是data,访 问方便。所有对象都嵌入片内RAM中。

51单片机C语言程序设计-图文

51单片机C语言程序设计-图文
03 8 只 LED 左右来回点亮
/* 名称:8 只 LED 左右来回点亮 说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果
*/ #include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x) {
case 2: //东西向黄灯闪烁,绿灯关闭 DelayMS(300); YELLOW_A=~YELLOW_A;GREEN_A=1; if(++Flash_Count!=10) return; //闪烁 5 次 Flash_Count=0; Operation_Type=3; break;
case 3: //东西向红灯,南北向绿灯亮 RED_A=0;YELLOW_A=1;GREEN_A=1; RED_B=1;YELLOW_B=1;GREEN_B=0; DelayMS(2000); Operation_Type=4; break;
3 Ykcsh 呈献
0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff }; //延时 void DelayMS(uint x) {
uchar i; while(x--) {
for(i=0;i<120;i++); } } //主程序 void main() { uchar i; while(1) { //从数组中读取数据送至 P0 和 P2 口显示
uchar i; while(x--) {
for(i=0;i<120;i++); } } //主程序 void main() { uchar i; P2=0x01; while(1) {

(C语言版)绝密版C51单片机复习题及答案

(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引脚输出正脉冲频率为(2MHZ)。

14、8051有两个16位可编程定时/计数器,T0和T1。

它们的功能可由两个控制寄存器(TCON)、(TMOD)的内容决定,且定时的时间或计数的次数与(TH)、(TL)两个寄存器的初值有关。

15、串行口的控制寄存器SCON中,REN的作用是(允许串行接收位)。

16、单片机内外中断源按优先级别分为高级中断和低级中断,级别的高低是由(中断优先级寄存器,)寄存器的置位状态决定的。

第4章80C51单片机C语言程序设计资料

第4章80C51单片机C语言程序设计资料
数据类型就是数据的格式,它决定数据的值域 范围、占用存储单元的个数及能参与哪种运算。
编写C51程序,先要确定数据类型、储存分区 应尽可能采用无符号格式(unsigned) C51中,多字节数据采用“大端对齐”格式
数据起始字节置于高地址端
2021/6/16
2
C51数据类型表
数据类型
字符型

signed char unsigned char
unsigned char pdata z; //无符号字符变量z定位在片外分页间址RAM区
4.1.3 C51的编译模式
编译模式默认的变量存储分区
编译模式 SMALL COMPACT LARGE
默认 存储分区


data pdata xdata
小模式。 变量默认在片内RAM。空间小,速度块。
紧凑模式。变量默认在片外RAM的页(256字节,页号 由P2口决定)。
不常使用的变量或规模较大的变量应该置于片外RAM中, 要用pdata、xdata来定义
2021/6/16
5
bit bdata flags; //位变量flags定位在片内位寻址区
char data var; //字符变量var定位在片内RAM区
float idata x,y; //实型变量x,y定位在片内间址RAM区
注意,C51编程时不要轻易使用绝对地址定位变量。
2021/6/16
9
4.2 C51的指针
对于一个变量a,利用&a表示变量a的地址。则语句
p = &a;
表明把a的地址赋给了指针变量p,则“p指向了变量a”。
可以用*P表示变量a
指针变量
*P
指针变量的定义 char *p; // 定义指针变量P

《单片机C51技术》复习题

《单片机C51技术》复习题

一.填空题(每空 1 分,共10 分)1.单片机的最小系统除了单片机外还应包含时钟电路. 及电源电路。

2. MCS-51 单片机拥有一个位的 CPU 和位的程序计数器。

3. MCS-51 单片机履行指令所用的时间以机器周期为单位, 1 个机器周期 = 时钟周期。

4.假如单片机的晶振频次为12MHZ ,那么机器周期为,假如单片机的晶振频次为6MHZ ,那么机器周期为。

5.用 Keil C51 软件编写 C 语言源文件时应保留为扩展名为的文件,用 PROTEUS 软件进行仿真时应下载扩展名为的代码文件。

6.编译预办理命令是计算机将 C 语言编译为机器语言是进行的预办理,编译预办理命令以开头,末端不加。

7. C51 语言中有字符型、整型、浮点型指针型和位变量等几种基本变量种类,此中,字符型变量所占用的长度为Byte 。

整型变量所占用的长度为Byte 。

8.若想用 uchar 代换程序中的unsigned char 则所使用的语句为:;9.在编程过程中,变量一定先后使用。

#define N 5 语句中 N 为(常量 .变量)。

10.在程序运转中,其值能够改变的量称为变量。

一个变量主要由两部分组成:一个是,一个是。

11. 65%10= ; 67/10= ; 919%100= ; 0x7f 的十进制数为。

12.逻辑表达式的联合性为。

逻辑表达式的值应当是一个逻辑值“真”或“假”,以代表假,以代表真。

13.函数是拥有必定功能的程序段, C 语言程序有主函数 . 和用户自定义函数。

函数的定义不可以嵌套。

一段程序只好有且只有一个函数。

14.有两种方法能够停止子函数运转并返回到调用它的函数中:一是履行到函数的返回;二是履行到语句返回,并能够带回返回值。

15.在 Keil C 中,假如被调函数定义在调用函数以后,则在函数调用以前一定进行。

16.unsigned char a[10]; 定义了一个型数组 a,数组长度为,可用的下标为。

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

2013-2014学年上期51单片机C语言程序设计重修复习提纲考试方式:闭卷考试。

考试题型:
填空题(每空1分,共18分);单项选择题(每空2分,共18分);问答及计算题(每题4分,共16分);编程及程序阅读题(5小题,共48分)。

考试分数:
卷面成绩70%+平时成绩15%+实验成绩15%,未缺席、无课堂违纪、作业全交且认真完成的同学平时成绩可获得满分,缺席一次平时成绩扣30分,实验好评次数3次以上且实验报告全优的同学实验成绩可得满分,实验缺席一次扣30分。

缺席实验和旷课共3次以上者,无考试资格。

考试时间:
18周周一(12月30日)下午14:00:16:00,考试地点:具体考室另行通知希望大家认真复习,认真听讲,不懂就问,考试成绩不及格允许查卷,如查卷卷面批阅无误成绩不做更改。

编程题为实验或实验类似的题目有3题,其余2题也取自课堂讲授例题,请务必认真复习。

第一章单片机概述及单片机知识回顾
掌握什么是单片机、单片机的应用、常见单片机类型、十进制、十六进制、二进制数制转换知识。

掌握单片机的硬件组成、CPU的结构、程序计数器PC的功能、存储器结构、机器周期的计算、会画出单片机的最小系统电路图及回答单片机最小系统的组成。

第二章C51语言程序设计基础(本章填空题和选择题比重较大请务必认真复习)掌握C51语言进行软件开发与汇编语言相比的优点、掌握C51的数据类型、特殊功能位的定义、C51的基本运算(位运算重点复习)、数组的定义、C51的结构及函数。

第三章AT89S51片内并行端口及编程(本章有编程题)
掌握P0-P3并行端口的特点,会开关量检测及流水灯程序的编程。

第四章AT89S51单片机的中断系统(本章有编程题)
掌握中断系统的结构、中断请求响应被满足的条件、外部中断的触发选择方式、外部中断的使用与编程。

第五章AT89S51单片机的定时器/计数器(本章有编程器)
掌握定时器的结构,TOMD及TCON的使用,定时器方式0和方式1的特点、会计算定时器初值,会用定时器中断产生PWM波形,会用定时器对外部事件进行计数。

第六章AT89S51单片机的串行口(本章有计算题)
掌握串行通信的基础知识(课本没有的内容请参照课堂讲授笔记或PPT)、串行口的四种工作方式的特点、会计算奇偶校验码、会根据波特率计算T1的初值。

第七章AT89S51单片机与输入/输出外设接口(本章有编程题)
掌握数码管动态显示的原理、掌握矩阵式键盘的原理与编程(矩阵键盘编程必考,但不会考4X4键盘)。

第八章AT89S51单片机与D/A与A/D转换器的接口(本章有编程题)
掌握AD与DA转换的接口、ADC和DAC的技术指标、常用AD和DA转换器。

掌握ADC0809和TLC2543的使用与编程(2器件其中之一有编程题)。

第九章AT89S51单片机应用系统与调试(本章有编程题)
掌握单片机应用系统的软件抗干扰方法。

相关文档
最新文档