HT1621B驱动液晶LCD连接及程序



《HT1621B驱动液晶LCD连接及程序》由会员分享,可在线阅读,更多相关《HT1621B驱动液晶LCD连接及程序(8页珍藏版)》请在装配图网上搜索。
1、 #define BIAS 0x52 ^define SYSDIS 0X00 ^define SYSEN 0X02 ^define LCDOFF 0X04 #define LCDON 0X06 ^define XTAL 0x28 ^define RC256 0X30 ^define TONEON 0X12 //0b1000 0001 0010打开声音输出 #define TONEOFFOX10 ^define WDTDIS OXOA //0b1000 0001 0000关闭声音输出 //0b1000 0000 1010 禁止看门狗 ^define TONE 4K
2、 0x80 〃4k声音输出频率 HT1621B驱动液晶LCD连接及程序 (2014-03-04 12:11:47) 转载▼ 标签: 分类:单片机 ht1621 ht1621bstm8s ht1621 驱动 led 程序 最近需要把AD转换的数据显示出来,因为手边只有 HT1621,所以就用这个了。 硬件连接:单片机使用 stm8s103k的32脚芯片,来驱动HT1621B显示LCD。 (1)单片机与HT1621之间只需连接3根线:CS,WR,DATA。 (2 ) HT1621的VC和vied都直接连接的5V电源。 (3) ht1621与LCD之间需要把com。〜馍01
3、3£403915都对应连接起来。 软件部分: #include "stm8s.h" include HSTM8S103k.hM //0b1000 0101 0010 1/3duty 4com 〃0b1000 0000 0000关振系统荡器和LCD偏压发生器 〃0b1000 0000 0010打开系统 振荡器 //0b1000 0000 0100 笑 LCD 偏压 〃0b1000 0000 0110 打开 LCD 偏 压 //0b1000 0010 1000 外部接时钟 //0b1000 0011 0000 内部时钟 RC256K #defin
4、e TONE_2K OxCO //HT1621控制位(液晶模块接口定义,根据自已的需要更改) _Bool PB_ODR_ODR7 @PB_ODR:7”CS _Bool PB_ODR_ODR5 @PB_ODR:5y/WR _Bool PB_ODR_ODR6 @PB_ODR:6;//DATA # define CLS_HT_WR PB_ODR_ODR5 = 0 〃 拉彳氐 # define SET_HT_WR PB_ODR_ODR5 = 1 // 拉高 # define CLS_HT_CS PB_ODR_ODR7 = 0 〃 拉彳氐 # define SET HT CS PB OD
5、R ODR7 = 1 // 拉高 # define SET_HT_DAT PB_0DR_0DR6 = 1 // 数据位 #define CLS_HT_DAT PB_ODR_ODR6 = 0 // 数据位 // 〃函数名称:Delay() //功能:延时子程序 // void Delay(uchar us) 〃 5,7,9 ( while(-us); ) // 〃函数名称:DelayMS() 〃功能:延时子程序 // void DelayMS(uint iMs) ( uint i,j; for(i=0;i for(j=0;j<65;j++) ( De
6、lay(1); ) ) void portjnit(void) ( PB DDR = 0xFF;//0x80; PB CR1 = 0xFF;//0x80; PB CR2 = 0x00; //PD DDR = 0x1c; //PD CR1 =0x1c; //PD CR2 = 0x0; PE_DDR= 0x20;//PE5—output PE CR1=0x20; PE CR2=0x00; ) // 〃函数名称:Ht1621Wr_Data() 〃功能:写数据函数,ent为传送数据位数,数据传送为低位在前 // void Ht1621 Wr Data(uchar
7、 Data,uchar ent) uchar i; for (i=O;i ( CLS HT WR; DelayMS(3); if((Data & 0x80)==0x80) ( SET HT DAT; ) else { CLS HT DAT; ) SET HT WR; DelayMS(3); Data«=1; ) ) // // 函数名称:void Ht1621 WrOneData(uchar Addr,uchar Data) 〃功能描述:HT1621在指定地址写入数据函数 〃参数说明:Addr为写入初始地址,Data为写入数据 〃说明
8、:因为HT1621的数据位4位,所以实际写入数据为参数的后 // void Ht1621 WrOneData(uchar Addr,uchar Data) ( CLS HT CS; DelayMS(1); Ht1621Wr_Data(0xa0,3); // 写入数据标志 101 Ht1621 Wr_Data(Addr«2,6); // 写入地址数据 Ht1621 Wr_Data(Data«4,4); // 写入数据 SET HT CS;// ) // // 函数名称:void Ht1621 WrOneNum(uchar Addr,uchar Nu
9、m) 〃功能描述:HT1621在指定地址写入一个数字(0-9)函数 〃参数说明:Addr为写入初始地址,Num为写入数据 〃说明:因为HT1621的数据位4位,所以实际写入数据为参数的后 // void Ht1621 WrOneNum(uchar Addr,uchar num) CLS HT CS;//HT1621 CS=O; Ht1621Wr_Data(0xa0,3);// 写入数据标志 101 Ht1621 Wr_Data(Addr«2,6); // 写入地址数据 Ht1621Wr_Data(num,8); 〃写一个完整的数。就是连续写两个数。 SET HT
10、 CS;// ) // // 函数名称:void Ht1621WrAIIData() 〃功能描述:HT1621连续写入方式函数 〃说明:HT1621的数据位4位,此处每次数据为8位,写入数据总数按 // void Ht1621 WrAIIData(void) ( uchar i; CLS HT CS;// Ht1621Wr_Data(0xa0,3); // 写入数据标志 101 Ht1621Wr_Data(0x00«2,6); // 写入地址数据 for (i=0;i<16;i++) ( Ht1621 Wr_Data(0x00,8);//0x00
11、,8); // 写入数据 ) SET HT CS;// ) // // 函数名称:void Ht1621 WrCmd(uchar Cmd) 〃功能描述:HT1621命令写入函数 〃参数说明:Cmd为写入命令数据 //说明:写入命令标识位100 // void Ht1621 WrCmd(uchar Cmd) ( CLS HT CS;//HT1621 CS=0; DelayMS(1); Ht1621Wr_Data(0x80,4); // 写入命令标志 100 Ht1621Wr_Data(Cmd,8); // 写入命令数据 SET_HT_CS;//HT1621_CS
12、=1; ) // // 函数名称:void Ht1621 j nit(void) 〃功能描述:HT1621初始化 〃说明:初始化后,液晶屏所有字段均显示 void Ht1621 I nit(void) SET HT CS;//HT1621 CS=1; SET HT WR;//HT1621 WR=1; SET HT DAT;//HT1621 DAT=1; DelayMS(20);〃延时使LCD工作电压稳定 Ht1621WrCmd(BIAS); Ht1621WrCmd(RC256);//使用内部振荡器 Ht1621WrCmd(SYSDIS); Ht1621WrCmd(WD
13、TDIS); Ht1621WrCmd(SYSEN); Ht1621WrCmd(LCDON); DelayMS(20); 〃延时一段时间 Ht1621WrAIIData(); ) void main() ( uchar i=0x1d; CLKJCKR |= 0x01; //打开内部高速RC 〃 CLK_CKDIVR = 0x1 B; // fcpu=2M fmaster=2/8=0.25M 〃 CLK CKDIVR = 0x1 a; //fcpu=2M fmaster=2/4=0.5M 〃 CLK_CKDIVR = 0x18; //fcpu=2M fmaster=2/1 =
14、2M // 可以工作 port init(); 可以工作 Ht1621」nit(); 〃上电初始化LCD while(1) ( if(i%2) ( Ht1621 WrOneNum(1,0x06) ;//1 Ht1621 WrOneNum(3,Oxe3);//2 Ht1621 WrOneNum(5,Oxa7);//3 Ht1621 WrOneNum(7,Ox36);//4 Ht1621 WrOneNum(9,Oxb5);//5 } else { Ht1621 WrOneNum(1,0xf5);//6 Ht1621 WrOneNum(3,0x07);//7 Ht1621 WrOneNum(5,Oxf7);//8 Ht1621 WrOneNum(7,Oxb7);//9 Ht1621 WrOneNum(9,0xd7);//0 ) i=i-1; if(i==OxO1) { i = 0x21; ) 〃 PE ODR=PE ODRA0X20; Delay MS(200); } )
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。