第5章 MCS-51单片机C51程序设计
- 格式:ppt
- 大小:976.50 KB
- 文档页数:148
第5章MCS-51单片机的中断系统【例5-1】设允许外部中断0和串行口中断,禁止其它中断源的中断申请。
试根据假设条件设置IE的相应值。
解:⑴用位操作指令来编写如下程序段:SETB EX0 ;允许外部中断0中断SETB ES ;允许串行口中断CLR EX1 ;禁止外部中断1中断CLR ET0 ;禁止定时器/计数器T0中断CLR ET1 ;禁止定时器/计数器T1中断SETB EA ;CPU开中断⑵用字节操作指令来编写:MOV IE, #91H【例5-2】设置中断优先级控制寄存器IP的初始值,使得8031的2个外中断请求为高优先级,其它中断请求为低优先级。
解:⑴用位操作指令SETB PX0;2个外中断为高优先级SETB PX1CLR PS ;串行口、2个定时器为低优先级中断CLR PT0CLR PT1⑵用字节操作指令MOV IP,#05H【例5-3】假设允许外部中断0中断,并设定它为高级中断,其它中断源为低级中断,采用跳沿触发方式。
在主程序中可编写如下程序段:SETB E A ;EA位置“1”,CPU开中断SETB E X0 ;EX0位置“1”,允许外部中断0产生中断SETB P X0 ;PX0位置“1”,外部中断0为高级中断SETB I T0 ;IT0位置“1”,外部中断0为跳沿触发方式【例5-4】根据图5-9的中断服务程序流程,编写出中断服务程序。
假设现场保护只需要将PSW寄存器和累加器A的内容压人堆栈中保护起来。
解一个典型的中断服务程序如下:INT: CLR E A ;CPU关中断PUSH PSW ;现场保护PUSH ASETB E A ;CPU开中断中断处理程序段CLR E A ;CPU关中断POP A ;现场恢复POP PSWSETB E A ; CPU开中断RETI ;中断返回,恢复断点上述程序有几点需要说明的是:⑴本例的现场保护假设仅仅涉及到PSW和A的内容,如果还有其它的需要保护的内容,只需要在相应的位置再加几条PUSH和POP指令即可。
MCS51单片机指令系统与汇编语言程序设计MCS-51是一种非常常见的8位单片机系列,该系列包括了多种型号的单片机,如Intel 8051、8031、8052等。
MCS-51单片机指令系统是一组用于驱动该系列单片机的指令集,汇编语言程序设计是利用这些指令来编写程序。
MCS-51单片机指令系统包含了多种指令,可以执行诸如数据传输、算术逻辑运算、控制和数据访问等功能。
这些指令通过各种不同的寻址模式来操作数据,包括立即寻址、寄存器寻址、直接寻址、间接寻址和寄存器间接寻址等。
不同的寻址模式和指令组合可以实现不同的功能。
汇编语言程序设计通过将人类可读的汇编指令翻译成机器可执行的二进制指令来编写程序。
在MCS-51单片机中,汇编指令由操作码和操作数组成。
操作码指定了所执行的操作,如数据传输、算术运算或控制指令。
操作数则指定了指令要操作的数据。
下面以一个简单的例子来说明MCS-51单片机指令系统和汇编语言程序设计的基本原理。
假设我们要编写一个程序,将两个寄存器中的数据相加,并将结果存储到第三个寄存器中。
首先,我们需要将第一个寄存器的值加载到累加器A中,这可以通过MOV指令实现。
MOV指令的操作码为01,操作数为两个寄存器的地址。
例如,MOVA,R0将R0的值加载到A中。
接下来,我们需要将第二个寄存器的值加载到B寄存器中,同样可以使用MOV指令。
MOVB,R1将R1的值加载到B中。
然后,我们可以使用ADD指令将A和B中的值相加,并将结果存储到A中。
ADD指令的操作码为04,操作数为A的地址。
例如,ADDA将累加器中的值与A寄存器中的值相加,并将结果存储到A中。
最后,我们可以使用MOV指令将A中的结果移动到第三个寄存器中,例如,MOVR2,A将A的值移动到R2中。
通过组合使用这些指令,我们可以实现将两个寄存器中的值相加并存储到第三个寄存器中的功能。
总结来说,MCS-51单片机指令系统和汇编语言程序设计是一种用于编程控制该系列单片机的方式。
C51单片机汇编语言程序设计一、二进制数与十六进制数之间的转换1、数的表达方法为了方便编程时书写,规定在数字后面加一个字母来区别,二进制数后加B十六进制数后加H。
2、二进制数与十六进制数对应表二进制十六进二进制制0000000100100011010001010110011101234567100010011010101111001101 11101111十六进制89ABCDEF3、二进制数转换为十六进制数转换方法为:从右向左每4位二进制数转化为1位十六进制数,不足4位部分用0补齐。
例:将(1010000110110001111)2转化为十六进制数解:把1010000110110001111从右向左每4位分为1组,再写出对应的十六进制数即可。
0101000011011000111150D8F答案:(1010000110110001111)2=(50D8F)16例:将1001101B转化为十六进制数解:把10011110B从右向左每4位分为1组,再写出对应的十六进制数即可。
100111109E答案:10011110B=9EH4、十六进制数转换为二进制数转换方法为:将每1位十六进制数转换为4位二进制数。
例:将(8A)16转化为二进制数解:将每位十六进制数写成4位二进制数即可。
8A10001010答案:(8A)16=(10001010)2例:将6BH转化为二进制数解:将每位十六进制数写成4位二进制数即可。
6B01101011答案:6BH=01101011B二、计算机中常用的基本术语1、位(bit)计算机中最小的数据单位。
由于计算机采用二进制数,所以1位二进制数称作1bit,例如110110B为6bit。
2、字节(Byte,简写为B)8位的二进制数称为一个字节,1B=8bit3、字(Word)和字长两个字节构成一个字,2B=1Word。
字长是指单片机一次能处理的二进制数的位数。
如AT89S51是8位机,就是指它的字长是8位,每次参与运算的二进制数的位数为8位。
MCS-51单片机应用实验教程课程设计1. 简介MCS-51单片机是一种高性能、低功耗单片机,广泛应用于各个领域。
本文主要介绍MCS-51单片机应用实验教程课程设计内容,以帮助初学者了解MCS-51单片机的应用。
2. 实验环境•Keil C51编译器•STC89C52RC单片机•电路板和外围器件•PC3. 实验内容3.1 实验1:LED流水灯LED流水灯是MCS-51单片机入门实验,可以让学生熟悉MCS-51单片机基本指令和寄存器的使用,以及加深对位运算的理解。
实现方法:通过MCS-51单片机的IO口和位运算实现8个LED灯的流水效果。
3.2 实验2:数码管显示数码管是一种常见的数字显示器件,通过数码管的显示,可以实现对数字的显示和闪烁等效果。
该实验可以让学生了解MCS-51单片机的定时器和中断服务程序的使用,以及对数码管的控制。
实现方法:通过MCS-51单片机的定时器,按照一定的时间间隔对数码管进行显示和闪烁。
3.3 实验3:按键控制LED灯按键开关是电子产品常用的一种输入方式,通过按键的不同状态可以控制LED等输出设备的开关。
该实验可以让学生了解MCS-51单片机的IO口的输入状态读取和控制。
实现方法:通过MCS-51单片机的IO口读取按键输入状态,通过位运算控制LED灯的开关。
3.4 实验4:外部中断实现按钮控制LED灯外部中断是MCS-51单片机的一种重要功能,通过外部中断可以实现对按钮的响应,进而实现对LED等设备的控制。
该实验可以让学生进一步了解MCS-51单片机的外部中断服务程序的使用和IO口管理。
实现方法:通过MCS-51单片机的外部中断输入,响应按键状态,并通过位运算控制LED灯的开关。
3.5 实验5:定时器PWM控制LED灯亮度通过调节LED灯的亮度,可以达到调节电子产品亮度的效果。
该实验可以让学生了解MCS-51单片机的定时器的PWM输出功能,以及通过PWM实现对LED等设备的亮度调节。
单⽚机C51程序设计课后习题答案(复习专⽤)第⼀章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,【+45】反=01110000,【+45】补=01110000 2. 指明下列字符在计算机内部的表⽰形式。
AsENdfJFmdsv120答:41H 73H 45H 4EH 64H 66H 4AH 46H 6DH 64H 73H 76H 31H 32H 30H3. 什么是单⽚机?答:单⽚机是把微型计算机中的微处理器、存储器、I/O接⼝、定时器/计数器、串⾏接⼝、中断系统等电路集成到⼀个集成电路芯⽚上形成的微型计算机。
因⽽被称为单⽚微型计算机,简称为单⽚机。
4. 单⽚机的主要特点是什么?答:主要特点如下:1) 在存储器结构上,单⽚机的存储器采⽤哈佛(Harvard)结构2) 在芯⽚引脚上,⼤部分采⽤分时复⽤技术3) 在内部资源访问上,采⽤特殊功能寄存器(SFR)的形式4) 在指令系统上,采⽤⾯向控制的指令系统5) 内部⼀般都集成⼀个全双⼯的串⾏接⼝6) 单⽚机有很强的外部扩展能⼒5. 指明单⽚机的主要应⽤领域。
答:单机应⽤:1) ⼯业⾃动化控制;2) 智能仪器仪表;3) 计算机外部设备和智能接⼝;4) 家⽤电器多机应⽤:功能弥散系统、并⾏多机处理系统和局部⽹络系统。
第⼆章1. MCS-51单⽚机由哪⼏个部分组成?答:MCS-51单⽚机主要由以下部分组成的:时钟电路、中央处理器(CPU)、存储器系统(RAM和ROM)、定时/计数器、并⾏接⼝、串⾏接⼝、中断系统及⼀些特殊功能寄存器(SFR)。