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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

1621lcd液晶的51單片機驅動程序分享

[復制鏈接]
跳轉到指定樓層
樓主
ID:81512 發表于 2015-5-29 20:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg51.h>
#include <intrins.h>
#include <absacc.h>

#define uchar unsigned char
#define uint unsigned int
#define _Nop() _nop_()

#define BIAS 0x52     //0b1000 0101 0010  1/3duty 4com
#define SYSDIS 0X00   //0b1000 0000 0000  關振系統蕩器和LCD偏壓發生器
#define LCDOFF 0X04   //0b1000 0000 0100  關LCD偏壓
#define LCDON 0X06    //0b1000 0000 0110  打開LCD偏壓
#define SYSEN 0X02    //0b1000 0000 0010 打開系統振蕩器
#define XTAL 0x28     //0b1000 0010 1000 外部接時鐘
#define RC256 0X30    //0b1000 0011 0000  內部時鐘
#define TONEON 0X12   //0b1000 0001 0010  打開聲音輸出
#define TONEOFF 0X10  //0b1000 0001 0000 關閉聲音輸出
#define WDTDIS 0X0A   //0b1000 0000 1010  禁止看門狗

//HT1621控制位
sbit HT1621_DAT=P2^5;
sbit HT1621_CS=P2^6;
sbit HT1621_WR=P2^7;

uchar code Ht1621Tab[]={0xf5,0x05,0xb6,0x57,0x53,0xd3,0xf3,0x85,0xf7,0xd7};                //0,1,...8,9

uchar code Ht1621Tab1[]={0xeb,0x0a,0xad,0x8f,0x4e,0xc7,0xe7,0x8a,0xef,0xcf};

//delay us
void Delay(uchar us)
{
while(--us);
}


//delay ms
void DelayMS(uint iMs)
{
uint i,j;
   for(i=0;i<iMs;i++)
    for(j=0;j<65;j++) Delay(1);

}
//完成寫一個命令包括頭(100)
void Ht1621WrCmd(uchar ucTmpCmd)
{
uchar data i,ucCmdByte=0x80;
HT1621_CS=0;
_Nop();
_Nop();
for (i=0;i<4;i++)
{
  if (ucCmdByte&0x80) HT1621_DAT=1;
  else  HT1621_DAT=0;
  HT1621_WR=0;
  _Nop();
  _Nop();
  HT1621_WR=1;
  _Nop();
  ucCmdByte<<=1;
}
for (i=0;i<8;i++)
{
  if (ucTmpCmd&0x80) HT1621_DAT=1;
  else HT1621_DAT=0;
  HT1621_WR=0;
  _Nop();
  _Nop();
  HT1621_WR=1;
  _Nop();
  ucTmpCmd<<=1;
}
HT1621_CS=1;
_Nop();
_Nop();
}

//寫命令+地址
void Ht1621WrDataCmd(uchar ucAddr)
{
uchar data i,ucDataCmd=0x05;    //101
ucDataCmd<<=5;
for (i=0;i<3;i++)
{
  if (ucDataCmd&0x80) HT1621_DAT=1;
  else HT1621_DAT=0;
  HT1621_WR=0;
  _Nop();
  _Nop();
  HT1621_WR=1;
  _Nop();
  ucDataCmd<<=1;
}
ucAddr<<=2;
for (i=0;i<6;i++)
{
  if (ucAddr&0x80) HT1621_DAT=1;
  else HT1621_DAT=0;
  HT1621_WR=0;
  _Nop();
  _Nop();
  HT1621_WR=1;
  _Nop();
  ucAddr<<=1;
}

}

//完成寫一個字節數據
void Ht1621WrByte(uchar ucTmpData)
{
uchar data i;

for (i=0;i<8;i++)
{
  if (ucTmpData&0x80) HT1621_DAT=1;
  else HT1621_DAT=0;
  HT1621_WR=0;
  _Nop();
  _Nop();
  HT1621_WR=1;
  _Nop();
  ucTmpData<<=1;
}

}


void CPU_Init()
{
P0=0XFF;
P1=0xf8;
P2=0XFF;
P3=0XFF;
}


void Ht1621_Init()
{
HT1621_CS=1;
HT1621_WR=0;
HT1621_DAT=1;
DelayMS(2000);       //延時使LCD工作電壓穩定
Ht1621WrCmd(BIAS);
Ht1621WrCmd(RC256);  //使用內部振蕩器
Ht1621WrCmd(SYSDIS);
Ht1621WrCmd(WDTDIS);
Ht1621WrCmd(SYSEN);
Ht1621WrCmd(LCDON);
}

void main()
{
uchar data i;
SP=0X60;
CPU_Init();
Ht1621_Init();   //上電初始化LCD
while(1)
{
  for (i=0;i<10;i++)
  {
   HT1621_CS=0;
   Ht1621WrDataCmd(4);   //往RAM的地址4寫數據  這里的參數范圍為:0-31
   Ht1621WrByte(Ht1621Tab[i]);
   HT1621_CS=1;
   DelayMS(2000);        //2S
  }
}
}

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

使用道具 舉報

沙發
ID:398454 發表于 2018-9-16 00:45 | 只看該作者
能直接使用嗎
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区高清 | 免费久久精品 | 国产精品视频500部 a久久 | 亚洲性爰 | 黄色免费av | 国产在线第一页 | 一区二区三区视频 | 中文字幕一区二区三区四区五区 | 国产精品久久福利 | 国产高清视频在线 | 国产一级毛片精品完整视频版 | 欧美a区| 亚洲欧美综合 | 欧美韩一区二区三区 | 亚洲国产一区二区视频 | 国产欧美日韩一区二区三区在线观看 | www.日本国产| 欧美人妖网站 | 国产精品69毛片高清亚洲 | 91精品亚洲 | 亚洲成人一区二区 | 日本三级电影在线观看视频 | 中文字幕不卡一区 | 国产高清一区二区三区 | 色婷婷精品 | 一区二区亚洲 | 中文字幕在线观看视频网站 | 91看片在线观看 | 97精品国产97久久久久久免费 | 日本爱爱 | 国产99久久久久 | 国产精品国产精品国产专区不卡 | 欧美国产一区二区 | 欧美日韩亚洲一区 | 国产福利在线 | 国产蜜臀97一区二区三区 | 91成人 | 精品一二三区 | 欧美成人a∨高清免费观看 色999日韩 | 日韩精品一区二区三区中文在线 | 一区二区三区久久久 |