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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5005|回復: 1
收起左側

LCD1602終于點亮了 上程序和電路圖

[復制鏈接]
ID:82781 發表于 2015-6-13 20:15 | 顯示全部樓層 |閱讀模式

#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uint dxf[8]; //定義一個數組,用于顯示秒高低位、 分高低位、 時高低位及冒號
uint num1,num2,num3,num4,num5,num6,count1;           //count1用于中斷50MS時間到判斷
uint fk0,fk1,fk2,fk3,fk4,fk5,fk6,fk7,ab1,ab2,ab3,ab4,ab5,ab6;
sbit LCDEn=P0^2;
sbit RS11=P0^0;
sbit rw=P0^1;
unsigned char code table[]={"HELLO 2015  "};
unsigned char code table1[]={"we are study:  "};
unsigned char code tab12[]={'0','1','2','3','4','5','6','7','8','9'}; //用于液晶顯示調用
unsigned char code tab13[]={":"} ;
unsigned char code tab11[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//用于數碼顯示調用
void delay2(num2)  //長延時
{
   uchar aa1;
   for(;num2>0;num2--)
    for(aa1=120;aa1>0;aa1--)
        {;}   
}
void T01() interrupt 1  /*****定時器T0中斷子程序*****/
{
    count1++ ;
   if(count1==4)
   {
              num4++;                      
           count1=0;          
   }
                           
  TH0=(65535-50000)/256;  /*******50ms定時器,高八位******/
  TL0= (65535-50000)%256;
}
void delay(unsigned int m )
{
   unsigned char n;        /****局部定義**/

   for(;m>1;m--)
    for(n=60;n>0;n--)
        ;
}
void okplay(  )// 開顯示
{   
        uchar aa2;
   for(aa2=1;aa2<9;aa2++)
   {
               if(num4==60)
          {
                  num5++;
                if(num5==60)
                 {
                  num6++;
                   if(num6==24)
                     {
                          num6=0;
                         }
                  num5=0;                 
                 }
                 num4=0;          
          }                               
            switch(aa2)
         {
         case 1:  dxf[0]=num6/10;          break;
         case 2:  dxf[1]=num6%10;        break;
         case 3:  dxf[2]=0[tab13] ;          break;

         case 4:  dxf[3]=num5/10;                 break;
         case 5:  dxf[4]=num5%10;        break;
         case 6:  dxf[5]=0[tab13] ;            break;

         case 7:  dxf[6]=num4/10;        break;
         case 8:  dxf[7]=num4%10;    P1=dxf[7][tab11]; P3=0X20;     break;
         }
   }   
}
void lowcom(unsigned char a) /****寫命令**/
{
             LCDEn=0;
          RS11=0;
          rw=0;
          P2=a;
          delay(2);
          LCDEn=1;
          delay(2);
          LCDEn=0;
}
void lowwrite(uchar ab) /****寫數據**/
{
             LCDEn=0;
          RS11=1;
          rw=0;          
          P2=ab;
          delay(2);
          LCDEn=1;
          delay(2);
          LCDEn=0;
}
/********初始化程序********/
void invion()
{
        lowcom(0x38); /****開顯示**/
        delay(2);
        lowcom(0x0f); /****初始化**/
        delay(2);
        lowcom(0x06);  /***寫一個指針數加1**/
        delay(2);
        lowcom(0x0C);/****開顯示不顯光標**/
        delay(2);       
}
void main()
{
        unsigned char xx1,xx2;
        TMOD=0X01;
        TH0=(65535-50000)/256;  /*******5ms定時器,高八位******/
        TL0= (65535-50000)%256;
        EA=1; /******開總中斷******/
        ET0=1;/******允許T0中斷******/
        TR0=1; /*******T0中斷開始******/                      
        invion(); /****初始化**/
            while(1)
          {  
                              okplay();
                          lowcom(0x80);/****顯示第一行從第1 位開始顯示**/        
                for(xx1=0;xx1<8;xx1++)
                   {
                                   //原顯示lowwrite( dxf[xx1][tab12]),因冒號無法顯示改為switch語句
                                        
                             switch(xx1)
                          {
                          case 0:lowwrite( dxf[xx1][tab12]); break ;
                          case 1: lowwrite(dxf[xx1][tab12]); break;
                          case 2: lowwrite(dxf[0][tab13]);   break;         //顯示冒號

                          case 3: lowwrite(dxf[xx1][tab12]); break;
                          case 4: lowwrite(dxf[xx1][tab12]); break;
                          case 5: lowwrite(dxf[0][tab13]);   break;        //顯示冒號

                          case 6: lowwrite(dxf[xx1][tab12]); break;
                          case 7: lowwrite(dxf[xx1][tab12]); break;                          
                          }                                                     
                   }
                           lowcom(0x80+0X40);/****顯示第二行靜態顯示**/        
              for(xx2=0;xx2<14;xx2++)
                   {                     
                           lowwrite(table1[xx2]);                 
                        delay(10);                                                             
                   }                  
                }
}

真的越來越難越來越要花好多的時間了----------真的是智商快到極限了---------如何12864TFF彩屏呢




回復

使用道具 舉報

ID:157057 發表于 2017-4-14 22:02 | 顯示全部樓層
樓主的12864 已經成功了吧。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩一区二区三区四区五区 | 九九国产 | 成年精品 | 亚洲精品一区二区三区免 | cao在线 | 国产成人精品综合 | 色综合天天天天做夜夜夜夜做 | 99成人免费视频 | 国产91色在线 | 亚洲 | 91精品一区二区 | 中文字幕在线播放第一页 | 成人性生交大免费 | 国产精品美女久久久久久久久久久 | 久久久免费精品 | 欧美日韩国产中文 | 拍真实国产伦偷精品 | 九九热在线视频免费观看 | av黄色在线 | av大片在线| av一级久久| 国产精品国产三级国产aⅴ原创 | 日韩成人久久 | 久久精品国产一区 | 国产精品一区二区三区久久久 | 精品久久久久香蕉网 | 国精产品一品二品国精在线观看 | 91色在线 | 国产精品小视频在线观看 | 91高清在线视频 | 国产午夜亚洲精品不卡 | 精品国产色 | 精品久久久一区 | 久久久av一区 | 久久亚洲一区二区三区四区 | 久久综合av | 欧美淫| 国产精品久久久久久妇女6080 | 久久久99国产精品免费 | 国产成人午夜电影网 | 91精品国产色综合久久 | 国产精品视频一区二区三区不卡 |