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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

MSP430單片機串行四線驅動1602液晶程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年08月06日   【字體:

#include "msp430g2553.h"
#define uchar unsigned char
#define uint unsigned int
#define RS_1 P1OUT|=BIT3;//輸入數據
#define RS_0 P1OUT&=~BIT3;//輸入指令
#define RW_1 P1OUT|=BIT4;//寫入指令或者數據
#define RW_0 P1OUT&=~BIT4;//從lcd里面讀取數據
#define EN_1 P1OUT|=BIT5;//讀取信息
#define EN_0 P1OUT&=~BIT5;//下降沿時候執行指令
#define datt P2OUT;
uchar temp=0;
uchar  table1[]={"hello"};
uchar  table2[]={"hello"};

/*.................................................
 * 延時程序
.................................................. */

void delay(uint i)
{
uint j;
while(--i!=0)
{
for(j=0;j<255;j++);
}
}

/*.................................................
 * 忙信號檢查
.................................................. */

uchar chkbusy()
{
uchar busy;
P2OUT=0xf0;
EN_0;//讀取數據
RS_0;//輸入指令
RW_1;//寫入指令或者數據
EN_1;//讀取信息
busy=P2OUT&0x80;
delay(1);
EN_0;//下降沿執行指令
return(busy);
}

/*.................................................
 * 寫指令
.................................................. */

void writecom(uchar x,uchar comm)
{
//if(x) while(chkbusy());
EN_0;
RS_0;
RW_0;
EN_1;
P2OUT=(comm&0xf0);
delay(5);
EN_0;
delay(5);
EN_1;
P2OUT=(comm&0x0f)<<4;
delay(5);
EN_0;
}

/*.................................................
 * 寫數據
.................................................. */

void writedata(uchar dat)
{

//while(chkbusy()); //檢查忙信號
EN_0;
RS_1;
RW_0;
EN_1;
P2OUT=(dat&0xf0); //送高四位數據到P2口
delay(5);
EN_0;
delay(5);
EN_1;
P2OUT=(dat&0x0f)<<4; //送低四位數據到P2口
delay(5);
EN_0;
P2OUT=P2OUT|0x0f; //置低四位為1

}

/*.................................................
 * lcd初始化程序
.................................................. */

void lcdinit()
{
delay(30);
writecom(0,0x02);//數據指針清零
delay(5);
writecom(1,0x28);//
writecom(1,0x0c);//顯示光標開及設置
writecom(1,0x06);//顯示光標移動設置
writecom(1,0x01);//顯示清屏
delay(10);
}

/*.................................................
 * 在指定位置顯示一個字符,x為行,Y為列
.................................................. */

void displayone(uchar x,uchar y,uchar *n)
{
uchar add;
if (x == 1) add=0x80+y;
//writecom(1,add);
else add=0xc0+y;
writecom(1,add);
writedata(*n);
}

/*.................................................
 * 顯示字符串
.................................................. */

void displayleng(uchar x,uchar y,uchar *s)
{
y=y&0x0f;
while(*s)
{
displayone(x,y,s);
y++;
s++;
}
}

/*.................................................
 * 主函數
.................................................. */

void main()
{

 WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
    P2SEL=0x00;
    P2DIR = 0xff;
    P1DIR = 0x38;

lcdinit();
//lcdcls();

P2OUT=0xff;

writecom(1,0x01);
//writedata(0x01);
while(1)
{
displayleng(1,0,table1);
delay(100);
displayleng(2,1,table2);
}
}
 

關閉窗口

相關文章

主站蜘蛛池模板: 黄色一级在线播放 | 美女视频一区 | 在线观看国产www | 亚洲免费人成在线视频观看 | 91色站 | 一区二区三区国产在线观看 | 黄片毛片在线观看 | 亚洲国产片 | 久久99久久久久 | 精品一区二区三区在线观看 | 欧美国产日韩在线 | 亚洲免费久久久 | 91亚洲精华国产 | 久热国产精品 | 中文字幕第二区 | 欧美日日日日bbbbb视频 | av黄色在线 | 久久久2o19精品 | 一区二区三区亚洲 | 老牛影视av一区二区在线观看 | www亚洲精品 | 久久精品国产一区二区电影 | xx性欧美肥妇精品久久久久久 | 成人自拍视频网站 | 亚洲高清在线播放 | 日韩免费成人av | av黄色网 | 国产美女在线观看 | 国产无套一区二区三区久久 | 久久久久久久久99 | 日日操视频 | 国产精品欧美日韩 | 日韩中文字幕在线视频观看 | 午夜影院在线观看 | 精品一二区 | 日本a∨视频 | 亚洲网站在线 | 99久久日韩精品免费热麻豆美女 | 国产精品久久久久久久久久久久久久 | 亚洲高清视频一区 | 日韩精品一区二区三区视频播放 |