历史上的今天
今天是:2025年03月11日(星期二)
2021年03月11日 | MSP430液晶屏1602驱动程序
2021-03-11 来源:eefocus
1602液晶显示:
1,16脚:地
2,15脚:+5
3脚:接滑动变阻器,滑动变阻器另一端接地
4脚:P4.5(RS)
5脚: P4.6 (RW)
6脚: P4.7 (E)
7~14脚:接单片机的数据口P5(D0~D7)
#include #define RS_HIGN P4OUT|=BIT5 //P4.5 #define RS_LOW P4OUT&=~BIT5 #define RW_HIGN P4OUT|=BIT6 //P4.6 #define RW_LOW P4OUT&=~BIT6 #define E_HIGN P4OUT|=BIT7 //P4.7 #define E_LOW P4OUT&=~BIT7 void LcdPos(char,char); void LcdWd(char); void LcdWc(char); void LcdWcn(char); void Delay(char); void WaitIdle(); void Delay(char wDelay) //延时子程序 { while(wDelay!=0) wDelay--; } void WriteChar(char c,char x,char y) { LcdPos(x,y); LcdWd(c); } void WriteString(char *s,char x,char y) { char i; if(*s==0) return; for(i=0;;i++) { if(*(s+i)==0) break; WriteChar(*(s+i),x,y); x++; if(x>15) break; } } void SetCur(char Para) //设置光标,显示状态等 { Delay(2); switch(Para) {case 0: {LcdWc(0x08); break;} case 1: {LcdWc(0x0c); break;} case 2: {LcdWc(0x0e); break;} case 3: {LcdWc(0x0f); break;} default: break; } } void ClrLcd() { LcdWc(0x01); } void WaitIdle() { char temp; P5DIR &=0; RS_LOW;//RS=0; RW_HIGN;//RW=1; Delay(1000); for(;;) { E_HIGN;//E=1; temp=P5IN; E_LOW;//E=0 temp&=0x80; if(temp==0) {P5DIR=0xff; break;} } } void LcdWd(char c) //将待写数据送到端口 {WaitIdle(); P5DIR=0xff; RS_HIGN;//RS=1; RW_LOW;//RW=0; P5OUT=c; E_HIGN;//E=1; Delay(2000); E_LOW;//E=0; } void LcdWc(char c) { WaitIdle(); LcdWcn(c); } void LcdWcn(char c ) //送控制字子程序 { P5DIR=0xff; RS_LOW;//RS=0; RW_LOW;//RW=0; P5OUT=c; E_HIGN;//E=1; Delay(1000); E_LOW;//E=0; } void LcdPos(char x,char y) //设置光标所在位置 { unsigned char temp; x &=0x0f; y &=0x01; if(y==0) temp=x; else temp=x+0x40; temp |=0x80; LcdWc(temp); } void RstLcd() { Delay(10000); LcdWc(0x38); //显示模式设置 LcdWc(0x08); //显示关闭 LcdWc(0x01); //显示清屏 LcdWc(0x06); //显示光标移动位置 LcdWc(0x0c); //显示开及光标设置 } int main() { WDTCTL=WDTPW+WDTHOLD; P4DIR=0xff; RstLcd(); ClrLcd(); WriteString("welcome!",4,0); }
史海拾趣
|
这是一个基于IT4054充电芯片的充电电路 请问一下 右下角的100MA/500MA是什么元器件? 是场效应管吗? 请问我应该用什么型号的? 又或者说是其他的元器件 请各位高手指点指点!… 查看全部问答> |
|
是不是这两个原因: 1 频率高 E=4.44NΦF 根据这个 所以绕的线圈就少一点 2 频率高了之后电感和电容的容量也可以用的小一点 所以体积就小了 &nb ...… 查看全部问答> |
|
;==============================================;DS1302控制子程序 ;==============================================;程序包括:DS1302初始化,时间数据写入和读取程序 ;DS1302_init ;init ds1302 ;Set_DS1302 &nb ...… 查看全部问答> |
|
各位高手给此入门级的建议书籍看看.我以前有C编程的经验,C++也做过不过不如C深入.另外了解Linux驱动开发但是没实际做过.… 查看全部问答> |
|
请教怎样把Libxml 编译成可以在WINCE下使用的DLL 最近因为工作需要,下了Libxml 的源码,想编译成WINCE下使用的动态库, 苦于不知道怎么下手,希望做过的人说一下大概步骤.先谢谢了!… 查看全部问答> |




