当前位置:文档之家› 汇编语言发光二极管的点亮

汇编语言发光二极管的点亮

汇编语言发光二极管的点亮
汇编语言发光二极管的点亮

【例8-2】图中外设是简单的发光二极管.此外设的接口是用锁存器来实现的.锁存器在打入脉冲CP上升沿将输入端D的数据锁存在它的输出Q端。编写点亮二极管的程序。

mov al,81h 状态是10000001

mov dx,0000h 外设地址

out dx, al 输出

mx: mov al,01h

mov dx,0000h

out dx,al

mov cx,2DH

mov dx,c6c0h

mov ah.86h

int 15h

rol al,1

jmp mx

重点【例8-3】类似于例1中,让接在Q0~Q7上的二极管自上而下轮流点亮3s,编写程序实现。

程序如下:

mov al,01h ;使Q0为1,LED0先亮

lop: out 0000h,al ;

mov cx,2DH

mov dx,c6c0h mov ah.86h int 15h rol al,1 jmp lop

下面一段程序可判断按钮的状态。当K 闭合时,显示3,当K 断开时显示6。 【例8-4】

Start: mov dx,00F1H ; in al,dx

test al,01h jnz kopen mov dx,00F0H mov al,4FH ; (3) out dx,al

jmp start

kopen: mov dx,00F0H

mov al,7DH ;(6)

out dx,al jmp start

1111

1

111~

Q 0

Q 1

Q 2

Q 3Q 4Q 5Q 6Q 7

Cp a b c d e f g DP +5V

D 0D 774LS2738

510?Ω1≥1≥&

74LS138A G 2B G 2G

C B

A

1≥K

+ΩK 10D 00

Y 1Y D 0

D 7

~

IOW

A 0A 1A 2A 4A 6A 3A 7A 9A 8A 5A 11A 13A 10A 12A 14A 15IOR

汇编语言发光二极管的点亮

【例8-2】图中外设是简单的发光二极管.此外设的接口是用锁存器来实现的.锁存器在打入脉冲CP上升沿将输入端D的数据锁存在它的输出Q端。编写点亮二极管的程序。 mov al,81h 状态是10000001 mov dx,0000h 外设地址 out dx, al 输出 mx: mov al,01h mov dx,0000h out dx,al mov cx,2DH mov dx,c6c0h mov ah.86h int 15h rol al,1 jmp mx 重点【例8-3】类似于例1中,让接在Q0~Q7上的二极管自上而下轮流点亮3s,编写程序实现。 程序如下: mov al,01h ;使Q0为1,LED0先亮 lop: out 0000h,al ; mov cx,2DH

mov dx,c6c0h mov ah.86h int 15h rol al,1 jmp lop 下面一段程序可判断按钮的状态。当K 闭合时,显示3,当K 断开时显示6。 【例8-4】 Start: mov dx,00F1H ; in al,dx test al,01h jnz kopen mov dx,00F0H mov al,4FH ; (3) out dx,al jmp start kopen: mov dx,00F0H mov al,7DH ;(6) out dx,al jmp start 1111 1 111~ Q 0 Q 1 Q 2 Q 3Q 4Q 5Q 6Q 7 Cp a b c d e f g DP +5V D 0D 774LS2738 510?Ω1≥1≥& 74LS138A G 2B G 2G C B A 1≥K +ΩK 10D 00 Y 1Y D 0 D 7 ~ IOW A 0A 1A 2A 4A 6A 3A 7A 9A 8A 5A 11A 13A 10A 12A 14A 15IOR

stm32点亮第一个发光二极管库函数版

#include "stm32f10x.h" u8 dt=0; void RCC_Configuration(void); void GPIO_Configuration(void); int main(void) { RCC_Configuration();//系统时钟初始化 GPIO_Configuration();//端口初始化 while(1) { GPIO_SetBits(GPIOB,GPIO_Pin_8); delay(1000000);//0.5s GPIO_ResetBits(GPIOB,GPIO_Pin_8); delay(1000000);//0.5s GPIO_SetBits(GPIOB,GPIO_Pin_5); delay(1000000);//0.5s GPIO_ResetBits(GPIOB,GPIO_Pin_5); delay(1000000);//0.5s } } void RCC_Configuration(void) { SystemInit(); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); } void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_5; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_Init(GPIOB,&GPIO_InitStructure); } void delay(u32 nCount) { for(;nCount!=0;nCount--); }

《让发光二极管亮起来》公开课教案

《让发光二极管亮起来》教学设计 天台小学许彩珍 教学目标: 1、初步认识发光二极管,了解发光二极管的结构特点。 2、认识二极管电路符号,能设计简单的小夜灯电路图,合理使用电阻原件 保护发光二极管。 3、继续了解简单电路,认识串联电路,能正确连接串联电路,点亮发光二极管。 4、通过点亮发光二极管,使学生喜爱电子技术,乐于探究。 教学重点和难点: 重点:认识发光二极管的特性,能正确连接发光二极管。 难点:能合理使用电阻元件保护发光二极管,能连接多个发光二极管。 教学准备: 材料:红、绿、黄等发光二极管若干,接插件若干,100欧姆电阻若干,不同类型导线若干,电池盒,5号电池4节,黑胶带等。 工具:剪刀。 教学过程: 课前谈话: 同学们请坐好。各小组组长请起立。课前我们来做个小游戏,看黑板上的符号猜元件名称。(电池、开关、灯泡)。让小灯泡亮起来,得用导线将它们连接起来,师画。 电流从电源的正极出发,依次经过开关、灯泡,最后接到电源的负极,形成了电路。这是我们在《让灯泡亮起来》这课中学过的知识,我们先回顾到这里。 一、创设情境,激趣导入 今天老师为大家准备了一些图片,请同学们欣赏。师边播放边介绍,这些屏幕叫LED屏幕,是由一个个发光二极管组成的,它还有一个名字叫“LED”。 LED被誉为21世纪的绿色光源。它色彩鲜艳,使用寿命长达10万个小时,电压一般为 1.5V----2.3V,它高效节能,安全系数高,已被广泛应用于生产和生活中。 这些屏幕中的发光二极管是如何亮起来的呢?这就是这节课我们要探究的内容。 二、认识发光二极管的构造和电路符号 (一)观察发光二极管

1、我们先来认识一下发光二极管。(出示发光二极管)请小组长拿起工具箱里的小塑料袋。组内同学一起看看塑料袋里的发光二极管,研究一下它的结构特点。 2、学生观察,组内交流。 3、汇报。你发现了什么?(发光二极管有一个半透明的草帽状外壳,两根引脚线。引脚线长的是正极,短的是负极。)(观察的很仔细) (二)了解发光二极管与小灯泡的区别 1、上课前我们已经回忆了点亮灯泡的方法,我们可以用两根导线、一节电池让灯泡亮起来,哪位同学愿意上来演示一下。 2、小灯泡已经亮起来了,用这样的方法连接也能让发光二极管也亮起来吗?请这位同学再来试试。 3、你发现什么了?(发光二极管不会亮。)为什么不会亮?电压不够。怎样才会使它亮起来呢?(预设:再加一节电池试试。) (三) 认识电路符号和电阻特点 1、在动手试验前先来看老师画发光二极管的电路图,师画。跟灯泡电路图比较一下,你发现了什么? 2、这是100欧姆的电阻符号。请同学们看书本30面图4---2,这就是电阻。那么为什么要在发光二极管电路中加100欧姆的电阻呢?小组内讨论一下,看哪一组同学最聪明。 3、汇报。(预设:一个发光二极管的能承受电压是1.5—2.3V, 两节电池的电压是3V,电压太大,需要接上100欧姆的电阻限流,保护发光二极管。) 三、合作尝试点亮一个发光二极管 1、按照这个电路图,能不能点亮发光二极管呢?同学们想不想尝试一下?(想) 2、下面我们先来点亮一个发光二极管。先看老师来示范一遍。坐得最端正,听得最认真这一小组,等一下肯定也能最快地点亮发光二极管。师边示范边讲解注意点:试验前先检查电池盒的开关是否处于断开状态。将电阻与电池盒的正极(红色导线)连接,用胶布绝缘,尽量将胶布贴得平整一些,不要露出铁丝。再将电阻的另一头与带有接插件的红色导线连接。装上发光二极管,接着将黑色导

点亮一个LED程序

如何点亮一个LED #include sbit D=P0^0; void main() { D=0; } 使LED闪烁 #include sbit D=P0^0; void delay(int z); void main() { D=0; delay(110); D=1; delay(110); } void delay(int z) { int x,y;

for(x=z;x>0;x--) for(y=200;y>0;y--); } #include sbit D=p1^3; void main(void) { int j; while(1) { D=0; for(j=0;j<30000;j++); D=1; for(j=0;j<30000;j++); } } 手把手教您编写第一个单片机程序

来源:21ic作者: 关键字:手把手编写单片机程序 51单片机的开发环境是Keil 软件。Keil 软件虽然是一个收费软件,但从uVision2到目前的uVison4版本都有破解版,在网上都可以找到下载。笔者推荐大家使用uVisong4破解版本,好处不用多说。Keil uVision4软件的压缩包里附有安装和破解说明,本文不再赘述。 开发一个单片机程序,一般都要经过这几个步骤:建立工程->建立C文件->添加C文件到工程->编写C代码->设置目标工程的选项->编译工程产生HEX文件->将HEX文件下载到单片机。本文将一步一步手把手教您开发一个LED闪烁的简单且实用的C51程序。让您从0基础起步学习开发51单片机。 安装Keil uVison4之后,第一次运行出现如图1的界面,从上往下数,依次是菜单栏、第一条工具栏、第二条工具栏,接下来左边白色部分为工程文件区(显示文件、函数、语言模板和相关书籍),右边灰色部分为文本区(编写源文件),最下边为编译信息栏(显示编译时产生的相关信息)。

点亮发光二极管

EDA实验单元1 FPGA器件为用户提供了数量较多的灵活独立的输入/输出I/O口,FPGA的每个I/O口可以配置为输入、输出、双向I/O、集电极开路和三态门等各种状态。作为输出口使用时FPGA的I/O口可以输出最大40mA的电流,可以直接驱动发光二极管LED等硬件。FreeDev系列开发板配置了4~8个LED和4位的数码管等器件,我们安排下列实验可以让用户感受和熟悉FPGA 的开发过程,学习Quartus II开发工具的使用方法和Verilog HDL语言的编程方法。 点亮发光二极管 1.要求 点亮FreeDev开发板上的8个发光二极管,通过此实验让用户逐步了解、熟悉和掌握FPGA开发软件Quartus II的使用方法及Verilog HDL编程方法。 2.分析 FreeDev开发板为用户准备了8个发光二极管,其原理图见下图: 标号LED0~LED7分别连接到FPGA的I/O引脚(具体引脚对应表见后),只要正确分配并锁定引脚后,在相应的引脚上输出高电平“1”,就可以实现点亮该发光二 极管的功能。 3.程序设计 要求实现点亮LED发光二极管,因此只须在相应的引脚上输出高电平“1”即可,完整的Verilog HDL程序如下(两种实现方法,二选一即可):

(1)利用assign语句实现,文件名led.v。 module led(ledout); //模块名led output [7:0]ledout; //定义输出口 assign ledout=8’01010101; //输出0x55 endmodule (2)利用过程赋值语句来实现,文件名led2.v。 module led(ledout); //模块名led output [7:0]ledout; //定义输出口 reg [7:0]ledout; //定义寄存器 always begin ledout=8’b01010101; end endmodule 4.实验方法 注意:在该范例实验工程中我们给出Quartus II下面操作实现的详细图示,在以后的实验范例中这些基本操作不再详细图示。 (1)启动Quautus II (2)启动新工程向导 (3)

单片机试验一:点亮一个发光二极管

单片机试验一:点亮一个发光二极管 拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称 之为89S52 的芯片,下面就看一下如何给它连线。1、电源:这当然是必不可少的了。单片机使用的是5V 电源,其中正极接40 引脚,负极(地)接20 引脚。2、振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19 脚。只要 买来晶振,电容,连上就可以了,按图1 接上即可。3、复位引脚:按图1 中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。4、EA 引脚:EA 引脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。当然:您并不一定完全需要一片89S52, 实际上我们用8051 系列的任何一种芯片都是可以的。例如89s51,89c52 等等。 我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED 必须要和单片机的某个引脚相连,否则单片机就没法控制它了,那么和哪个引 脚相连呢?单片机上除了刚才用掉的5 个引脚,还有35 个,将这个LED 和1 脚相连。(见图1,其中R2 是限流电阻)按照这个图的接法,当1 脚是高电平时,LED 不亮,只有1 脚是低电平时,LED 才发亮。因此要1 脚要能够控制,也就是说,要能够让1 引脚按要求变为高或低电平。即然要控制1 脚,就得给 它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51 芯片的INTEL 公司已经起好了,就叫它P1.0,这是规定,不可以由我们来更改。名字有了,又怎样让它变高或变低呢?叫人做事,说一声就可以,这叫发布命令,要计算 机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。让一个引脚输出高电平的指令是SETB,让一个引脚输出低电平的指令是 CLR。因此,要P1.0 输出高电平,只要写SETB P1.0,要P1.0 输出低电平,只

点亮一个LED程序

如何点亮一个LED #include sbit D=P0^0; void main() { D=0; } 使LED闪烁 #include sbit D=P0^0; void delay(int z); void main() { D=0; delay(110); D=1; delay(110); } void delay(int z) { int x,y; for(x=z;x>0;x--) for(y=200;y>0;y--); } #include sbit D=p1^3; void main(void) { int j; while(1) { D=0; for(j=0;j<30000;j++); D=1; for(j=0;j<30000;j++); } }

手把手教您编写第一个单片机程序 来源:21ic作者: 关键字:手把手编写单片机程序 51单片机的开发环境是Keil 软件。Keil 软件虽然是一个收费软件,但从uVision2到目前的uVison4版本都有破解版,在网上都可以找到下载。笔者推荐大家使用uVisong4破解版本,好处不用多说。Keil uVision4软件的压缩包里附有安装和破解说明,本文不再赘述。 开发一个单片机程序,一般都要经过这几个步骤:建立工程->建立C文件->添加C文件到工程->编写C代码->设置目标工程的选项->编译工程产生HEX文件->将HEX文件下载到单片机。本文将一步一步手把手教您开发一个LED闪烁的简单且实用的C51程序。让您从0基础起步学习开发51单片机。 安装Keil uVison4之后,第一次运行出现如图1的界面,从上往下数,依次是菜单栏、第一条工具栏、第二条工具栏,接下来左边白色部分为工程文件区(显示文件、函数、语言模板和相关书籍),右边灰色部分为文本区(编写源文件),最下边为编译信息栏(显示编译时产生的相关信息)。

单片机实现发光二极管的循环点亮控制讲解

桂林电子科技大学单片机最小应用系统 设 计 报 告 指导老师:吴兆华

学生:钟静茹 学号:09210202 机电工程学院 2010年6月 单片机最小应用系统设计报告 目录 一、设计题目 (3) 二、设计内容与要求 (3) 三、设计目的意义 (3) 四、系统硬件电路图 (4) 五、程序流程图与源程序 (6) 5.1流程图 (6) 5.2源程序 (7) 5.2.1程序设计思想 (7) 5.2.2源程序清单 (7) 六、系统功能分析与说明 (9) 6.1系统主要组成部分 (9) 6.2指示灯显示部分 (10) 6.3 电路板的制作 (10) 6.3.1 PCB图的制作 (11) 6.3.2 电路板的腐蚀、钻孔和元器件的焊接 (13)

七、设计体会 (11) 八、参考文献 (12) 一、设计题目 用8031单片机实现发光二极管的循环点亮控制。采用3个按键分别控制发光二极管的启动、停止及每个灯点亮的时间的更换,定时时间有软件控制。 二、设计内容与要求 用8031单片机控制8个发光二极管循环点亮。要求用按键控制点亮时间(如每个灯点亮0.5秒或者1秒等,各灯点亮时间相同)。按启动键开始循环点亮;按停止键后停止。 三、设计目的意义 1、掌握单片机系统中扩展简单I/O接口的方法。 2、掌握单片机的硬件接口电路、8031单片机的内部结构及其编程方法。 3、掌握单片机的最小系统的设计。 4、掌握电路板的设计与制作。。 5、了解程序编写与调试的方法和技巧。 6、综合掌握所学的单片机指令系统和硬件接口电路知识,进行简单的最小系统开

发。 四、系统硬件电路图 系统硬件图(图1)包括单片机最小系统(复位电路、晶振电路和相关的控制信号)、外电路接通显示部分、及电源显示部分。 设计硬件电路图时,其基本思想:先通过万能板搭建试验平台,将编好的程序下载到51中,等可以达到预期要求后,最后在PROTEL中设计原理图与PCB,做出电路板。

任务2.1 点亮发光二极管分解

项目2 发光二极管的闪烁 大多数单片机初学者都是从点亮一个发光二极管开始单片机学习之路的。在项目2中我们安排了3个简单的任务,分别是点亮一个发光二极管、发光二极管闪烁和8位流水灯。 通过这三个任务,让初学者初步了解51单片机IO口控制外围器件的原理,激发初学者学习单片机的兴趣。在完成这三个任务之外,教程中穿插讲述了51单片机编程软件KeilC51以及STC烧录软件的使用、C语言入门基础、模拟电路基本元件的特点等入门知识,为今后的学习打下良好的基础。 【内容安排】 2.1点亮一个发光二极管 2.2 发光二极管的闪烁 2.3 8位流水灯

任务2.1 点亮一个发光二极管 2.1.1任务要求 使用单片机的两个I/O 口,其中一个I/O 口作为输入引脚,接开发板上的高电平(或低电平),另外一个I/O 口作为输出引脚,控制开发板上的一个发光二极管亮灭。当输入I/O 接高电平时,发光二极管点亮,反之当输入I/O 接低电平时,发光二极管熄灭。 2.1.2知识准备 1、发光二极管 LED(light-emitting diode),即发光二极管,有贴片的,也有直插的,如图2.1.1所示,常见的颜色有红、绿、黄、蓝、白等。从发光二极管的字面上我们可以看出它的一些特性:首先它能发出可见光,另外这种器件具有普通二极管的特性,即单向导电性,具有阴极和阳极之分。 图2.1.1 直插发光二极管和贴片发光二极管 开发板上的发光二极管发出的光是红颜色,0805贴片封装。这种二极管的正向导通电压 在1.8V 到 2.2V 之间,工作电流在1mA ~20mA 之间。当导通电流大约1mA 时,人的眼睛就可以明显地观察到二极管的发光,导通电流越大,亮度越高,超过10mA ,亮度变化就不明显了,当电流超过20mA 时,发光二极管就会有烧坏的危险。 在设计发光二极管驱动电路时,要在发光二极管电路中串接一个限流电阻,调节阻值的大小可以控制发光二极管的发光亮度。导通电流与限流电阻的关系为Iled=(VCC-Vled)/R ,Iled 是流过发光二极管的电流,Vled 是发光二极管两端电压,电阻R 是限流电 阻。电流3-10mA ,电源电压5V ,Vled 在2V 左右,则限流电阻的取值在300-1K Ω之间。

点亮一个发光二极管方式

一、点亮一个发光二极管方式 #include //调用51单片机的头文件void main(void) //主函数,单片机开机后就是从这个函数开始运行 { P0_0=1; //按位方式写PO.0=1 P0_1=0; //按位方式写PO.1=0 P0_2=0; //按位方式写PO.2=0 P0_3=0; //按位方式写PO.3=0 P0_4=0; //按位方式写PO.4=0 P0_5=0; //按位方式写PO.5=0 P0_6=0; //按位方式写PO.6=0 P0_7=0; //按位方式写PO.7=0 while(1) //死循环,单片机初始化后,将一直运行这个死循环 { } }

二、发光二极管流水显示 #include //调用51单片机的头文件 //--------------------------------------- void main(void) //主函数,单片机开机后就是从这个函数开始运行 { unsigned int a; //定义一个int型变量,做延时用P0=0; while(1) //死循环,单片机初始化后,将一直运行这个死循环 { for(a=0;a<20000;a++); //延时若干时间,具体时长暂不理会 if(P0==0) P0=0x80; else P0=P0>>1; //将PO右移 } }

三、8独立按键一位数码管显示 #include //调用51单片机的头文件 //--------------------------------------- //定义一个数据表格 unsigned char code TAB[10]= { //定义表格一定要使用code,这样会做到程序存储区中 0x3F, //表格第1步数据0b00111111 0x06, //表格第2步数据0b00000110 0x5B, //表格第3步数据0b01011011 0x4F, //表格第4步数据0b01001111 0x66, //表格第5步数据0b01100110 0x6D, //表格第6步数据0b01101101 0x7D, //表格第7步数据0b01111101 0x07, //表格第8步数据0b00000111 0x7F, //表格第9步数据0b01111111 0x6F, //表格第10步数据0b01101111 }; //--------------------------------------- //8独立按键相关I/O设置 sbit P1key=P1^0; //按键P1接在P0.0口上

第3课 点亮第一个发光二极管

第3 课点亮第一个发光二极管 在第上一课中,我们主要讲了keil 软件的使用及如何使用keil 软件建立一个工程文件,下面我们就使用C语言编写一个程序点亮实验板上的一个发光二极管。首先我们来讲一下发光二极管的发光原理。1、发光二极管发光原理发光二极管简称LED,采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN 结,具有单向导电性。当在LED 发光二极管PN 结上加正向电压时,P 区的空穴注入到N 区,N 区的电子注入到P 区,这空穴与电子相复合时产生的能量大部分以光的形式出现,因此而发光,并且根据释放能量的不同能发出不同波长的光,在电路或仪器中可用作指示灯,也可以组成文字或显示器件。发光二极管按封装(这里可以暂理解为外形)可分为直插式和贴片式的两种,按发光颜色可分为红色、蓝色、绿色等,如图1所,上面为帖片发光二极管,下边为直插式的发光二极管。图1发光二极管LED 工作时,应该串接一个限流电阻,该电阻的阻值大小应根据不同的使用电压和LED 所需工作电 流来选择。LED 发光二极管的压降一般为1.5~3.0 V(红色和黄色一般为2V。其它颜色一般为3V),其工作电流一般取10~20 mA 为宜。其限流电阻的计算公式为R=(U-UL)/I,U 为电源电压,UL 为发光二极管正常发光时端电压,I 为发光二极管的电流。以上是发光二极管的基础知识,但这里只说了一些重要的性质和参数,实际在做电路时还要考虑到其它的因素,如各种种样的封装尺寸以及价格等,下面说一下如何通过编程让实验板上的一个发光二极管发光。学过电子技术的人应该知道,要让一个发光二极管发光我们可能采用如下电路实现,如图2,这里只要限流电阻选择恰当,就可以让发光二极管发光。图2 全硬件电路实现发光二极管发光下面我们把电路稍作变化,如图3,把图2 中接地的一端直接接到单片机的P1 口的第1 个引脚上,大家想想现在怎么才能让

实验一 点亮发光二极管

实验一点亮发光二极管 一、实验目的: 1.初步掌握实验系统使用方法。 2.初步了解汇编语言 3.理解单片机的I/O口通信。 二、实验内容: 1.与I/O口通信,使8个发光二极管闪烁。 ORG 00H ; 设置起始地址 MAIN: ; 标号 MOV P1,#00H ; 向P0口输出低电平,使发光二极管D1点亮 ACALL DELAY ; 调用延时子程序 MOV P1,#0FFH ; 向P0口输出高电平,使发光二极管D1熄灭 ACALL DELAY ; 调用延时子程序 JMP MAIN ; 跳回MAIN,循环执行 DELAY: ; 延时子程序(500ms) MOV R3,#50 D1: MOV R4,#20 D2: MOV R5,#248 DJNZ R5,$ DJNZ R4,D2 DJNZ R3,D1 RET ; 返回主程序

2.修改程序,实现以下功能:发光二极管分为2组,每组4个交替发光 3.修改程序,实现以下功能:上电点亮8个LED,单独控制其中任意一个闪烁。 4.修改程序,实现以下功能:改变闪烁的快慢。 5.控制发光二极管闪烁的次数 ORG 00H ; 设置起始地址 START: ; 标号 MOV R0,#5 ;循环闪烁5次,R0为计数器 LOOP: MOV P1,#00H ; 向P0口输出低电平,使发光二极管D1点亮 ACALL DELAY ; 调用延时子程序 MOV P1,#0FFH ; 向P0口输出高电平,使发光二极管D1熄灭 ACALL DELAY ; 调用延时子程序 DJNZ R2,LOOP JB P2.0,$ ;JB bit,rel 如果直接寻址位为1,则转移 如果P2.0为高电平,则循环执行本行 JMP START DELAY: ; 延时子程序(500ms) MOV R3,#50 D1: MOV R4,#20 D2: MOV R5,#248 DJNZ R5,$ DJNZ R4,D2 DJNZ R3,D1 RET ; 返回主程序 END ; 汇编程序结束 三、实验报告 1.分析延时子程序的延时原理 2.写出实验内容2、3、4的程序。

相关主题
文本预览
相关文档 最新文档