80C51单片机中断教案

80C51单片机中断教案
80C51单片机中断教案

MCS-51单片机的中断系统8051单片机中断系统的结构如图5.3所示。

确定:中断源,中断允许,中断触发方式,中断优先级

P3.2--INT0——外部中断0请求,通过引脚输入。

P3.3--INT1——外部中断1请求,通过引脚输入。

P3.3—T0

P3.3—T1

入低电平时,置位IE0;IT0=1,为脉冲触发方式。

5.2.1 中断源

8051中断系统的5个中断源为:

INT0——外部中断0请求,通过P3.2引脚输入。

INT1——外部中断1请求,通过P3.3引脚输入。

T0——定时器/计数器0溢出中断请求。

T1——定时器/计数器1溢出中断请求。

TI/RI——串行口中断请求。

四、中断程序设计

1.中断程序设计的一般方法:

(1) 主程序中的中断系统初始化

1)设置中断系统特殊功能寄存器(例中断源的触发方式);

2)设置中断优先极;

3)设置中断允许寄存器(开中断);

4)中断服务程序的前期初始化(例如入口参数等)。

(2) 中断响应与中断服务程序

1. 中断响应条件

CPU响应中断的条件有:

?有中断源发出中断请求。

?中断总允许位EA=1,即CPU开中断。

?申请中断的中断源的中断允许位为1,即中断没有被屏蔽。

?无同级或更高级中断正在被服务。

?当前的指令周期已经结束。

?若现行指令为RETI或者是访问IE或IP指令时,该指令以及紧接着的另一条指令已经执行完毕。

例1假设允许片内定时器/计数器中断,禁止其他中断。试根据假设条件设置IE的相应值。

根据题目要求,要允许内部定时器中断,就需要将IE寄存器的EA、ET1、ET0置1,其他位清0,可分别通过字节寻址或者位寻址进行。

(1) 用字节操作指令:

MOV IE,#8AH 或者,

MOV` A8H,#8AH

(2) 用位操作指令:

SETB ET0 ;定时器/计数器0允许中断

SETB ET1 ;定时器/计数器1允许中断

SETB EA ;CPU开中断

例1系统要求设定8051的片外中断为高优先级中断,片内中断为低优先级。请写出相应的指令。

解:根据题目要求,需要将8051的外部中断优先级控制位PX0、PX1设置为1,而内部中断优先级控制位PT0、PT1、PS清为0。

(1) 用字节操作指令:

MOV IP,#05H

(2) 用位操作指令:

SETB PX0

SETB PX1

CLR PS

CLR PT0

CLR PT1

实现单步调试的程序如下。

ORG 0000H

LJMP MAIN

ORG 0003H ;外部中断0的中断服务程序入口

LJMP INTSEV

ORG 0030H

MAIN: MOV SP, #70H

CLR IT0 ;设INT0为电平方式

SETB EA ;开中断

SETB PX0 ;外部中断为高优先级

SETB EX0 ;允许外部中断0中断

……;用户程序

……

……

INTSEV: JNB P3.2, $

JB P3.2, $

RETI

中断服务程序最后一条指令时RETI,其作用是将内部优先级状态触发器清零,从堆栈中弹出两个字节(断点地址)到程序计数器PC,程序返回到原点处,结束中断过程。

中断相应,先将中断断点地址压入堆栈保护起来,然后根据不同的中断源将程序转向相应的中断服务程序入口。这是通过硬件自动生成一条长调用指令LCALL实现的。、

中断请求撤除

1、定时器溢出中断请求的撤除

TF0,TF1是定时器溢出中断标志位,他们因定时器溢出中断请求的输入而置位,因定时器溢出中断得到响应而自动复位成0状态。

2、串行口中断请求撤除

TI和RI是串行口中断标志位,中断系统不能自动将他们撤除,,用户在应用中断服务程序的适当位置通过如下指令将他们撤除:

CLR TI

CLR RI

3、外部中断的撤除

负边沿触发,芯片设计者在使CPU在响应中断时自动复位IE0和IE1,就可撤除INT0,或INT1上的中断请求。

电平触发,尽管CPU响应中断时中断标志IE0,IE1能自动复位成0,但若中断源不能及时撤除,它在INT0,INT1上的低电平就会再次使已经变0的中断标志IE0,IE1置位。要及时撤除中断源。

单片机期末考试试卷以及参考答案

单项选择 1. PC的内容是: A 当前指令前一条指令的地址 B 下一条指令的地址 C 控制器中指令寄存器的地址 D 当前正在执行指令的地址 2. 在MOVX A,@DPTR指令中,DPTR的内容是 A 片内数据存储器地址 B 片外程序存储器地址 C 片内程序存储器地址 D 片外数据存储器地址 3.以下指令没有错误的是 A PUSH DPTR B SUBB R3,R0 C POP DPTR D ADD A,@R1 https://www.360docs.net/doc/d73215222.html,B是 A 总线标准 B 可编程并行接口 C 可编程串行接口 D 译码器 5.在MCS-51中,为实现P0口数据和低位地址分时复用,应使用 A 地址寄存器 B 地址译码器 C 地址缓冲器 D 地址锁存器 6.MCS-51单片机启动复位后,程序计数器PC的内容为 A 0000H B 1000H C 2000H D 3000H 7.不能使MCS-51单片机的SP改变的指令是 A ANL 指令 B PUSH指令 C POP指令 D LCALL指令 8.MCS-51单片机PUSH指令的操作数是 A 位操作数 B 双字操作数 C 字节操作数 D 字操作数 9. 8031片外扩展数据存储器的最大容量是 A 16K B 64K C 8K D 32K 10.在LED显示中,为了输出位控和段控信号,应使用指令 A MOVX B MOV C MOVC D XCH 11.MCS-51执行子程序返回指令,从栈顶弹出的断点地址送给 A DPTR B CY C SP D PC 12.MCS-51执行出栈指令过程中,SP A 加2 B 减2 C 减1 D 加1 13.MCS-51的定时器/计数器是 A 两个16位的加法计数器 B 1个16位的加法计数器 C 两个16位的减法计数器 D 1个16位的减法计数器 14.MCS-51的MOV A,20H指令的源操作数的寻址方式是 A 直接寻址 B 位寻址 C 立即寻址 D 间接寻址 15.以下关于8155的叙述哪一个是错误的 A 是一个可编程的并行接口 B 有256个单元的RAM C 是一个可编程的接口芯片 D 是一个可编程的串行接口 16.D/A是 A 模数转换器 B 解调器 C 调制器 D 数模转换器

实验四单片机中断优先级实验

实验四单片机中断优先级实验 一、实验目的 1.理解AT89C51单片机中断优先级和优先权。 2.用PROTEUS设计、仿真基于AT89C51单片机的中断优先级实验。 3.掌握中断编程。 4.掌握发光二极管的控制方法。 二、实验要求 单片机主程序控制P0口数码管循环显示0~8;外中断(INT0)、外中断(INT1)发生时分别在P2、P1口依次显示0~8;INT1为高优先级,INT0为低优先级。 三、电路设计 1.从 ① ②RES、 ③ ④CAP、CAP-ELEC:电容、电解电容; ⑤CRYSTAL:晶振; ⑥BUTTON:按钮。 2.放置元器件 3.放置电源和地 4.连线 5.元器件属性设置 6.电气检测 四、源程序设计、生成目标代码文件 1.流程图 2.源程序设计

通过菜单“source→Add/Remove Source Files…”新建源程序文件:。 通过菜单“source→”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。 程序编辑好后,单击按钮存入文件。 3.源程序编译汇编、生成目标代码文件 通过菜单“source→Build All”编译汇编源程序,生成目标代码文件。若编译失败,可对程序进行修改调试直至汇编成功。 五、PROTEUS仿真 1.加载目标代码文件 2.全速仿真 单击按钮,启动仿真。 (1)低优先级INT0中断主程序:当主程序运行时,单片机控制与P0口相接的数码管循环显示1~8;而P1、P2口的数码管不显示。当前主程序控制P0口显示“8”的时刻单击“低优先级输入”按钮,触发INT0如图所示,INT0服务程序控制P2口依次显示1~8,当前显示“2”。 (2)高优先级INT1中断低优先级INT0;在上一步的基础上,即主程序被INT0中断在P0口输出“8”,而在INT0服务程序在P2口输出“2”的时刻,单击“高优先级输入”按钮,触发高优先级INT1,所在INT0被中断在显示“2”,INT1服务程序控制P1口依次显示1~8。

51单片机期末备考试题(有答案)1

卷一(答案在题后) 一、填空题(23分,每空1分) 1. MCS-51系列单片机为__位单片机 2. AT89S51有__级优先级中断,__个中断源 3. AT89S51单片机指令系统的寻址方式有___、___、___、___、___、___。 4. 如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= ___,(R7)= ___ 5. 74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中__片芯片。 6. 若A中的内容为67H,那么,P标志位为__ 7.半导体存储器分成两大类:__和__,其中__具有易失性,常用于存储临时性数据 8.求十进制数-102的补码(以2位16进制数表示),该补码为__ 9.8051内部有__个并行口,__口直接作输出口时,必须外接上拉电阻;并行口作输入口时,必须先将口锁存器置__,才能读入外设的状态。 10.通过CPU对i/o状态的测试,只有i/o已准备好时才能进行i/o传送,这种传送方式称为_______ 11.已知fosc=12MHz,T0作为定时器使用时,其定时时间间隔为___1us 12.若AT89S51外扩8KB 程序存储器的首地址若为1000H,则末地址为__H 2FFF 13. 在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行__次 答案: 1. 8 2. 2 5 3.寄存器寻址直接寻址寄存器间接寻址立即寻址基址寄存器寻址变址寄存器寻址 4. 0ABH 34H 5. 8 6. 1 7. RAM ROM RAM 8. 9AH 9. 4 P0 1 10.程序查询方式 11. 1us 12. 2FFF 13. 256 学海无涯苦作舟,祝你学业有成。

单片机中断程序大全

单片机中断程序大全公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

//实例42:用定时器T0查询方式P2口8位控制L E D闪烁#include // 包含51单片机寄存器定义的头文件void main(void) { // EA=1; //开总中断 // ET0=1; //定时器T0中断允许 TMOD=0x01; //使用定时器T0的模式1 TH0=(65536-46083)/256; //定时器T0的高8位赋初值 TL0=(65536-46083)%256; //定时器T0的高8位赋初值 TR0=1; //启动定时器T0 TF0=0; P2=0xff; while(1)//无限循环等待查询 { while(TF0==0) ; TF0=0; P2=~P2; TH0=(65536-46083)/256; //定时器T0的高8位赋初值 TL0=(65536-46083)%256; //定时器T0的高8位赋初值 //实例43:用定时器T1查询方式控制单片机发出1KHz音频

#include // 包含51单片机寄存器定义的头文件sbit sound=P3^7; //将sound位定义为P3.7引脚 void main(void) {// EA=1; //开总中断 // ET0=1; //定时器T0中断允许 TMOD=0x10; //使用定时器T1的模式1 TH1=(65536-921)/256; //定时器T1的高8位赋初值 TL1=(65536-921)%256; //定时器T1的高8位赋初值 TR1=1; //启动定时器T1 TF1=0; while(1)//无限循环等待查询 { while(TF1==0); TF1=0; sound=~sound; //将P3.7引脚输出电平取反 TH1=(65536-921)/256; //定时器T0的高8位赋初值 TL1=(65536-921)%256; //定时器T0的高8位赋初值 } } //实例44:将计数器T0计数的结果送P1口8位LED显示 #include // 包含51单片机寄存器定义的头文件sbit S=P3^4; //将S位定义为P3.4引脚

单片机期末考试试题

单片机期末考试试题 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

单片机期末考试试题 01、单片机是将微处理器、一定容量的 RAM 和ROM以及?? I/O?? 口、定时器等电路集成在一块芯片上而构成的微型计算机。 2、单片机89C51片内集成了???? 4??? KB的FLASH ROM,共有??? 5???? 个中断源。 3、两位十六进制数最多可以表示??? 256?? 个存储单元。 4、89C51是以下哪个公司的产品(?? C?? ) A、INTEL??? B、AMD??? C、ATMEL?? D、PHILIPS 5、在89C51中,只有当EA引脚接??? 高??? 电平时,CPU才访问片内的Flash ROM。 6、是非题:当89C51的EA引脚接低电平时,CPU只能访问片外ROM,而不管片内是否有程序存储器。T 7、是非题:当89C51的EA引脚接高电平时,CPU只能访问片内的4KB空间。F 8、当CPU访问片外的存储器时,其低八位地址由?? P0?? 口提供,高八位地址由?? P2?? 口提供,8位数据由??? P0?? 口提供。 9、在I/O口中,??? P0??? 口在接LED时,必须提供上拉电阻,??? P3?? 口具有第二功能。 11、是非题:是读端口还是读锁存器是用指令来区别的。T 12、是非题:在89C51的片内RAM区中,位地址和部分字节地址是冲突的。F 13、是非题:中断的矢量地址位于RAM区中。F 15、89C51具有??? 64?? KB的字节寻址能力。 16、是非题:在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX 指令,访问片内RAM区时用MOV指令。T 17、在89C51中,片内RAM分为地址为?? 00H~7FH?? 的真正RAM区,和地址为80H~FFH的特殊功能寄存器(SFR) 区两个部分。 18、在89C51中,通用寄存器区共分为?? 4?? 组,每组??? 8?? 个工作寄存器,当CPU复位时,第?? 0?? 组寄存器为当前的工作寄存器。 19、是非题:工作寄存器区不允许做普通的RAM单元来使用。F 20、是非题:工作寄存器组是通过置位PSW中的RS0和RS1来切换的。T

单片机中断实验报告

人的一生要疯狂一次,无论是为一个人,一段情,一段旅途,或一个梦想 ------- 屠呦呦 实验三定时器中断实验 一、实验目的 1、掌握51单片机定时器基本知识; 2、掌握定时器的基本编程方法; 3、学会使用定时器中断。 二、实验内容 1、利用定时器设计一个秒表,计数范围为0—59,并在数码管实时显示。 三、实验设备 PC 机一台、单片机实验箱 主要器件:AT89C52、7SEG-BCD、 四、实验步骤 1、使用Proteus设计仿真原理图; 2、使用Keil设计程序; 3、联合调试仿真。 五、实验流程图 六、实验程序与结果 #include #define uint unsigned int #define uchar unsigned char sbit F=P2^1;

void timer1_init() { TMOD=0x10;//将定时器1设置为工作方式1 TH1=(65536-6000)/256;//定时器每加一时间为1/fsoc,定时时间为1/500 //(1/500)s/(1/3000000)s=6000 TL1=(65536-6000)%256;//fsoc=3000000,所以装入16位定时器中值为65536-6000 EA=1; ET1=1; TR1=1; } void main() { timer1_init(); while(1); } void timer1() interrupt 3 { TH1=(65536-6000)/256;//每次进入中断,重装初值TL1=(65536-6000)%256; F=~F;//每次进入中断P1.1口取反 } #include #define uint unsigned int #define uchar unsigned char sbit F=P2^1; void timer0_init() {TMOD=0x01;//将定时器0设置为工作方式1 TH0=(65536-83)/256;//定时器每加一时间为1/fsoc,定时时间为2Khz,既500us //500us/6us=83.3333 TL0=(65536-83)%256;//fsoc=6000000,所以装入16位定时器中值为65536-83 EA=1; ET0=1; TR0=1; }void main() { timer0_init(); while(1); } void timer0() interrupt 1 { TH0=(65536-83)/256;//每次进入中断,重装初值 TL0=(65536-83)%256; F=~F;//每次进入中断P1.1口取反,表示定时时间到 } #include // 包含51单片机寄存器定义的头文件 #define seg_data P1 #define seg_data2 P3 #define uint unsigned int sbit D1=P2^0; //将D1位定义为P2.0引脚 uint counter=0; unsigned int unit=0,decade=0,avs=0;//time=0;

山东大学单片机原理与应用期末试卷与答案

一、填空 1、MCS51 单片机的控制信号线有 2、MCS51 单片机内部RAM 的位寻址空间有位,位寻址空间对 应的字节地址为,位地址为 3、MCS51 单片机并行口P0的用途是 P2 口的用途是 4、指令MOV P1,@R0 中两操作数的寻址方式分别是 5、2764 为芯片,地址线条,可扩展K 空 间,地址从0000H 至H 6、外部中断INT1 的中断入口地址为,在同级 优先级中串行口中断的优先级排在第位。 7 定时/ 计数器有四种工作方式:方式0 的功能 为:,方式 1 的功能 为:,方式2 的功能为: ,方式3 的功能为: 8、若晶振为12MHz,则一个机器周期为:,一条双字节单周 期指令的执行时间是。 9、MCS51 单片机的堆栈设置在区内,堆栈的最深深度为 字节。 二、请写出完成下列功能的指令(可用多条语句实现) 1、将R0 内容送入R7 2、将位地址50H 内容送入SMOD 位 3、将外部EPROM 1000H 单元内容送入外部RAM 3000H 单元

4、用单条指令完成累加器ACC 清零,有几种方法。 5、设RS1=0,RS0=1,将R1 内容入栈 三、读程序,填写执行结果 1、MOV 40H,#36H MOV R0,#40H MOV A,@R0 SETB C ADDC A,#0F9H C AC F0 RS1 RS0 OV P 2、MOV SP,#50H MOV DPTR,#1050H MOV A,#88H PUSH DPL PUSH DPH PUSH ACC POP DPL POP DPH POP ACC 3、MOV A,#40H SWAP A INC A MOVC A,@A+PC S0: AJMP S0 TAB: DB 10H,11H,12H,13H,14H,15H DB 16H,17H,18H,1AH,19H,1BH 四、程序设计 编程序完成下列逻辑功能 F ABC ( A C) B

51单片机独立按键程序查询法和外部中断两种

//以下程序都是在VC++6.0 上调试运行过的程序,没有错误,没有警告。 //单片机是STC89C52RC,但是在所有的51 52单片机上都是通用的。51只是一个学习的基础平台,你懂得。 //程序在关键的位置添加了注释。 //用//11111111111111111代表第一个程序。//2222222222222222222222222代表第二个程序,以此类推 //1111111111111111111111111111111111111111111111111111111111111111111 //1111111111111111111111111111111111111111111111111111111111111111111 /****************************************************************************** * * 实验名: 左右流水灯实验 * 使用的IO : LED使用P2,键盘使用P3.1 * 实验效果: 按下K1键, * 注意: ******************************************************************************* / #include #include #define GPIO_LED P2 sbit K1=P3^1; void Delay10ms( ); //延时10ms /****************************************************************************** * * 函数名: main * 函数功能: 主函数 * 输入: 无 * 输出: 无 ******************************************************************************* / void main(void) { unsigned int i,j; j=0xfe; //1111_1110 while(1) { GPIO_LED=j; if(K1==0) //检测按键K1是否按下 { Delay10ms(); //消除抖动 if(K1==0) {

单片机期末考试试题

物理与电气工程学院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单片机的堆栈区只可设置在存储区(器)。 17、单片机的复位操作是__________(高电平/低电平),单片机复位后,中断允许寄存器IE的值是________。 18、8255A内部控制电路还可以分成两组:A组和B组。其中A组控制的对象是,B 组控制的对象是。 19、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为________,机器周期为 ____________。 20、A/D芯片选择最主要的参数是__________和_____________。 21、C51定义可寻址位,使用关键字为___ _ 。 25、变量tmp=0x15,经运算tmp>>=4;后的tmp值为___ _ 。 26、C51数组的下标是从__ __开始的。

[业务]51单片机期末考试试卷及答案2

[业务]51单片机期末考试试卷及答案2 一、填空题 1、设X=5AH,Y=36H,则X与Y“或”运算为7EH,X与Y的“异或”运算为 6CH。 2、若机器的字长为8位,X=17,Y=35,则X,Y=110100,X,Y=11101110(要求 结果写出二进制形式)。 3、单片机复位后,堆栈指针SP的值是07h。 4、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为1/6us,机器周期为2us。 5、一个函数由两部分组,即说明部分和语句部分。 6、C语言中输入和输出操 作是由库函数scanf和printf等函数来完成。 7.当MCS-51引脚 ALE 信号有效时,表示从Po口稳定地送出了低8位地址. 8.MCS-51的堆栈是软件填写堆栈指针临时在_片内数据存储_器内开辟的区域. 9.MCS-51有4组工作寄存器,它们的地址范围是 00H-1FH 。 10.MCS-51片内 20H-2FH 范围内的数据存储器,既可以字节寻址又可以位寻址. 11.计算机的系统总线有数据总线、地址总线、控制总线。 12.一个机器周期等于 6个状态周期,振荡脉冲2分频后产生的时钟信号的周期定义为状态周期。 13、单片机的复位操作是_高电平,寄存器IE的值是_EA、ES、ET1、EX1、 ET0、EX0_。 14、若选择内部程序存储器,应该设置为高电平(高电平/低电平),那么,PSEN信号的处理方式为不用。 15、单片机程序的入口地址是0000H ,外部中断1的入口地址是0013H 。 16、片机的内部RAM区中,可以位寻址的地址范围是20H-2FH ,特殊功能寄存器中,可位寻址的地址是能被8整除的地址。

单片机期末考试·试题含答案6-(1)

机模拟试卷006及答案 一、填空题(每空1分,共10分) 一、填空(每题2分,共10分) 1、MCS-51单片机片内有 5 个中断源,其中 2 个外部中断源。 2、设定T1为计数器方式,工作方式2,则TMOD中的值为 60H(高位为6即可)。 3、若IT1=0,当引脚P3.2为低电平的时候,INT0的中断标志位IE0才能复位。 4、在接口电路中,把已经编址并能进行读写操作的寄存器称为端口。 5、在单片机中,为实现数据的I/O传送,可使用三种控制方式,即无条件传送方式、查询方式和中断方式 二、选择题(每小题2分,共10分) 1、寻址空间为数据程序存储器所用的指令是(A): A. MOVX B.MOV C.MOVC D.ADDC

2、执行中断返回指令,从堆栈弹出地址送给(C). A. A B. CY C. PC D. DPTR 3、七段共阴极发光两极管显示字符‘H’,段码应为(E) A.67H B. 6EH C. 91H D. 76H E.90H 4、在串行通信中,8031中发送和接收的寄存器是( B) 。 A.TMOD B. SBUF C. SCON D. DPTR 5、波特的单位是(B) A. 字符/秒 B. 位/秒 C. 帧/秒 D. 字节/秒 三、指令题(每小题4分,共16分) 1、将20H单元清零 MOV 20H,#00H 或 CLR A MOV 20H, A 2、将片外RAM2000H中的低字节与片内20H中的低字节交换。 MOV DPTR,#2000H XCHD A,@R0

MOV R0,#20H MOVX @DPTR,A MOVX @DPTR,A 3、已知某端口地址为2FFFH,将片内RAM20H的内容写到该端口中。 MOV A, 20H MOVX DPTR, #2FFFH MOVX @DPTR, A 4、把DPTR的内容压入堆栈 PUSH DPH PUSH DPL 四、填写下表(每空2分,共10分)

单片机中断实验报告

实验三定时器中断实验 一、实验目的 1、掌握51单片机定时器基本知识; 2、掌握定时器的基本编程方法; 3、学会使用定时器中断。 二、实验内容 1、利用定时器设计一个秒表,计数范围为0—59,并在数码管实时显示。 三、实验设备 PC 机一台、单片机实验箱 主要器件:AT89C52、7SEG-BCD、 四、实验步骤 1、使用Proteus设计仿真原理图; 2、使用Keil设计程序; 3、联合调试仿真。 五、实验流程图 六、实验程序与结果 #include #define uint unsigned int #define uchar unsigned char sbit F=P2^1; void timer1_init() 开始 设置显示初值启动定时器 判断是否到59 继续 是 否

{ TMOD=0x10;//将定时器1设置为工作方式1 TH1=(65536-6000)/256;//定时器每加一时间为1/fsoc,定时时间为1/500 //(1/500)s/(1/3000000)s=6000 TL1=(65536-6000)%256;//fsoc=3000000,所以装入16位定时器中值为65536-6000 EA=1; ET1=1; TR1=1; } void main() { timer1_init(); while(1); } void timer1() interrupt 3 { TH1=(65536-6000)/256;//每次进入中断,重装初值TL1=(65536-6000)%256; F=~F;//每次进入中断P1.1口取反 } #include #define uint unsigned int #define uchar unsigned char sbit F=P2^1; void timer0_init() {TMOD=0x01;//将定时器0设置为工作方式1 TH0=(65536-83)/256;//定时器每加一时间为1/fsoc,定时时间为2Khz,既500us //500us/6us=83.3333 TL0=(65536-83)%256;//fsoc=6000000,所以装入16位定时器中值为65536-83 EA=1; ET0=1; TR0=1; }void main() { timer0_init(); while(1); } void timer0() interrupt 1 { TH0=(65536-83)/256;//每次进入中断,重装初值 TL0=(65536-83)%256; F=~F;//每次进入中断P1.1口取反,表示定时时间到 } #include // 包含51单片机寄存器定义的头文件 #define seg_data P1 #define seg_data2 P3 #define uint unsigned int

51单片机原理及应用期末考试试题汇总7

一、选择题 从下列各题4个备选答案中选出一个或二个正确答案 并将其代号写在题干后面的括号内。 1、8051基本型单片机内部程序存储器容量为 C 。 A、16KB B、8KB C、4KB D、128B 2、8051基本型单片机内部RAM容量为D。 A、16KB B、8KB C、4KB D、128B 3、当优先级的设置相同时 若以下几个中断同时发生 A 中断优先响应。 A、外部中断0 B、T1 C、串口 D、T0 4、在80C51单片机应用系统中 可以作为时钟输出的是 C 引脚。 A、EA B、RST C、ALE D、PSEN 5、当CPU响应外部中断1 的中断请求后 将自动转向 B 。 A、0003H B、0013H C、000BH D、001BH 6、为了能够使MCS-51单片机在正常工作中及时服务于多个外设 以下传送方式最适用的是 D 。 A、异步 查询 传送 B、同步 无条件 传送 C、DMA传送 D、中断传送 7、已知1只共阴极LED显示器 其中a笔段为字形代码的最低位 若需显示数字1 它的字形代码应为(A )。A、06H B、0F9H C、30H D、0CFH 8、已知1只共阳极LED显示器 其中a笔段为字形代码的最低位 若需显示小数点“.” 它的字形码应为(A)。A、7FH B、0F9H C、30H D、80H 9、已知1只共阴极LED显示器 其中a笔段为字形代码的最低位 若需显示小数点“.”共阳极 它的字形码应为(A )。A、80H B、0F9H C、30H D、7FH 10、下列数据字定义的数表中 (C、D)是错误的。 A、DW “AA” B、DW “A” C、DW “OABC” D、DW 1ABC2H 11、若P1口接有一个4×4的行列键盘 则P1口一定有 C、D 。 A、8位输入口 B、8位输出口 C、4位输入口 D、4位输出口 12、以下指令中能够产生WR信号的是 B、D 。 A、MOV @R0,A B、MOVX @R0,A C、MOVX A @DPTR D、MOVX @DPTR,A 13、8031单片机的定时器T1用作定时方式时是 A、B 。 A、以内部时钟频率为定时基准 12个时钟周期加1 B、以内部时钟频率为定时基准 1个机器周期加1 C、以外部脉冲为定时基准 12个脉冲加1 D、以外部脉冲为定时基准 每个脉冲加1 14、DAC0832在单片机系统中是一种 B、D 器件。 A、输入 B、输出 C、将数字量转换成模拟量 D、将模拟量转换成数字量 15、家用电器中使用的单片机应属于计算机的 B 。 A、辅助设计应用B.测量、控制应用C.数值计算应用 D.数据处理应用 16、对程序存储器的读操作 只能使用 D 。 A MOV指令 B. PUSH指令 C. MOVX指令 D. MOVC指令 17、若82C55的PC口接有一个4×4的行列键盘 则PC口一定有 C、D 。 A、8位输入口 B、8位输出口 C、4位输入口 D、4位输出口 18、下列说法正确的是 A、B 。 A、立即数寻址方式是操作数本身就在指令中 而不是它的地址在指令中。

单片机期末考试试卷及答案

一、填空题 1、设X=5AH,Y=36H,则X与Y“或”运算为7EH,X与Y的“异或”运算为6CH。 2、若机器的字长为8位,X=17,Y=35,则X+Y=110100,X-Y=11101110(要求结果写出二进制形式)。 3、单片机复位后,堆栈指针SP的值是07h。 4、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为0.5us,机器周期为2us。 5、一个函数由两部分组,即说明部分和语句部分。 6、C语言中输入和输出操作是由库函数scanf和printf等函数来完成。 7.当MCS-51引脚 ALE 信号有效时,表示从Po口稳定地送出了低8位地址. 8.MCS-51的堆栈是软件填写堆栈指针临时在_片内数据存储_器 内开辟的区域. 9.MCS-51有4组工作寄存器,它们的地址范围是00H-1FH 。 10.MCS-51片内 20H-2FH 范围内的数据存储器,既可以字节寻址又可以位寻址. 11.计算机的系统总线有数据总线、地址总线、控制总线。 12.一个机器周期等于6个状态周期,振荡脉冲2分频后产生的时钟信号的周期定义为状态周期。 13、单片机的复位操作是_高电平,寄存器IE的值是_EA、ES、ET1、EX1、ET0、EX0_。 14、若选择内部程序存储器,应该设置为高电平(高电平/低电平),那么,PSEN信号的处理方式为不用。 15、单片机程序的入口地址是0000H ,外部中断1的入口地址是0013H 。 16、片机的内部RAM区中,可以位寻址的地址范围是20H-2FH ,特殊功能寄存器中,可位寻址的地址是能被8整除的地址。 17、eiL C51软件中,工程文件的扩展名是UV2,编译连接后生成可烧写的文件扩展名是HEX。 18、CS-51单片机中,在IP=0x00时,优先级最高的中断是外部中断,最低的是串行口中断。 19、CS—51单片机的P0—P4口均是并行 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的数据总线和地址总线,在P0—P4口中,P0为真正的双向口, P1-P3 为准双向口。 20、S—5l单片机的堆栈区只可设置在片内数据存储区(器)

单片机实验四报告材料_外中断实验

大学实验报告 学生:学号:专业班级: 实验类型:?验证?综合■设计?创新实验日期:2018.05.29 实验成绩: 实验四外中断实验 (一)实验目的 1.掌握单片机外部中断原理; 2.掌握数码管动态显示原理。 (二)设计要求 1.使用外部中断0和外部中断1; 2.在动态数码管上显示中断0次数,中断1用作次数清0,数码管采用74HC595驱动。 (三)实验原理 1.中断 所谓中断是指程序执行过程中,允许外部或部时间通过硬件打断程序的执行,使其转向为处理外部或部事件的中断服务程序中去,完成中断服务程序后,CPU返回继续执行被打断的程序。如下图所示,一个完整的中断过程包括四个步骤:中断请求、中断响应、中断服务与中断返回。 当中断请求源发出中断请求时,如果中断请求被允许的话,单片机暂时中止当前正在执行的主程序,转到中断处理程序处理中断服务请求。中断服务请求处理完后,再回到原来被中止的程序之处(断电),继续执行被中断的主程序。 如果单片机没有终端系统,单片机的大量时间可能会浪费在是否有服务请求发生的查询操作上,即不论是否有服务请求发生,都必须去查询。因此,采用中断技术大大地提高了单片机的工作效率和实时性。

2.IAP15W4K58S4单片机的中断请求 IAP15W4K58S4单片机的中断系统有21个中断请求源,2个优先级,可实现二级中断服务嵌套。由IE、IE2、INT_CLKO等特殊功能寄存器控制CPU是否相应中断请求;由中断优先级高存器IP、IP2安排各中断源的优先级;同优先级2个以中断同时提出中断请求时,由部的查询逻辑确定其响应次序。 中断请求源中的外部中断0(INT0)和外部中断1(INT1)详述如下: (1)外部中断0(INT0):中断请求信号由P3.2引脚输入。通过IT0来设置中断请求的触发方式。当IT0为“1”时,外部中断0为下降沿触发;当IT0为“0”时,无论是上升沿还是下降沿,都会引发外部中断0。一旦输入信号有效,则置位IE0标志,向CPU申请中断。 (2)外部中断1(INT1):中断请求信号由P3.3引脚输入。通过IT1来设置中断请求的触发方式。当IT1为“1”时,外部中断1为下降沿触发;当IT1为“0”时,无论是上升沿还是下降沿,都会引发外部中断1。一旦输入信号有效,则置位E1标志,向CPU申请中断。 中断源是否有中断请求,是由中断请求标志来表示的。在IAP15W4K58S4单片机中,外部中断 0、外部中断1等请求源的中断请求标志分别由特殊功能寄存器TCON和SCON控制,格式如下: (1)TCON寄存器中的中断请求标志。TCON为定时器T0与T1的控制寄存器,同时也锁存T0和T1的溢出中断请求标志及外部中断0和外部中断1的中断请求标志等。格式如下图所示: D7 D6 D5 D4 D3 D2 D1 D0 88H 与中断有关的各标志位功能如下: ①TF1:T1的溢出中断请求标志。T1被启动计数后,从初值做加1计数,计满溢出后由硬件 置位TFI,同时向CPU发出中断请求,此标志一直保持到CPU 响应中断后才由硬件自动清0。 也可由软件查询该标志,并由软件清0。 ②TF0:T0的溢出中断请求标志。T0被启动计数后,从初值做加1计数,计满溢出后由硬件 置位TF0,同时向CPU发出中断请求,此标志一直保持到CPU响应中断后才由硬件自动清 0。也可由软件查询该标志,并由软件清0。 ③IE1:外部中断1的中断请求标志。当INT1(P3.3)引脚的输入信号满足中断触发要求时,置 位IE1,外部中断1向CPU申请中断。中断响应后中断请求标志自动清0。 ④IT1:外部中断1(INT1)中断触发方式控制位。当(IT1)=1时,外部中断1为下降沿触发方式。 在这种方式下,若CPU检测到INT1出现下降沿信号,则认为有中断申请,随即使IE1标志 置位。中断响应后中断请求标志会自动清0,无须做其他处理。当(T1)=0时,外部中断1为

51单片机原理期末考试题

1.若累加器A中的数据为67H,则PSW中的P=_1__。 2. 一个机器周期= _6_个状态周期=12个振荡周期。 3.89C51的堆栈是按照先进后出的原则进行存取的RAM区。 4. 用一条指令实现以下功能: 若A中数据不等于200,则程序转至PROM_ CJNZ A,#200H,PROM__。 5. 为了使10H—17H作工作寄存器使用RS1, RS0的取值为__1,0。 6. 89C51中21个特殊功能寄存器,其地址凡是能被8整除的都有位寻址功能。 7. 89C51单片机有片内ROM容量_4KB , RAM容量128。 8. 某串行通信中有1个起始位,8个数据位和1个停止位,应选择的异步串行通信方式为方式1。 9. 在89C51单片机初始化时,SP存放的是07H。 10. 当89C51引脚ALE信号有效时,表示从P0口稳定地送出了_数据和地信息。 四、判断题(每小题2分,共20分) 1.如果发生除法溢出错误,则PSW标志位P置1。(∨) 5.对于89C51单片机,当CPU对内部程序存储器寻址超过4K时,系统会自动在外部程序存储器中寻址(∨)。 6.外加晶振频率越高,系统运算速度也就越快,系统性能也就越好(∨)。 7. 位TF0是定时器T1的溢出中断标志位。(∨) 8.在定时器T0和外部中断1都设为高优先级时,外部中断1优先级高于定时器T0。(×) 9.子程序的返回指令是RETI ,中断程序的返回指令是RET。(×) 10.波特率是数据传输的速率,指每秒传送的字节数。(∨) 3、51有 5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器 IP 加以选择 4、中断请求信号有电平触发和脉冲触发两种触发方式。 6、74LS273通常用来作简单输出接口扩展;而74LS244则常用来作简单输入接口扩展。 7、A/D转换器的三个重要指标是转换速度、分辨率和转换精度。 二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。每题2分,共10分) 1、MCS-51单片机外扩存储器芯片时,4个I/O口中用作数据总线的是( B )。 (A)P0和P2口(B)P0口(C)P2和P3口(D)P2口 2、访问外部数据存储器时,不起作用的信号是( C )。 (A)RD (B) WR (C) PSEN (D)ALE 3、使用定时器T1时,有几种工作模式( C )。 (A)1种(B)2种(C)3种(D)4种 4、MCS-51响应中断时,下面哪一个条件不是必须的( C )。 A、当前指令执行完毕 B、中断是开放的 C、没有同级或高级中断服务 D、必须有RETI指令 5、当MCS-51进行多机通讯时,串行接口的工作方式应选为( C )。 (A)方式0 (B)方式1 (C)方式2 (D)方式0或方式2 三、简答题(每题15分,共30分) 1、MCS-51单片机内部有几个定时/计数器?它们由哪些寄存器组成? 答:MCS-51单片机内部有两个16位可编程的定时/计数器,简称定时器0(T0)和定时器1(T1)。它们分别由方式寄存器TMOD、控制寄存器TCON和数据寄存器TH0、TL0,TH1、TL1组成。

51单片机定时中断C语言的写法步骤

51单片机定时中断C语言的写法步骤 程序说明:51单片机定时器0工作于方式一,定时50ms中断一次 晶振为12M #include void main { TOMD = 0X01;//配置定时器0工作于方式一 TH1 = (65536-50000)/256; //高八位装入初值 TL1 = (65536-50000)%256; //低八位装入初值 ET0 = 1; //开定时器0中断 EA = 1; //开总中断 TR0 = 1; //启动定时器0 while(1) { ; } } void Timer0_int() interrupt 1 { //重新装初值 TH1 = (65536-50000)/256; //高八位装入初值 TL1 = (65536-50000)%256; //低八位装入初值 } /****************************************************************************** *********************************/ 上面是比较好理解的。如果实在要求简洁的话,看下面的,跟上面功能一样 #include void main { TOMD = 0X01;//配置定时器0工作于方式一 TH1 = 0x3c; //高八位装入初值 TL1 = 0xb0; //低八位装入初值 IE = 0x82;//开总中断并开定时器0中断 TR0 = 1; //启动定时器0 while(1) { ; } }

void Timer0_int() interrupt 1 { //重新装初值 TH1 = 0x3c; //高八位装入初值TL1 = 0xb0; //低八位装入初值}

单片机期末考试试题(答案)

单片机期末考试试题(答案) 01、单片机就是将微处理器、一定容量得 RAM与ROM以及 I/O 口、定时器等电路集成在一块芯片上而构成得微型计算机. 2、单片机89C51片内集成了 4 KB得FLASH ROM,共有 5 个中断源。 3、两位十六进制数最多可以表示 256 个存储单元。 4、89C51就是以下哪个公司得产品?(C) A、INTEL B、AMD C、ATMEL D、PHILIPS 5、在89C51中,只有当EA引脚接高电平时,CPU才访问片内得Flash ROM. 6、就是非题:当89C51得EA引脚接低电平时,CPU只能访问片外ROM,而不管片内就是否有程序存储器。T 7、就是非题:当89C51得EA引脚接高电平时,CPU只能访问片内得4KB空间。F 8、当CPU访问片外得存储器时,其低八位地址由P0 口提供,高八位地址由P2 口提供,8位数据由 P0 口提供。 9、在I/O口中,P0口在接LED时,必须提供上拉电阻, P3 口具有第二功能。 10、就是非题:MCS-51系列单片机直接读端口与读端口锁存器得结果永远就是相同得。F 11、就是非题:就是读端口还就是读锁存器就是用指令来区别得。T 12、就是非题:在89C51得片内RAM区中,位地址与部分字节地址就是冲突得。F 13、就是非题:中断得矢量地址位于RAM区中。F 14、MCS-51系列单片机就是属于( B )体系结构. A、冯诺依曼 B、普林斯顿 C、哈佛 D、图灵 15、89C51具有64 KB得字节寻址能力。 16、就是非题:在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令.T 17、在89C51中,片内RAM分为地址为 00H~7FH得真正RAM区,与地址为80H~FFH 得特殊功能寄存器(SFR)区两个部分。 18、在89C51中,通用寄存器区共分为 4 组,每组8个工作寄存器,当CPU复位时,第0组寄存器为当前得工作寄存器. 19、就是非题:工作寄存器区不允许做普通得RAM单元来使用。F

相关文档
最新文档