论坛» DIY与开源设计» 电子DIY

菜鸟
2011-12-13 09:34 61楼
问题解决了
换个USB口差不多就行了
原来的那个我以为没问题的竟然有问题啊
汗!!!!
菜鸟
2011-12-13 09:56 62楼
DIY进程正式开始:(一)八位灯的使用
①闪烁灯(实现P1.0 LED闪烁)
相关代码
void Main(void)
{
P0 = 0x00; //用于关闭数码管
while(1)
{
Show_LED = 0;
Delay(20); //Delay(del)中的数为延时的时间参数,延时时间为 10ms * del.
Show_LED = 1;
Delay(20);
}
}

这个就不上图了,视频里有的,集合上传

菜鸟
2011-12-13 10:03 63楼

②闪烁灯(实现P1口八个 LED闪烁)
相关代码

void Main(void)
{
P1 = 0xff;
P2 = 0x00;
P0 = 0x00; //P1打开,P0 .P2口关闭;

while(1)
{
/*下面四行用于控制LED每隔一个亮*/
P1 = 0xaa;
Delay(50);
P1 = 0x55;
Delay(50);

/*下面四行用于控制LED每隔一个亮*/
P1 = 0xcc;
Delay(50);
P1 = 0x33;
Delay(50);

/*下面四行用于控制LED 高四位 或者 低四位亮*/
P1 = 0x0f;
Delay(50);
P1 = 0xf0;
Delay(50);

/*下面八行用于控制LED的两次全亮 全灭*/
P1 = 0x00;
Delay(25);
P1 = 0xff;
Delay(25);
P1 = 0x00;
Delay(25);
P1 = 0xff;
Delay(25);

Delay(200); //延时两秒
}
}


视频上传了结果转码失败~~~~

菜鸟
2011-12-13 21:34 64楼
顶一下,学习学习
菜鸟
2011-12-13 21:44 65楼

③八位跑马灯(采用了寄存器存中间数)

org 0000h
ajmp start
org 0030h
start:
mov a,#0ffh ;
clr c ;
mov r2,#08h ;循环八次。
loop: rlc a ;带进位左移。
mov p1,a ;输出到P1口。
call delay ;延时一段时间
djnz r2,loop ;反复循环
mov r2,#07h ;再往回循环。
loop1: rrc a ;带进位右移
mov p1,a ;输出到P1口。
call delay ;延时一段时间
djnz r2,loop1 ;反复循环
jmp start ;重新开始

delay: mov r3,#20 ;延时子程序
d1: mov r4,#20
d2: mov r5,#248
djnz r5,$
djnz r4,d2
djnz r3,d1
ret
end

菜鸟
2011-12-13 21:58 66楼
DIY进程:(二)数码管的使用
进行中
高工
2011-12-13 22:27 67楼
好样的
菜鸟
2011-12-14 07:20 68楼
施大侠都做好了吗?

我学基础,你懂得,程序都是别人的
参考着改改~~~~~呵呵呵~~~~~~~~

别笑我哦
菜鸟
2011-12-14 22:25 69楼
DIY正式进程:(二)数码管的使用
④数码管滚动显示
void Main(void)
{
uchar i = 0,j = 0;
Time0_Init();
while(1)
{
P0 = table[(i + LED_temp) % 8]; //数码管段值
P2 = LED_W[j]; //点亮某一位数码管
Delay(2);
j++;
i++;
if(j == 8) //每个数码管都点亮了一次。
{
j = 0;
i = 0;
}
}
}
高工
2011-12-14 23:56 70楼
能玩转程序,就是你的了
共74条 7/8 |‹ 3 4 5 6 7 8 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]