機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
PIC16F72單片機(jī)控制HT1621B驅(qū)動(dòng)LCD
PIC16F72單片機(jī)控制HT1621B驅(qū)動(dòng)LCD
 更新時(shí)間:2008-7-26 17:03:37  點(diǎn)擊數(shù):3
【字體: 字體顏色

//PIC16C72單片機(jī)控制HT1621B驅(qū)動(dòng)LCD
#include <pic.h>
#define BIAS 0X50                        //1/2偏壓,4背極
#define RC256 0X30                       //系統(tǒng)時(shí)鐘選擇為片內(nèi)RC振蕩器
#define WDTDIS1 0X0A                     //禁止WDT溢出標(biāo)志輸出
#define TIMERDIS 0X08                    //時(shí)基輸出禁能
#define SYSEN 0X02                       //打開(kāi)系統(tǒng)時(shí)鐘
#define LCDON 0X06                       //打開(kāi)偏壓發(fā)生器
#define SYSDIS 0X00                      //關(guān)閉系統(tǒng)時(shí)鐘和偏壓發(fā)生器

#define CS RB5
#define WR RB6
#define DATA RB7
#define uchar unsigned char
#define uint unsigned int

void SENDBYTE (uchar dat); 
void SENDBIT (uchar dat,uchar bitcnt);      
/***************************延時(shí)子函數(shù)******************************/
void delay()                             //延時(shí)
{
 uchar i=0;
 while(i<10)
   i++;
}
void delay1s()                           //延時(shí)1S
{
 uchar i;
 uint j;
 for(i=0;i<10;i++)
    for(j=0;j<1300;j++);
}
/**************************HT1621B初始化****************************/
void START_HT1621()                      //初始化HT1621
{
 CS=1;
 WR=1;
 DATA=1;
 delay();
 CS=0;
 CS=0;
 WR=0;
 WR=0;
}
/*************************發(fā)送命令子函數(shù)A***************************/
void SENDCOMA(uchar com)                 //發(fā)送命令A(yù),ID=100+0
{
 START_HT1621();
 SENDBIT(0X80,4);
 SENDBYTE(com);
}
/*************************發(fā)送命令子函數(shù)B***************************/
void SENDCOMB(uchar adr)                 //發(fā)送命令B,發(fā)送顯示數(shù)據(jù)
{
 START_HT1621();                         //HT1621初始化
 SENDBIT(0XA0,4);                       
//發(fā)送寫數(shù)據(jù)ID:101+6位LCD之RAM地址第1位
 SENDBIT(adr,5);                         //然后發(fā)送地址后5位
}
/*************************發(fā)送命令子函數(shù)C***************************/
void SENDCOMC(uchar com)                 //發(fā)送命令C,ID=100+1
{
 START_HT1621();
 SENDBIT(0X90,4);
 SENDBYTE(com);
}
/***********************按位發(fā)送數(shù)據(jù)子函數(shù)**************************/
void SENDBIT (uchar dat,uchar bitcnt)    //按位發(fā)送數(shù)據(jù)
{
 uchar i;
 for(i=0;i<bitcnt;i++)
   {
     if((dat&0x80)==0X00)                //從最高位發(fā)送
       DATA=0;
     else
       DATA=1;
     delay();
     WR=1;                              
//在WR的上升沿,數(shù)據(jù)寫入HT1621B
     delay();
     WR=0;
     dat=dat<<1;
   }
}
/*************************發(fā)送字節(jié)數(shù)據(jù)子函數(shù)************************/
void SENDBYTE (uchar dat)                //發(fā)送字節(jié)數(shù)據(jù)
{
 SENDBIT(dat,8);
}
/***************************LCD顯示子函數(shù)***************************/
void display(uchar dat)                  //LCD顯示
{
uchar i;
SENDCOMB(0X00);                          //從RAM的0X00地址開(kāi)始放入數(shù)據(jù)
for (i=0;i<8;i++)
  {
   SENDBYTE(dat);                        //從SEG0開(kāi)始顯示數(shù)據(jù)
  }
}
/*************************HT1621B初始化設(shè)置*************************/
void SETUP_HT1621()                     
//HT1621偏壓、背極、工作方式設(shè)置
{
 SENDCOMA(BIAS);                        
 SENDCOMA(RC256);
 SENDCOMA(SYSEN);
 delay1s();
 SENDCOMA(LCDON);
 SENDCOMA(WDTDIS1);
 SENDCOMA(TIMERDIS);
}
/*******************************主函數(shù)******************************/
main()                                   //主函數(shù)
{
  TRISB=0X00;                           
//B口設(shè)為輸出,以控制HT1621驅(qū)動(dòng)LCD
  SETUP_HT1621();
  while(1)
  {
   display(0XFF);                        //全顯示
  }                                        

 

  • 上一篇: PIC單片機(jī)控制的電動(dòng)自行車驅(qū)動(dòng)系統(tǒng)(C程序)
  • 下一篇: 基于PIC MG-12232模塊的編程液晶顯示(C程序)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1