在编写单片机的程序中中断服务程序中可以定义变量如果
C51单片机复习题
C51单片机试卷1一、填空题〔每小题1分,共30分〕1、8031的P2口为高8位地址总线口, P3 口为双功能口.2、单片机的复位操作是_____RST_____引脚,要在此引脚加 __高______电平才能复位动作.3、C51定义可寻址位,使用关键字为___sbit_ ,定义特殊功能寄存器当中的某位用关键字____sfr________ .4、已知P3=0X7F,要实现将P3口的值循环右移的指令是____ ,循环右移3次后,P3=___________ .5、有指令unsigned char mm[]={0X01,0X02,0X03},此指令中数组元素mm[1]的值为________ .6、串口工作方式2接收的第9位数据放到了_SCON____ 寄存器的______位中.7、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为________,机器周期为____________.8、单片机并行接口中,要作为输出口必须外接上拉电阻的端口是______,其原因在于输出级是________开路电路.9、由AT89C51构成的单片机最简系统中,只给单片机提供VCC和GND单片机是不会工作的,必须提供的__________、___________和________辅助形成一个最简系统.10、若只需要开串行口中断,则其对应的源中断允许控制位是__________,若需要将外部中断0设置为下降沿触发,则执行的语句为_____________.11、C51中 0x75 | 0x42 运算结果是_________ .12、-25的原码是___________、反码是___________、补码是_________.13、对于51子系列单片机,主要有________、___________、_________三种机型.14、修饰符interrupt m中m的取值为0对应的中断情况是__________中断.15、TCON中IT0<IT1>表示__________.16、5l子系列单片机片内有两个____位的定时计数器.二、选择题〔每小题1分,共20分〕1、一字节补码所能表示的整数范围是〔 A 〕.A、-128~+127B、-127~+127C、-129~+128D、-128~+1282、12MHz晶振的单片机在定时工作方式下,定时器计一个数所用的定时时间是〔A〕A、1μsB、2μsC、4μsD、8μs3、通过串行口发送或接收数据时,发送或接收的数据暂存在〔D〕寄存器中.A、SCONB、PCONC、TMOD D 、SUBF4、在单片机扩展系统中,8051做为地址总线和数据总线分时复用的端口是〔A 〕A、P0口B、P1口C、P2口D、P3口5、MCS-51单片机的定时器/计数器工作方式1是〔B〕.A、8位计数器结构B、16位计数器结构C、13位计数器结构D、2个8位计数器结构6、片内RAM的20H~2FH为位寻址区,所包含的位地址是< >.A、00H~20HB、00H~7FHC、20H~2FHD、00H~FFH7、使用宏来访问绝对地址时,一般需包含的库文件是〔 B 〕A、reg51.hB、absacc.hC、intrins.hD、startup.h8、8255A是可编程的并行输入/输出接口芯片,内部有〔 C 〕个8位的并行口.A、2个B、3个C、4个D、5个9、设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为<>A、2MHzB、1MHzC、500kHzD、250kHz*10、线反转法识别有效按键时,如果读入的列线值全为1,则说明〔A 〕A、没有键被按下B、有一个键被按下C、有多个键被按下D、以上说法都不对11、利用下列〔 D 〕关键字可以改变工作寄存器组A、interruptB、sfrC、whileD、using12、单片机的串行口工作于方式1是<A >.A、8位数据传送B、9位数据传送C、10位数据传送D、11位数据传送13、执行#define PA8255 XBYTE[Ox3FFC],PA8255=Ox7e 后存储单元Ox3FFC的值是〔 A 〕A、Ox7eB、8255HC、未定D、7e14、具有模数转换功能的芯片是〔A 〕A、ADC0809B、DAC0832C、MAX813D、PCF8563*15、MCS—51单片机的CPU主要的组成部分为〔〕A、运算器、控制器B、加法器、寄存器C、运算器、加法器D、运算器、译码器16、8051单片机的VSS〔20〕引脚是〔B〕引脚A、主电源+5VB、接地C、备用电源D、访问片外存贮器17、支持写入单片机或仿真调试的目标程序的文件格式是D.A、.ASMB、.CC、 .EXED、 .HEX18、在串行通信过程中,下面关于TI和RI说法正确的是C.A、在查询方式中,系统自动清零TI和RI.B、在中断方式中,系统自动清零TI和RI.C、在查询和中断方式中,系统都不会清零TI和RI,须程序清零.D、在查询和中断方式中,系统自动清零TI和RI.19、51单片机中,关于P0--P3端口说法正确的是B.A、P0--P3的每个端口只能按字节输入/输出.B、P0--P3的每个端口既可以按字节输入/输出,也可以按位进行输入输出.C、P0--P3的每个端口只能按位进行输入输出.D、P0--P3的每个端口不能用作输入输出.20、异步串行通信中,一帧数据中必须包含B.A、起始位、校验位和停止位.B、起始位和停止位.C、校验位和停止位.D、起始位和校验位.三、简答题〔每小题10分,共30分〕定时1、MCS-51单片机有多少32根I/O线,它们和单片机的外部总线有什么关系?2、定时/计数器T0有4几种工作方式?各自的特点是什么?工作方式1 13位3、51系列单片机的中断源有5几个?它们默认的优先级顺序是怎样的?INT0 T0 INT1 T1 RS四、编程题〔每小题10分,共20分〕1、已知单片机的P3口接有发光二极管,且当P3口为低电平时对应的发光二极管被点亮,编写程序使发光二极管从右向左依次轮流点亮.2、8051单片机系统中,已知晶振频率为12MHZ,用定时/ 计数器T1,编程实现从P1.1产生周期为2S的方波.C51单片机试卷2一、填空题〔每小题1分,共30分〕1、8031的口为低8位地址总线口, 口为第二功能口.2、修饰符interrupt m中m的取值为1对应的中断源,修饰符using n的功能是__________.3、定义变量a、b、c为内部RAM的无符号型字符变量,对应的指令是 .4、特殊功能寄存器TCON用于控制定时/计数器的和.5、对于IE寄存器来说,开放总中断,其对应的C51命令为__________,允许串口中断,其对应的C51命令为__________.6、对于SCON来说REN的功能是__________,PCON中SMOD的功能是__________.7、8255有两个控制字,它们是__________、__________.8、LED数码管的显示方式有__________和__________两种.9、键盘抖动的消除有两种方法__________和__________,硬件消除抖动的方法是__________,软件去抖动的方法是__________.10、EA 被称为__________,当它为高电平时,首先访问__________,当它为低电平,只访问__________.11、若已知向液晶写入命令的函数是Write_Commond,那么向RT-1602写入清屏的命令是,在液晶第1行第1列显示一个字符,显示缓冲区地址设置命令是 ,其引脚RS用于控制,R/W用于控制.12、C51的存储种类有__________,__________,__________,__________.二、选择题〔每小题1分,共20分〕1、单片机复位后,程序计数器PC的值为.A、 0000HB、 0010HC、0030H D、 1000H2、定时/计数器的定时方式中,计数器的计数脉冲是来自振荡器的分频后的脉冲.A、 8B、12C、2 D、163、在串行通信过程中,下面关于TI和RI说法正确的是.A、在查询方式中,系统自动清零TI和RI.B、在中断方式中,系统自动清零TI和RI.C、在查询和中断方式中,系统都不会清零TI和RI,须程序清零.D、在查询和中断方式中,系统自动清零TI和RI.4、MCS-51单片机的复位信号是< >有效.A、高电平B、低电平C、脉冲D、下降沿5、在片外扩展一片2764程序存储器芯片要< >地址线.A、8根B、13根C、16根D、20根6、8255A是可编程的并行输入/输出接口芯片,内部有〔〕个8位的并行口.A、2个B、3个C、4个D、5个7、AT89S51单片机是〔〕单片机.A、4位B、8位C、16位D、32位8、51单片机五个中断源的默认优先权由高到低排队正确的是〔〕A、串行口、定时计数器0、定时计数器1、外中断0、外中断1B、串行口、外中断0、定时计数器0、定时计数器1、外中断1C、外中断0、定时计数器0、外中断1、定时计数器1、串行口D、外中断0、外中断1、定时计数器0、定时计数器1、串行口9、定时/计数器T0的M1MO=00时,定时计数器的最大计数值是〔〕A、65536B、8192C、256D、12810、下列选项中不是C51编程时使用的关键字的是〔〕A、integerB、defineC、breakD、sbit11、51单片机串口有4种工作方式,其中哪些工作方式需要用到定时计数器T1〔〕A、四种工作方式都要用到.B、仅工作在方式0下才用定时计数器T1.C、工作在方式1和方式2时都要用到定时计数器T1.D、工作在方式1和方式3时都要用到定时计数器T1.12、定时/计数器中断发生在〔〕A、送入初值时B、启动定时/计数时C、定时/计数停止时D、计数值满量程时13、与外部中断无关的寄存器是〔〕A、TCONB、PCONC、SCOND、IP14、在8为单片机中-50H的补码是〔〕A、00110010BB、CFHC、10110010BD、CEH15、若以下ASCII码中有奇偶校验位,采用偶校验的是〔〕A、11010000B、00011111C、11011010D、1000000016、若MCS-51单片机使用晶振频率为6MHZ,其复位持续时间应超过〔〕A、2μsB、4μsC、8μsD、1ms17、C语言中最简单的数据类型包括〔〕.A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型18、单片机应用程序一般存放在中.A、RAMB、ROMC、寄存器D、CPU19、MCS-5l单片机的堆栈区是设置在< >中.A、片内 ROM区B、片外ROM区C、片内RAM区D、片外RAM区20、89C51单片机的VCC〔40〕引脚是引脚.A、主电源+5VB、接地C、备用电源D、访问片外存贮器三、简答题〔每小题10分,共30分〕1、已知P3口接有发光二极管的阴极,编写程序使发光二极管闪烁三次.2、如图所示共阳极数码管,写出0-9的显示编码 .3、简述行列式扫描键盘的工作原理.四、综合题〔每小题10分,共20分〕1、在串行口工作在方式1和方式3时,定时/计数器1的作用是什么?若已知单片机的晶振频率为12MHZ,且串行口的波特率为4900位/秒,写出定时计数器1的初始化程序.2、根据图编程从DAC0832输出端分别产生三角波和方波.C51单片机试卷3一、填空题〔每小题1分,共30分〕1、修饰符interrupt m中m的值为3对应的是中断源,m的值为4对应的是中断源.2、定义变量p1_0为P1口的第0位,变量a1为片内RAM的可位寻址区的变量,其对应的变量定义指令为, .3、TCON中IT0<IT1>表示__________,IE0<IE1>表示__________,TF0<TF1>表示__________,TR0<TR1>表示__________,SCON中TI表示__________,RI表示__________.4、变量a1=0x92,if<a1>结果是____ <真/假>5、对于IE寄存器来说,若想中断源对应的终端服务程序被执行,必须用软件开两个中断,分别是开中断和中断.6、对定时计数器设置其工作方式用特殊功能寄存器,若将定时/计数器设置为工作方式3定时方式,其最大计数值为.7、对于串行口控制寄存器SCON,若允许串口接收数据,要用命令启动接收,若将接收到的数据送到P3口,其对应的C51指令位.8、波特率的单位是,若串口工作在方式1下,一秒向外传送490帧数据,其波特率为.9、运算符号"="用于,符号"=="用于.10、特殊功能寄存器的定义可以用关键字实现,我们写程序时没有定义特殊功能寄存器是因为我们在程序中添加了头文件.11、基本数据类型char的长度为个字节,默认情况下其对应的数值范围是.12、单片机的晶振频率若为12MHZ,执行一条双机器周期指令用的时间为 .13、51系列单片机外扩存储器时,作为数据线的是端口,作为地址线的是和和端口,扩展存储器的最大容量为.二、判断题〔每小题1分,共10分〕1、若一个函数的返回类型为void,则表示其没有返回值.〔〕2、定时器与计数器的工作原理均是对输入脉冲进行计数.〔〕3、SFR中凡是能被8整除的地址,都具有位寻址能力.< >4、不能用"sfr16”直接访问定时器/计数器0和1. < >5、MCS-51单片机的程序存储器只能用来存放程序的.〔〕6、串口中断标志由硬件清0.〔〕7、特殊功能寄存器的名字,在C51程序中,全部大写.〔〕8、"sfr"后面的地址可以用带有运算的表达式来表示.〔〕9、#include <reg51.h>与#include "reg51.h"是等价的.〔〕10、sbit不可以用于定义内部RAM的可位寻址区,只能用在可位寻址的SFR上.〔〕三、选择题〔每小题1分,共10分〕1、单片机中的程序计数器PC用来.A、存放指令B、存放正在执行的指令地址C、存放下一条指令地址D、存放上一条指令地址2、单片机上电复位后,PC的内容和SP的内容为.A、0000H,00HB、0000H,07HC、0003H,07HD、0800H,08H3、当程序状态字寄存器PSW状态字中RS1和RS0分别为0和1 时,系统先用的工作寄存器组为.A、组0B、组1C、组2D、组34、用89C51的定时器T1作定时方式,用模式1,则工作方式控制字为.A、01HB、05HC、10HD、50H5、使89C51的定时器T0停止计数的指令是.A、CLR TR0B、CLR TR1C、SETB TR0D、SETB TR16、MCS-51单片机响应中断的必要条件是.A、TCON或SCON寄存器内的有关中断标志位为1B、IE中断允许寄存器内的有关中断允许位置1C、IP中断优先级寄存器内的有关位置1D、当前一条指令执行完7、外部中断0 的入口地址是.A、0003HB、000BHC、00013HD、001BH8、MCS—51单片机在同一级别里除INT0外,级别最高的中断源是.A、外部中断1B、定时器T0C、外部中断0D、定时器T19、89C51定时/计数器共有四种操作模式,由TMOD寄存器中M1 M0的状态决定,当M1 M0的状态为01 时,定时/计数器被设定为.A、13位定时/计数器B、16位定时/计数器C、自动重装8位定时/计数器D、T0为2个独立的8位定时/计数器10、下列说法正确的是〔〕A、各中断发出的中断请求信号,都会标记在MCS-51系统的IE寄存器中.B、各中断发出的中断请求信号,都会标记在MCS-51系统的TCON与SCON寄存器中.C、各中断发出的中断请求信号,都会标记在MCS-51系统的IP寄存器中D、各中断发出的中断请求信号,都会标记在MCS-51系统的TMOD寄存器中四、简答题〔每小题10分,共30分〕1、80C51有哪五个中断源,哪些中断请求信号在中断响应时可以自动清除?哪些不能自动清除?应如何处理?2、MCS-51单片机由哪几部分组成?简述各部分功能.3、五、编程题〔每第1、2小题每小题15分,第3小题20分,共50分〕1、用51单片机并行口设计显示一个数码的电路,使数码管循环显示"0”~"F".2、已知focs=12MHZ,如图利用定时器T1使图中发光二极管进行秒闪烁. 即亮500ms,暗500ms,用C51写出程序.3、硬件连接如下图所示,要求编程实现用单片机甲的按键KEY1控制单片机乙发光二极管闪烁三次〔不写握手部分,且传送速率为2400bps 〕.C51单片机试卷4一、填空题〔每小题1分,共45分〕1、串行口方式2接收到的第9位数据送寄存器的位中保存.2、MCS-51系列单片机为位单片机.3、8031的中断源有 、、、、、有个中断优先级.4、MCS-51系列单片机的典型芯片分别为、、.5、利用8255A 可以扩展个并行口,其中条口线具有位操作功能.6、由8031组成的单片机系统在工作时,EA 引脚应该接.7、串行口的方式0的波特率为.8、8031内部有___________个定时器,___________个并行口和___________个串行口.9、8031的异步通信口为〔单工/半双工/全双工〕,若传送速率为每秒120帧,每帧10位,则波特率为____ .10、8031的 口为双功能口.11、8031的口为高8位地址总线口.12、欲使P1口的低4位输出0,高4位不变,应执行一条命令.13、KeiL C51软件中,工程文件的扩展名是__________,编译连接后生成可烧写的文件扩展名是____________.14、MCS-51单片机中,在IP=0x00时,优先级最高的中断是_______________,最低的是___________.15、MCS —51单片机的P0—P4口均是并行I /O 口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的和,在P0—P4口中,为真正的双向口,为准双向口.16、MCS —5l 单片机的堆栈区只可设置在 存储区<器>. +5VP2.1 单 片 机甲 +5V地 R T 单 片 机 乙 TRP3.0 P3.1 P3.2 : : P3.6P3.7KEY117、单片机的复位操作是__________〔高电平/低电平〕,单片机复位后,中断允许寄存器IE 的值是________.18、8255A内部控制电路还可以分成两组:A组和B组.其中A组控制的对象是,B组控制的对象是 .19、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为________,机器周期为____________.20、A/D芯片选择最主要的参数是__________和_____________.21、C51定义可寻址位,使用关键字为____ .25、变量tmp=0x15,经运算tmp>>=4;后的tmp值为____ .26、C51数组的下标是从____开始的.27、C51中 0x75 | 0x42 运算结果是____.二、判断题〔每题1分,共15分〕1.单片机是在一块集成电路上把CPU、存储器、定时器/计数器与多种形式的I/O接口集成在一起而构成的微型计算机.2.只要有中断出现,CPU就立即响应中断.3.MCS_51单片机P3端口的各端口线如果作为第二功能信号使用的话,那么它们就不能再用来进行数据I/O传送;同样道理,如果用作数据传送,就不能再作为第二功能信号使用. 4.MCS-51单片机的定时和计数都使用同一计数机构,所不同的只是计数脉冲的来源:来自于单片机内部的是定时,而来自于外部的则是计数.5.P0端口在作为地址总线使用时,提供的是高8位地址.6.单片机的LED动态显示是依据人眼的"视觉暂留"效应实现的.7.DPTR是由DPH和DPL两个8位特殊寄存器组成的.8.运算符"&"表示的是按位与运算.10.命令语句if<x=10> {P0=0xff};表达的含义是当x的值为10时,才执行P0=0xff的命令. 11.80c51单片机定时/计数器T0、T1都可以工作在方式3下12.51单片机的串口工作在方式0,接收和发送数据都是通过RXD完成的.13.正在进行的中断过程不能被新的同级或低优先级的中断请求所中断.14.最小系统是单片机仅用本身有的资源就可以工作,不需要外接任何部件.15.一片存储器芯片2764可扩展的最大容量是8KB.三、简答题〔第1小题6分,第2小题4分〕1.提供扩展存储器芯片的片选信号的方法有哪几种?简述各方法的特点.2.说明什么是中断、中断允许、中断屏蔽.四、综合题〔每小题10分,共30分〕1.已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?TMOD的值是多少?TH0=?TL0=?2.已知8255A与单片机的连接形式如下图所示<只给出部分重要连接线路>:要求:〔1〕分析8255A的A口、B口、C口与控制口的地址.〔2〕若设定8255A的A口为方式0输入,B口为方式0输出,用汇编语言写出初始化程序.3.如下图,编写程序控制发光二极管循环点亮,当按下外中断INT0时,二极管闪烁三次后熄灭.C51单片机原理与应用期末试题<A卷>系、级、专业:考试类别:考试<考试时间120分钟,满分100分>一、填空题〔共40分,每空2分〕1.MCS-51系列单片机为____位单片机.2.DAC0832通过改变控制引脚的连接方式,使其具有三种工作方式,分别是___________、__________、_______________.3.液晶RT-1602C实际显示区有________行,每行显示___________个字符.4.MCS-51单片机的串行口,启动接收的条件是___________和____________.5.单片机的复位操作是__________〔高电平/低电平〕,且其上所加的复位电平的信号至少持续_______个时钟周期.6.使P1口的低4位输出1,高4位输出0的C51指令为____ .7.C51定义特殊功能寄存器中的位,使用关键字为____.8.C51变量中unsigned char型变量的取值范围是________.9.变量tmp=0xfe,经执行指令tmp<<1|1后tmp的值为____.10.变量a1=0xff,if<!a1>结果是____ <真/假>.11.C51数组的下标是从____开始的.12. MCS-51单片机的P0口作为通用I/O口使用时,在作为输入数据口前应先向P0口写_______.13. -25的原码是________B、反码是_________B、补码是___________B.二、选择题〔共20分,每题1分〕1. 单片机8051的XTAL1和XTAL2引脚是〔〕引脚A.外接定时器 B.外接串行口 C.外接中断 D.外接晶振2. 8051单片机的一个机器周期包含〔〕个时钟周期A.6 B.2 C.12 D.93. 8051单片机中,输入/输出引脚中用于专门的第二功能的引脚是〔〕A.P0 B.P1 C.P2 D.P34. 单片机的定时器/计数器工作方式1是〔〕.A. 8位计数器结构B. 2个8位计数器结构C. 13位计数结构D. 16位计数结构5. 具有模数转换功能的芯片是〔〕A. ADC0809B. DAC0832C.MAX813D.74LS3736. C51语言的运算符中,能实现按位求反功能的是〔〕运算符A.~ B.^ C.| D.!7. 在编写串行口中断服务程序时,修饰符interrupt m中m的取值应为〔〕A.1 B.2 C.3 D.48. MCS—51单片机的CPU主要的组成部分为〔〕A.运算器、控制器 B.加法器、寄存器C.运算器、加法器 D.运算器、译码器9.C51中一般char型变量占用< >字节存储.A、一个B、两个C、三个D、四个10. 函数_crol_<>包含在头文件〔〕中A."reg51.h" B."absacc.h" C."intrins.h" D."math.h"11. 十进制数67在C51语言中表示为十六进制数形式为〔〕A.0x52 B.0x67 C.0x43 D.0x3412. 下列选项中不属于C51的特殊功能寄存器的是〔〕A.P0 B.TMOD C.SBUF D.TI13. 8051单片机〔〕口是一个8位漏极型开路型双向I/O端口.A.P0 B.P1 C.P2 D.P314. 八段共阴极数码管显示0的字段码是〔〕A.0x3f B.0xc0 C.0x00 D.0xff15.可编程I/O扩展芯片8255A有〔〕个8位并行口A.1 B.2 C.3 D.416.MCS-51单片机的51子系列为用户提供了〔〕个硬件中断源A.4 B.5 C.6 D.717.下列选项中〔〕是定时/计数器T0的中断允许控制位A.EA B.ET0 C.IT0 D.IE018.已知某串口1S钟可向外传送240帧,每帧包含10位数据信息,其比特率为〔〕A.12×106 B.2400 C.9600 D.480019.一个5V满刻度的8位DAC其分辨率为< >A.19.5mv B.1.22mv C.0.42v D.3.58mv20.利用下列〔〕关键字可以改变工作寄存器组A.interruptB.sfrC.while D.using三、编程计算题〔共40分〕1.已知单片机的晶振频率fosc=12MHZ,串行口工作在方式1,PCON=0X80.若令串口的波特率为9600bit/s,请给出定时计数器T1工作在方式2下的初值与其计算过程.〔10分〕2.利用单片机的P3口接8个发光二极管,P1口接8个开关,编程实现,当关动作时,对应的二极管亮灭.〔10分〕3.如下图, 在六个共阳极数码led1~led6上分别显示数字1~6. <20分>位为TH、TL的确定:单片机的fosc=12MHz,则单片机的机器周期为1ms,1ms=1000ms,计数器的计数初值为65 536-1000,TH0=〔65 536-1000〕/256,TL0=〔65 536-1000〕%256.①采用查询方式程序如下:#include<reg51.h>sbit P1_0=P1^0;void main<void>{ TMOD=0x01;TR0=1;for<;;>{ TH0=<65536-1000>/256;TL0=<65536-1000>%256;do{ }while<!TF0>;P1_0=!P1_0;TF0=0;}}②采用中断方式程序如下:#include<reg51.h>sbit P1_0=P1^0;void timer0<void> interrupt 1 using 1{ P1_0=!P1_0;TH0=<65536-1000>/256;TL0=<65536-1000>%256;}void main<void>{ TMOD=0x01;P1_0=0;TH0=<65536-1000>/256;TL0=<65536-1000>%256;EA=1; ET0=1;TR0=1;do{ } while<1>;}设系统时钟频率为12MHz,编程实现从P1.1输出周期为1s的方波.要输出周期为1s的方波,应产生500ms的周期性定时,定时到则对P1.1取反即可实现.由于定时时间较长,一个定时器/计数器不能直接实现,一个定时器/计数器最长定时时间为65ms多一点,可以用以下两种方法实现.〔1〕方法一用定时/计数器T0产生周期性为10ms的定时,然后用一个变量对10ms计数50次.系统时钟为12MHz,定时/计数器T0定时10ms,计数值N为10000,选方式1,方式控制字为00000001B〔01H〕,则初值X为X=65 536-10 000.#include<reg51.h>sbit P1_1=P1^1;unsigned char i; //定义计数变量void main< >{ i=0; //初始化TMOD=0x01;TH0=<65536-10000>/256;TL0=<65536-10000>%256;EA=1;ET0=1;TR0=1;while<1>;}void time0_int<void> interrupt 1 //中断服务程序{ TH0=<65536-10000>/256; //重载初始值TL0=<65536-10000>%256; //重载初始值i++; //每发生一次中断,计数变量加1if <i==50> //发生50次中断,定时0.5ms{ P1_1=!P1_1;i=0; //计数变量清零}}〔2〕方法二用定时/计数器T1计数实现,对10ms计数50次.定时/计数器T1工作于计数方式时,计数脉冲通过T1〔P3.5〕输入.设定时/计数器T0定时时间到对P1.0取反一次,则T1〔P3.5〕每10ms产生一个计数脉冲,那么定时500ms只需计数25次,设定时/计数器T1工作于方式2,初值X=256-25=231,TH1=TL1=231.因为定时/计数器T0工作于方式1,定时方式,则这时方式控制字为01100001B〔61H〕.定时/计数器T0和T1都采用中断方式工作.#include<reg51.h>sbit P1_1=P1^1;sbit P1_0=P1^0;void main< >{ TMOD=0x61; //初始化TH0=<65536-10000>/256;TL0=<65536-10000>%256;TH1=231;TL1=231;EA=1;ET0=1; ET1=1;TR0=1; TR1=1;while<1>;}void time0_int<void> interrupt 1 //T0中断服务程序{ TH0=<65536-10000>/256; //重载初始值TL0=<65536-10000>%256; //重载初始值P1_0=!P1_0;}void time1_int<void> interrupt 3 //T1中断服务程序{ P1_1=!P1_1; }设系统时钟频率为12MHz,编程实现:P1.1引脚上输出周期为1s,占空比为20%的脉冲信号根据输出要求,脉冲信号在一个周期内高电平占0.2s,低电平占0.8s,超出了定时器的最大定时间隔,因此利用定时器0产生一个基准定时配合软件计数来实现.取50ms作为基准定时,采用工作方式1,这样这个周期需要20个基准定时,其中高电平占4个基准定时.#include<reg51.h>sbit P1_1=P1^1;unsigned char i; //定义计数变量void main< >{ i=0; //初始化TMOD=0x01;TH0=<65536-50000>/256;TL0=<65536-50000>%256;EA=1; ET0=1;TR0=1;while<1>;}void time0_int<void> interrupt 1 //中断服务程序{ TH0=<65536-50000>/256; //重载初始值TL0=<65536-50000>%256;i=i+1;if<i==4> P1_1=0; //高电平时间到变低else if<i==20> //周期时间到变高{ P1_1=1;i=0; //计数变量清零}}一、单项选择题.〔每题1分,共20分〕1.一个完整的计算机系统通常包含〔〕A、系统软件和应用软件B、计算机与其外部设备C、硬件系统和软件系统D、系统硬件和系统软件2.二进制数11000100转换为十进制数是多少?〔〕A、194B、195C、196D、1973.补码11110001对应的真值用十进制表示为多少?〔〕A、-14B、-15C、240D、2414.〔—25〕在计算机中的二进制表示形式为〔〕A、10011001B、11100110C、01100110D、111001115.MCS-51单片机外部中断1对应的中断入口地址是多少?〔〕A、0003HB、000BHC、0013HD、001BH6.MCS-51单片机的堆栈区设置在< >A、片内RAM区B、片外RAM区C、片内ROM区D、片外ROM区7.51单片机的片外地址总线和数据总线的条数分别是〔〕.A、8和8B、8和16C、16和8D、16和168.当MCS-51单片机接有外部存储器,P2口可作为<>.A 、数据输入口B 、数据的输出口C 、准双向输入/输出口D 、输出高8位地址9.下列关于51单片机堆栈的描述,正确的是〔 〕.A 、向上生长型,按字处理B 、向下生长型,按字处理C 、向上生长型,按字节处理D 、向下生长型,按字节处理 10.标志寄存器的RS1和RS0位用于选择工作寄存器组,如果选择2组,则RS1和RS0是〔 〕.A 、0和0B 、0和1C 、1和0D 、1和111.单片机读片外程序存储器信号是哪个?< >A 、-PSENB 、-EAC 、ALED 、-RD12.C51程序中,利用下列〔〕关键字可以定义中断函数A 、interruptB 、sfrC 、whileD 、using13.C51的int 类型和long 类型在存储器中占用的字节数是〔 〕A 、1和2B 、2和3C 、1和4D 、2和414.C51中变量位于程序存储区,所用的存储器类型是〔 〕A 、dataB 、bdataC 、codeD 、xdata15.在片外扩展一片8KB 程序存储器芯片要< >地址线.A 、10根B 、12根C 、13根D 、16根16.某存储器芯片有11根地址线,8根数据线,该芯片有多少个存储单元?〔 〕A 、2KBB 、3KBC 、4KBD 、8KB17.C51中,定时/计数器1的中断类型号是〔 〕.A 、1B 、2C 、3D 、418.ADC0809的地址锁存信号是〔 〕A 、ALEB 、EOC C 、CLOCKD 、START19.C51中外中断1的中断允许EX1需用〔 〕关键字定义.A 、bitB 、sbitC 、sfrD 、sfr1620.在KEIL51中形成的下载文件的扩展名是〔 〕.A 、CB 、ASMC 、EXED 、HEX二、填空.〔每空1分,共20分〕1.微型计算机一般由四大部分组成,分别是____________、____________、_____________和共 3 页,第 1 页共 3页,第1 页总线.2.西文字符在计算机中用ASCII编码表示,已知西文字符"C"的ASCII码是43H,则西文字符"E"的ASCII码是___________,西文字符"a"的ASCII码是___________.〔用十六进制数〕3.系统总线是CPU与其它设备连接的信号线,实现相互之间的信息传送,系统总线按功能分三种,分别为___________、____________和___________.4.单片机的存储器一般采用哈佛结构,根据存储信息可把存储器分两种,分别是____________和___________.5.51单片机使用片外程序存储器时,—EA信号线应该接___________电平.6.用51单片机的定时/计数器实现30个单位的计数,采用方式1初值应设置为___________,采用方式2初值应设置为___________.〔用十进制给出〕7.51单片机串口工作于方式1时,数据通过___________并口线输出, ___________并口线输入.8.8051芯片复位后,堆栈指针SP的值是___________,程序栈指针PC的值是___________. 9.LED数码管显示时,由数字转换为笔划信息有两种译码方式,分别是____________和___________.10.执行指令的时间称为指令周期,而指令周期是以机器周期为单位,而机器周期由多个振荡周期组成,在51单片机中,若振荡信号频率为6MHZ,则机器周期信号的频率为___________.三、判断题,正确的打√,错误的打×.〔每题1分,共10分〕1.单片机直接识别的语言是汇编语言.< >2.8051单片机是8位的计算机.〔〕3.51单片机的定时/计数器一定比串口中断中断优先级高.〔〕4.51单片机的堆栈位于片外数据存储器中.〔〕5.51单片机的程序存储器是可以用来存放数据.< >6.对于正数,它的原码、反码、补码都一样,也都与无符号数的编码一样.< >7.51单片机工作时可以不需要程序存储器.〔〕8.进位标志只能对加法运算进位进行判断.< >9.串口中断请求标志必须由软件清除.< >10.bit不可以用于定义内部RAM的可位寻址区,只能用在可位寻址的SFR上.〔〕四、简答题.〔每题5分,共30分〕1.8051单片机程序存储器总空间是多少字节,片内存储器多少字节,片外存储器多少字节,使用时如何区分?。
单片机原理及接口技术(C51编程)(第2版)-习题答案汇总
单⽚机原理及接⼝技术(C51编程)(第2版)-习题答案汇总单⽚机答案.. 第1章思考题及习题1参考答案⼀、填空1. 除了单⽚机这⼀名称之外,单⽚机还可称为或。
答:微控制器,嵌⼊式控制器.2.单⽚机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在⼀起,集成于⼀块芯⽚上。
答:CPU、存储器、I/O⼝、总线3. AT89S51单⽚机⼯作频率上限为MHz。
答:24MHz。
4. 专⽤单⽚机已使系统结构最简化、软硬件资源利⽤最优化,从⽽⼤⼤降低和提⾼。
答:成本,可靠性。
⼆、单选1. 单⽚机内部数据之所以⽤⼆进制形式表⽰,主要是A.为了编程⽅便B.受器件的物理性能限制C.为了通⽤性D.为了提⾼运算速度答:B2. 在家⽤电器中使⽤单⽚机应属于微计算机的。
A.辅助设计应⽤B.测量、控制应⽤C.数值计算应⽤D.数据处理应⽤答: B3. 下⾯的哪⼀项应⽤,不属于单⽚机的应⽤范围。
A.⼯业控制 B.家⽤电器的控制 C.数据库管理 D.汽车电⼦设备答:C三、判断对错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晶振,⼀个机器周期为。
单片机复试知识点
单片机复试知识点一、知识概述《单片机复试知识点》①基本定义:单片机呢,简单说就是一块芯片,它把微处理器、存储器还有各种输入输出接口电路啥的都集成到一块了。
就像是一个小的计算机系统塞到了一个小芯片里,这个芯片自己就能做很多事,像控制电器设备的运行、数据采集之类的。
②重要程度:在电子学科里,那可是相当重要的。
很多智能设备,像智能家居的控制、汽车里的一些电子系统,靠的就是单片机。
它就像是这些设备的小大脑,指挥着不同的部件干活。
③前置知识:你得先了解基本的数字电路知识,像什么逻辑门电路(与门、或门这些),还有简单的编程概念,像变量、循环这些。
要是不懂这些,单片机里好多东西就理解不了。
④应用价值:就说咱们生活中的智能手环吧,靠单片机来采集你的运动数据、心跳啥的,然后在那个小屏幕上显示出来。
工厂里的自动化生产设备,也是单片机在控制电机的转动、传感器的监测,这样才能又快又准地生产产品。
二、知识体系①知识图谱:在电子学科里,单片机算是核心部分。
它和电路基础、编程知识这些联系紧密。
就好比是一个大家庭里的管家,联系着各个家庭成员(其他知识板块)一样。
②关联知识:和传感器知识联系密切,因为单片机常常要从传感器获取数据。
还和电动机的控制电路相关,想要控制电机的转速、转向,就得靠单片机来发命令。
③重难点分析:难易度:难度中等偏上吧。
困难点:一个是它的编程,要弄清楚各种指令。
比如说中断指令,什么时候触发中断,中断后怎么返回原来的程序,这都不容易理解。
还有就是和外部设备的连接,引脚的功能多,接错了就不行,像连接显示屏的时候,每个引脚对应不同的数据位,弄错就显示不了东西。
④考点分析:重要性:在复试里占挺重要的一部分。
考查方式:可能会直接让你写一段简单的单片机程序,实现比如说用按键控制LED灯亮灭;也可能是问你单片机某个引脚的功能,或者是让你分析一个简单的基于单片机的系统工作原理。
三、详细讲解【理论概念类】①概念辨析:单片机全称单片微型计算机,它的核心是微处理器,但是它不像咱们的台式电脑那样有好多单独的部件,它把这些都紧紧凑到一起了。
单片机题库 (1)
单片机题库一:判断题您的姓名: [填空题] *_________________________________1、#define LED P2是宏定义,即用P2来代替LED。
[判断题] *对错(正确答案)2、X>>1表示将X中的各个位都向左移动1位,右边空出来的位用0补足。
[判断题] *对错(正确答案)3、在C语言中,函数体部分需要用{ }括起来。
() [单选题] *A、对(正确答案)B、错4、a==1表示将变量a赋值为1 [判断题] *对错(正确答案)5、51单片机的每个中断源都具有高低两个中断优先级。
[判断题] *对错(正确答案)4、int型数据和无符号int型数据的取值范围是一样的。
[判断题] *对错(正确答案)5、数组中的数据可以是不同类型的。
[判断题] *对错(正确答案)6、在C语言中,常量可以是数值型常量也可以是符号型常量 [判断题] *对(正确答案)错7、数组可以分为一维数组,二维数组和多维数组。
[判断题] *对(正确答案)错8、在LED闪烁方式控制的电路所用的发光二极管具有单向导通性。
[判断题] *对(正确答案)错9、#define LED P2是宏定义,即用P2来代替LED。
[判断题] *对错(正确答案)10、算数运算符%表示取余运算,10%3的结果是1。
[判断题] *对(正确答案)错11、C语言中一个分号可以作为一个执行语句。
[判断题] *错12、拉幕灯实验中使用到的LED灯是发光二极管,它具有单向导通性。
[判断题] *对(正确答案)错13、同级优先级不能相互断。
[判断题] *对(正确答案)错14、除法运算7/3的结果是1。
[判断题] *对错(正确答案)15、void delay_1ms(uint x)该函数有一个参数x [判断题] *对(正确答案)错16、陶瓷电容和电解电容在结构上是相同的,在硬件电路中可互换。
[判断题] *对错(正确答案)13、8段LED数码管显示器只有共阳极结构。
习题_C51语言答案
习题_C51语⾔答案⼀、填空1.KeiL C51软件中,⼯程⽂件的扩展名是___UV2_______,编译连接后⽣成可烧写的⽂件扩展名是___HEX_________。
2.C51⽀持的指针有⼀般指针和存储器指针。
3.C51中,没有专门的循环语句,我们可以⽤函数____ crol _____完成⼀个字节的循环左移,⽤__ _irol_ ___完成⼆个字节的循环左移。
4.C51的基本数据类型有位型、字符型、整型、长整型、浮点型、双精度浮点型。
5.C51的存储类型有data 、bdata 、idata 、pdata 、xdata 、code 。
6.C51的存储模式有SMALL 、COMPACT 和LARGE 。
7.C51程序与其他语⾔程序⼀样,程序结构也分为顺序结构、选择结构、循环结构三种。
8.C51中int型变量的长度为 4位,其值域为0~65535 。
9.C51中关键字sfr的作⽤定义8位特殊功能寄存器,sbit的作⽤定义可位寻址对象,⽤于位寻址,从位寻址字节中定义位变量。
10.函数定义由函数⾸部和函数体两部分组成。
11.C51中“!”运算符的作⽤是逻辑运算结果值取反。
12.若函数⽆返回值,⽤void 关键字指定。
13.若局部变量未初始化,其初值为0 。
⼆、单项选择题:1.89S51的内部程序存储器与数据存储器容量各为多少?( C )(A)64KB、 128B ( B)4KB、64KB(C)4KB、128B (D)8KB、256B2.在8x51芯⽚⾥,哪个引脚⽤于控制使⽤内部程序存储器还是外部程序存储器?( B) P17 (A)XTAL1 (B)/EA (C)/PSEN(D)ALE3.下列哪个不是KeilC的预处理命令?(C) (A)#include(B)#define(C)#exit(D)#if4.下列哪个不是KeilC的数据类型?( B) (A)void(B)string(C)char(D)float5.在KeilC的程序⾥,若要指定P0⼝的bit3,如何编写?(C )(A)P0.3 (B)Port0.3 (C)P0^3 (D)Port^36.在8x51⾥,若要扩展外部存储器时,数据总线连接哪个输⼊/输出端⼝?(A )(A)P0 (B)P1 (C)P2 (D)P37.在KeilC⾥,判读开关状态时,使⽤if_else if语句与使⽤switch语句有何差异?(B )(A)if-else if 语句较快(B)if-else if语句有优先级(C)switch语句可判读较多开关状态(D)switch语句有优先级8.在KeilC⾥,中断⼦程序与函数有何不同?(A )(A)中断⼦程序不必声明(B)函数不必声明(C)中断⼦程序必须有形式参数(D)中断⼦程序⼀定会有返回值9.利⽤下列( A )关键字可以改变⼯作寄存器组A、interruptB、sfrC、whileD、using10.C51中⼀般指针变量占⽤( C )字节存储。
51单片机interrupt用法
51单片机interrupt用法1. 什么是51单片机interrupt?51单片机是一种常用的嵌入式微控制器,被广泛应用于各种电子设备中。
中断是一种特殊的处理机制,它允许单片机在执行某个任务的过程中,临时暂停当前的任务,去处理其他紧急事件。
这些紧急事件可以是来自外部设备的信号、计时器溢出等。
2. 为什么要使用interrupt?使用interrupt的好处是可以及时响应外部事件,提高系统的实时性和可靠性。
不使用interrupt的话,单片机只能按照预定的程序执行,无法即时响应外部事件,造成系统的延迟和不稳定。
3. 如何使用interrupt?首先,我们需要了解51单片机的interrupt架构。
51单片机有两个interrupt源,分别是外部中断和定时器/计数器中断。
外部中断:单片机的P3口(即引脚INT0和INT1)可以接收外部中断信号。
当INT0引脚检测到高电平脉冲时(可以通过软件设置为下降沿触发或低电平触发),单片机就会执行外部中断的相关程序。
INT1引脚类似。
定时器/计数器中断:单片机的定时器/计数器模块可以设置定时中断。
定时器可以根据一定的时钟源进行计数,当计数值达到预设值时,就会触发中断。
通过设置计数器的工作模式和计数初值,可以灵活控制定时中断的触发时间和频率。
对于外部中断,我们可以通过设置相应的中断控制寄存器来选择触发方式(下降沿触发、低电平触发等)。
然后,在主程序中需要响应外部中断的地方,我们可以编写一个中断服务程序(ISR),用来处理中断事件。
中断服务程序需要使用关键字”interrupt”进行声明,同时需要保存现场(将寄存器的值及其他关键状态保存在堆栈中),以便中断结束后能够正确恢复。
对于定时器/计数器中断,我们首先需要对定时器进行初始化设置,选择时钟源和工作模式。
然后,我们可以设置计数初值和中断触发时间。
当计数器达到预设值时,中断程序会被执行。
下面我们就来介绍一个常见应用案例:使用外部中断实现按键控制LED的亮灭。
stm32f103rct6单片机工作原理
stm32f103rct6单片机工作原理STM32F103RCT6 单片机工作原理简介STM32F103RCT6 是一款由意法半导体(STMicroelectronics)推出的高性能、低功耗的ARM Cortex-M3 内核的32位单片机。
什么是单片机单片机(Microcontroller)是一种集成电路芯片,内部包含处理器核心、存储器、输入输出端口以及各种外设接口等多个功能模块。
相比于传统的微处理器,单片机具有体积小、功耗低、集成度高等优点,因此广泛应用于嵌入式系统中。
单片机的工作原理单片机在工作时,首先需要将程序代码加载到它的存储器中,并通过处理器核心的执行来完成各种任务。
单片机的工作原理可以简单概括为以下几个步骤:1.初始化:单片机上电后,首先执行初始化操作,包括对时钟系统、各种外设和寄存器进行配置等。
2.程序执行:单片机根据存储器中的指令逐条执行,并按照程序设计完成各种功能。
3.信号输入输出:单片机通过输入输出端口与外部环境进行数据交互,接收外部信号并控制外部设备。
4.中断处理:当发生外部事件需要中断处理时,单片机会立即响应并执行特定的中断服务程序。
STM32F103RCT6 单片机的特点STM32F103RCT6 单片机作为一款高性能的嵌入式系统控制器,具有以下主要特点:•基于ARM Cortex-M3 内核,运行速度快,指令集丰富;•集成了丰富的外设接口,包括通用输入输出端口、串口、SPI、I2C、定时器等;•支持低功耗模式,适合电池供电和功耗要求严格的应用;•内置Flash 存储器,可存储程序代码和数据;•强大的开发环境和工具链支持。
STM32F103RCT6 单片机的工作流程要正确使用STM32F103RCT6 单片机,我们需要了解其工作流程,一般包括以下几个步骤:1.初始化系统配置:包括时钟系统的配置、中断系统的初始化、外设的初始化等。
这些配置会直接影响到单片机的工作效率和正确性。
PIC单片机C语言教程
PIC单片机C语言教程PIC单片机(Peripheral Interface Controller)是德州仪器(Texas Instruments)公司生产的一款微控制器芯片。
它具有高性能、低功耗、易编程等特点,因此被广泛应用于各种电子设备中。
PIC单片机的编程语言主要是C语言。
C语言是一种广泛使用的高级程序设计语言,它结构简洁、表达能力强、可移植性好。
通过使用C语言,我们可以轻松地编写控制PIC单片机的程序,并且可以充分发挥PIC单片机的特性和功能。
在PIC单片机的C语言教程中,首先需要了解C语言的基础知识,包括变量、数据类型、运算符、控制语句等。
接下来,我们需要学习如何使用C语言编写PIC单片机的程序。
1.引脚配置:在PIC单片机的程序中,我们需要配置引脚的状态,包括输入输出模式、电平状态等。
通过使用C语言,我们可以方便地配置引脚,实现与外部器件的连接和通信。
2.中断编程:中断是PIC单片机的重要特性之一,可以使控制器在特定条件下停止当前任务执行,转而执行中断服务程序。
通过使用C语言,我们可以编写中断服务程序,实现特定条件下的任务切换和响应。
3.定时器编程:定时器是PIC单片机的另一个重要功能,可以实现一定时间间隔内的定时操作。
通过使用C语言,我们可以编程设置定时器的参数,以实现特定的定时操作。
4.串口通信:PIC单片机具有串口通信功能,可以与其他设备进行数据交换。
通过使用C语言,我们可以编写串口通信的程序,实现与其他设备的数据传输和交互。
5.外设控制:PIC单片机可以连接各种外设,如LCD显示屏、键盘、驱动器等。
通过使用C语言,我们可以编写控制程序,实现与外设的连接和控制。
以上只是PIC单片机C语言教程的一部分内容。
除了上述内容,我们还可以学习其他更高级的主题,如编码技巧、优化技术等。
通过系统学习和实践,我们可以掌握PIC单片机的C语言编程技巧,实现各种功能和应用。
总的来说,PIC单片机的C语言教程是一个庞大而丰富的话题,需要通过实践和深入学习来掌握。
单片机开发基础(习题卷41)
单片机开发基础(习题卷41)第1部分:单项选择题,共47题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]软件消除抖动时,所用的延时子程序延时时间一般为多少?( )A)0~5msB)5~10msC)10~15msD)10~20ms答案:D解析:2.[单选题]Cortex-M 处理器采用的架构是A)v4TB)v5TEC)v6D)v7答案:D解析:3.[单选题]用于在循环程序中结束本次循环的语句是()。
A)continueB)breakC)ifD)return答案:A解析:4.[单选题]欲将电压信号转换成与之成比例的电流信号,应在放大电路中引入什么负反馈( 2 分)A)电压串联B)电压并联C)电流串联D)电流并联答案:C解析:5.[单选题]PWM技术依赖的是【 】原理( 2 分)A)电量量等效原理B)冲量等效原理C)在惯性电路中的冲量等效D)在惯性电路中的电量等效答案:C解析:6.[单选题]A7H和5BH两个立即数相加后,和为( ),(CY)是( )。
A)1CH,0B)C1H,0D)C1H,1答案:C解析:7.[单选题]for语句中的第1个表达式一般是用来做什么呢?A)循环变量赋初值B)循环条件判断C)修改循环变量D)循环体答案:A解析:8.[单选题]8051单片机的机器周期为2s,则其晶振频率fosc为( )MHz.A)1B)2C)6D)12答案:C解析:9.[单选题]51单片机定时器T0在方式0下,计数器的输入脉冲是晶体振荡频率的【 】.( 2 分)A)直接输入B)2分频C)8分频D)12分频答案:D解析:10.[单选题]80C51串口发送控制器的作用描述中 是不正确的。
A)作用一是将待发送的并行数据转为串行数据B)作用二是在串行数据上自动添加起始位、可编程位和停止位C)作用三是在数据转换结束后使中断请求标志位 TI 自动置 1D)作用四是在中断被响应后使中断请求标志位 TI 自动清零答案:D解析:11.[单选题]80C51 串行口接收数据的次序是下述的顺序 ___( )___。
单片机应用系统中断与子程序设计
(2).子程序设计与子程序调用 • 子程序是在功能模块划分完成后,进一步细化分解出来,完成某 些功能的程序块。子程序不是在软件总体设计时能够确定下来的。 各个软件设计组采用结构化程序设计方法时,可以形成各自软件 框图,将重叠部分以子程序的形式提取出来,共同约定其入口、 出口参数,这是一种方法。另一种方法是全部程序编制完成后, 在优化程序时,将所有可能合并的程序段或子程序合并成一个子 程序。
• ①现场保护 • 由于中断服务程序执行时刻的不确定性,如果不保 护现场就可能出现中断返回后其他程序的执行受到 “莫名其妙”的影响。设计时可以先不考虑现场保 护,待中断服务程序编写完成后,列出所有目的操 作数,将其中全局变量扣除,其余均需保护和恢复。 特殊的工作寄存器要注意“换区”的操作,避免 R0~R7的冲突。 •
• ②及时返回,释放资源 • 中断服务子程序有时不可能“一步到位”,以免长 时间资源独占。中断的目的之一就是提高响应的实 时性。很多工作可以在主程序中排队处理,中断服 务程序只需要设置一个任务标志,并将该任务列入 主程序任务处理队列,及时释放中断资源。这种方 式可以理解为事件驱动程序流程。
• ③避免中断重入 • 在MCS-51系统中,处理器完全依据IE0、TF0、IEl、 TFl、RI和TI这些标志位是否为1,触发中断响应。 如果用户在中断返回前不清除中断标志,就会造成 中断重入,即一次中断请求造成多次、甚至是无休 止的中断服务,使中断服务子程序反复执行而导致 错误的结果,另一方面也使其他正常的程序执行 “举步维艰”(每执行一条指令后就要被中断一次)。 • 避免中断重入的具体方法可见第五章。
如果用户在中断返回前不清除中断标志就会造成中断重入即一次中断请求造成多次甚至是无休止的中断服务使中断服务子程序反复执行而导致错误的结果另一方面也使其他正常的程序执行举步维艰每执行一条指令后就要被中断一次
t0中断服务函数的书写方法
t0中断服务函数的书写方法在嵌入式系统中,中断是一种非常重要的机制,它可以让CPU在执行程序的同时,及时响应外部事件的发生。
而t0中断是一种定时器中断,它可以周期性地触发中断服务函数的执行。
在本文中,我们将介绍t0中断服务函数的书写方法。
1. 中断服务函数的定义中断服务函数是一种特殊的函数,它的执行是由中断触发的。
在t0中断中,中断服务函数的名称通常为“t0_isr”,它的定义如下:void t0_isr(void) interrupt 1{// 中断服务函数的代码}其中,void表示该函数没有返回值,interrupt 1表示该函数是由中断1触发的。
在8051单片机中,t0中断的中断号为1。
2. 中断服务函数的功能t0中断服务函数的主要功能是处理定时器中断。
在t0中断中,定时器的计数器会溢出,当计数器溢出时,就会触发中断。
中断服务函数需要在中断发生时,及时处理定时器中断,并清除中断标志位,以便下一次中断的触发。
下面是一个简单的t0中断服务函数的例子:void t0_isr(void) interrupt 1{// 处理定时器中断// 清除中断标志位TF0 = 0;}在这个例子中,我们只是简单地清除了中断标志位。
实际上,中断服务函数的功能可能会更加复杂,例如读取传感器数据、控制外设等。
3. 中断服务函数的注意事项在编写t0中断服务函数时,需要注意以下几点:(1)中断服务函数需要尽可能地短小精悍,以便尽快地完成中断处理,并返回到主程序中。
(2)中断服务函数中不应该使用延时函数或者阻塞函数,因为这些函数会占用CPU的时间,导致系统响应变慢。
(3)中断服务函数中不应该使用浮点运算,因为浮点运算需要较长的时间,会影响系统的响应速度。
(4)中断服务函数中不应该使用全局变量,因为全局变量可能会被主程序和中断服务函数同时访问,导致数据不一致。
(5)中断服务函数中可以使用局部变量,但是需要注意变量的生命周期,以免出现变量被销毁的情况。
c51程序的基本结构
c51程序的基本结构一、引言C51是一种常用的单片机,它的程序结构对于初学者来说是非常重要的。
本文将介绍C51程序的基本结构,包括程序头、全局变量区、中断向量表、主函数和其他函数等。
二、程序头程序头是C51程序的第一部分,它包含了一些指令和定义,用于设置单片机的工作环境。
常见的程序头指令包括:1. #include:用于引入外部库文件;2. #define:用于定义常量;3. #pragma:用于设置编译器选项。
三、全局变量区全局变量区是C51程序中存放全局变量的区域。
全局变量在整个程序中都可以被访问,因此需要在此处进行定义。
定义全局变量时需要注意以下几点:1. 定义前需要声明数据类型;2. 变量名需要具有意义;3. 变量名不能与关键字重复。
四、中断向量表中断向量表是C51程序中存放中断服务函数地址的表格。
当单片机接收到一个中断信号时,会跳转到相应的中断服务函数执行。
在编写C51程序时,需要根据实际情况编写相应的中断服务函数,并将其地址存放在中断向量表中。
五、主函数主函数是C51程序的入口,也是程序的核心部分。
主函数包含了程序的执行逻辑和处理流程,常见的主函数结构包括:1. 初始化:设置单片机工作环境;2. 循环:执行程序循环体;3. 结束:清理资源并退出程序。
六、其他函数C51程序中还可以包含其他函数,这些函数可以被主函数或其他函数调用。
在编写其他函数时需要注意以下几点:1. 函数名需要具有意义;2. 函数名不能与关键字重复;3. 函数需要声明返回值类型和参数列表。
七、总结C51程序的基本结构包括程序头、全局变量区、中断向量表、主函数和其他函数等。
在编写C51程序时,需要按照规范进行编写,以确保程序的可读性和可维护性。
[zx]单片机原理含接口技术C51编程第2版习题答案汇总237
第章思考题及习题参考答案一、填空. 除了单片机这一名称之外,单片机还可称为或。
答:微控制器,嵌入式控制器..单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。
答:、存储器、口、总线. 单片机工作频率上限为。
答:。
. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。
答:成本,可靠性。
二、单选. 单片机内部数据之所以用二进制形式表示,主要单片机答案是.为了编程方便.受器件的物理性能限制.为了通用性.为了提高运算速度答:. 在家用电器中使用单片机应属于微计算机的。
.辅助设计应用.测量、控制应用.数值计算应用.数据处理应用答:. 下面的哪一项应用,不属于单片机的应用范围。
.工业控制.家用电器的控制.数据库管理.汽车电子设备答:三、判断对错. 系列单片机是内核的单片机。
对. 与相比,片内多出了的程序存储器、的、个中断源、个定时器(且具有捕捉功能)。
对. 单片机是一种。
错. 单片机是微处理器。
错. 片内的程序存储器可在线写入(),而则不能。
对. 为单片机设计的应用系统板,可将芯片直接用芯片替换。
对. 为单片机设计的应用系统板,可将芯片直接用芯片替换。
对. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是的长处。
对第章思考题及习题参考答案一、填空. 在单片机中,如果采用晶振,一个机器周期为。
答:µ. 单片机的机器周期等于个时钟振荡周期。
答:. 内部中,位地址为、的位,该位所在字节的字节地址分别为和。
答:,. 片内字节地址为单元最低位的位地址是。
片内字节地址为单元的最低位的位地址为。
答:,. 若中的内容为,那么,标志位的值为。
答:. 单片机复位后,所对应的存储单元的地址为,因上电时。
这时当前的工作寄存器区是组工作寄存器区。
答:,,。
. 内部中,可作为工作寄存器区的单元地址为~。
答:,. 通过堆栈制作实现子程序调用时,第一步要把的内容入栈,以进行断点保护。
单片机中断函数
单片机中断函数一、介绍单片机中断是指在程序运行过程中,当某个事件发生时,CPU暂时停止正在执行的程序,转而去执行另一个与之相关的程序。
这种方式可以提高程序的响应速度和处理效率。
在单片机中,中断分为外部中断和内部中断两种。
二、外部中断1. 外部中断概述外部中断是指由外部设备产生的中断信号,例如按键、传感器等。
当这些设备产生信号时,会向CPU发送一个请求信号,CPU会立即停止当前执行的程序,并跳转到相应的中断服务程序进行处理。
2. 外部中断原理外部设备产生的信号经过滤波和放大后送到单片机的引脚上。
当引脚检测到高电平时,会触发外部中断,并向CPU发送一个请求信号。
CPU接收到请求信号后会立即停止当前执行的程序,并跳转到相应的中断服务程序进行处理。
3. 外部中断使用方法(1)设置引脚为输入模式,并使能对应引脚上的外部中断。
(2)编写相应的中断服务程序,在其中处理相应事件。
(3)在主函数中设置相应引脚上触发条件(例如下降沿触发、上升沿触发等)。
4. 外部中断实例以下是一个外部中断的实例,当按键按下时,LED灯会亮起:```c#include <reg52.h> //头文件sbit KEY = P3^2; //定义按键引脚sbit LED = P1^0; //定义LED引脚void KeyInterrupt() interrupt 0 //中断服务程序{if(KEY == 0) //判断按键是否按下 {LED = ~LED; //LED取反}}void main(){EX0 = 1; //使能外部中断0IT0 = 1; //设置为下降沿触发EA = 1; //总中断使能while(1){; //空循环}}```三、内部中断1. 内部中断概述内部中断是指由CPU内部产生的中断信号,例如定时器溢出、串口接收等。
当这些事件发生时,CPU会自动跳转到相应的中断服务程序进行处理。
2. 内部中断原理定时器和串口等模块在工作过程中会产生相应的标志位,当标志位被设置为1时,会向CPU发送一个请求信号。
51单片机串口中断的两种写法
单片机串口通信在嵌入式系统中具有非常重要的作用,而其中串口中断的编写方式更是至关重要。
今天我们来讨论一下51单片机串口中断的两种写法。
1. 外部中断写法在51单片机中,串口通信一般使用串口中断来实现。
外部中断写法是一种常见的串口中断编写方式。
其具体步骤如下:1)需要设置串口工作参数,包括波特率、数据位、停止位和校验位等。
2)在主程序中使能串口中断,并设置中断优先级。
3)在中断服务函数中进行接收数据的处理,可以通过接收缓冲区、中断标志位等来判断接收数据的情况,并进行相应的处理。
2. 定时器中断写法除了外部中断写法,定时器中断也是一种常见的串口中断编写方式。
其具体步骤如下:1)同样需要设置串口工作参数,包括波特率、数据位、停止位和校验位等。
2)在主程序中初始化定时器,并使能定时器中断。
3)在定时器中断服务函数中进行接收数据的处理,同样可以通过接收缓冲区、中断标志位等来判断接收数据的情况,并进行相应的处理。
总结无论是外部中断写法还是定时器中断写法,都是实现51单片机串口通信的常见方式。
在选择具体的编写方式时,需要根据具体的应用场景和需求来进行选择。
在实际应用中,可以根据具体情况来灵活选择合适的串口中断编写方式,以便更好地满足系统的需求。
在实际编写中断服务函数时,需要注意以下几点:1)处理数据时需要考虑数据的完整性和准确性,可以通过校验位等手段来验证数据的正确性。
2)在中断服务函数中应尽量减少对全局变量的访问,以避免出现数据冲突和竞争的情况。
3)合理设置中断优先级,避免产生中断嵌套和冲突。
通过合理的中断编写方式和注意事项,可以更好地实现串口通信功能,提高系统的稳定性和可靠性,为嵌入式系统的应用提供良好的技术支持。
对于外部中断写法和定时器中断写法,两者各有优缺点。
外部中断写法在串口数据到达时能够即刻响应中断、处理数据。
但是,如果数据传输速率较快或需要高精度的数据处理,外部中断写法可能无法满足要求。
在这种情况下,定时器中断写法显得更加合适。
C单片机的C语言程序设计解读
C单片机的C语言程序设计解读C单片机的C语言程序设计是指使用C语言编写单片机程序的过程。
C语言是一种通用编程语言,非常适合用于嵌入式系统开发,特别是单片机。
在单片机中,C语言用于控制和编程微处理器的功能,比如读写IO口、中断处理、定时器控制等。
1. 引入库函数:在C单片机程序设计中,首先需要引入相应的库函数。
库函数是封装了一系列常用功能的函数集合,通过调用库函数可以方便地实现各种功能。
例如,可以引入stdio.h库函数实现标准的输入输出功能,或者引入io.h库函数实现IO口控制功能。
2. 定义宏定义和常量:在C单片机程序中,可以使用宏定义和常量来定义一些固定的数值或者字符串。
宏定义使用#define指令,在程序中定义一个标识符,并将其替换为指定的文本。
常量使用const关键字定义,定义后数值不可更改。
宏定义和常量可以提高程序的可读性和可维护性。
3.变量的声明和定义:变量是C程序的基本组成元素之一,用于存储和表示数据。
在C单片机程序中,可以先声明变量的类型,然后再进行定义。
变量的类型可以是整型、浮点型、字符型等。
变量的作用范围和生命周期取决于其在程序中的声明位置。
4.函数的定义和调用:函数是C程序的另一个基本组成元素,用于封装一段独立的代码块,实现特定的功能。
在C单片机程序中,可以先定义函数的原型,然后再实现函数的具体功能。
函数的调用使用函数名和实参列表,可以将函数的返回值赋给一个变量或者作为一个表达式的值进行使用。
5. 控制语句:控制语句是用于控制程序执行流程的语句。
C单片机程序中常用的控制语句包括条件语句(if-else语句、switch语句)、循环语句(for循环、while循环、do-while循环)和跳转语句(break语句、continue语句、goto语句)。
通过控制语句可以根据不同的条件执行不同的操作,或者循环执行一些代码块,或者跳转到程序的其他位置。
6.中断处理:中断是单片机程序中常用的一种处理方式。
C51单片机C语言程序设计
C51单片机C语言程序设计单片机C语言程序设计是指使用C语言编写程序来控制和操作单片机的工作。
单片机是一种集成电路,它包含了中央处理器、存储器、输入输出接口等功能模块,广泛应用于嵌入式系统中。
在单片机C语言程序设计中,首先需要了解C语言的基本语法和语法规则。
C语言是一种面向过程的编程语言,具有简洁、高效和可移植等特点。
接下来,要熟悉单片机的硬件结构和寄存器的使用方法,了解单片机的输入输出方式、中断、定时器等功能。
在进行单片机C语言程序设计时,需要按照以下步骤进行:1.设置寄存器和引脚的初始化:根据单片机的型号和需要的功能,设置相关的寄存器和引脚的初始化。
这些初始化可以包括引脚的输入输出模式设置、中断向量表的初始化、定时器的设定等。
2.主程序的编写:主程序是单片机的执行入口,通过主程序可以完成各种功能的实现。
在主程序中,可以定义变量、函数和结构体等。
3.中断程序的编写:中断程序是由硬件触发的,可以在需要时被调用执行。
中断程序可以包括外部中断、定时器中断等。
在编写中断程序时,需要设置相应的中断向量,并完成相应的中断服务程序。
4.函数的编写:函数是实现其中一特定功能的代码段,通过函数可以提高程序的模块化和可重用性。
需要根据实际需求编写相应的函数,并在主程序中调用。
5. 调试和测试:在编写完程序后,需要进行调试和测试。
通过调试和测试可以发现程序中的bug和错误,并进行修复。
可以通过缓慢单步调试、观察变量值和输出结果等方式进行调试和测试。
6.优化和改进:在程序完成后,可以对程序进行优化和改进。
通过优化可以提高程序的性能和效率,减少资源的占用。
可以使用编译优化选项、减少不必要的计算和内存使用等方式进行优化。
以上是单片机C语言程序设计的基本步骤和内容。
在实际操作中,还需要根据具体的需求和硬件平台进行相应的调整和编程。
通过合理的设计和编程,可以实现单片机的各种功能和应用,广泛应用于电子设备、汽车、家电等领域。
无论是初学者还是有经验的程序员,都可以通过单片机C语言程序设计来进一步提高和拓展自己的技能。
PIC单片机中断程序的设计技巧
PIC单片机中断程序的设计技巧设计PIC单片机中断程序时,需要根据具体的需求和硬件环境进行合理的设计。
下面是一些设计中断程序的技巧:1.确定中断触发源:首先需要确定中断是由什么触发的,例如定时器溢出、外部中断引脚等。
根据不同的触发源,可以选择不同的中断方式,如正边沿触发、负边沿触发等。
2.中断优先级设置:如果系统中存在多个中断源,需要明确中断的优先级。
可以通过优先级控制寄存器来设置不同中断的优先级,确保在同时触发多个中断的情况下,能够正确处理高优先级的中断。
3.中断服务程序的编写:中断服务程序是在中断发生时自动执行的程序,因此需要编写相应的中断服务程序。
中断服务程序的编写需要注意以下几点:-保持中断向量表的正确性:中断向量表保存了中断向量地址,确保中断服务程序被正确调用。
需要在程序中配置中断向量表的地址,并确保中断向量表的内容正确无误。
-快速响应中断并尽快执行中断服务程序:由于中断发生时需要尽快进行响应,所以中断服务程序需要尽可能地简短和高效。
可以通过减少循环次数、使用高效的算法等方式来提高中断服务程序的执行效率。
-使用全局变量:中断服务程序通常会修改全局变量的值,所以需要在设计中考虑全局变量的使用规则,防止数据冲突问题的发生。
可以通过使用互斥机制或者禁止一些中断来解决这个问题。
4.确定中断处理的顺序和时间:如果系统中存在多个中断源,需要明确中断处理的顺序和时间。
不同的中断源可能具有不同的优先级,所以需要在设计中明确不同中断的处理顺序,确保每个中断按照优先级进行处理。
5.合理的中断延迟时间:中断处理需要一定的时间,因此需要根据具体需求和硬件环境来确定合理的中断延迟时间。
如果中断处理时间过长,可能会导致系统响应速度变慢,影响整体性能。
因此需要合理地设置中断延迟时间,确保系统能够及时地响应中断。
6.中断嵌套的处理:在一些情况下,可能会存在中断嵌套的情况,即一些中断服务程序中又发生了另一个中断。
在设计中断程序时,需要考虑到中断嵌套的处理方式,例如设置屏蔽中断或者暂时禁止其他中断的发生,确保中断的处理顺序正确无误。
嵌入式技术基础与实践复习题参考答案
嵌入式技术基础与实践(第二版)习题参考答案目录嵌入式技术基础与实践(第二版) (1)习题参考答案 (1)第 1 章概述习题参考答案. (2)第 2 章 FreescaleS08微控制器习题参考答案 (3)第 3 章第一个样例程序及工程组织习题参考答案. (4)第 5 章串行通信接口SCI 习题参考答案 (6)第 6 章 GPIO的应用实例—键盘、LED与 LCD习题参考答案 (9)第 7 章定时器模块习题参考答案 (10)第 8 章串行外设接口SPI 习题参考答案 (11)第 9 章 Flash 存储器在线编程习题参考答案 (13)第 1章概述习题参考答案1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统?答:即 MCU的含义是:在一块芯片上集成了中央处理单元( CPU)、存储器( RAM/ROM等)、定时器 / 计数器及多种输入输出( I/O )接口的比较完整的数字处理系统。
大部分嵌入式系统以 MCU为核心进行设计。
MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。
因此以MCU为核心的系统是应用最广的嵌入式系统。
2.简述嵌入式系统的特点以及应用领域。
答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现 ; 嵌入式系统开发需要专用工具和特殊方法 ; 使用 MCU设计嵌入式系统,数据与程序空间采用不同存储介质 ; 开发嵌入式系统涉及软件、硬件及应用领域的知识 ; 嵌入式系统的其他特点 , 比如紧的资源,较高稳定性要求,低功耗,低成本等。
一般用于工业控制,智能家电,日常电子等领域。
4.比较 MCU与 CPU的区别与联系。
答: CPU是一个单独的PC处理器。
而MCU,则有微处理器,存储器(RAM/ROM等)、定时器 / 计数器及多种输入输出(I/O )接口的比较完整的数字处理系统。
所以可以这么说,MCU是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在编写单片机的程序中,中断服务程序中可以定义变量,如果希望下一次再进入中断的时候还可以保留变量原来的值,就需要把它设置为static型的。
比如,定义一个bit型变量作为某种判断的标志。
关于好不好的问题,以我现有的知识,好像是解决不了的,很抱歉
一个中断的处理过程大概是这样的:
1、现行指令结束,且没有更紧急的服务请求。
2、关CPU中断,CPU不能再响应其他任何中断源的中断请求。
3、保存中断点,通常是指保存程序计数器PC中的内容,把它压入到系统堆栈中,以便在终端服务完成后返回到原来的程序中去。
4、撤销设备的中断服务请求,如果这个中断源的中断请求不撤销的话,那么在开CPU中断后,它必然将再次请求终端服务。
5、保存硬件现场。
6、识别中断源。
7、改变设备的屏蔽状态。
8、转向中断服务程序入口,一般还要在中断服务程序中通过软件才能找到具体中断源的中断服务程序入口。
9、保存软件现场,主要指保存将要被中断服务程序破坏的通用寄存器中的内容等。
10、开CPU中断,CPU可以响应其他更高级中断源的终端服务请求,中断源之间可以实现中断嵌套。
11、执行中断服务程序。
12、关CPU中断,CPU不响应任何中断源的中断服务请求。
在下一次开CPU中断之前,正在运行的程序不允许被中断。
13、恢复软件现场,恢复被中断服务程序破坏的通用寄存器中的内容等。
14、恢复屏蔽状态。
15、恢复硬件现场,主要指恢复处理机状态字PSW及堆栈指针SP等中的内容,准备返回中断点。
16、开CPU中断。
17、返回到中断点。
其中红字的部分一般用硬件实现,蓝字的部分一般用软件实现,其他可以用硬件也可以用软件实现。
从上面这个过程似乎可以得到,在执行中断服务程序之前,很多东西都被保护起来了,所以执行中断程序的时候不必担心破坏什么东西。
我们可以对全局变量进行操作,也可以定义一个新的变量,这只是占用了一定的存储空间和时间的问题。
恩,我也不知道自己理解的对不对,毕竟计算机系统结构是很复杂的哈,还希望大家帮忙理解一哈。