0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

LCD模塊的使用 SMC與LCD控制器的交互方案

454398 ? 來源:博客園 ? 作者: h46incon ? 2020-10-20 14:11 ? 次閱讀

在上個(gè)例子中,已經(jīng)在ASF添加了ILI93xx模塊,并做好了相關(guān)的聲明。這次就做好SMC的配置,然后使用ASF提供的API在屏幕上打印出”Hello World!”字樣。

一、 電路圖

開發(fā)板的LCD連接器的接線如圖所示。這些連線均按照SMC相應(yīng)引腳的功能進(jìn)行了連接,這樣的意圖很明顯就是要讓SMC來和LCD進(jìn)行交互。

有兩個(gè)引腳需要注意:

PD18引腳的外設(shè)A是NCS1,即讓LCD連接至SMC的片選設(shè)備1中。

RS線表示“寄存器選擇”,根據(jù)該引腳的不同電平,會(huì)選擇訪問不同的寄存器。而PC19引腳的外設(shè)A是地址線A1,這樣連接的影響在后面會(huì)說明。

二、 SMC與LCD控制器的交互

在與一些存儲(chǔ)設(shè)備進(jìn)行交互時(shí),會(huì)有一個(gè)比較復(fù)雜的時(shí)序。比如寫入該LCD控制器的寄存器時(shí):

而且,引腳間電平改變的時(shí)間差也是有一定的規(guī)定的。

若使用SMC的話,做好相應(yīng)的配置后,就會(huì)自動(dòng)地完成這些時(shí)序的控制。并且,芯片會(huì)對(duì)一段地址進(jìn)行映射,當(dāng)訪問相應(yīng)區(qū)間的地址時(shí),就會(huì)交由SMC來完成實(shí)際的訪問工作

而LCD控制器為SMC的片選設(shè)備1,所以在訪問地址在區(qū)間[0x6100 0000, 0x61FF FFFF]時(shí),會(huì)實(shí)際訪問到LCD控制器。而RS接的是數(shù)據(jù)線A1,所以根據(jù)訪問地址的第1位(從0數(shù)起)的不同,會(huì)影響RS引腳電平的高低。如在訪問地址0x6100 0000時(shí)RS為低電平,而訪問0x6100 0002時(shí)其為高電平。

三、 SMC的時(shí)序設(shè)置

可以在LCD控制器的芯片手冊(cè)上找到相應(yīng)的時(shí)序:

MCK為96 MHz時(shí),設(shè)置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define ILI93XX_LCD_CS 1
#define SMC_CS SMC->SMC_CS_NUMBER[ILI93XX_LCD_CS]
/* 如果使用ASF的PMC模塊,調(diào)用這個(gè)即可使能外設(shè)的時(shí)鐘*/
pmc_enable_periph_clk(ID_SMC);
SMC_CS.SMC_SETUP =
SMC_SETUP_NWE_SETUP(1)
| SMC_SETUP_NCS_WR_SETUP(1)
| SMC_SETUP_NRD_SETUP(1)
| SMC_SETUP_NCS_RD_SETUP(1);
SMC_CS.SMC_PULSE =
SMC_PULSE_NWE_PULSE(5)
| SMC_PULSE_NCS_WR_PULSE(5)
| SMC_PULSE_NRD_PULSE(15)
| SMC_PULSE_NCS_RD_PULSE(15);
SMC_CS.SMC_CYCLE =
SMC_CYCLE_NWE_CYCLE(10)
| SMC_CYCLE_NRD_CYCLE(300);
/* 由NRD或NWE信號(hào)控制讀寫 */
SMC_CS.SMC_MODE =
SMC_MODE_READ_MODE
| SMC_MODE_WRITE_MODE;

這個(gè)設(shè)置不用太嚴(yán)格,如ASF示例代碼中的設(shè)置就和這有點(diǎn)差距,但是都能夠成功運(yùn)行。另外,ASF中的示例代碼也是很好的學(xué)習(xí)材料。在Atmel Studio的Start Page中可以打開示例項(xiàng)目:

四、 LCD模塊的使用

在conf_board.h中,可以看到有兩個(gè)配置項(xiàng)。一般情況下,這兩個(gè)配置已經(jīng)在開發(fā)板支持模塊中做好定義了。但是,看完上一小節(jié)的話,也應(yīng)該知道它做出如此配置的原因。

由于這個(gè)LCD控制器的使用略為復(fù)雜(它的芯片手冊(cè)有100多頁),而ASF也實(shí)現(xiàn)了相關(guān)的模塊,所以這次就繼續(xù)使用ASF了。

ILI93xx中,實(shí)現(xiàn)了許多控制與繪圖模塊,也包含了一個(gè)英文字庫,可以很方便的進(jìn)行基本圖形和英文的繪制。

LCD的初時(shí)化。

1
2
3
4
5
6
7
8
9
10
structili93xx_opt_t lcd_init_opt;
lcd_init_opt.ul_width = ILI93XX_LCD_WIDTH;
lcd_init_opt.ul_height = ILI93XX_LCD_HEIGHT;
lcd_init_opt.foreground_color = COLOR_BLACK;
lcd_init_opt.background_color = COLOR_WHITE;
/* 初始化 LCD */
ili93xx_init(&lcd_init_opt);
/* 啟動(dòng)LCD */
ili93xx_display_on();

將屏幕填充為天藍(lán)色。

1
2
3
4
/* 像素格式為aRGB-888 */
constuint32_t sky_blue_rgb = 0x87CEEB;
ili93xx_set_foreground_color(sky_blue_rgb);
ili93xx_draw_filled_rectangle(0, 0, ILI93XX_LCD_WIDTH, ILI93XX_LCD_HEIGHT);

繪制文字。

1
2
3
/* 繪制文字 */
ili93xx_set_foreground_color(COLOR_BLACK);
ili93xx_draw_string(50, 150, (uint8_t *)"Hello World!");

還有許多其他的API,比如控制顯示方向等等,可以查看API文檔或者相應(yīng)的頭文件。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4363

    瀏覽量

    166204
  • 連接器
    +關(guān)注

    關(guān)注

    98

    文章

    13845

    瀏覽量

    135094
  • LCD控制器
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    15466
  • SMC
    SMC
    +關(guān)注

    關(guān)注

    2

    文章

    85

    瀏覽量

    20178
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    新型微控制器S1C31W73非常適合帶LCD顯示的可穿戴產(chǎn)品

    新型Arm?微控制器“S1C31W73”配備大容量閃存和高分辨率LCD驅(qū)動(dòng)-非常適合辦公室、工業(yè)設(shè)備和帶LCD顯示的可穿戴產(chǎn)品-精工愛普
    的頭像 發(fā)表于 08-13 15:08 ?152次閱讀
    新型微<b class='flag-5'>控制器</b>S1C31W73非常適合帶<b class='flag-5'>LCD</b>顯示<b class='flag-5'>器</b>的可穿戴產(chǎn)品

    科普小課堂|LCD 問題排查思路解析

    在嵌入式系統(tǒng)開發(fā)中,液晶顯示LCD)作為人機(jī)交互的重要界面,其穩(wěn)定性和可靠性至關(guān)重要。然而在實(shí)際應(yīng)用中,LCD難免會(huì)遇到各種問題。今天和各位小伙伴分享一些常見的
    的頭像 發(fā)表于 08-05 17:06 ?838次閱讀
    科普小課堂|<b class='flag-5'>LCD</b> 問題排查思路解析

    RAM 映射 32×4 LCD 控制器PC164S32數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《RAM 映射 32×4 LCD 控制器PC164S32數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 05-30 17:30 ?0次下載

    在STM32F429使用內(nèi)部TFT控制器進(jìn)行LCD顯示,是否可以存在鎖住屏幕的操作?

    在STM32F429使用內(nèi)部TFT控制器進(jìn)行LCD顯示,是否可以存在鎖住屏幕 的操作。即不讀SDRAM,LCD顯示的內(nèi)容可以不變。 有這種控制嗎?
    發(fā)表于 05-17 08:08

    淺談母聯(lián)控制器

    WQ7C母聯(lián)控制器是一種具有自動(dòng)化測量、LCD顯示、數(shù)字通訊為一體的智能化母聯(lián)控制模塊。
    的頭像 發(fā)表于 04-23 14:43 ?570次閱讀
    淺談母聯(lián)<b class='flag-5'>控制器</b>

    在3伏電壓下使用字符LCD模塊

    LCD模塊與七段LED顯示屏相比,LCD模塊比LED顯示屏可以顯示更多的字符。大多數(shù) LCD 模塊
    發(fā)表于 02-02 16:56 ?319次閱讀
    在3伏電壓下使用字符<b class='flag-5'>LCD</b><b class='flag-5'>模塊</b>

    連接彩色LCD模塊

    LCD 控制器提供所有必要的控制信號(hào),以直接連接到單面板、多路復(fù)用 LCD 模塊。EP72xx 使用通用內(nèi)存架構(gòu) (UMA) 來存儲(chǔ)視頻幀,
    發(fā)表于 01-30 15:02 ?300次閱讀
    連接彩色<b class='flag-5'>LCD</b><b class='flag-5'>模塊</b>

    S1D15106LCD驅(qū)動(dòng)器用于儀器控制器的介紹

    控制器LCD驅(qū)動(dòng)
    Piezoman壓電俠
    發(fā)布于 :2024年01月29日 13:33:41

    液晶顯示控制器LCDC

    LCD顯示控制器
    Piezoman壓電俠
    發(fā)布于 :2024年01月10日 15:45:45

    點(diǎn)陣型LCD控制驅(qū)動(dòng)電路AiP31036簡介

    點(diǎn)陣式LCD驅(qū)動(dòng)控制電路由時(shí)序產(chǎn)生電路、移位寄存、輸出驅(qū)動(dòng)模塊組成,通過通訊接口與微控制器進(jìn)行通訊,驅(qū)動(dòng)屏幕一定數(shù)目的點(diǎn),形成以行列為特征
    的頭像 發(fā)表于 12-25 11:05 ?551次閱讀
    點(diǎn)陣型<b class='flag-5'>LCD</b><b class='flag-5'>控制</b>驅(qū)動(dòng)<b class='flag-5'>器</b>電路AiP31036簡介

    利用MAX II CPLD實(shí)現(xiàn)LCD控制器

    電子發(fā)燒友網(wǎng)站提供《利用MAX II CPLD實(shí)現(xiàn)LCD控制器.pdf》資料免費(fèi)下載
    發(fā)表于 11-10 09:36 ?0次下載
    利用MAX II CPLD實(shí)現(xiàn)<b class='flag-5'>LCD</b><b class='flag-5'>控制器</b>

    TFT-LCD顯示控制器RA8889ML3N原理圖免費(fèi)下載

    TFT-LCD液晶顯示控制方案參考電路-原理圖,適合1366*1024以下分辨率
    發(fā)表于 11-06 18:19 ?6次下載

    如何實(shí)現(xiàn)StarterWare開發(fā)環(huán)境下的LCD觸摸控制

    要實(shí)現(xiàn)LCD的顯示與觸摸,主要需要LCD驅(qū)動(dòng)LCD控制器,LCD
    發(fā)表于 10-08 17:32 ?668次閱讀
    如何實(shí)現(xiàn)StarterWare開發(fā)環(huán)境下的<b class='flag-5'>LCD</b>觸摸<b class='flag-5'>控制</b>?

    瑞薩MCU內(nèi)置LCD控制器/驅(qū)動(dòng)漫談

    瑞薩MCU內(nèi)置LCD控制器/驅(qū)動(dòng)漫談
    的頭像 發(fā)表于 09-28 16:12 ?693次閱讀
    瑞薩MCU內(nèi)置<b class='flag-5'>LCD</b><b class='flag-5'>控制器</b>/驅(qū)動(dòng)<b class='flag-5'>器</b>漫談

    如何使用STM8AL3Lxx、STM8L152xx和STM8L162xx LCD控制器

    ASCII字符到LCD控制代碼。 它解釋了如何選擇最適合您應(yīng)用的LCD玻璃,以及如何配置LCD控制器考慮關(guān)鍵參數(shù),如對(duì)比度、功率消耗、使用
    發(fā)表于 09-26 07:07