标题:
为什么我的流水灯和数码管不能同时工作啊
[打印本页]
作者:
chengdeshi
时间:
2018-1-11 15:58
标题:
为什么我的流水灯和数码管不能同时工作啊
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit cs1=P3^5;sbit cs2=P3^6;sbit wr=P3^7;
void delay(uint i){while(i--);}
uchar code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar buf[8];
#define leddata P0
uchar c=0,t;
uchar min=0,sec=0;
void display(void)
{
uchar i,j=0x7f;
for(i=0;i<8;i++)
{
cs1=0;cs2=1;
leddata=ledcode[buf[i]];wr=1;wr=0;
cs1=1;cs2=0;
leddata=j;wr=1;wr=0;
delay(100);
j=_cror_(j,1);
leddata=0xff;wr=1;wr=0;
}
}
void led()
{
P2=0x3f;delay(50000);
P2=0x0f;delay(50000);
P2=0x03;delay(50000);
P2=0x00;delay(50000);
P2=0xc0;delay(50000);
P2=0xf0;delay(50000);
P2=0xfc;delay(50000);
P2=0xff;delay(50000);
}
void main()
{
TMOD=0x11;
EA=ET0=TR0=1;
while(1)
{
buf[0]=buf[1]=buf[2]=buf[3]=0xff;
buf[4]=min/10%10;
buf[5]=min%10;
buf[6]=sec/10%10;
buf[7]=sec%10;
display();
led();
//if(sec>5&&min>=0)led();
}
}
time0() interrupt 1
{
TL0=(65536-50000)%256;
TH0=(65536-50000)/256;
c++;
if(c>=20)
{
c=0;sec++;
if(sec>=60)
{
sec=0;
min++;
if(min>=60)
{
min=0;
}
}
}
}
作者:
zl2168
时间:
2018-1-11 18:36
先学理论,打基础,否则,问题多多,事倍功半。
作者:
qqqq11223344
时间:
2018-1-11 20:57
我这里有一份完整的 不知道你现在还需要不?
作者:
resetlove
时间:
2018-1-11 23:23
void display(void)
{
uchar i,j=0x7f;
for(i=0;i<8;i++)
{
cs1=0;cs2=1;
leddata=ledcode[buf[i]];wr=1;wr=0;
cs1=1;cs2=0;
leddata=j;wr=1;wr=0;<<<<<<-------------wr=1;wr=0;代表什么?猜测是应该给一个脉冲,这样应该加上延时
delay(100);
j=_cror_(j,1);
leddata=0xff;wr=1;wr=0;<<<<<<-------------wr=1;wr=0;代表什么?猜测是应该给一个脉冲,这样应该加上延时
}
}
作者:
resetlove
时间:
2018-1-11 23:45
void display(void)
{
uchar i,j=0x7f;
for(i=0;i<8;i++)
{
cs1=0;cs2=1;
leddata=ledcode[buf[i]];wr=1;wr=0;
cs1=1;cs2=0;
leddata=j;wr=1;wr=0;<<<<<<<-----猜测wr需要给一个脉冲,要在两个指令中间增加延时
delay(100);
j=_cror_(j,1);
leddata=0xff;wr=1;wr=0;<<<<<<<-----猜测wr需要给一个脉冲,要在两个指令中间增加延时
}
}
作者:
lmo
时间:
2018-1-12 01:28
数码管建议放到定时器中
作者:
lmo
时间:
2018-1-12 01:30
显示程序最好是在定时器中断工作,不然延时太长会影响进程,
作者:
xml9527
时间:
2018-1-12 12:38
delay()这玩意能不用就别用,实际开发基本都不带delay的
作者:
chengdeshi
时间:
2018-1-13 07:46
qqqq11223344 发表于 2018-1-11 20:57
我这里有一份完整的 不知道你现在还需要不?
也是用的定时器?
作者:
技术求助
时间:
2018-1-14 08:57
是不是那里有问题了
作者:
plkio6613
时间:
2018-1-14 21:53
先学理论,打基础,否则,问题多多,事倍功半。
作者:
经纬度
时间:
2018-1-24 15:37
有没有图,来个图看下
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1