亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標(biāo)題:
數(shù)碼管校準(zhǔn)時閃爍案例—附帶proteus仿真
[打印本頁]
作者:
lilipo
時間:
2016-9-14 22:09
標(biāo)題:
數(shù)碼管校準(zhǔn)時閃爍案例—附帶proteus仿真
0.png
(26.21 KB, 下載次數(shù): 78)
下載附件
2016-9-24 13:42 上傳
個人網(wǎng)上查找資料,然后自己修改總結(jié)的。希望對那些需要的人有所幫助。
數(shù)碼管校準(zhǔn)時閃爍案例——附帶proteus仿真
數(shù)碼管校準(zhǔn)時閃爍案例——附帶proteus仿真.rar
(118.05 KB, 下載次數(shù): 25)
2016-9-14 22:07 上傳
點擊文件名下載附件
自己修改總結(jié)的
下載積分: 黑幣 -5
/**************************************************************
C51四位數(shù)碼管動態(tài)掃描讓其中一位閃爍
閱讀人數(shù):1306人 頁數(shù):9頁 價值:1下載券 tj3188
思路說明:將顯示程序放入定時器中斷,設(shè)定一閃爍標(biāo)志位。
定時時間為2MS,定時時間到則將標(biāo)志位取反,同時也可以將按
鍵掃描程序放入該定時器,則在視覺上可以看到要求位的閃爍。
P0段選
P1位選
按鍵P3^2控制閃爍與否;
4*4鍵盤最后一行 控制哪一位閃
前三行控制顯示哪個數(shù)字
前兩位數(shù)碼管控制顯示 01~12 后兩位數(shù)碼管顯示第幾行第幾列
***************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//duan
uchar dbuf[4]; //wei
uchar outnum,cnt;
bit flashflag=0;
uchar flashbit=0;
sbit key1=P3^2;
void setint()
{
TMOD=0X01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
}
void delayus(uint z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display()
{
if(flashflag==1&&flashbit==1)
{
P0=0xff;
}
else
{
P0=num[dbuf[0]];
}
P1=0x01;
delayus(20);
P1=0x00;
if(flashflag==1&&flashbit==2)
{
P0=0xff;
}
else
{
P0=num[dbuf[1]];
}
P1=0x02;
delayus(20);
P1=0x00;
if(flashflag==1&&flashbit==3)
{
P0=0xff;
}
else
{
P0=num[dbuf[2]];
}
P1=0x04;
delayus(20);
P1=0x00;
if(flashflag==1&&flashbit==4)
{
P0=0xff;
}
else
{
P0=num[dbuf[3]];
}
P1=0x08;
delayus(20);
P1=0x00;
}
void keynum()
{
uchar temp;
P2=0x0f;
if(P2!=0x0f)
{
delayus(10);
if(P2!=0x0f)
{
P2=0xf7;
delayus(10);
temp=P2;
switch(temp)
{
case 0xe7:flashbit=1;break;
case 0xd7:flashbit=2;break;
case 0xb7:flashbit=3;break;
case 0x77:flashbit=4;break;
} //控至哪一位閃爍
P2=0xfe;
delayus(10);
temp=P2;
switch(temp)
{
case 0xee:outnum=1;break;
case 0xde:outnum=2;break;
case 0xbe:outnum=3;break;
case 0x7e:outnum=4;break;
}
P2=0xfd;
delayus(10);
temp=P2;
switch(temp)
{
case 0xed:outnum=5;break;
case 0xdd:outnum=6;break;
case 0xbd:outnum=7;break;
case 0x7d:outnum=8;break;
}
P2=0xfb;
delayus(10);
temp=P2;
switch(temp)
{
case 0xeb:outnum=9;break;
case 0xdb:outnum=10;break;
case 0xbb:outnum=11;break;
case 0x7b:outnum=12;break;
}
}
}
if(!key1)
{
delayus(10);
if(!key1)
{
//outnum=5;
flashbit=0;
while(!key1);
//delayus(10);
}
}
}
void main()
{
setint();
while(1)
{
dbuf[0]=outnum/10;
dbuf[1]=outnum%10;
if(!outnum)
dbuf[2]=0;
if(outnum>0&&outnum<5)
{
dbuf[2]=1;
dbuf[3]=outnum%5;
}
else if(outnum>4&&outnum<9)
{
dbuf[2]=2;
dbuf[3]=(outnum-4)%5;
}
else if(outnum>8)
{
dbuf[2]=3;
dbuf[3]=(outnum-8)%5;
}
keynum();
display();
}
}
void timer1() interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
cnt++;
if(cnt==30)
{
cnt=0;
flashflag=~flashflag;
}
}
復(fù)制代碼
作者:
lilipo
時間:
2016-9-19 10:26
頂一個
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1