在编写单片机的程序中中断服务程序中可以定义变量如果
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语言教程是一个庞大而丰富的话题,需要通过实践和深入学习来掌握。
- 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、返回到中断点。
其中红字的部分一般用硬件实现,蓝字的部分一般用软件实现,其他可以用硬件也可以用软件实现。
从上面这个过程似乎可以得到,在执行中断服务程序之前,很多东西都被保护起来了,所以执行中断程序的时候不必担心破坏什么东西。
我们可以对全局变量进行操作,也可以定义一个新的变量,这只是占用了一定的存储空间和时间的问题。
恩,我也不知道自己理解的对不对,毕竟计算机系统结构是很复杂的哈,还希望大家帮忙理解一哈。