1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
單片機可控硅調光
[打印本頁]
作者:
haohao88
時間:
2018-9-6 11:10
標題:
單片機可控硅調光
#include<reg52.h>
#include<intrins.h>
sbitledRS=P1^0;
sbitledRW=P1^1;
sbit ledE=P1^2;
sbit keyjia=P2^7;
sbitkeyjian=P2^6;
sbitcontrolLD=P1^3;
bitflag1=1;
bitflag2=1;
unsigned
char code table[]=" guang liangdu
";
unsignedchar code table1[]=" 00 ";
intnum,flag=0,count=0;
charliangdu=3;
voiddelaykt(void) //導通延時
{
unsigned char a;
for(a=2;a>0;a--);
}
voiddelay(int z) //可調延時
{
unsigned x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void
delay9ms(void) //誤差
-0.43402777778us 延時9ms
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=224;b>0;b--)
for(a=17;a>0;a--);
}
voidwrite_com(unsigned com) //寫指令
{
ledRS=0;
P0=com;
delay(10);
ledE=1;
delay(20);
ledE=0;
}
voidwrite_date(unsigned date) //寫數據
{
ledRS=1;
P0=date;
delay(10);
ledE=1;
delay(20);
ledE=0;
}
voidwrite_liangdu(unsigned liangdu) //寫亮度
{
int shi,ge;
shi=(liangdu-3)/10;
ge=(liangdu-3)%10;
write_com(0x80+0x40+7);
write_date(0x30+shi);
write_date(0x30+ge);
}
voidinit() //初始化
{
controlLD=1; //觸發控制初始化
ledRW=0; //液晶初始化
ledE=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x80);
for(num=0;num<15;num++)
{
write_date(table[num]);
delaykt();
}
write_com(0x80+0x40);
for(num=0;num<15;num++)
{
write_date(table1[num]);
delaykt();
}
EA=1; //外部中斷設置
EX0=1;
IT0=1;
}
voidkeyscanf() //鍵盤判斷
{
if(keyjia==0) //加鍵判斷
{
delaykt();
if(keyjia==0)
{
if(flag1==1)
{
flag1=0;
liangdu++;
if(liangdu==10)
liangdu=3;
write_com(0x80+0x40+7);
write_liangdu(liangdu);
}
}
}
else if(keyjia!=0)
{
delaykt();
if(keyjia!=0)
flag1=1;
}
if(keyjian==0) //減鍵判斷
{
delaykt();
if(keyjian==0)
{
if(flag2==1)
{
flag2=0;
liangdu--;
if(liangdu==2)
liangdu=9;
write_com(0x80+0x40+7);
write_liangdu(liangdu);
}
}
}
else if(keyjian!=0)
{
delaykt();
if(keyjian!=0)
flag2=1;
}
}
voidzhongduan() interrupt 0 //外部中斷
{
flag=1;
}
voidtimepd() //同步標志判斷與定時器設置
{
if(flag==1)
{
flag=0;
TMOD=0x01;
TH0=(65536-1000*(10-liangdu))/256;
TL0=(65536-1000*(10-liangdu))%256;
ET0=1;
TR0=1;
}
}
voidtime0() interrupt 1 //定時中斷程序
{
count=1;
}
voidchufa() //MOS3020觸發
{
if(count==1)
{
count=0;
controlLD=0;
delaykt();
controlLD=1;
delay9ms();
controlLD=0;
delaykt();
controlLD=1;
}
}
voidmain()
{
init();
while(1)
{
keyscanf();
timepd();
chufa();
}
}
復制代碼
作者:
admin
時間:
2018-9-12 05:05
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1