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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2566|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

求大神幫我在這個(gè)代碼后面注釋,我是小白(傳送帶計(jì)數(shù)器設(shè)計(jì))

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:304650 發(fā)表于 2018-4-9 19:44 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
400黑幣
#include <reg51.h>
#include <intrins.h>
#define uchar  unsigned char
#define uint   unsigned int
#define ulong   unsigned long
//用液晶屏顯示參數(shù)
uchar code zifx0[]="0123456789abcdef";
uchar code zifu0[]="Now Number:0000";
uchar code zifu1[]="Set Number:0000";
sbit  RS=P3^1;        //寫信號(hào)
sbit  RWW=P3^3;        //讀信號(hào)
sbit  E=P3^4;   //使能信號(hào)
#define e1   E=1
#define rd1  RWW=1  
#define rs1  RS=1  
#define e0   E=0
#define rd0  RWW=0
#define rs0  RS=0
#define PP P1
//延時(shí)函數(shù)ms
void _delay_ms(uint t)
{
   uint i,j;
   for(i=0;i<t;i++)
     for(j=0;j<120;j++);
}
//延時(shí)函數(shù)us
void _delay_us(uchar t)
{
   while(t>0)t--;
}
//寫1602控制字
void  lcd1602_writecrtl(uchar  dat)
{
  rd0;//讀信號(hào)置0
  rs0;//寫信號(hào)置0
  _delay_us(5);
  PP=dat;
  e1;//使能信號(hào)置1
  _delay_us(5);
  e0;//使能信號(hào)置0
}
//寫1602數(shù)據(jù)
void  lcd1602_writenumber(uchar dat)
{
  rd0;//讀信號(hào)置0
  rs1;//寫信號(hào)置1
  _delay_us(5);
  PP=dat;
  e1;//使能信號(hào)置1
  _delay_us(5);
  e0;//使能信號(hào)置0
}
//1602初始化
void  lcd1602_init()  
{
  lcd1602_writecrtl(0x38); //顯示模式
  lcd1602_writecrtl(0x06); //顯示光標(biāo)移動(dòng)位置
  lcd1602_writecrtl(0x0c); //顯示開及光標(biāo)設(shè)置
  lcd1602_writecrtl(0x01); //顯示清屏
}
//顯示地址
void  lcd1602_adr(uchar dat)  
{
  lcd1602_writecrtl(0x80 | dat);
}
//行顯示-
void LCD1602_string(uchar hang,uchar lie,uchar const *p)
{
        uchar a;
        if(hang == 1) a = 0x00;
        if(hang == 2) a = 0x40;
        a = a + lie - 1;
        lcd1602_adr(a);
        while(1)
        {
                if(*p == '\0') break;
                lcd1602_writenumber(*p);
                p++;
        }
}

uint  keyn1=16;//按鍵值
uint  keyn=16;//緩沖
#define PK P2
//按鍵掃描
void key_z()
{

PK=0X0F;
if(!(PK==0X0F))
{
    if(!(PK==0X0F))
   {
    keyn1=0;
    keyn=0;
    PK=0X0F;
    if(PK==0X0E)         keyn1=0;
    if(PK==0X0D)         keyn1=1;
    if(PK==0X0B)         keyn1=2;
    if(PK==0X07)         keyn1=3;
    PK=0XF0;
    if(PK==0XE0)         keyn=0+keyn1;
    if(PK==0XD0)         keyn=4+keyn1;
    if(PK==0XB0)         keyn=8+keyn1;
    if(PK==0X70)         keyn=12+keyn1;
    switch(keyn)
    {
            case 0: keyn1=1; break;
            case 4: keyn1=2; break;
            case 8: keyn1=3; break;
            case 12:keyn1=10; break;
            case 1: keyn1=4; break;
            case 5: keyn1=5; break;
            case 9: keyn1=6; break;
            case 13:keyn1=11; break;
            case 2: keyn1=7; break;
            case 6: keyn1=8; break;
            case 10:keyn1=9;break;
     case 14:keyn1=12;break;
         case 3: keyn1=14;break;//*
            case 7: keyn1=0;break;
            case 11:keyn1=15;break;//#
            case 15:keyn1=13;break;
     }
    }
  else   keyn1=16;
  PK=0X0F;while((!(PK==0X0F)));
}

}//LED
sbit led1=P0^0;
sbit beer=P3^5;
sbit out=P3^6;
sbit k1=P3^7;
sbit P32=P3^2;
//變量
uint  now=0;
uint  set=10;
uint  bzbu=0;//設(shè)置
uint  bz=0;//模式
uint  qidong=0;//運(yùn)行
//顯示控制
void dis()
{
  //now
  lcd1602_adr(0x0B);  
  lcd1602_writenumber(0x30+now%10000/1000);
  lcd1602_writenumber(0x30+now%1000/100);
  lcd1602_writenumber(0x30+now%100/10);
  lcd1602_writenumber(0x30+now%10);
  //set
  lcd1602_adr(0x4B);  
  lcd1602_writenumber(0x30+set%10000/1000);
  lcd1602_writenumber(0x30+set%1000/100);
  lcd1602_writenumber(0x30+set%100/10);
  lcd1602_writenumber(0x30+set%10);
  if(bz==0)lcd1602_writenumber(' ');
  if(bz==1)lcd1602_writenumber('<');
   //啟動(dòng)
  if(bz==0)
  {
    if(k1==0){qidong=(qidong+1)%2;if(qidong==1){led1=0;;out=0;}else {led1=1;out=1;}while(k1==0);}
   }
   //啟動(dòng)
  if(qidong==1)
  {
    if(now>=set){qidong=0;led1=1;out=1;beer=0;_delay_ms(500);  }
   }
   //啟動(dòng)
  if(qidong==0)
  {
    beer=1;
   }
}
//按鍵功能函數(shù)
void key()
{
  //掃描
  key_z();
  if(keyn1<16)
  {       
   if((keyn1<10)&&(bz==1))
        {
         if(bzbu==0){set=keyn1;}
         if(bzbu==1){set=set*10+keyn1;}
         if(bzbu==2){set=set*10+keyn1;}
         if(bzbu==3){set=set*10+keyn1;}
         bzbu=(bzbu+1)%4;
        }
        if((keyn1==0x0a)&&(bz==0)){now=0;}//復(fù)位
        if((keyn1==0x0b)&&(bz==1)){set=0;}//復(fù)位輸入
        if((keyn1==0x0c)&&(qidong==0)){bz=1;}//設(shè)置
        if(keyn1==0x0d){bz=0;}//退出
        keyn1=16;
  }
}
//-----------------------
void main()   
{
  _delay_us(10);
  _delay_ms(10);  
  //中斷允許
  IT0=1;
  EX0=1;
  EA=1;  
  //初始化
  lcd1602_init();
  LCD1602_string(1,1,zifu0);
  LCD1602_string(1,1,zifu0);
  LCD1602_string(2,1,zifu1);
  while(1)
  {
   dis(); //顯示
   key();
  }
}  

//INT0中斷函數(shù)
void  EX_INT0() interrupt 0
{
if(qidong==1)
{
  _delay_ms(3);if(P32==0)now=now+1;  
}
}

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

使用道具 舉報(bào)

沙發(fā)
ID:336165 發(fā)表于 2018-5-24 22:30 | 只看該作者
這是個(gè)啥??光看到顯示了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91免费在线 | 欧洲一级黄 | 黄色大片观看 | 国产农村一级片 | 久久久久久久av | www.日日夜夜 | 午夜天堂精品久久久久 | 亚洲一区二区免费视频 | 在线观看日韩精品视频 | 国产激情91久久精品导航 | 日韩色综合| 国产一区二区三区四 | 欧美日本亚洲 | 国产综合精品一区二区三区 | 国产1区| 91av免费看 | 国产精品久久国产精品99 | 黄色日批视频 | 99久视频 | 黄色三级免费网站 | 久久精品日产第一区二区三区 | 日韩成人在线播放 | 日韩在线观看视频一区 | 欧美精品一区三区 | 天天躁日日躁aaaa视频 | 国产精品视频入口 | 91在线看| 亚洲精品欧美一区二区三区 | 精品综合久久久 | 91看片在线观看 | 中文天堂在线一区 | 亚洲国产成人精品女人久久久 | 欧美精品久久久 | 亚洲成人精品视频 | 亚洲欧美激情精品一区二区 | 日韩精品成人 | 国产中文字幕在线观看 | 日本成人在线网址 | 免费a网站 | 亚洲人人| 噜噜噜噜狠狠狠7777视频 |