如果你自认为高手就来试试这个!

单片机论坛是国内大型的mcu电子技术与单片机社区http://www.51hei.com/bbs/
如果你自认为高手就来试试这个!  作者:wjw0532  时间:2008-8-25 21:18:49
1


最简单的流水肯定难不倒自认为高手的您啦,题目也是非常的简单,8个流水灯,要求第一个1/8亮,第二个2/8亮,第三个3/8亮第四个4/8亮,一直到第八个8/8亮也就是全亮!也许您说了,单片机是数字电路,没有模拟的信号,不可能作到半亮半不亮的状态,其实也不完全是这个样子的.好好想办法还是有的!
  作者:客人  时间:2008-8-25 21:23:08
2


看不懂哈

先来支持下
  作者:xiaoyi  时间:2008-8-25 23:43:10
3


我不是什么高手,但感觉该题不是很难,
可以使用2 个不同的变量,一个控制8个流水灯的公共线电源,另一个变量控制相应部分的另一端就可以了吧
就象动态控制LED显示一样。
  
  作者:客人  时间:2008-8-26 16:55:48
4


PWM
  作者:客人  时间:2008-8-27 12:18:45
5


#include
#define uchar unsigned char
#define uint unsigned int

sbit P00=P0^0; //P0口为低电平时LED亮
sbit P01=P0^1;
sbit P02=P0^2;
sbit P03=P0^3;
sbit P04=P0^4;
sbit P05=P0^5;
sbit P06=P0^6;
sbit P07=P0^7;

uchar cnt[8]={8,16,24,32,40,48,56,64}; //定义8个初始亮度级别
uchar flgdir[8]={1,1,1,1,1,1,1,1}; //在LED从暗到渐亮再从亮到渐暗是做计数方向标志

void main()
{
TMOD=0x11; //定时器0定时0.25mS,定时器1定时10ms
TH0=0xFF;
TL0=0x19;
TH1=0xDC;
TL1=0x00;
ET0=1;
ET1=1;
PT0=1;
EA=1;
TR0=1;
TR1=1;
P0=0x00;
while(1);
}

void timer0() interrupt 1
{
static uchar n;
TH0=0xFF;
TL0=0x19;
n++;
if(n==cnt[0])P00=1; //用n定时计数与cnt[i]比较用来在P0各个位出现不同脉宽的PWM波行
if(n==cnt[1])P01=1;
if(n==cnt[2])P02=1;
if(n==cnt[3])P03=1;
if(n==cnt[4])P04=1;
if(n==cnt[5])P05=1;
if(n==cnt[6])P06=1;
if(n==cnt[7])P07=1;
if(n>64)
{
n=0;
P0=0;
}

}

void timer1() interrupt 3
{
uchar i;
TH1=0xDC; //10ms即100Hz频率改变cnt[i]的值用来调整脉宽使LED出现渐变的效果
TL1=0x00;
for(i=0;i<8;i++)
{
if(flgdir[i]==1)
{
cnt[i]++;
if(cnt[i]>63)flgdir[i]=0;
}
else
{
cnt[i]--;
if(cnt[i]<9)flgdir[i]=1;
}
}
}
  作者:客人  时间:2008-8-27 12:19:23
6


怎么样
  作者:haikuan  时间:2008-8-27 14:37:19
7


可不可以用串电阻限流的方法啊!就好像电气工程里电动机串电阻降压启动那样? 有时间试试!楼主应该给点提示啊!


  作者:zn123717885  时间:2008-8-28 10:28:48
8


用方波占空比来控制LED亮度  LED视频大屏幕就是这样控制的
  作者:a13758777532  时间:2008-8-28 12:36:24
9


PWM技术
  作者:wangguiqing2008  时间:2008-8-29 19:28:01
10


看看
  作者:fdsa  时间:2008-9-8 16:55:03
11


其实我觉得用动态扫描就OK,
控制好亮灯的时间长度和灭灯的时间长度,
就应该可以控制亮度
  作者:yangyi153  时间:2008-9-10 10:52:08
12


看不懂  不过 过几天就会了
  作者:客人  时间:2008-9-11 9:11:44
13


你不是自动化毕业的学生吧......

查看完整版本:[如果你自认为高手就来试试这个!]

所属版面:51单片机 本帖第1页
共有回复:12 共有页数:1 每页帖数:50

欢迎光临单片机论坛  网址:http://www.51hei.com/bbs/

网站首页 友情链接 网站地图