C51单片机习题答案
单片机原理与应用及C51程序设计(第三版)(1、2、3、4、7章课后习题答案)

第一章:1. 给出下列有符号数的原码、反码和补码(假设计算机字长为8位)。
+45 -89 -6 +112答:【+45】原=00101101,【+45】反=00101101,【+45】补=00101101【-89】原=11011001,【-89】反=10100110,【-89】补=10100111【-6】原=10000110,【-6】反=11111001,【-6】补=11111010【+112】原=01110000,【+112】反=01110000,【+112】补=011100002. 指明下列字符在计算机内部的表示形式。
AsENdfJFmdsv120答:41H 73H 45H 4EH 64H 66H 4AH 46H 6DH 64H 73H 76H 31H 32H 30H3.何谓微型计算机硬件?它由哪几部分组成?并简述各部分的作用。
答:微型计算机硬件由中央处理器、存储器、输入/输出设备和系统总线等组成,中央处理器由运算器和控制器组成,是微型计算机运算和控制中心。
存储器是用来存放程序和数据的记忆装置。
输人设备是向计算机输人原始数据和程序的装置。
输出设备是计算机向外界输出信息的装置。
I/O接口电路是外部设备和微型机之间传送信息的部件。
总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。
微型计算机的各大功能部件通过总线相连。
4.简述8086CPU的内部结构。
答:8086微处理器的内部分为两个部分:执行单元(EU)和总线接口单元(BIU)。
执行部件由运算器(ALU)、通用寄存器、标志寄存器和EU控制系统等组成。
EU从BIU的指令队列中获得指令,然后执行该指令,完成指今所规定的操作。
总线接口部件BIU由段寄存器、指令指针寄存器、地址形成逻辑、总线控制逻辑和指令队列等组成。
总线接口部件负责从内部存储器的指定区域中取出指令送到指令队列中去排队。
5.何谓总线?总线按功能可分为哪几种?答:总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。
C51单片机习题答案第3篇任务1

第3篇单片机接口应用任务1 简易数字电压表设计1.A/D转换器有哪些主要性能指标?叙述其含义。
2.A/D转换器的主要技术指标及选用时的主要依据1)A/D转换器的主要技术指标①分辨率分辨率是指数字量变化一个最小值时模拟信号的变化量,定义为满刻度与2n的比值。
分辨率越高,转换时对输入模拟信号变化的反应就越灵敏。
在A/D器件的使用中,选择合适的A/D器件至关重要。
A/D器件的分辨率通常以数字信号的位数来表示,如8位、10位、16位等。
如果我们要把一个0~5V的电压转换为数字信号,选用的A/D器件精度为8位,那么该系统可以测量的最小电压约为0.0195V(5/28 V),就称分辨率为0.0195V。
所以我们在开发测量系统中,必须明确系统要测量的参数要达到一个什么样的精度。
②精度用户提出的测控精度要求是综合精度要求,它包括了传感器精度、信号调节电路精度和A/D转换精度及输出电路、伺服机构精度,而且还包括测控软件的精度。
应将综合精度在各个环节上进行分配,以确定对A/D转换器的精度要求,据此确定A/D转换器的位数。
通常A /D转换器的位数至少要比综合精度要求的最低分辨率高一位,而且应与其他环节所能达到的精度相适应。
精度是指转换后所得结果相对于实际值的准确度,与温度漂移、元件线性度等有关。
精度分为绝对精度和相对精度两种。
绝对精度是指A/D转换器转换后的数字量所代表的模拟输入值与实际模拟值之差。
通常以数字量最低位所代表的模拟输入值来衡量,如精度为最低位LSB的±1/2位。
③转换时间与转换速率。
A/D转换时间是指完成一次A/D转换所需要的时间,即从启动A/D转换器开始到获得相应数据所需的总时间。
积分型A/D转换器的转换时间是毫秒级,属低速A/D;逐次逼近型A/D转换器是微妙级,属中速A/D。
采样时间是指两次转换的间隔。
转换速率是转换时间的倒数。
为了保证转换的正确完成,采样速率必须小于或等于转换速率。
④量程即所能转换的电压范围,如10V、5V。
单片机原理及接口技术(C51编程)(第2版)-习题答案

第6章思考题及习题6参考答案一、填空1.外部中断1的中断入口地址为。
定时器T1的中断入口地址为。
答:0013H;001BH2.若(IP)=00010100B,则优先级最高者为,最低者为。
答:外部中断1,定时器T13.AT89S51单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送入,使程序执行转向中的中断地址区。
答:PC、PC、程序存储器4.AT89S51单片机复位后,中断优先级最高的中断源是。
答:外部中断05.当AT89S51单片机响应中断后,必须用软件清除的中断请求标志是。
答:串行中断、定时器/计数器T2中断二、单选1.下列说法错误的是()。
A. 同一级别的中断请求按时间的先后顺序响应B. 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应C. 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求D. 同级中断不能嵌套答:B2.在AT89S51的中断请求源中,需要外加电路实现中断撤销的是()。
A. 电平方式的外部中断请求B.跳沿方式的外部中断请求C.外部串行中断D.定时中断答:A3.中断查询确认后,在下列各种AT89S51单片机运行情况下,能立即进行响应的是()。
A.当前正在进行高优先级中断处理B.当前正在执行RETI指令C.当前指令是MOV A,R3D.当前指令是DIV指令,且正处于取指令的机器周期答:C4.下列说法正确的是()。
A. 各中断源发出的中断请求信号,都会标记在AT89S51的IE寄存器中B. 各中断源发出的中断请求信号,都会标记在AT89S51的TMOD寄存器中C. 各中断源发出的中断请求信号,都会标记在AT89S51的IP寄存器中D. 各中断源发出的中断请求信号,都会标记在AT89S51的TCON、SCON寄存器中答:D三、判断对错1.定时器T0中断可以被外部中断0中断。
单片机原理及接口技术(C51编程)(第2版)-习题答案汇总68430

第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为微控制器或嵌入式控制器2.单片机与普通微型计算机的不同之处在于其将CPU、存储器、和I/O口三部分,通过内部总线连接在一起,集成于一块芯片上。
3. AT89S51单片机工作频率上限为33MHz MHz。
4。
专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低成本和提高可靠性二、单选1。
单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度2。
在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用3. 下面的哪一项应用,不属于单片机的应用范围.A.工业控制 B.家用电器的控制C.数据库管理 D.汽车电子设备三、判断对错1. STC系列单片机是8051内核的单片机。
对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断源、1个定时器(且具有捕捉功能)。
对3。
单片机是一种CPU。
错4. AT89S52单片机是微处理器.错5。
AT89S51片内的Flash程序存储器可在线写入(ISP),而AT89C52则不能。
对6。
为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。
对7。
为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。
对8。
单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。
对第2章思考题及习题2参考答案一、填空1。
在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为2µs。
2. AT89S51单片机的机器周期等于12个时钟振荡周期。
3。
内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为28H和88H。
单片机原理----C51编程及Proteus仿真 习题答案 (金宁治) 习题2答案

一、填空 1 .程序状态字寄存器PSW 的CY 位代表 进位标志位,AC 位代表 辅助进位标志位, 0V 位代表溢出标志位,P 位代表奇偶校验位。
2 .执行3CH 和F6H 两个有符号数相加的指令后,累加器(A) = 32H , CY=J, AC =L , OV =0, P=J o3.程序计数器PC 的位数是」6位,因此它可对64KB 的程序存储器进行寻址。
4.堆栈操作遵循的原那么是先入后出。
5 .如果堆栈指针SP 指向30H 单元,那么在执行一次入栈指令和两次出栈指令后,(SP)= 2FHo6. 8051的机器周期等于12个时钟振荡周期。
7. 8051的晶振频率为24MHz,那么一个机器周期为2”。
8 . 8051的晶振频率为12MHz,那么ALE 引脚的输出频率为2MHz 。
9 .复位后,堆栈指针SP 的内容为07H ,程序计数器PC 指向程序存储器的地址为 0000H , P0〜P3 口的状态为FFH 。
10 .在RST 引脚持续加上2个机器周期以上的高电平,系统才能可靠复位。
11 .微型计算机的存储器有两种基本结构:一种是将程序和数据合用为一个存储器空间, 称为普利斯顿结构;另一种是将程序存储器和数据存储器截然分开,称为哈佛结构。
12 .当STC89C52RC 的函引脚接高电平时,优先寻址片内ROM 的0000H 〜1FFFH 单 元;而当地址范围超出低8K B 之外时,自动转向访问片外ROM 从2000H 开始编址的存 储单元,且最多可以扩展的片外存储容量为56KB 。
13 .复位后,自动选择第 Q 组工作寄存器组,堆栈指针SP 指向该组的工作寄存器上2。
14 .如果选择第」一组工作寄存器组,那么需要设置状态位RS1RS0为“01”,当前工作寄 存器R0〜R7的地址为08H 〜0FH 。
15.片内RAM 的20H 〜2FH 单元为位寻址区,这一区域包含」2幺个可寻址位。
16.位寻址区中20H 单元D7位的位地址表示为 17 . 8051有4个8位双向并行I/O 口,其中唯一的单功能□为P1 口。
(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、单片机内外中断源按优先级别分为高级中断和低级中断,级别的高低是由(中断优先级寄存器,)寄存器的置位状态决定的。
单片机c51复习题及答案

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
(每小题2分,共10分)1.MCS-51单片机有片内ROM容量( A )A. 4KBB. 8KBC. 128BD. 256B2.MCS-51单片机的位寻址区位于内部RAM的( d)单元。
A. 00H—7FHB. 20H—7FHC. 00H—1FHD. 20H—2FH3.MCS-51单片机的串行中断入口地址为( C)A. 0003HB. 0013HC. 0023HD. 0033H4.MCS-51单片机的最小时序定时单位是( B)A. 状态B. 拍节C. 机器周期D. 指令周期5.若MCS-51单片机的晶振频率为6MHZ,定时器/计数器的外部输入最高计数频率为(C)A. 2MHzB. 1MHzC. 500KHzD. 250KHz6在80C51单片机应用系统中,可以作为时钟输出的是(C)引脚。
A、EAB、RSTC、ALED、7当CPU响应外部中断1 的中断请求后,将自动转向(B)。
A、0003HB、0013HC、000BHD、001BH88031单片机的定时器T1用作定时方式时是(A、B )。
A、以内部时钟频率为定时基准,12个时钟周期加1B、以内部时钟频率为定时基准,1个机器周期加1C、以外部脉冲为定时基准,12个脉冲加1D、以外部脉冲为定时基准,每个脉冲加19家用电器中使用的单片机应属于计算机的(B)。
A、辅助设计应用 B.测量、控制应用 C.数值计算应用 D.数据处理应用10下列说法正确的是(A、B)。
A、立即数寻址方式是操作数本身就在指令中,而不是它的地址在指令中。
B、指令周期是执行一条指令的时间。
C、指令中直接给出的操作数称为直接寻址。
D、内部寄存器Rn(n=0~7)可作为间接寻址寄存器。
11.MCS-51单片机在访问外部数据存储器时,其地址指针可采用( )A.DPTRB.PCC.PSWD.SP12指令MOV A,30H源操作数的寻址方式是(c)A.寄存器寻址方式 B.寄存器间接寻址方式C.直接寻址方式 D.立即寻址方式13Jz rel指令中,是判断(A )中的内容是否为0。
单片机原理----C51编程及Proteus仿真 习题答案 (金宁治) 习题1答案

思考题及习题1一、填空1.微型计算机由CPU、存储器、I/O 口三个必要的功能部件组成,各个功能部件之间数据总线、地址总线、控制总线等三类总线连接成为整体。
2.单片机是将CPU、ROM、RAM、I/O 口和中断系统、定时/计数器等功能模块集成到一块硅片上的芯片级微型计算机系统。
3.当今国际上大都采用MCU或者EMCU来代替“单片机” 一词。
二、简答:1.单片机的编程语言总体上有哪三大类?它们各有什么特点?答:单片机的编程语言总体上可以分为三大种类:机器语言、汇编语言和高级语言。
(1)机器语言是一种直接面向机器、唯一能被计算机直接识别和执行的计算机语言。
它是一串由和“1”组成的二进制代码。
目标程序的执行速度快,占用内存少,运行效率高,但它不易理解和记忆,编写、阅读、修改和调试都很麻烦。
(2)汇编语言是用助记符表示指令的语言,目的是使指令便于书写、识别和记忆。
汇编语言实质上是机器语言的符号表示,即汇编指令和机器指令一一对应,故这种计算机语言也是面向机器的语言,用汇编语言编写的程序要比与其等效的高级语言程序,具有更高的目标代码转换效率,占用内存资源少,运行速度快;虽然引入了简单的指令助记符,但是汇编语言在使用上仍然比高级语言困难得多;汇编语言还缺乏良好的通用性和可移植性。
(3)C语言是当代应用最为广泛、影响最为深远的主流高级编程语言之一。
用C语言编写的C源程序(*.c)可读性强,易学易理解,编程效率高,尤其具备汇编源程序所不具备的良好通用性和可移植性;同时它还支持结构化程序设计及其自动化集成开发工具/环境,这使得程序员能够集中时间和精力去从事对于他们来说更为重要的创造性劳动,从而显著提高了程序的质量和工作的效率。
2.单片机的主要特点是什么?答:(1)集成度高,易于扩展;(2)面向应用,突出控制;(3)可靠性高,适应性强;(4) 性价比高,易于嵌入。
3.51内核的主流单片机产品有哪几种?它们各有什么特点?答:(DMCS-51系列单片机分为基本型和增强型两大子系列:51子系列和52子系列,以芯片型号的最末位数字作为标志。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任务1 认识51单片机1.80C51单片机控制线有几根?每一根控制线的作用是什么?RST:第9引脚。
——复位信号。
上电和手动复位电路如图1-4所示。
其中C、R1构成上电复位,K、R2、R1、构成手动复位,复位电路是否有效,关键看9脚产生的高电平维持的时间是否大于单片机的2个机器周期以上,这由RC充放电常数决定。
另外,产生高电平的上升沿是否坚挺也比较关键,否则将不利于复位。
2.图1-4 上电和手动复位电路EA/Vpp:第31脚,外部寻址使能/编程电压。
EA为高电平,从内部程序寄存器开始访问;EA为低电平时,则跳过内部程序存储器,从外部程序存储器开始访问。
在编程期间,此端子为编程电压输入端,根据选择不同的单片机芯片选择不同的编程电压(可根据编程软件选择芯片)。
ALE/PROG:第30引脚。
——地址锁存允许信号。
第一功能:访问外部存储器时:ALE用来锁存扩展地址的低8位(P0口)的地址信号。
当不访问外部存储器时:ALE将输出1/6的振荡频率,可用来对外部提供定时和时钟信号。
第二功能:单片机编程时,此脚接编程脉冲。
PSEN:第29引脚。
——外部程序存储器读选通信号。
当访问外部存储器时,此脚将定时输出负脉冲作为读取外部存储器的选题信号。
2.试述P3口的第二功能。
P3口:第10~17引脚。
作为I/O口。
作控制和特殊功能口使用。
P3口各位的第二功能见表1-2。
表1-2 P3口各位的第二功能P3口各位第二功能功能P3.0 RXD 串行数据接收口P3.1 TXD 串行数据发送口P3.2 0INT外中断0输入P3.3 1INT外中断1输入P3.4 T0 计数器0计数输入P3.5 T1 计数器1计数输入P3.6 W R外部RAM写选通信号P3.7 RD外部RAM读选通信号3.80C51内RAM的组成是如何划分的,各有什么功能?内部数据存储器低128单元按其用途划分为三个区域。
1.通用寄存器区四组通用寄存器,每组8个寄存器单元,每组都以R0~R7为寄存器单元编号。
由状态寄存器PSW中的RS1、RS0位的状态组合来决定。
通用寄存器和RS1、RS0的关系见表1-3。
表1-3 通用寄存器和RS1、RS0的关系。
RS1 RS00 0 第一组的R0~R7(00H~07H)0 1 第二组的R0~R7(08H~0FH)1 0 第三组的R0~R7(10H~17H)1 1 第四组的R0~R7(18H~1FH)2.位寻址区位寻址区既可进行位寻址,又可字节寻址。
位操作、位地址的概念:对一个8位二进制的每一位进行单独操作,该操作叫做位操作,每一位有自己独立的地址叫位地址。
以2FH单元为例说明位地址和单元地址关系。
内部RAM2FH单元地址与其位地址关系见表1-4。
表 1-4 内部RAM2FH单元地址与其位地址关系单元地址位地址H→L 7 6 5 4 3 2 1 0 2FH 7F 7E 7D 7C 7B 7A 79 783.用户RAM数据缓冲、堆栈、工作单元。
扣除4*8=32个通用寄存器,位寻址16个单元,余下128-32-16=80,这80个单元是供用户使用的一般RAM区,其单元地30H~7FH,一般常将堆栈数据放在用户RAM区。
1.4.2内部数据存储器高128单元内部的高128单元是供给专用寄存器使用的,因此称之为特殊功能寄存器(SFR),也可以称之为专用寄存器,其单元地址80H~FFH。
8051共有22个特殊功能寄存器:B、ACC、PSW、IP、P0、P1、P2、P3、IE、SUBF、SCON、TH1、TL1、TH0、TL0、TMOD、TCON、PCON、DPH、DPL、SP、(PC)。
4.简述程序状态字寄存器PSW各位的定义名、位编号和功能。
5.程序状态字是一个8位寄存器,用于寄存程序运行的状态信息。
状态寄存器PSW各位的意义见表1-5。
6.表1-5 状态寄存器PSW各位的意义7.CY(PSW.7)---进位标志位。
8.最常用的标志位作用:存放算术运算的进位标志,位操作中,作累加位使用,位传送、9.位与、位或等位操作。
10.CY(PSW.6)---辅助进位标志位。
11.加减运算中当有低4位向高4位进位,或借位时作为辅助进位的标志位。
12.CY(PSW.5)---用户标志位。
13.这是一个供用户定义的标志位,可根据需要由软件方法置位或复位,用以控制程序的执行转向。
14.用户标志位具体运用:温度控制中,将PSW.5起始设为0,当检测到温度超过设定值,将PSW.5置1,当程序检测到PSW.5=1时,转向使电热丝停止工作的程序,由输出端停止15.控制。
16.RS1和RS0(PSW.4 PSW.3)---寄存器组选择位(通过搭配原则选择四组工作寄存器)。
17.OV (PSW.2)---溢出标志位。
18.在带符号数加减运算中, OV=1表示运算结果超出符号数有效范围(-128~+127)产生溢出,结果错误。
OV=0,运算结果无溢出。
19.P (PSW.0)---奇偶标志位。
20.表明累加器A中“1”的个数的奇偶性。
奇数个“1”时,P=1,偶数个“1”时,P=0任务2 单片机开发工具之一——Keil C软件下面是跑马灯的程序,采用Keil μVision 2建立“跑马灯”项目,并在此项目下添加“跑马灯.c”程序,按照下列程序正确输入,要求编译通过时能生成“跑马灯.hex”文件。
(1)观测程序空间的机器代码;(2)在P1端口进行数据观测;(3)采用断点进行程序调试,重点观测P1端口的数据变化情况。
(1)(2)(3)任务3 单片机开发工具之二——Proteus仿真软件跑马灯原理图如图1-76所示,采用Proteus 7 Professional/ISIS 7 Professional 软件正确绘制原理图,其中跑马灯原理图中各元器件参数见表1-7。
表1-7 跑马灯原理图中各元器件参数元器件序号元器件名(值)单片机U1 AT89C52晶振CRYSTAL(12MHZ)振荡电容C1C2 CAP(15P~30P)复位按钮BUTTON上电复位C3 GENELECT22µ16V电解电容电阻R1~R8R9 RES(二极管限流电阻510Ω,复位电阻1kΩ)发光二极管D1~D8 LED-RED在图1-76跑马灯原理图将本篇中任务2中生成的“跑马灯.hex”加载到CPU(U1),点击运行,观察八个二极管的变化情况。
Array图1-76 跑马灯原理图任务4 单片机C语言1.搜集资料,简述C语言与汇编语言的比较。
(1)汇编语言是用语言直接控制硬件,由硬件间接达到某种控制效果。
而C语言是一种比较高级的语言,编写者可以不用去考虑硬件而直接去命令计算机达到这种控制效果。
换而言之,汇编语言对描述过程更注重,C语言之类的高级语言更注重描述结果。
(2)c语言是高级语言,可移植性较高,与设备相关性较低。
汇编语言是低级语言,可以移植性较低,与CPU具有极强的相关性。
2.哪些变量类型是51单片机直接支持的?单片机不支持任何所谓变量类型,支持变量类型取决于所使用的编译器,是编译器把程序编译成机器码以便单片机可以根据它来执行程序。
普通单片机都支持用C语言进行编程,那么它的编译器就会支持C语言里用到的变量类型,如整型、字符型、指针、数组等等。
3.请查找资料,说明C51中的中断函数和一般的函数有什么不同?答:中断函数与一般函数的定义方法一样,指示中断函数不需要主程序调用,直接由中断调用,而一般函数需要主函数调用才能使用。
4.指出下面程序的语法错误:#include<reg51.h>main(){a=C;int a=7,Cdelay(10)void delay();{char i;for(i=O;i<=255;“++”);}答:#include<reg51.h>main(){a=C;//没有定义变量a和C,或者定义的变量应该放到使用该变量之前int a=7,Cdelay(10) //没有;void delay();//子函数定义要在主函数之外定义,不能直接在主函数当中定义{char i;for(i=O;i<=255;“++”);}5.编一个程序,输入华氏温度(F),按下列公式计算并输出对应的摄氏温度(C):C = 5( F-32)/9。
答:#include<stdio.h>main(){double F;scanf("%f",&F);double C;C=5.0*(F-(32/9));printf("%f",C);}#include<stdio.h>main(){int a;int s;for(a=1;a<101;a++){s=a*a;printf("%d\n",s);}}#include<stdio.h>main(){int a=1;int s;while(a<101){s=a*a;a++;printf("%d\n",s);}}6.用三种循环语句分别编写程序显示1至100的平方值。
答:#include<stdio.h>main(){int a=1;int s;while(a<101){s=a*a;a++;printf("%d\n",s);}}#include<stdio.h>main(){int a=1;int s;do{s=a*a;a++;printf("%d\n",s);}while(a<101);}7.阅读函数,写出函数的主要功能:float av(int a[],int n){ int i;float s;for(i=0,s=0;i<n;i++)s=s+a[i];return s/n;}答:此函数功能为:对a[]数组进行累加,然后求平均值。
8.编一个名为root的函数,求方程ax*x+bx +c=0的b*b-4ac,并作为函数的返回值。
其中的a、b、c作为函数的形式参数。
答:#include<stdio.h>#include<math.h>int root(int a,int b,int c){int m;int i;double digital[2];double x1,x2,n; //a*x*x+b*x+c=0;m=(b*b-4*a*c);//求解公式b^2-4ac 当小于0无解开根号为x的值if((b*b-4*a*c)<0){printf("此函数无解");}if((b*b-4*a*c)==0){printf("%f",(-b)/(2.*a));}if((b*b-4*a*c)>0){n=sqrt((double)m);x1=(-b+n)/(2.*a);x2=(-b-n)/(2.*a);double digital[2]={x1,x2};for(i = 0; i < 2;i ++){printf("%f ", digital[i]);}}return 0;}main(){int a,b,c;printf("请输入a*x*x+b*x+c=0中的a,b,c: \n");scanf("%d %d %d",&a,&b,&c);printf("%f",root(a,b,c));}模块2 单片机基础篇任务1 点亮交通灯按照下列顺序要求完成花样流水灯的控制,花样流水灯原理图如图2-27所示。