新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MSP430F2274 LCD1602顯示模塊

        MSP430F2274 LCD1602顯示模塊

        作者: 時間:2016-11-13 來源:網絡 收藏
        /**********************************************************************************************************

        * 功能: 實現LCD1602顯示"Welcome to! "字符 *
        * 描述: LCD1602三根控制引腳由NPN三極管反向控制,D0~D7直接與MSP430相連接 *
        * 禁止 LCD1602讀操作.三極管C極接LCD三根控制引接,三極管E極接地,三 *
        * 極管B極由口線控制.如此實現 3V 反向控制 5V. *
        * *
        * LCD1602 *
        * ------------------------- MSP430F2274 *
        * | Welcome to! | ----------------- *
        * | | | XIN|- ________ *
        * ------------------------- | | | 32.768 |*
        * | | | | | | | -|RSTXOUT|-/ *
        * V R R E D ~D G | | *
        * C S W N 0 7 N | | *
        * C D | | *
        * | |*
        * ----------------- *
        **
        * 作者: Singel*
        * 時間: 2008年10月17日23時45分 *
        * 此例在 IAR Embedded Workbench IDE for MSP430 v3.42a 調試通過 . *
        *********************************************************************************************************/

        本文引用地址:http://www.104case.com/article/201611/316221.htm


        #include<msp430x22x4.h>
        #define uint unsigned int
        #define uchar unsigned char

        #define LCDRS BIT5
        #define LCDRW BIT6
        #define LCDE BIT7
        #define LCDRW_out_low P2OUT &=~BIT6 // 置0
        #define LCDRW_out_high P2OUT |= BIT6 // 置1
        #define LCDRS_out_low P2OUT &=~BIT5
        #define LCDRS_out_high P2OUT |= BIT5
        #define LCDE_out_low P2OUT &=~BIT7
        #define LCDE_out_high P2OUT |= BIT7

        const char zifu[]={Welcome to!}; // 定義ASCII碼字符數組

        void delay(uint m)
        {
        unsigned int i;
        for(i=0;i }

        void lcd_write_command( uchar command ) // LCD1602 寫命令
        {
        LCDRW_out_low;
        LCDRS_out_low;
        LCDE_out_high;
        delay(1);
        LCD_BUS_OUT = command;
        LCDE_out_low;
        delay(1);
        }

        void lcd_write_data( uchar datas ) // LCD1602 寫數據
        {

        LCDRW_out_low;
        LCDRS_out_high;
        LCDE_out_high;
        delay(1);
        LCD_BUS_OUT = datas;
        LCDE_out_low;
        delay(1);
        }

        void lcd_initialization(void) // LCD1602初始化
        {
        delay(15);
        lcd_write_command(0x01);//清除所有的顯示,并將DDRAM 地址計數器(AC)清零
        lcd_write_command(0x02);//不改變DDRAM中的內容,只將DDRAM 地址計數器 AC 清零,光標返回至原始狀態
        lcd_write_command(0x06);//光標由左向右移動且AC 自動加一 禁止滾動
        lcd_write_command(0x0c);//整體顯示打開 不顯示光標 光標不閃爍
        lcd_write_command(0x14);//光標右移,AC 加1,顯示不動
        lcd_write_command(0x38);//8位數據接口模式,DB0-DB7有效,5×7點陣顯示模式,加光標
        delay(5);
        }

        void lcd_display(void) // LCD1602顯示
        {
        uchar count;
        lcd_write_command(0x81);
        for(count=0;count<11;count++)
        {
        lcd_write_data(zifu[count]);
        }
        }

        void main ( void )
        {
        lcd_initialization();
        lcd_display();
        while(1);
        }



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 宝清县| 鹤壁市| 尚义县| 山东省| 天水市| 洮南市| 南丹县| 肥西县| 兴海县| 绩溪县| 宿州市| 栾川县| 永兴县| 广州市| 龙胜| 山阴县| 兴和县| 德清县| 宿迁市| 阿巴嘎旗| 凤阳县| 温泉县| 万山特区| 成武县| 五大连池市| 临朐县| 临汾市| 年辖:市辖区| 八宿县| 汝州市| 盈江县| 兰溪市| 延庆县| 湛江市| 广西| 古田县| 宜良县| 叶城县| 阜阳市| 饶河县| 阿城市|