<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > SAM4E單片機之旅——14、LCD之SMC的配置

SAM4E單片機之旅——14、LCD之SMC的配置

作者: 時(shí)間:2017-04-05 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/201704/346201.htm

  一、 電路圖

    

wps_clip_image-15037

 

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

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

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

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

  二、 SMC與LCD控制器的交互

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

    

wps_clip_image-19158

 

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

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

    

wps_clip_image-7292

 

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

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

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

    

wps_clip_image-20330

 

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

  #define ILI93XX_LCD_CS 1

  #define SMC_CS SMC->SMC_CS_NUMBER[ILI93XX_LCD_CS]

  /* 如果使用ASF的PMC模塊,調用這個(gè)即可使能外設的時(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信號控制讀寫(xiě) */

  SMC_CS.SMC_MODE =

  SMC_MODE_READ_MODE

  | SMC_MODE_WRITE_MODE;

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

    

wps_clip_image-30188

 

  四、 LCD模塊的使用

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

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

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

  LCD的初時(shí)化。

  struct ili93xx_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();

  將屏幕填充為天藍色。

  /* 像素格式為aRGB-888 */

  const uint32_t sky_blue_rgb = 0x87CEEB;

  ili93xx_set_foreground_color(sky_blue_rgb);

  ili93xx_draw_filled_rectangle(0, 0, ILI93XX_LCD_WIDTH, ILI93XX_LCD_HEIGHT);

  繪制文字。

  /* 繪制文字 */

  ili93xx_set_foreground_color(COLOR_BLACK);

  ili93xx_draw_string(50, 150, (uint8_t *)"Hello World!");

  還有許多其他的API,比如控制顯示方向等等,可以查看API文檔或者相應的頭文件。



關(guān)鍵詞: SAM4E LCD

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>