unsigned char LED_segment[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x80};
unsigned char scan[]={0x0e,0x0d,0x0b,0x07};
unsigned int counter[]={0,0,0,0};
int scan_times;
sbit STS=P1^0;
sbit CS=P1^1; //定義端口
sbit RC=P1^6;
sbit A0=P1^2;
sbit CE=P1^3;
sbit S=P1^5;
void delay(x) //延遲程序
{
unsigned char i;
while(x--){
for(i=0;i<20;i++){; }
}
}
unsigned int dec(unsigned int n) //將二進(jìn)制轉(zhuǎn)化成十進(jìn)制
{
unsigned int a[4];
unsigned int m;
a[0]=n/4096;
a[1]=n@96/256;
a[2]=n%6/16;
a[3]=n;
m=a[0]*4096+a[1]*256+a[2]*16+a[3];
return m;
}
main()
{
unsigned int i,result,AS,DH,DL;
CE=1;
RC=0;
A0=1;
CS=0;
delay(1);
while(STS==1);
S=0; // 等待轉(zhuǎn)換結(jié)束
RC=1;
A0=0;
DH =P1;
delay(2);
//delay(2);
//A0=1;
//DL=P1;
//DL=DL&0x0f ;
result=DH;
AS=dec(result);
AS=AS*10;
AS=AS/4096;
//AS=AS*10000000;
P2=LED_segment[AS] ;
P3=scan[0] ;
/*counter[3]=AS/10000000;
counter[2]=AS000000/1000000;
counter[1]=AS00000/100000;
counter[0]=AS0000/10000;
while(1)
{
P2=LED_segment[counter];
P3=scan;
i++;
if(i==4) i=0;
}*/
}
作者: moneyhui19 時(shí)間: 2008-7-21 19:27
有沒(méi)有匯編的?我正在學(xué)啊~~~~有的請(qǐng)發(fā)給我,郵箱:moneyhui19@163.com
作者: mucyuan 時(shí)間: 2011-3-7 20:09
這程序的易讀性厲害!
作者: linzg 時(shí)間: 2012-5-31 10:54
想在現(xiàn)有兩根線的情況下,兩線接觸時(shí)形成開(kāi)、關(guān)一次(像彈片開(kāi)關(guān)按一次)形成開(kāi),把兩根分開(kāi)時(shí)再形成開(kāi)、關(guān)一次(像彈片開(kāi)關(guān)按一次)形成關(guān)。我是個(gè)外行,能實(shí)現(xiàn)嗎?
作者: 天天好心情親 時(shí)間: 2014-9-29 13:08
夠強(qiáng)大 樓主 謝謝分享
作者: zsshd 時(shí)間: 2014-10-17 09:05
謝謝樓主了。
作者: blj178 時(shí)間: 2014-10-18 11:28
先頂一個(gè)看
作者: xdl 時(shí)間: 2020-2-14 08:49
開(kāi)機(jī),關(guān)機(jī)用一個(gè)按鍵控制
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |