用89S51单片机构件建一个彩灯控制系统,系统用P1口外接8个发光二极管程序

状态1:控制系统通电或复位后,8个LED发光二极管依次从左向右开始逐个点亮,间隔时间为0.2S
状态2:8个LED发光二极管全亮后,从右向左LED发光二极管再逐个熄灭,间隔时间仍为0.2S
状态3:8个LED发光二极管全灭后,从左右两边开始同时点亮LED发光二极管,全亮后,8个LED发光二极管再明暗一起闪烁2次,间隔时间仍为0.2s
要求程序

在实验板上写的,放心用吧.希望对你有帮助
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
方法一:查表法.
;;;;;;;;;;;;;;;;;;;;;;;;;;

;作者:w418781840.2008.6.5 */

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LED EQU P1
FLAG BIT 00H ;定义标志位
ORG 0
LJMP MAIN
ORG 0BH
LJMP AGA
;;;;;;主程序;;;;;;;;;;;;
ORG 0030H
MAIN: CLR FLAG ;标志位清0
;; CLR P2.0;打开灯开关.
MOV TMOD,#01H ;赋值50MS
MOV TH0,#3CH
MOV TL0,#0B0H
MOV R0,#4 ;中断4*50=200MS
SETB EA
SETB ET0 ;开中断.
SETB TR0
WQ: LCALL LENG ;调用.
SJMP WQ
;;;;;;;;;中断服务程序;;;;;;;;;;;;;;
AGA: MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R0,LOOP ;0.2S到否?否,返回
MOV R0,#4
SETB FLAG
LOOP: RETI
;;;;;;;;;;
LENG: MOV R1,#0
MOV DPTR,#TAB
LOP: MOV A,R1
MOVC A,@A+DPTR
MOV LED,A
JNB FLAG,$
CLR FLAG
INC R1
CJNE A,#0EEH,LOP
TAB: DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,080H,00H;左渐亮
DB 080H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH ;右渐亮
DB 7EH,3CH,18H,00H; 两边点亮值.
DB 0FFH,00H,0FFH,00H,0FFH,0EEH,;闪烁两次,0EEH为结束标志.
RET
END
;;;;;;;;;;;;;;;;;;;;;
方法二:不知道法,呵呵.
;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序功能:简单彩灯控制系统.
;作者:w418781840.2008.6.5 */

;;;;;;;;;;;;;;声明区;;;;;;;;;;;;;;;;;
LED EQU P1
FLAG BIT 00H ;定义标志位
ORG 0
LJMP MAIN
ORG 0BH
LJMP AGA
;;;;;;主程序;;;;;;;;;;;;
ORG 0030H
MAIN: CLR FLAG ;标志位清0
MOV TMOD,#01H ;赋值50MS
MOV TH0,#3CH
MOV TL0,#0B0H
MOV R0,#4 ;中断4*50=200MS
SETB EA
SETB ET0 ;开中断.
SETB TR0
WQ: LCALL LED1 ;调用.
LCALL LED2
LCALL LED3
SJMP WQ;;不断循环
;;;;;;;;;中断服务程序;;;;;;;;;;;;;;
AGA: MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R0,LOOP ;0.2S到否?否,返回
MOV R0,#4
SETB FLAG
LOOP: RETI
;;;;;;LED子程序区;;;;;;;;;;
;;;;左移渐亮;;;;;;;;;;;
LED1: CLR C ;灯低电平亮.
MOV A,#0FFH
LOP1: RLC A
MOV LED,A
JNB FLAG,$ ;0.2不到,等待.
CLR FLAG ;清0,
CJNE A,#0,LOP1 ;不全亮,返回.
RET
;;右移渐亮;;;;;;;
LED2: SETB C
LOP2: RRC A
MOV LED,A
JNB FLAG,$
CLR FLAG
CJNE A,#0FFH,LOP2
RET
;;;;;两边亮.;;;;;
LED3: MOV R1,#0
MOV DPTR,#TAB
LOP3: MOV A,R1
MOVC A,@A+DPTR
MOV LED,A
JNB FLAG,$
CLR FLAG
INC R1
CJNE A,#0,LOP3
;;;闪烁;;;;;;;;;
MOV R2,#2
LOP4: CPL A
MOV LED,A
JNB FLAG,$
CLR FLAG
DJNZ R2,LOP4;;
TAB: DB 7EH,3CH,18H,00H; 两边点亮值.
RET
END
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-06-05
?现在的孩子啊?
给你个
p1控制
灌电流
1
p1=0xff;
p1.0=0;
延时0.2s
p1.1=0;
延时0.2s
p1.2=0;
延时0.2s
p1.3=0;
延时0.2s
p1.4=0;
延时0.2s
p1.5=0;
延时0.2s
p1.6=0;
延时0.2s
p1.7=0;
延时0.2s

2
p1=0x00;
p1.0=1;
延时0.2s
p1.1=1;
延时0.2s
p1.2=1;
延时0.2s
p1.3=1;
延时0.2s
p1.4=1;
延时0.2s
p1.5=1;
延时0.2s
p1.6=1;
延时0.2s
p1.7=1;
延时0.2s
3
p1=0xff;
p1.0=0;
p1.7=0;
延时0.2s
p1.1=0;
p1.6=0;
延时0.2s
p1.2=0;
p1.5=0;
延时0.2s
p1.3=0;
p1.4=0;
延时0.2s

p1=0xff
延时0.2s
p1=0
延时0.2s
p1=0xff
延时0.2s
p1=0x本回答被提问者采纳

用89S52单片机构件建一个彩灯控制系统,系统用P1口外接8个发光二极管...
用89S52单片机构件建一个彩灯控制系统,系统用P1口外接8个发光二极管,没有键按下时,8支彩灯每隔0.5s全亮全灭一次。按K1时,8支彩灯从左至右循环点亮。按K2时,8支彩灯从右至左循环点亮。按K3时,8支彩灯先右循环点亮后左循环点亮。同时按下K1和K2时,8支彩灯从中间向外循环点亮。同时按下K...

八个发光二极管至少四种不同的循环点亮,并且每隔5秒闪烁4次,画出硬件...
include <reg51.H> define led P1 define uchar unsigned char define uint unsigned int void delay(uchar i);uchar z,t;uint y;uint code table[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xE7,0xC3,0x81,0x00,0x7E,0x3C,0x18,0x00...

用89s51设计1个记录时间间隔并显示的电路图
五、堆栈: 堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特殊的数据传输指令,即‘PUSH’和‘POP’,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上...

AT89S51的下载程序
外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2=64k,所以89S51最大可外接64kB的程序存储器和数据存储器(4)P3口介绍P3口是个双功能口,第一功能作通用I\/O口,第二功能是作变异功能用,为适应引脚的第二功能的需要,增加了第二功能控制逻辑,在真正的应用电路中,第二功能显得更为重要。

一位共阳极数码管怎么与单片机相连
2、和单片机连接的话(89s51为例),你可以选用单片机的P1口,用这8个口分别控制共阳数码管的笔选端,公共正极可以通过一个限流电阻直接接电源正极。当P1口中的8个口中的其中1个输出低电平,其余7个口输出高电平的话,就可以点亮8个发光二极管中的一个,P1不同的输出方式可以构成不同的数字显示。3...

AT89C51与AT89S51的区别
它们之间主要区别在于以下几点:1.引脚功能 引脚几乎相同,改变是,在AT89S51 P1.5中,P1.6,P1.7具有第二功能,即这三个引脚的第二功能构成一个串行ISP编程接口。2.编程功能 AT89C51仅支持并行编程,而AT89S51不仅支持并行编程,还支持ISP在线编程。在编程电压方面,AT89C51除5V外还需要12V Vpp才能...

怎样设计一个用ADE7755和用AT89S51的单片机设计出一个电能表?_百度知 ...
ADE7755是一种单相表记录芯片,将ADE7755记录的数据与AR89S51单片机进行数据传输,然后再用单片机输出给lcd屏幕显示即可设计出一个电能表;ADE7755是一款适用于单相配电系统的高精度电能计量IC。它可提供基于输电线电压和电流计算的瞬时有功功率和平均有功功率。该器件规范超过IEC61036标准规定的精度要求。ADE7755中使用的唯一...

AT89S51单片机的内部资源有哪些,分别是怎么使用的?
单片机是一种控制芯片,一个微型的计算机,而加上晶振,存储器,地址锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等那是单片机系统。 2:单片机引脚介绍 点击浏览下一页 单片机的40个引脚大致可分为4类:电源、时钟、控制和I\/O引脚。 ⒈ 电源: ⑴ VCC - 芯片电源,接+5V; ⑵ VSS - 接地...

典型51单片机的P0,P1,P2,P3口都有哪些功能?
1. P0口:该口为双向I\/O口,具备输出锁存和输入缓冲功能。在使用前,输入需先置1。输出为漏极开路型,使用时需接入上拉电阻。该口输入状态为高阻态,能够驱动8个TTL负载。当连接外部存储器时,用作数据线。2. P1口:这是一个简单的I\/O口,输入前同样需要置1,且无高阻态。P1口可作为输出或...

典型51单片机的P0,P1,P2,P3口都有哪些功能?
1、P0口:真正的双向口,输出锁存,输入缓冲,输入前要先置1(KEIL包含的头文件已经有动作了,如果用汇编,要人工置1),输出为漏极开路,输出一般都要上拉电阻。输入为高阻态,能驱动8个TTL负载。当有片外存储器时,作数据线使用。 2、P1口:最简单的口,输入也要先置1,无高阻态,...

相似回答
大家正在搜