3P0,P1口应用试验

合集下载

单片机技术

单片机技术

单片机技术一单片机概述随着大规模集成电路的出现及其发展,将计算机的CPU 、RAM 、ROM 、定时/数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机。

单片微型计算机简称单片机,它因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器CPU(Central processing unit)、随机存储器RAM(Random access memory)、只读存储器ROM(Read only memory)、中断系统、定时器/计数器以及I\O(Input/output)接口电路等主要微型机部件集成在一个芯片上。

虽然单片机只是一个芯片,但从组成和功能上看,它已具有了计算机系统的属性。

1、单片机主要应用与控制领域,用以实现各种测试和控制功能,为了强调起控制属性,也可以把单片机称为微控制器MCU(Micro controller unit)。

在国际上,“微控制器”的叫法似乎更通用一些,而在我国则比较习惯与“单片机”这一名称。

单片机在应用时,通常是处于控制系统的核心地位并融入其中,即以嵌入的方式进行使用,为了强调其“嵌入”的特点,也常常将单片机称为嵌入式微控制器EMCU(Embedded micro controller unit)。

单片机根据控制应用的需要分为通用单片机和专用单片机。

其中通用单片机是一种基本芯片,内部资源丰富、性能全面、适用性较强,用户可根据自己的需要,以其为控制核心,配以不同的外围电路设计成不同的单片机应用系统;专用单片机是针对性特别强,具有结构的最简化、资源利用的最优化、可靠性和成本的最佳化的特点。

2、单片机与单片机系统单片机通常是指芯片本身,它是有芯片制造商生产的,在它上面集成的是一些作为基本组成部分的运算器电路、控制器电路、存储器、中断系统、定时器/计数器以及输入/输出口电路等。

但一个单片机芯片并不能把计算机的全部电路都集成到其中,例如组成谐振电路和复位电路的石英晶体、电阻、电容等,这些元件在单片机系统中只能以散件的形式出现。

烟雾报警器

烟雾报警器

目录摘要 (2)引言 (2)系统的总体设计 (3)1.1流程图 (3)1.2功能总设计图: (3)1.3系统总体方案: (4)详细设计 (4)2.1硬件设计 (4)2.1.1 MQ-2 (4)2.1.2AD8022 (4)2.1.3 AT89C52 (5)2.1.4 ADC0808 (5)2.2硬件作用连接 (6)2.3局部电路 (6)2.3.1烟雾信号采集电路 (6)2.3.2模数转换 (7)2.3.3光报警电路 (8)电路的程序设计 (8)3.1程序代码 (8)3.2流程图 (9)3.3关键代码 (9)系统调试与结果分析 (10)调试心得 (11)总结体会 (12)参考文献 (12)摘要本次实训主要设计以个烟雾报警器,主要实现当烟雾浓度超过一定额度时发生一级报警,当浓度达到更高的一个状态时会发生二级报警。

实验中主要用到的模块有3个:烟雾信号采集电路、模数转换电路和单片机控制电路。

烟雾报警器是通过烟雾颗粒达到一定值,传感器把烟雾浓度变为电压信号,通过A/D0808或A/D0809进行模拟信号到数字信号的转换,将数字信号传递给AT89C52,单片机对该数字信号进行滤波处理,与预设值进行比较,如果大于则启动报警电路点亮报警灯。

在这次试验主要模块有:烟雾传感器MQ2或MQ5,A/D0808,AT89C52.由于这次实验没有烟雾传感器,所以采用了滑动变阻,通过调节电阻大小模拟MQ2的电导率,当调试电阻大小时,8个发光二极管会随着电阻的改变而变化。

引言现在很多场合因为人们吸烟导致了空气质量的不好,影响了身体健康;特定的环境下对室内烟雾的浓度也有一定的要求;对于火灾,烟雾报警系统也有一定的监控和预测能力。

烟雾报警器可以对室内进行空气质量的检测,一旦烟雾颗粒超过一定的量,烟雾传感器将烟雾浓度变为电压信号,在通过A/D转换变为数字信号最后通过发光进行报警。

因此,烟雾报警器在预防火灾发生上有着非常重大的意义。

本设计采用MQ-2 型烟雾传感器,它是由二氧化锡半导体气敏材料构成,属于表面离子式N 型半导体。

第5章 并行接口P0~P3

第5章  并行接口P0~P3
4.1.1.1 PO~P3接口功能
大多数口线都有双重功能,具体介绍如下:
PO口—1.作为输入/输出口。
2.作为地址/数据总线 ,接外围芯片时PO口分时输出低 8 位地址与数据信号。
P1口—作为输入/输出口。
P1.0 T2引脚,定时/计数器2外部计数脉冲输入 P1.1 T2EX引脚,定时/计数器2触发和方向控制 P1.5 MOSI引脚,在系统编程数据输入 P1.6 MISO引脚,在系统编程数据输出 P1.7 SCK引脚,在系统编程时钟输入
这是为了避免错读引脚的电平信号,例如用一根口线去 驱动一个晶体管基极,当向口线写“1”,晶体管导通,导通 的PN结会把引脚的电平拉低,如读引脚数据,则会读为0 , 而实际上原口线的数据为1。因而采用读锁存器Q的值而避免 了错读。究竟是读引脚还是读 锁存器,CPU内部会自行判断 是发读引脚脉冲还是读锁存器脉冲,读者不必在意。
归纳四个并行口使用的注意事项如下:
1.如果单片机内部有程序存贮器,不需要扩展外部存贮器和 I/O接口,单片机的四个口均可作I/O口使用。
2.四个口在作输入口使用时,均应先对其写“1”,以避免误 读。
3.P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必。 4.P2可某几根线作地址使用时,剩下的线不能作I/O口线使用。 5.P3口的某些口线作第二功能时,剩下的口线可以单独作I/O
内容提要
★单片机的并行接口P0~P3
★ PO~P3端口的功能和内部结构 ★ PO~P3端口的编程 ★ 用并行口设计LED数码显示和键盘电路 ★ 并行接口小结
★MCS-51单片机的中断系统
★ 中断的基本概念 ★ 中断的系统结构 ★ 中断的响应过程 ★ 中断的的应用编程
★小结
I/0接口

第4章 80C51单片机IO端口及应用最终

第4章  80C51单片机IO端口及应用最终
23
24
参考程序:
#include <reg51.h> void main(void) { unsigned char i; P2=0xff; for(;;) { i=P2; P1=i; } }
25
4.6单片机I/O口控制电磁继电器
在控制系统中,常常存在电子电路与电气电路的互 相连接问题,需要电子电路控制电气电路的执行元件, 例如电动机、电磁铁、电灯等,同时实现电子线路与电 气电路的电隔离,以保护电子电路和人身的安全,继电 器在其中起了重要的桥梁作用。
控制
T1
内部总线 写锁存器 读引脚
D P0.x Q 锁存器 Q
BUF2
MUX
P0.x引脚 T2
图4-1 P0口的位电路结构
4
2.P0口工作原理 (1)P0口作为地址/数据总线分时复用口
当80C51单片机外部扩展存储器或者I/O接口芯片,需要 P0口作为地址/数据总线分时使用时,“控制”信号输出高 电平;转换开关MUX 将T2与反相器输出端接通,同时“与 门”开锁,“地址或数据”信号通过与门驱动T1管,并通过 反相器驱动T2管,使得P0.x引脚的输出状态随“地址/数据” 状态的变化而变化。具体输出过程如下。
注意,当P0口作输出口使用时,输出级属开漏电路,在 P0.x引脚应外接上拉电阻。
6
② P0口作为I/O口输入时,端口中的两个三态缓冲器用于读 操作。有2种读操作:读锁存器和读引脚。
“读引脚”:当执行一般的端口输入指令时,引脚上的外部 信号既加在三态缓冲器BUF2的输入端,又加在场效应管T2 漏极上,若此时T2导通,则引脚上的电位被钳在0电平上。 为使读引脚能正确地读入,在输入数据时,要先向锁存器置 “1”,使其Q反端为0,使输出级T1和T2两个管子均被截止, 引脚处于悬浮状态;作高阻抗输入。“读引脚”脉冲把三态 缓冲器打开,于是引脚上的数据经缓冲器到内部总线;

MCS-51单片机IO口详解

MCS-51单片机IO口详解

单片机IO口结构及上拉电阻MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。

一、P0口和P2口图1和图2为P0口和P2口其中一位的电路图。

由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。

这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。

它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。

图1 单片机P0口内部一位结构图图2 单片机P0口内部一位结构图P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。

外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。

二、P1口图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。

图3 单片机P2口内部一位结构图作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。

需要说明的是,作为输入口使用时,有两种情况:1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。

2.读P1口线状态时,打开三态门G2,将外部状态读入CPU。

单片机应用技术项目教程(C语言版)习题答案

单片机应用技术项目教程(C语言版)习题答案

单片机应用技术项目教程(C语言版)习题答案项目一1-1 填空题(1)8031,8751(2)存储器,定时器/计数器,输入/输出接口电路(3)上电自动复位,手动复位(4)12,1μs,1,4(5)1(6)4,1,2,51-2选择题(1)A(2)C(3)D(4)C(5)A1-3(1)Keil C51软件的主要功能Keil C51软件提供了丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

μVision2 集成开发环境可以完成工程建立和管理、编译、连接、目标代码的生成、软件仿真和硬件仿真等完整的开发流程。

(2)PROTEUS软件的主要功能Proteus不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,也是目前较先进的单片机和嵌入式系统的设计与仿真平台。

在计算机上,能完成从原理图与电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整的电子设计、研发过程。

1-4 简叙单片机的发展及发展趋势。

单片机的发展主要有以下几个方面:(1)增加字长,提高数据精度和处理的速度;(2)改进制作工艺,提高单片机的整体性能;(3)由复杂指令集CISC转向简单指令集RISC的技术;(4)多功能模块集成技术,使一块“嵌入式”芯片具有多种功能;(5)微处理器与DSP技术相结合;(6)融入高级语言的编译程序;(7)低电压、宽电压、低功耗。

目前,国际市场上8位、16位单片机系列已有很多,32位的单片机也已经进入了实用阶段。

随着单片机技术的不断发展,新型单片机还将不断涌现,单片机技术正以惊人的速度向前发展。

1-5 简叙单片机的主要应用领域。

单片机的主要应用领域:工业控制、智能仪表、外设控制、家用电器、机器人、军事装项目二LED循环点亮控制 2置等。

1-6 简叙单片机的主要特点。

(1)体积小、重量轻,价格低、功能强,电源单一、功耗低,可靠性高、抗干扰能力强。

(2)使用方便灵活、通用性强。

LED显示器接口技术及实验

LED显示器接口技术及实验在单片机系统中,经常用LED(发光二极管)数码显示器来显示单片机系统的工作状态、运算结果等各种信息,LED数码显示器是单片机与人对话的一种重要输出设备。

16.1 LED数码显示器的构造及特点图16-1是LED数码显示器的构造。

它实际上是由8个发光二极管构成,其中7个发光二极管排列成“8”字形的笔画段,另一个发光二极管为圆点形状,安装在显示器的右下角作为小数点使用。

通过发光二极管亮暗的不同组合,从而可显示出0~9的阿拉伯数字符号以及其它能由这些笔画段构成的各种字符。

图16-1 LED数码显示器的构造LED数码显示器的内部结构共有两种不同形式,一种是共阳极显示器,其内部电路见图16-2,即8个发光二极管的正极全部连接在一起组成公共端,8个发光二极管的负极则各自独立引出。

另一种是共阴极显示器,其内部电路见图16-3,即8个发光二极管的负极全部连接在一起组成公共端,8个发光二极管的正极则各自独立引出。

图16-2 共阳极显示器内部电路图16-3 共阴极显示器内部电路LED数码显示器中的发光二极管共有两种连接方法:共阳极接法。

把发光二极管的阳极连在一起,使用时公共阳极接+5V,这时阴极接低电平的段发光二极管就导通点亮,而接高电平的则不点亮。

共阴极接法。

把发光二极管的阴极连在一起,使用时公共阴极接地,这时阳极接高电平的段发光二极管就导通点亮,而接低电平的则不点亮。

驱动电路中的限流电阻R,通常根据LED的工作电流计算而得到,R=(Vcc-Vled)/Iled。

式中,Vcc为电源电压(+5V),Vled为LED压降(一般取2V左右),Iled为工作电流(可取1~20mA)。

R通常取数百欧姆。

我们实验中使用的89C51单片机,其P0~P3口具有20mA的灌电流输出能力,因此可直接驱动共阳极的LED数码显示器。

为了显示数字或符号,要为LED数码显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。

单片机IO口结构及上拉电阻

单⽚机IO⼝结构及上拉电阻单⽚机IO⼝结构及上拉电阻MCS-51有4组8位I/O⼝:P0、P1、P2和P3⼝,P1、P2和P3为准双向⼝,P0⼝则为双向三态输⼊输出⼝,下⾯我们分别介绍这⼏个⼝线。

⼀、P0⼝和P2⼝图1和图2为P0⼝和P2⼝其中⼀位的电路图。

由图可见,电路中包含⼀个数据输出锁存器(D触发器)和两个三态数据输⼊缓冲器,另外还有⼀个数据输出的驱动(T1和T2)和控制电路。

这两组⼝线⽤来作为CPU与外部数据存储器、外部程序存储器和I/O扩展⼝,⽽不能象P1、P3直接⽤作输出⼝。

它们⼀起可以作为外部地址总线,P0⼝⾝兼两职,既可作为地址总线,也可作为数据总线。

图1 单⽚机P0⼝内部⼀位结构图图2 单⽚机P0⼝内部⼀位结构图P2⼝作为外部数据存储器或程序存储器的地址总线的⾼8位输出⼝AB8-AB15,P0⼝由ALE选通作为地址总线的低8位输出⼝AB0-AB7。

外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2^16=64k,所以MCS-51最⼤可外接64kB的程序存储器和数据存储器。

⼆、P1⼝图3为P1⼝其中⼀位的电路图,P1⼝为8位准双向⼝,每⼀位均可单独定义为输⼊或输出⼝,当作为输⼊⼝时,1写⼊锁存器,Q(⾮)=0,T2截⽌,内上拉电阻将电位拉⾄"1",此时该⼝输出为1,当0写⼊锁存器,Q(⾮)=1,T2导通,输出则为0。

图3 单⽚机P2⼝内部⼀位结构图作为输⼊⼝时,锁存器置1,Q(⾮)=0,T2截⽌,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成⾼电平,正因为这个原因,所以P1⼝常称为准双向⼝。

需要说明的是,作为输⼊⼝使⽤时,有两种情况:1.⾸先是读锁存器的内容,进⾏处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。

51单片机IO口应用详解

51单片机IO口应用详解MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照单片机引脚图:这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,对于初学者来说很难理解的,我这里都是按我自已的表达方式来写的,相信你也能够理解的。

P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。

P1口只做I/O口使用:其内部有上拉电阻。

P2口有两个功能:1、扩展外部存储器时,当作地址总线使用2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。

有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V):31脚(EA/Vpp)在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。

ALE 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。

参见图2(8051扩展2KB EEPROM电路,在图中ALE与4LS373锁存器的G相连接,当CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出。

由于ALE是以晶振六分之一的固定频率输出的正脉冲,当系统中未使用外部存储器时,ALE脚也会有六分之一的固定频率输出,因此可作为外部时钟或外部定时脉冲使用。

实验四 数码管的动态显示实验

实验四数码管的动态显示实验班级通信1102 姓名谢剑辉学号20110803223 指导老师袁文澹一、实验目的熟悉掌握数码管动态显示的基本方法;根据已知电路和设计要求在实验板上实现数码管动态显示。

根据已知电路和设计要求在PROTEUS平台仿真实现控制系统。

二、实验内容1、在STC89C52实验平台的4位数码管上实现动态显示0123→1234→2345→3456→4567→5678→6789→7890→8901→9012→0123→不断反复,每隔2s切换显示内容。

2、思考:如何实现当4位数码管显示的内容中有“1”时,蜂鸣器蜂鸣。

三、实验原理实验要求“4位数码管上实现动态显示0123→1234→2345→3456→4567→5678→6789→7890→8901→9012→0123→不断反复,每隔2s切换显示内容”。

动态扫描可以实现要求。

简单地说,动态扫描就是选通一位,送一位数据。

原理图中的P10~P13是位选信号,即选择哪个数码管显示数字;P00~P07是段码,即要显示的数字。

可以通过依次选通一位7段数码管并通过P0端口送出显示数据。

由于人眼的视觉残留原理,如果这种依次唯一选通每一位7段数码管的动作在0.1s内完成,就会造成多位数码管同时点亮显示各自数字的假象。

本实验使用中断,实现每2s更新一次数字。

四、实验方法与步骤设计思路和方法:1、根据电路图,分析数码管动态显示的设计思路,使用中断实现每2秒更新一次数字的设计思路,以及实现当4位数码管显示的内容中有“1”时,蜂鸣器蜂鸣的设计思路。

(1)数码管动态显示的原理如“实验原理”里所述,不赘述;(2)使用中断实现每2s更新一次数字的设计思路:本次实验使用Timer0中断,由于其定时时间最大为65536us,不能实现2s的长延时,那么可以使用多次中断来实现,并且在中断到来时,不断地死循环显示数字,即根据动态显示原理“选通一位,来一位数据”。

由于最大的数字为9,则(x%10),(x+1)%10,(x+2)%10,(x+3)%10分别是千位,百位,十位,个位上的数字。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三 P0,P1口应用试验
1.实验目的:学习并掌握单片机开发系统操作方法,练习P0,P1口应用。
2.实验内容:(1)万利仿真器开发环境Medwin使用练习。
(2)练习单片机对端口操作的方法和延时的方法。
3.实验仪器:PC机一台,万利仿真器一套及其开发环境,
清华TMC-1开放式单片机实验系统一套。
4.试验要求:
(1)P0口输入,P1口输出实验
P0端口接逻辑电平开关(输入设备),P1口接LED显示电路(输出设备),无条件地将
逻辑电平开关输入的数据传送给LED显示电路。
程序代码:
ORG 0000H
MAIN: MOV P0, #0FFH ;向p0端口锁存器写,0FFH,准备输入
MOV A,P0 ;从p0口输入数据
MOV P1,A ;将数据传送到p1口显示
SJMP MAIN
END
(2)流水灯实验
P1口作为输出,控制LED指示灯从左到右,然后从右到左依次循环显示。
程序代码:
LED1 EQU P1.0 ;第1个数码管对应的引脚
LED2 EQU P1.1 ;第2个数码管对应的引脚
LED3 EQU P1.2 ;第3个数码管对应的引脚
LED4 EQU P1.3 ;第4个数码管对应的引脚
LED5 EQU P1.4 ;第5个数码管对应的引脚
LED6 EQU P1.5 ;第6个数码管对应的引脚
LED7 EQU P1.6 ;第7个数码管对应的引脚
LED8 EQU P1.7 ;第8个数码管对应的引脚

ORG 0000H ;程序开始
LJMP MAIN ;跳转到主程序

ORG 0030H ;主程序从30H开始
MAIN: MOV SP, #30H ;初始化堆栈
LCALL REST ;调用初始化程序,进行初始化
LCALL PRO_LED ;调用LED显示程序
LJMP MAIN

REST: MOV P0, #00H ;初始化程序
MOV P1, #0FFH
RET

PRO_LED: SETB LED8 ;LED显示程序开始, 熄灭第一个LED
CLR LED1 ;显示后一个LED
LCALL DELAY ;延时
SETB LED1 ;进入第二个循环,熄灭第二个LED
CLR LED2 ;显示后一个LED
LCALL DELAY ;延时
SETB LED2 ;如此反复,直到所有的LED都循环过
CLR LED3
LCALL DELAY
SETB LED3
CLR LED4
LCALL DELAY
SETB LED4
CLR LED5
LCALL DELAY
SETB LED5
CLR LED6
LCALL DELAY
SETB LED6
CLR LED7
LCALL DELAY
SETB LED7
CLR LED8
LCALL DELAY

SETB LED1 ;开始另外一种显示方式
CLR LED8
LCALL DELAY
SETB LED8
CLR LED7
LCALL DELAY
SETB LED7
CLR LED6
LCALL DELAY
SETB LED6
CLR LED5
LCALL DELAY
SETB LED5
CLR LED4
LCALL DELAY
SETB LED4
CLR LED3
LCALL DELAY
SETB LED3
CLR LED2
LCALL DELAY
SETB LED2
CLR LED1
LCALL DELAY
RET

DELAY: PUSH PSW ;保护PSW寄存器
CLR PSW.3
SETB PSW.4 ;重新设置寄存器组别
MOV R0, #02H ;延时常数
MOV R1, #0F9H ;延时常数
MOV R2, #02H ;延时常数
DL1: DJNZ R0, DL1 ;延时循环1
MOV R0, #0F9H
DL2: DJNZ R1, DL1 ;延时循环2
MOV R0, #0F9H
MOV R1, #0F9H
DL3: DJNZ R2, DL1 ;延时循环3
NOP ;修正演示精度
POP PSW ;恢复PSW寄存器
RET

END
问题: 1 若延时功能由定时器来实现,试改写程序。
问题: 2 请改写以上程序,使之完成功能相同(结合移位指令,转移指令)。
硬件电路图如图所示

相关文档
最新文档