久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3673|回復: 0
打印 上一主題 下一主題
收起左側

avr繼電器+1602程序 湊合著可以了

[復制鏈接]
跳轉到指定樓層
樓主
ID:128229 發表于 2016-6-27 21:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式








#include <iom8v.h>

#include <macros.h>
#define  uchar unsigned char
#define  uint unsigned int
///////////////////////////////////////////////////////////////
#define  rs_L     PORTD&=~BIT(0)
#define  rs_H     PORTD|=BIT(0)
#define  rs_out   DDRD|=BIT(0)

#define  rw_L     PORTD&=~BIT(1)
#define  rw_H     PORTD|=BIT(1)
#define  rw_out   DDRD|=BIT(1)

#define  en_L     PORTD&=~BIT(2)
#define  en_H     PORTD|=BIT(2)
#define  en_out   DDRD|=BIT(2)



#define  s1_L     PORTD&=~BIT(4)
#define  s1_H     PORTBD|=BIT(4)
#define  s1_out   DDRD|=BIT(4)

#define  s2_L     PORTD&=~BIT(5)
#define  s2_H     PORTD|=BIT(5)
#define  s2_out   DDRD|=BIT(5)

#define  s3_L     PORTD&=~BIT(6)
#define  s3_H     PORTD|=BIT(6)
#define  s3_out   DDRD|=BIT(6)

#define  s4_L     PORTD&=~BIT(7)
#define  s4_H     PORTD|=BIT(7)
#define  s4_out   DDRD|=BIT(7)
uchar miu=0;
signed char t,tt,z,zz,a,b,c,d,e,f,g;
uchar table1[]="<Himetech>~00~00";
uchar table2[]="Z00~X00~z00~x0  ";
/////////////////////////////////////////////////////////////////
const table3[10]={20,40,60,80,100,120,140,160,180,200};
/////////////////////////////////////////////////////////////
void delay(uint ms)//yan shi han shu
{
uchar a;
uint b;
for(a=0;a<ms;a++)
for(b=0;b<1141;b++);
}
///////////////////////////////////////////////////////////////
uchar key_press()//pan dan an jian shi fu an xia
{
    uchar j;
    DDRC|=0X0f;
        PORTC|=0X0f;
       
        DDRC&=0XF0;
       
        j=PINC;
        j=j&0X0F;//00001111
        if(j==0X0F)
        {
          return 0;
        }
        else
        {
         return 1;
        }
}

//////////////////////////////////////////////////////////
void key_scan()//pan dan an xia de  jian
{   
    uchar key;
    delay(10);
        if(key_press())
        {
        key=PINC;
        key&=0X0F;
        switch(key)
        {
           case 0X0E: //guang biao zuo yi
               {
                      zhilin(0x0f);
                      miu--;
              if(miu==1){zhilin(0x80+11);}
                      if(miu==2){zhilin(0x80+12);}
                          if(miu==3){zhilin(0x80+14);}
                          if(miu==4){zhilin(0x80+15);}
                          
                  if(miu==5){zhilin(0x80+0x40+1);}
                      if(miu==6){zhilin(0x80+0x40+2);}
                          if(miu==7){zhilin(0x80+0x40+5);}
                          if(miu==8){zhilin(0x80+0x40+6);}
                          if(miu==9){zhilin(0x80+0x40+9);}
                          if(miu==10){zhilin(0x80+0x40+10);}
                          if(miu==11){zhilin(0x80+0x40+13);}
                          if(miu==-1){miu=12;}
                   }break;
                  
                  
                   case 0X0B: //guang biao you yi
               {
                      zhilin(0x0f);
                      miu++;
              if(miu==1){zhilin(0x80+11);}
                      if(miu==2){zhilin(0x80+12);}
                          if(miu==3){zhilin(0x80+14);}
                          if(miu==4){zhilin(0x80+15);}
                          
                  if(miu==5){zhilin(0x80+0x40+1);}
                      if(miu==6){zhilin(0x80+0x40+2);}
                          if(miu==7){zhilin(0x80+0x40+5);}
                          if(miu==8){zhilin(0x80+0x40+6);}
                          if(miu==9){zhilin(0x80+0x40+9);}
                          if(miu==10){zhilin(0x80+0x40+10);}
                          if(miu==11){zhilin(0x80+0x40+13);}
                          if(miu==12){miu=0;}
                   }break;
                  
                  
           case 0X0D://dui guang biao suo zai xiang, jin xin jia shu
               {
                       
                          if(miu==1){t++;if(t==2)t=0;zhilin(0x0c);dizhishujv((0x80+11),(0x30+t));}
                      if(miu==2){tt++;if(tt==10)tt=0;zhilin(0x0c);dizhishujv((0x80+12),(0x30+tt));}
                          if(miu==3){z++;if(z==2)z=0;zhilin(0x0c);dizhishujv((0x80+14),(0x30+z));}
                          if(miu==4){zz++;if(zz==2)zz=0;zhilin(0x0c);dizhishujv((0x80+15),(0x30+zz));}   
                      if(miu==5){a++;if(a==2)a=0;zhilin(0x0c);dizhishujv((0x80+0x40+1),(0x30+a));}
                      if(miu==6){b++;if(b==10)b=0;zhilin(0x0c);dizhishujv((0x80+0x40+2),(0x30+b));}
                      if(miu==7){c++;if(c==2)c=0;zhilin(0x0c);dizhishujv((0x80+0x40+5),(0x30+c));}
                      if(miu==8){d++;if(d==10)d=0;zhilin(0x0c);dizhishujv((0x80+0x40+6),(0x30+d));}
                      if(miu==9){e++;if(e==2)e=0;zhilin(0x0c);dizhishujv((0x80+0x40+9),(0x30+e));}
                          if(miu==10){f++;if(f==10)f=0;zhilin(0x0c);dizhishujv((0x80+0x40+10),(0x30+f));}
                      if(miu==11){g++;if(g==2)g=0;zhilin(0x0c);dizhishujv((0x80+0x40+13),(0x30+g));}
           }break;
                       
                  
           case 0X07:
               {
                   DDRC&=~BIT(4);
                   PORTC|=BIT(4);
                   //ji qi shi xv
           if(t)PORTD|=BIT(6);else PORTD&=~BIT(6);//qi
////////////////////////////////////////////////////////////////       
         if(z)PORTD|=BIT(7);else PORTD&=~BIT(7);//zhu zhou

/////////////////////////////////////////////////////////////////////                  
           if(a){PORTD|=BIT(4); }else PORTD&=~BIT(4);//z  zou en
            delay(table3);
                       
////////////////////////////////////////////////////////////
           if(c)PORTD|=BIT(5);else PORTD&=~BIT(5);   //x zou en
           while(PINC&0x10);
           delay(table3[d]);
///////////////////////////////////////////////////////////////
           if(e)PORTD&=~BIT(4);else PORTD|=BIT(4);  //z shou en
                   PORTD&=~BIT(7);
           delay(table3[f]);
                   PORTD&=~BIT(6);
                   delay(table3[tt]);
///////////////////////////////////////////////////////////
           if(g)PORTD&=~BIT(5);else PORTD|=BIT(5);  // x shou  en

                   }  
                   break;
                  
                    
           default:       
               key=0;               
        }
          while(key_press());
        }
       
}
/////////////////////////////////////////////////////////////////////
void zhilin(uchar zhi)
{
rs_H; rw_H; en_L;
rs_L; rw_L;
PORTB=zhi;
delay(1);
en_H;
delay(1);
en_L;
}
////////////////////////////////////////////////////////////////
void shujv (uchar shu)
{
rs_L; rw_H; en_L;
rs_H; rw_L;
PORTB=shu;
delay(1);
en_H;
delay(1);
en_L;
}
///////////////////////////////////////////////////////////////////
void init_lcd (void)
{
uchar e;
DDRB=0xff;  PORTB=0xff;
rs_out;     rw_out;     en_out;

delay(1);
zhilin(0x38);
delay(1);
zhilin(0x38);
delay(1);
zhilin(0x38);
zhilin(0x38);

zhilin(0x08);
zhilin(0x01);
zhilin(0x06);
zhilin(0x0c);

zhilin(0x80+0x00);

         for(e=0;e<16;e++)
     {
         shujv (table1[e]);
        delay(1);
         }
zhilin(0x80+0x40);

         for(e=0;e<16;e++)
     {
         shujv (table2[e]);
        delay(1);
         }         
         
}

void dizhishujv(uchar dizhi,uchar shu)
{
   zhilin(dizhi);
  shujv(shu);

}

void init_time(void) //din shi qi chu shi hua
{
TCCR1B=0X00;//wu fen pin
TCNT1H=0X80;//chu zhi H
TCNT1H=0X80;//chu zhi L
TIMSK|=BIT(2);//kai din shi qi 1 zhong dan
SREG|=BIT(7);//kai zong zhong dan

}

/////////////////////////////////////////////////////////////////////////////
void main (void)                  
{
   init_lcd ();
   init_time();
   DDRD|=0xf0;
    while(1)
        {
      key_scan();                             
    }                                         
}                                            

#pragma interrupt_handler timer1:9
void timer1(void)//din shi qi 1 zhong dan
{
TCNT1H=0X80;
TCNT1H=0X80;
}



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕视频在线观看 | 91视频播放 | 北条麻妃一区二区三区在线视频 | 久久久激情视频 | 麻豆一区二区三区精品视频 | 欧美成人免费 | 免费在线观看成年人视频 | 日韩最新网址 | 久草院线 | 好姑娘高清在线观看电影 | 免费h在线 | 国产成人99久久亚洲综合精品 | 成人av网站在线观看 | 中文天堂在线一区 | 成人黄色在线视频 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 99国产精品99久久久久久 | 久久成人精品视频 | 中文字幕成人在线 | 国产精品18久久久久久白浆动漫 | 日韩国产欧美在线观看 | 国产电影精品久久 | 一区二区三区四区av | 一片毛片 | 国产成人精品一区二 | 日韩av在线免费 | 国产在线成人 | 一区二区三区四区在线视频 | 久久er精品 | 日本啊v在线 | 精品成人佐山爱一区二区 | 亚洲精品视频在线 | 久久精品99国产精品日本 | a天堂在线| 人人种亚洲 | 福利视频一二区 | 国产电影一区二区三区爱妃记 | 国产偷自视频区视频 | 在线免费观看黄色 | 国产日韩电影 | 国产精品国产精品 |