设计一个流水灯的实验,是6个led灯依次亮起来,请问可以帮我编写一下程序吗,谢谢各位了

用单片机的p1口控制6只led灯,做p1.0,p1.1,p1.2,p1.3,p1.4,p1.5的依次单灯点亮,间隔0.4s,接下来6只led灯全灭一次,间隔0.4s;然后做p1.5,p1.4,p1.3,p1.2,p1.1,p1.0的依次单灯点亮,间隔0.4s,接下来6只led灯全灭一次,间隔0.4s,再从开始状态循环,6只led灯呈现流水灯的状态

;实验目的:本程序主要实现一个简单的流水灯程序
;即轮流点亮C口的8个灯(先点亮RC0,再熄灭RCO点亮RC1。。。。)
;硬件要求:拨码开关S2全部置ON。
#include<p16f877A.inc> ;调用头文件
__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC
;芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
;**********************用户寄存器定义********************
count equ 20h ;移位次数寄存器
del_va1 equ 0ffh ;外层延时参数
del_va2 equ 0ffh ;内层延时参数

org 00h ;程序人口地址
; addlw 0ffh
;**********************主程序开始***********************
main
nop ;ICD所需要的一条空指令
clrf PORTC ;先清楚C口所有显示
banksel TRISC ;选择I/O口方向寄存器所在的体
clrf TRISC ;设置C口全为输出
clrf STATUS ;返回体0
movlw .8
movwf count ;装载循环次数8(C口共8位)

bsf STATUS,C ;置进位标志位为1,因循环移位是带进位循环的
loop
rlf PORTC,1 ;C口左移1位
call delay
call delay
CALL delay ;调用三次延时程序(保证亮度,以及流水灯闪烁速度)
bcf STATUS,C ;清0进位标志位(永远只有一只LED亮)
DECFSZ count,1 ;判断是否一轮循环结束
goto loop ;否,继续循环移位
GOTO main ;是,程序重头开始

;***********************延时程序*************************
delay
movlw del_va1 ;延时程序外层参数
movwf 30h
movlw del_va2 ;延时程序内层参数
movwf 31h
decfsz 31h,1
goto $-1
decfsz 30h,1
goto $-4
return

;********************程序结束****************************
end
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-06-15
这个题目看到很多次了 还没有人帮你搞定啊 我帮你搞定

设计一个流水灯的实验,是6个led灯依次亮起来,请问可以帮我编写一下...
call delay CALL delay ;调用三次延时程序(保证亮度,以及流水灯闪烁速度)bcf STATUS,C ;清0进位标志位(永远只有一只LED亮)DECFSZ count,1 ;判断是否一轮循环结束 goto loop ;否,继续循环移位 GOTO main ;是,程序重头开始 ;***延时程序 delay movlw del...

如何设计流水灯?
例如,我们可以让第一个LED灯亮1秒钟,然后熄灭1秒钟,接着让第二个LED灯亮1秒钟,然后熄灭1秒钟,以此类推。这样,当程序运行时,就可以看到LED灯依次亮起和熄灭,形成流水灯的效果。总之,流水灯电路的工作原理是基于微控制器和LED灯的交互作用,通过编程控制LED灯的亮灭顺序和时间间隔来实现流水灯...

请问一下,电脑的磁盘,可以把其中一个加密吗?如果可以,具体如何操作?谢谢...
要对硬盘启动加口令,可以首先将硬盘0柱面0磁头1扇区的主引导记录和分区信息都储存在硬盘并不使用的隐含扇区,比如0柱面0 磁头3扇区。然后Debug重写一个不超过512字节的程序(实际上100多字节足矣)装载到硬盘0柱面0磁头1扇区。该程序的功能是执行它时首先需要输入口令,若口令不对则进入死循环;若口令正确...

plc流水灯梯形图(要求1--8号灯依次亮后,再8--1号灯依次亮,能循环...
不用时序可以使用标志位,定义16个内部触点。开机之后启动触点1,触点1开启l1,当触点1开启1秒之后,启动触点2,在启动触点2时复位触点1,触点2开启l2,然后以此类推。

汇编语言 编写 程序 LED 灯显示
汇编语言 编写 程序 LED 灯显示 用8255连接pc机LED闪烁显示控制设计要求及方法:(1)在C口高4位设置4个按键:Set、、、Enter,Set选择两个计数器、增加时间、减小时间、Enter确定。(2)设置的时间分别存入两个缓冲单... 用8255 连接pc机 LED闪烁显示控制设计要求及方法:(1) 在C口高4位设置4个按键:Set、 、 、...

请问如何设计一个16各发光二极管花样流水灯系统
这个用单片机来做很简单,接口就用P1,P2口吧,电源经过100欧姆电阻接到LED灯上再接到单片机相应的16个管脚上电路就好了。程序很简单,需要两个延时子程序,一个1秒的,另一个0.5秒。主程序就是让灯亮灭,可以从左亮到右,右亮到左,你爱怎么亮就怎么亮,你给P0低电平就可以亮的,如果你没写...

C语言程序设计编写一个交通红绿灯的控制,各位高手帮帮忙急!
void timer0() interrupt 1 \/\/定时器0 { TH0=0x3c;TL0=0xb0;counter++;} void state1() \/\/控制南北红灯亮,东西绿灯亮,30s { unsigned char temp = 30;red_nb=1;...green_dx=1;while(1){ if( counter>19){counter=0;temp--} \/\/每次counter=20,即1s,temp自减 if(temp) break...

跪求单片机c51用汇编语言写的程序,功能为:8只发光二极管依次点亮,从...
MAIN: MOV P1, #11111110B ; P1 口 点亮一个发光二极管 ACALL DELAY ; 调用延时子程序 MOV P1, #11111101B ; 从左向右移动 一位 ACALL DELAY MOV P1, #11111011B ACALL DELAY MOV P1, #11110111B ACALL DELAY MOV P1, #11101111B ACALL DELAY MOV P1, #11011111B ACALL DELAY MOV P1, #1011...

用AT89C51单片机的P2口控制8个Led的流水灯的C程序看不懂?
else \/*当LEDDirection=0时,1000 0000右移LEDIndex位,取反后送给P2端口,点亮一个LED*\/ P2 = ~(0x80>>LEDIndex);if(LEDIndex==7) \/*当一次循环结束时,把LEDDirection取反,下次循环时将以相反的顺序点亮*\/ LEDDirection = !LEDDirection;LEDIndex = (LEDIndex+1)%8; \/*LEDIndex+1对8...

智力游戏..点击一个灯,这个灯和周围的4个灯会同时改变亮暗状态叫什么...
点灯游戏 第一行1、2 第二行1、2、4、5 第三行3、4、5 第四行2、3、4 第五行2、3、5

相似回答