一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

454398 ? 來源:博客園 ? 作者: h46incon ? 2020-10-20 14:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

一、 電路圖

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

有兩個引腳需要注意:

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

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

二、 SMC與LCD控制器的交互

在與一些存儲設備進行交互時,會有一個比較復雜的時序。比如寫入該LCD控制器的寄存器時:

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

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

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

三、 SMC的時序設置

可以在LCD控制器的芯片手冊上找到相應的時序:

MCK為96 MHz時,設置如下:

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模塊,調用這個即可使能外設的時鐘*/
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信號控制讀寫 */
SMC_CS.SMC_MODE =
SMC_MODE_READ_MODE
| SMC_MODE_WRITE_MODE;

這個設置不用太嚴格,如ASF示例代碼中的設置就和這有點差距,但是都能夠成功運行。另外,ASF中的示例代碼也是很好的學習材料。在Atmel Studio的Start Page中可以打開示例項目:

四、 LCD模塊的使用

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

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

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

LCD的初時化。

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);
/* 啟動LCD */
ili93xx_display_on();

將屏幕填充為天藍色。

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文檔或者相應的頭文件。
編輯:hfy

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

    關注

    34

    文章

    4520

    瀏覽量

    171517
  • 連接器
    +關注

    關注

    99

    文章

    15382

    瀏覽量

    140462
  • LCD控制器
    +關注

    關注

    0

    文章

    47

    瀏覽量

    15737
  • SMC
    SMC
    +關注

    關注

    2

    文章

    86

    瀏覽量

    20830
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    OBOO鷗柏丨LCD異形拼接矩形形狀同步網絡大屏系統(tǒng)個性方案

    lcd
    鷗柏科技
    發(fā)布于 :2025年07月04日 17:58:12

    STM32L433使用LCD控制器驅動段碼屏,請問有什么LCD降低功耗的方法嗎?

    STM32L433 使用LCD控制器驅動段碼屏,有什么LCD降低功耗的方法嗎?
    發(fā)表于 06-23 07:12

    #LCD顯示屏 #HDMI #智能顯示 #驅動方案

    lcd
    jf_65742179
    發(fā)布于 :2025年06月18日 10:07:54

    FP7103 高效降壓恒流驅動芯片:內置模擬調光技術,徹底消除 LCD 背光頻閃難題# #LCD顯示

    lcd
    深圳市雅欣控制技術有限公司
    發(fā)布于 :2025年04月29日 10:27:20

    納祥科技NX1622,內置節(jié)電模式的32X8 LCD 驅動芯片,兼容替代HT1622

    配置特性使它適用于多種LCD 應用場合,包括LCD 模塊和顯示子系統(tǒng),用于連接主控制器和NX1622 之間的接口只需要四條線。 在性能上,NX1622 可以兼容
    的頭像 發(fā)表于 02-05 17:24 ?493次閱讀
    納祥科技NX1622,內置節(jié)電模式的32X8 <b class='flag-5'>LCD</b> 驅動芯片,兼容替代HT1622

    EE-256:使用ADSP-BF561 Blackfin處理作為TFT-LCD控制器

    電子發(fā)燒友網站提供《EE-256:使用ADSP-BF561 Blackfin處理作為TFT-LCD控制器.pdf》資料免費下載
    發(fā)表于 01-07 14:33 ?1次下載
    EE-256:使用ADSP-BF561 Blackfin處理<b class='flag-5'>器</b>作為TFT-<b class='flag-5'>LCD</b><b class='flag-5'>控制器</b>

    基于LCD型MCU AiP8F2116芯片空調遙控解決方案

    基于LCD型MCU AiP8F2116芯片空調遙控解決方案
    的頭像 發(fā)表于 12-06 10:00 ?974次閱讀
    基于<b class='flag-5'>LCD</b>型MCU AiP8F2116芯片空調遙控<b class='flag-5'>器</b>解決<b class='flag-5'>方案</b>

    基于FPGA的LCD1602液晶顯示模塊驅動設計

    本文通過以LCD1602液晶顯示模塊為基礎,介紹FPGA驅動LCD1602原理,詳細介紹硬件原理圖設計及FPGA驅動LCD1602軟件設計,通過萬年歷功能綜合實現(xiàn)時鐘功能、
    的頭像 發(fā)表于 10-24 14:42 ?4093次閱讀
    基于FPGA的<b class='flag-5'>LCD</b>1602液晶顯示<b class='flag-5'>模塊</b>驅動設計

    利用MSP430的LCD外設驅動大型LCD

    電子發(fā)燒友網站提供《利用MSP430的LCD外設驅動大型LCD.pdf》資料免費下載
    發(fā)表于 10-22 09:22 ?0次下載
    利用MSP430的<b class='flag-5'>LCD</b>外設驅動大型<b class='flag-5'>LCD</b>

    LCD控制器連接到DM642視頻端口

    電子發(fā)燒友網站提供《將LCD控制器連接到DM642視頻端口.pdf》資料免費下載
    發(fā)表于 10-17 10:42 ?0次下載
    將<b class='flag-5'>LCD</b><b class='flag-5'>控制器</b>連接到DM642視頻端口

    什么是LCD控制器?愛普生LCD控制器的作用和功能、概述和產品列表

    什么是LCD控制器LCD控制器的作用和功能LCD控制器(液晶顯示
    的頭像 發(fā)表于 10-09 11:10 ?1159次閱讀
    什么是<b class='flag-5'>LCD</b><b class='flag-5'>控制器</b>?愛普生<b class='flag-5'>LCD</b><b class='flag-5'>控制器</b>的作用和功能、概述和產品列表

    基于MSPM0 MCU的軟件定義玻璃LCD解決方案

    電子發(fā)燒友網站提供《基于MSPM0 MCU的軟件定義玻璃LCD解決方案.pdf》資料免費下載
    發(fā)表于 08-31 10:11 ?0次下載
    基于MSPM0 MCU的軟件定義玻璃<b class='flag-5'>LCD</b>解決<b class='flag-5'>方案</b>

    S1D15K01是一種混合LCD驅動IC

    S1D15K01是一種混合LCD驅動IC,可以直接連接到微控制器,使分段和點陣顯示可以同時顯示在單個LCD面板上。分段和點陣的專用驅動電路安裝在單個芯片上,消除了分段區(qū)域和點陣區(qū)域之
    的頭像 發(fā)表于 08-16 09:55 ?513次閱讀
    S1D15K01是一種混合<b class='flag-5'>LCD</b>驅動<b class='flag-5'>器</b>IC

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

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

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

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