/ 程序名称: 八位LED双灯右移动流水灯显示 说明:使用本程序你必须把 SE3设置为2-3短接 SE4设置为1-2短接 / /头文件/ #include <reg52h> #include <intrinsh> #define uint unsigned int #define uchar unsigned char /端口定义/ #define led_port P0 /定义LED显示的数据脚/ /1MS为单位的延时程序/ void delay_1ms(uchar x) { uchar j; while(x--){ for(j=0;j<125;j++) {;} } } /主程序/ void main() { uchar led_sdata; /显示寄存器/ uchar i; while(1){ led_sdata=0xfe; /初始化显示寄存器为1号灯亮/ led_port = led_sdata; /将显示寄存器输出到LED端口/ delay_1ms(200); delay_1ms(200); /延时/ led_sdata=0xfc; /显示寄存器为12号灯亮/ for(i=0;i<8;i++){ led_port = led_sdata; /将显示寄存器输出到LED端口/ led_sdata = (led_sdata<<1)+1; /将显示寄存器数据左移1位,并将第一位置高,即熄灭/ delay_1ms(200); delay_1ms(200); /延时/ } led_sdata=0xff; /灯全灭/ led_port = led_sdata; /将显示寄存器输出到LED端口/ delay_1ms(200); delay_1ms(200); /延时/ } }
首先是包含你的所用单片机头文件。
如果是51单片机,io口是双向的可以直接 *** 作。
51单片机各个厂商不同io寄存器的 *** 作也是不一样的,需要看手册。
有些单片机是需要配置读写方向的,上拉,下拉,速度等等。
但是如果能把灯实现关灯,开灯,其他的都好办,都是逻辑问题,很快就能给你搞定。
查询方式:
ORG 0000H
AJMP MAIN
MAIN:
MOV P1,#01H
MOV R0,#8
MOV A,P1
XU: RL A
MOV P1,A
ACALL DELAY
DJNZ R0,XU
AJMP MAIN
DELAY:
MOV R0,#0FFH
ONE:MOV R1,#0FFH
TWO:MOV R2,#02H
THE:DJNZ R2,THE
DJNZ R1,TWO
DJNZ R0,ONE(将近1S)
RET
END
中断方式:
org 0000h ;程序从0000开始运行
jmp init;跳到主程序
init:
mov ie,#10000001b ;中断使能
mov ip,#00000001b ;中断优先
mov tcon,#0000000b ;中断为电平触发
main: ;主程序循环点亮
mov p1,#00h ;全亮
lcall delay ;延时一段时间
mov a,#0feh ;每次只亮一个灯。
loop: mov p1,a ;输出到p1
lcall delay ; 延时
rl a ;循环左移。
ajmp loop ; 跳转main继续循环
delay: mov r5,#20 ;延时子程序1闪烁灯调用
d1:mov r6,#20
d2: mov r7,#250
djnz r7,$
djnz r6,d2
djnz r5,d1(时间此处可自行设置)
#include<reg51h> //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint); //声明延时函数
void main(void)
{
uint i;
uchar temp;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P1=~temp;
delay(100); //调用延时函数
temp<<=1;
}
}
void delay(uint t) //定义延时函数
{
register uint bt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}
跑马灯程序最基本的,c语言还未入门啊!!!
for(m=0;m<5;m++)
{
P1=0x0;
delay(300);
P1=0xff;
delay(300);
}
是这里吧
以上就是关于用51单片机设计8个灯的跑马灯程序拜托各位大神全部的内容,包括:用51单片机设计8个灯的跑马灯程序拜托各位大神、单片机制作跑马灯三个间隔亮的C语言,请教各位大神、求个89c51单片机 汇编语言设计的LED跑马灯的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)