人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫(kù)分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

QLdsPIC3]LCD12864[C30+dsPIC30F6014A]

更新時(shí)間: 2019-03-23
閱讀量:3413

深圳市英銳恩科技有限公司:臺(tái)灣麥肯單片機(jī)(Micon MDT單片機(jī))亞太地區(qū)A級(jí)代理商

QLdsPIC3]LCD12864[C30+dsPIC30F6014A]
//實(shí)驗(yàn)?zāi)康模菏煜?2864LCD的使用
//12864LCD帶中文字庫(kù)
//編程讓12864LCD顯示公司LOGO和公司名字
//硬件設(shè)置:
//關(guān)斷所有撥碼開關(guān)。

 #include             //dsPIC30F6014標(biāo)準(zhǔn)頭文件

  _FOSC(CSW_FSCM_OFF & XT_PLL4);  //4倍頻晶振,F(xiàn)ailsafe 時(shí)鐘關(guān)閉
  _FWDT(WDT_OFF);                 //關(guān)閉看門狗定時(shí)器
  _FBORPOR(PBOR_OFF & MCLR_EN);   //掉電復(fù)位禁止,MCLR復(fù)位使能。
  _FGS(CODE_PROT_OFF);            //代碼保護(hù)禁止

#define  di  LATBbits.LATB4       //命令/數(shù)據(jù)選擇             
#define  rw  LATBbits.LATB5       //讀/寫選擇
#define  e   LATBbits.LATB6       //使能
#define  psb LATBbits.LATB2       //8位/4位并口選擇
#define  rst LATBbits.LATB7       //復(fù)位
        
 unsigned int __attribute__((address(0x900))) temp;
 unsigned int __attribute__((address(0x902))) temp1;   

const unsigned char TAB1[ ]={         //定義顯示圖片的數(shù)據(jù)表
0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0X00,0X81,0X00,0X10,0X40,0X00,0X02,0X41,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0X00,0X81,0X00,0X10,0X40,0X00,0X02,0X41,
0XFF,0XFF,0XC0,0X00,0X00,0X7F,0XFF,0XFF, 0X07,0XE2,0X00,0XFE,0XC0,0X00,0X06,0X01,
0XFF,0XFF,0X00,0X00,0X00,0X1F,0XFF,0XFF, 0X01,0X87,0XE0,0X00,0X80,0X03,0XFF,0XF1,
0XFF,0XFC,0X00,0X00,0X00,0X07,0XFF,0XFF, 0X01,0X04,0X00,0X44,0XFC,0X02,0X04,0X01,

0XFF,0XF0,0X00,0X00,0X00,0X07,0XFF,0XFF, 0X01,0X08,0X00,0X48,0X04,0X02,0X04,0X41,
0XFF,0XF0,0X00,0X00,0X00,0X03,0XFF,0XFF, 0X0F,0XD8,0X00,0X08,0X04,0X03,0XF6,0X81,
0XFF,0XF0,0X00,0X00,0X00,0X01,0XFF,0XFF, 0X08,0X40,0X01,0XFE,0XFC,0X06,0X27,0X01,
0XFF,0XF0,0X00,0X00,0X00,0X01,0XFF,0XFF, 0X0F,0XCF,0X80,0X01,0X00,0X04,0X23,0X01,
0XFF,0XF0,0X3F,0XF0,0X3F,0XC1,0XFF,0XFF, 0X08,0XC1,0X00,0X01,0X00,0X04,0XE7,0X21,
0XFF,0XF0,0X7F,0XE0,0X7F,0XC1,0XFF,0XFF, 0X10,0X82,0X01,0XF9,0XF8,0X08,0X99,0XA1,
0XFF,0XF0,0X7F,0XE0,0X7F,0XC1,0XFF,0XFF, 0X1F,0X86,0X01,0X09,0X00,0X08,0X10,0XE1,
0XFF,0XF0,0XFF,0XC0,0XFF,0XC1,0XFF,0XFF, 0X06,0X04,0X01,0X09,0XF0,0X00,0X00,0X01,

0XFF,0XF0,0XFF,0XC1,0XFF,0XC1,0XFF,0XFF, 0X04,0X08,0X01,0XFA,0X00,0X07,0XFF,0X01,
0XFF,0XF0,0XFF,0X83,0XFF,0XC1,0XFF,0XFF, 0X7F,0XD0,0X03,0X12,0X00,0X06,0X89,0X01,
0XFF,0XF0,0XFF,0X03,0XFF,0XC1,0XFF,0XFF, 0X04,0X10,0X83,0X13,0XF0,0X08,0X91,0X01,
0XFF,0XF0,0XFE,0X07,0XFF,0XC1,0XFF,0XFF, 0X04,0X10,0X83,0XF2,0X00,0X08,0X91,0X01,
0XFF,0XF0,0XFC,0X0F,0XFF,0XC1,0XFF,0XFF, 0X04,0X3F,0X02,0X12,0X08,0X1B,0X93,0X01,
0XFF,0XF0,0XFC,0X0F,0XFF,0XC1,0XFF,0XFF, 0X08,0X00,0X02,0X23,0XF0,0X3F,0XFF,0XC1,
0XFF,0XF0,0XF8,0X1F,0XFF,0XC1,0XFF,0XFF, 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
0XFF,0XF0,0XF0,0X3F,0XFF,0XC1,0XFF,0XFF, 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,

0XFF,0XF0,0XF0,0X7F,0XFF,0XC1,0XFF,0XFF, 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
0XFF,0XF0,0XE0,0X00,0X1F,0XC1,0XFF,0XFF, 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
0XFF,0XF0,0XE0,0X00,0X0F,0XC1,0XFF,0XFF, 0X00,0X3F,0X80,0X1F,0X00,0X00,0XFF,0X01,
0XFF,0XF0,0XF0,0X00,0X07,0XC1,0XFF,0XFF, 0X00,0XFF,0XE0,0X1F,0X00,0X03,0XFF,0XC1,
0XFF,0XF0,0XF8,0X00,0X07,0XC1,0XFF,0XFF, 0X01,0XFF,0XF0,0X1F,0X00,0X07,0XFF,0XE1,
0XFF,0XF0,0XFC,0X00,0X03,0XC1,0XFF,0XFF, 0X03,0XFF,0XF8,0X1F,0X00,0X07,0XC7,0XE1,
0XFF,0XF0,0XFF,0XFF,0X83,0XC1,0XFF,0XFF, 0X07,0XE0,0XFC,0X1F,0X00,0X07,0XC3,0XE1,
0XFF,0XF0,0XFF,0XFF,0XC1,0XC1,0XFF,0XFF, 0X07,0XC0,0XFC,0X1F,0X00,0X07,0XC0,0X01,


0XFF,0XF0,0XFF,0XFF,0XC1,0XC1,0XFF,0XFF, 0X0F,0XC0,0X7E,0X1F,0X00,0X07,0XFC,0X01,
0XFF,0XF0,0XFF,0XFF,0X83,0XC1,0XFF,0XFF, 0X0F,0XC0,0X7E,0X1F,0X00,0X07,0XFF,0X81,
0XFF,0XF0,0XFF,0XFF,0X03,0XC1,0XFF,0XFF, 0X0F,0XC0,0X7E,0X1F,0X00,0X03,0XFF,0XC1,
0XFF,0XF0,0XFF,0XFE,0X07,0XC1,0XFF,0XFF, 0X0F,0XC0,0X7E,0X1F,0X00,0X00,0XFF,0XE1,
0XFF,0XF0,0XFF,0XFC,0X0F,0XC1,0XFF,0XFF, 0X0F,0XC0,0X7E,0X1F,0X00,0X00,0X1F,0XF1,
0XFF,0XF0,0XFF,0XFC,0X1F,0XC1,0XFF,0XFF, 0X0F,0XC6,0X7E,0X1F,0X00,0X00,0X03,0XF1,
0XFF,0XF0,0XFF,0XF8,0X3F,0XC1,0XFF,0XFF, 0X07,0XC7,0XFC,0X1F,0X00,0X0F,0X81,0XF1,
0XFF,0XF0,0XFF,0XF0,0X7F,0XC1,0XFF,0XFF, 0X07,0XE3,0XFC,0X1F,0X00,0X0F,0XC1,0XF1,

0XFF,0XF0,0X7F,0XE0,0X7F,0XC1,0XFF,0XFF, 0X03,0XFF,0XF8,0X1F,0XFF,0X87,0XE3,0XE1,
0XFF,0XF8,0X7F,0XC0,0XFF,0XC3,0XFF,0XFF, 0X03,0XFF,0XF8,0X1F,0XFF,0X87,0XFF,0XE1,
0XFF,0XF8,0X7F,0XC1,0XFF,0X83,0XFF,0XFF, 0X01,0XFF,0XFC,0X1F,0XFF,0X83,0XFF,0XC1,
0XFF,0XFC,0X3F,0X83,0XFF,0X07,0XFF,0XFF, 0X00,0X7F,0XFF,0X1F,0XFF,0X80,0XFF,0X01,
0XFF,0XFE,0X1F,0X07,0XFE,0X0F,0XFF,0XFF, 0X00,0X00,0X1F,0X00,0X00,0X00,0X00,0X01,
0XFF,0XFF,0X00,0X00,0X00,0X1F,0XFF,0XFF, 0X00,0X00,0X07,0X00,0X00,0X00,0X00,0X01,
0XFF,0XFF,0XFC,0X01,0XFF,0XFF,0XFF,0XFF, 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
0XFF,0XFF,0XF0,0X01,0XFF,0XFF,0XFF,0XFF, 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,

0XFF,0XFF,0XC0,0X00,0X3F,0XFF,0XFF,0XFF, 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
0XFF,0XFF,0X80,0X00,0X1F,0XFF,0XFF,0XCF, 0X3E,0X83,0XE7,0X3E,0X78,0X21,0X14,0XE1,
0XFF,0XFE,0X00,0X00,0X07,0XFF,0XFC,0X3F, 0X20,0X82,0X09,0X88,0X44,0X51,0X15,0X31,
0XFF,0XFC,0X7C,0X00,0X00,0XFF,0XC0,0X7F, 0X20,0X82,0X08,0X88,0X44,0X51,0X95,0X11,
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0X01,0XFF, 0X20,0X82,0X08,0X08,0X44,0X89,0X95,0X01,
0XFF,0XFF,0XFF,0XFE,0X00,0X00,0X03,0XFF, 0X20,0X82,0X08,0X08,0X44,0X89,0X55,0X01,
0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X07,0XFF, 0X3E,0X83,0XE8,0X08,0X44,0X89,0X55,0X01,
0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X1F,0XFF, 0X20,0X82,0X08,0X08,0X78,0X89,0X55,0X01,

0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0XFF,0XFF, 0X20,0X82,0X08,0X08,0X48,0X89,0X55,0X01,
0XFF,0XFF,0XFF,0XFF,0XFE,0X03,0XFF,0XFF, 0X20,0X82,0X08,0X08,0X48,0X89,0X35,0X01,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0X20,0X82,0X08,0X88,0X44,0X51,0X35,0X11,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0X20,0X82,0X09,0X88,0X44,0X51,0X15,0X31,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0X3E,0XF3,0XE7,0X08,0X44,0X21,0X14,0XE1,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,

};
 unsigned int lcd_x;               //X地址        
 unsigned int lcd_y;               //Y地址
//  bit busy;                        //忙標(biāo)志位
 
void init();                       //系統(tǒng)初始函數(shù)
void lcd_init();                   //LCD初始函數(shù)
void clear_p();                    //清屏函數(shù)
void han_wr2a();                   //寫函數(shù)   
void wr_zb();                      //寫準(zhǔn)備函數(shù)
void qushu();                      //查表函數(shù)
void send_d(unsigned char x);      //寫一字節(jié)數(shù)據(jù)函數(shù)
void send_i(unsigned char x);      //寫一字節(jié)命令函數(shù)
void chk_busy();                   //查L(zhǎng)CD忙函數(shù)
void delay();

//-------------------------------------------
int main(void)
{
       init();                    //系統(tǒng)初始化
       lcd_init();                //LCD初始化
       clear_p();                 //清除顯示
       qushu();                   //寫數(shù)據(jù)到LCD顯示
        while(1);
}

//-------------------------------------------
void init()
{
  TRISB=0X0000;                     //設(shè)置B口為輸出  
  TRISD=0X0000;                     //設(shè)置D口為輸出
}

//-------------------------------------------
void lcd_init()
{
  rst=0;                         //復(fù)位LCD
  delay();                       
  rst=1;                         //LCD正常工作
  delay();      
  psb=1;                         //8位并行通信
  send_i(0x30);                  //基本操作指令
  send_i(0x01);                  //關(guān)顯示
  send_i(0x06);                  //指定在寫入或讀取時(shí),光標(biāo)的移動(dòng)方向
  send_i(0x0c);                  //開顯示,關(guān)光標(biāo),不閃爍
}

//-------------------------------------------
void wr_zb()
{
  send_i(0x34);                  //擴(kuò)展操作指令
  send_i(lcd_y);                 //設(shè)置Y地址
  send_i(lcd_x);                 //設(shè)置X地址
  send_i(0x30);                  //基本操作指令
}

//-------------------------------------------
void clear_p()
{
  send_i(0x1);                   //清除顯示
  send_i(0x34);                  //擴(kuò)展操作指令
  send_i(0x30);                  //基本操作指令
}

//------------------------------------------
void qushu()
{
  unsigned char i,j,k;          //定義臨時(shí)變量    
  temp=0;                        //查表偏移地址
  lcd_x=0x0080;                    //上半屏X地址80H
  for(i=0;i<2;i++)               //共兩屏
     {
       lcd_y=0x0080;               //每一行的Y地址80H(即頂格顯示)
       for(j=0;j<32;j++)       //每半屏共20H行
          {
             wr_zb();            //寫準(zhǔn)備(設(shè)置X地址和Y地址)
             for(k=0;k<16;k++) //每一行16字節(jié)(因?yàn)轫敻駥懀?br/>                {
                   temp1=TAB1[temp]; //查表獲取顯示數(shù)字
                   send_d(temp1);    //送LCD顯示
                   temp++;       //查表偏移地址+1
                }
             lcd_y++;            //送下一行數(shù)據(jù)
             send_i(0x0036);       //擴(kuò)展指令操作:圖形顯示開
             send_i(0x0030);       //基本指令操作
          }
        lcd_x=0X0088;              //下半屏X地址
     }
}

//-------------------------------------------
void send_d(unsigned char x)
{
   chk_busy();                   //判斷LCD是否忙
   di=1;                         //總線上是數(shù)據(jù)   
   delay();    
   rw=0;                         //寫操作
   delay();
   PORTD=x;                      //數(shù)據(jù)送總線
   e=1;                          //使能
   delay();                      
   e=0;   
   delay();                  
}

//--------------------------------------------
void send_i(unsigned char x)
{
   chk_busy();                   //判斷忙信號(hào)
   di=0;                         //總線上是命令
   delay();
   rw=0;                         //寫操作
   delay();
   PORTD=x;                      //數(shù)據(jù)送總線
   e=1;                          //使能
   delay();
   e=0;   
   delay();             
}

//-------------------------------------------
void chk_busy()
{
//   busy=1;                       //先置忙信號(hào)    
   TRISD=0Xffff;                   //更改總線方向?yàn)檩斎?br/>   di=0;                         //總線上為命令
   delay();
   rw=1;                         //讀操作
   delay();
   while(PORTDbits.RD7)                 
      {
         delay();
         delay();
         e=1;                  
         delay();
         delay();
         e=0;                  
      }
   e=0;                        
   TRISD=0X0000;                  //總線還原為輸出  
 }

//-------------------------------------------
void delay()
{
    int m;
    for(m=0;m<10;m++)
       {;}
}

开原市| 海晏县| 双城市| 宜黄县| 邓州市| 平和县| 交口县| 格尔木市| 永济市| 大姚县| 三台县| 文成县| 安西县| 成武县| 本溪| 新蔡县| 出国| 申扎县| 汶上县| 临漳县| 株洲县| 武功县| 黄浦区| 巨野县| 桑植县| 长乐市| 双峰县| 鹿邑县| 永丰县| 南川市| 云龙县| 陆丰市| 镇赉县| 万安县| 五家渠市| 宁海县| 遂川县| 石林| 新疆| 锦州市| 桦甸市|