音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

那為高手在LPC2131上調(diào)試通過MS240128液晶屏?

作者:larry1005 欄目:ARM技術(shù)
那為高手在LPC2131上調(diào)試通過MS240128液晶屏?
OK?

2樓: >>參與討論
vcvcvcvc
俺用的2132,自己做的板子
//lcd.h
#ifndef __LCD_H
#define __LCD_H

extern void lcd_init(void);
extern void lcd_clr(void);
extern void lcd_clrscr(void);
extern void lcd_cursor_on(void);
extern void lcd_cursor_off(void);
extern void lcd_show_bmp(void);
extern void LCDShowIcon(unsigned CHAR x, unsigned CHAR y, unsigned CHAR id);
extern void LCDShowIcon2(unsigned CHAR x, unsigned CHAR y, unsigned CHAR id);
extern void lcd_print(unsigned CHAR x, unsigned CHAR y, unsigned CHAR mode, CHAR *p);
extern void lcd_puts(unsigned CHAR x, unsigned CHAR y, unsigned CHAR *p);
extern void lcd_set_cursor_pos(unsigned CHAR x, unsigned CHAR y);

#endif


//lcd.c
#include "string.h"
#include "lpc213x.h"

#include "bus.h"
//#include "t1.h"
//#include "includes.h"
//#include "hz.inc"
#include "logo.inc"

#define BIT(x)  (1<<x)
#define SET_BIT(x, y)   (x|=(1<<y))
#define CLR_BIT(x, y)   (x&=~(1<<y))
#define GET_BIT(x, y)   (x&(1<<y))

// T6963C 端口定義
#define LCMDW        0x3E
#define LCMCW        0x3F

#define GraphAddrL       0x00          //圖形首地址低8位
#define GraphAddrH       0x04          //圖形首地址高8位
#define GraphicStartAddr 0x0400        //圖形首地址
#define TextAddrL        0x00          //文本首地址低8位
#define TextAddrH        0x00          //文本首地址高8位
#define TextStartAddr    0x00          //文本首地址

#define LC_CUR_POS    0x21        // 光標(biāo)位置設(shè)置
#define LC_CGR_POS    0x22        // CGRAM偏置地址設(shè)置
#define LC_ADD_POS    0x24        // 地址指針位置
#define LC_TXT_STP    0x40        // 文本區(qū)首址
#define LC_TXT_WID    0x41        // 文本區(qū)寬度
#define LC_GRH_STP    0x42        // 圖形區(qū)首址
#define LC_GRH_WID    0x43        // 圖形區(qū)寬度
#define LC_MOD_OR    0x80        // 顯示方式:邏輯“或”
#define LC_MOD_XOR    0x81        // 顯示方式:邏輯“異或”
#define LC_MOD_AND    0x82        // 顯示方式:邏輯“與”
#define LC_MOD_TCH    0x83        // 顯示方式:文本特征
#define LC_CUR_SHP    0xA0        // 光標(biāo)形狀選擇:0xA0-0xA7表示光標(biāo)占的行數(shù)
#define LC_AUT_WR    0xB0        // 自動(dòng)寫設(shè)置
#define LC_AUT_RD    0xB1        // 自動(dòng)讀設(shè)置
#define LC_AUT_OVR    0xB2        // 自動(dòng)讀/寫結(jié)束
#define LC_INC_WR    0xC0        // 數(shù)據(jù)一次寫,地址加1
#define LC_INC_RD    0xC1        // 數(shù)據(jù)一次讀,地址加1
#define LC_DEC_WR    0xC2        // 數(shù)據(jù)一次寫,地址減1
#define LC_DEC_RD    0xC3        // 數(shù)據(jù)一次讀,地址減1
#define LC_NOC_WR    0xC4        // 數(shù)據(jù)一次寫,地址不變
#define LC_NOC_RD    0xC5        // 數(shù)據(jù)一次讀,地址不變
#define LC_SCN_RD    0xE0        // 屏讀
#define LC_SCN_CP    0xE8        // 屏拷貝
#define LC_BIT_OP    0xF0        // 位操作:D0-D2:定義D0-D7位;D3:1置位;0:清除

//unsigned CHAR LCDRamBuf[128][30];
volatile unsigned CHAR cursor_x = 0;
volatile unsigned CHAR cursor_y = 0;                            //光標(biāo)的坐標(biāo)
volatile unsigned CHAR lcd_buf[16][32];

typedef struct typFNT_GB16    // 漢字字模顯示數(shù)據(jù)結(jié)構(gòu)
{
    unsigned CHAR Index[3];
    unsigned CHAR Msk[32];
} AAA;

#include "asc14.inc"
#include "hz14.inc"

unsigned CHAR fnST01(void)        // 狀態(tài)位STA1,STA0判斷(讀寫指令和讀寫數(shù)據(jù))
{
    unsigned CHAR i;
    
    for(i=10;i>0;i--)
    {
        if((bus_inp(LCMCW) & 0x03) == 0x03)
            break;
    }
    return i;    // 若返回零,說明錯(cuò)誤
}

unsigned CHAR fnST3(void)        // 狀態(tài)位ST3判斷(數(shù)據(jù)自動(dòng)寫狀態(tài))
{
    unsigned CHAR i;
    
    for(i=10;i>0;i--)
    {
        if((bus_inp(LCMCW) & 0x08) == 0x08)
            break;
    }
    return i;    // 若返回零,說明錯(cuò)誤
}

unsigned CHAR fnPR1(unsigned CHAR uCmd,unsigned CHAR uPar1,unsigned CHAR uPar2)    // 寫雙參數(shù)的指令
{
    if(fnST01() == 0)
        return 1;
    bus_outp(LCMDW, uPar1);
    if(fnST01() == 0)
        return 2;
    bus_outp(LCMDW, uPar2);
    if(fnST01() == 0)
        return 3;
    bus_outp(LCMCW, uCmd);
    return 0;    // 返回0成功
}

unsigned CHAR fnPR12(unsigned CHAR uCmd)        // 寫無(wú)參數(shù)的指令
{
    if(fnST01() == 0)
        return 1;
    bus_outp(LCMCW, uCmd);
    return 0;    // 返回0成功
}

unsigned CHAR fnPR13(unsigned CHAR uData)        // 寫數(shù)據(jù)
{
    if(fnST3() == 0)
        return 1;
   &nbs
3樓: >>參與討論
larry1005
感謝vcvcvcvc
vcvcvcvc,您有Email或QQ嗎?以便向您請(qǐng)教.
我在看你的程序.

謝謝

4樓: >>參與討論
larry1005
vcvcvcvc
vcvcvcvc好:
你的下述LCMDW,LCMCW怎樣定義的?
#define LCMDW        0x3E
#define LCMCW        0x3F
多謝

5樓: >>參與討論
vcvcvcvc
是模擬總線的LCD地址
A0為C/D
A6位CS

6樓: >>參與討論
larry1005
vcvcvcvc
vcvcvcvc:
能否告知你的*.h文件.給張硬件連接圖.你的程序,看了我莫名其妙.
我的Email:larryhai@163.com.
tks


7樓: >>參與討論
vcvcvcvc
原理圖已發(fā)
 
8樓: >>參與討論
larry1005
謝謝.在Email中提了幾個(gè)問題,請(qǐng)看看,回復(fù).
 
9樓: >>參與討論
szwjh98
我也想學(xué)學(xué)
vcvcvcvc:
能否告知你的*.h文件.給張硬件連接圖.你的程序,
我的Email:szwjh98@sina.com.


10樓: >>參與討論
fangli8437
我也想學(xué)學(xué)
vcvcvcvc:
能否告知你的*.h文件.給張硬件連接圖.你的程序,
我的Email:fangli8437@126.com. 

11樓: >>參與討論
liaoxiaobo
vcvcvcvc:你好
vcvcvcvc:你好,我也想學(xué),麻煩你告訴我你的*.h文件.順便給張硬件連接圖.謝謝!我的Email:dengni20012005@163.com

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
我想請(qǐng)教一下在在EASYARM2100開發(fā)板上的問題
怎么用EASYJATC調(diào)試片外大于1M的Flash?
求助 關(guān)與復(fù)位
ucLinux的移植問題
pll頻率計(jì)算求助
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)