標(biāo)題:
單片機(jī)流水燈怎么和數(shù)碼管一起工作
[打印本頁]
作者:
chengdeshi
時(shí)間:
2018-1-6 08:08
標(biāo)題:
單片機(jī)流水燈怎么和數(shù)碼管一起工作
這樣可以嗎?
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define leddata P0
sbit cs1=P3^0;sbit cs2=P3^1;sbit wr=P3^2;
uchar c=0,t=8;
uchar code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar buf[8];
void delay(uint i){while(i--);}
void display()
{
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 main()
{
//uchar t;
TMOD=0x01;
EA=TR0=ET0=1;
while(1){
buf[0]=t;
buf[1]=buf[2]=buf[3]=buf[4]=buf[5]=buf[6]=buf[7]=0xff;
display();
}
}
time0() interrupt 1
{
TL0=(65536-50000)%0X100;
TH0=(65536-50000)/0X100;
c++;
if(c>=20)
{
c=0;
if(t>0)t--;
delay(100);
P1=0x3f;
delay(50000);
P1=0xcf;
delay(50000);
P1=0xf3;
delay(50000);
P1=0xfc;
delay(50000);
P1=0xff;
}
}
復(fù)制代碼
作者:
le51
時(shí)間:
2018-1-6 19:19
定時(shí)器中斷
作者:
yzwzfyz
時(shí)間:
2018-1-6 20:55
流水燈與LED是一馬事。你都將它們看作是一張張的小燈,就OK了。
流水也吧,掃描顯示也吧。都是在不同的時(shí)段里,將不同的明暗信號(hào)輸出到各個(gè)燈上而矣。
把顯示分成若干個(gè)段,例出各個(gè)時(shí)段每個(gè)燈是明是暗的邏輯關(guān)系,問題就基本解決了。
作者:
admin
時(shí)間:
2018-1-7 18:01
參考:
http://www.torrancerestoration.com/bbs/dpj-85522-1.html
作者:
chengdeshi
時(shí)間:
2018-1-11 14:15
admin 發(fā)表于 2018-1-7 18:01
參考:http://www.torrancerestoration.com/bbs/dpj-85522-1.html
有簡(jiǎn)單點(diǎn)的嗎?
作者:
zl2168
時(shí)間:
2018-1-11 18:38
先學(xué)理論,打基礎(chǔ),就不會(huì)有這么多問題了,本壇至少有50%的問題屬于此類情況。
作者:
yesruhdtuj
時(shí)間:
2018-1-11 21:41
與LED是一馬事。你都將它們看作是一張張的小燈,就OK了。 流水也吧,掃描顯示也吧。都是在不同的時(shí)段里,將不同的明暗信號(hào)輸出到各個(gè)燈上而矣。 把顯示分成若干個(gè)段,例出各個(gè)時(shí)段每個(gè)燈是明是暗的邏輯關(guān)系,問題就基本解決了。
作者:
逗逗
時(shí)間:
2018-1-11 23:11
學(xué)單片機(jī)沒有硬件,就等于白學(xué)
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1