欧美aⅴ在线,国产手机精品一区二区,日韩国产欧美一区二区三区,精品视频在线观看视频免费视频,欧美在线小视频,精品一区视频

咨詢熱線:021-80392549

LCD彩色圖形顯示和英文、漢字顯示實現的具體原理和方法

放大字體  縮小字體 發布日期:2014-10-21     來源:[標簽:出處]     作者:[標簽:作者]     瀏覽次數:126
核心提示:

摘 要:本文著重介紹了ARM7處理器S3C44B0X內置LCD控制器的使用方法,簡要介紹夏普LM057QC1T01液晶顯示模塊以及它和S3C44B0X的接口方法。并在此基礎之上,討論了彩色英文、漢字和圖形在LCD模塊上的顯示原理和實現方法。
  關鍵詞:S3C44B0X;LCD Controller;LM057QC1T01
  引言
  S3C44B0X是面向嵌入式系統的高性價比微處理器,它采用ARM7TDMI核,工作在66MHz。為了節約項目開發周期和成本,S3C44B0X大量集成了ADC、LCD控制器等外圍器件。其中,LCD控制器支持在LCD上的單色、4級、16級灰度、256色的顯示,具有很強的通用性。夏普LM057QC1T01是像素格式為320×3×240的256色TSTN透光型液晶顯示模塊。本文討論了S3C44B0X和夏普LCD接口的連接。在此基礎之上著重討論彩色圖形顯示和英文、漢字顯示實現的具體原理和方法。
  
  LCD控制器
  S3C44B0X LCD控制器的作用是將緩存中的數據傳送到外部的LCD驅動器,并產生必須的LCD控制信號。LCD 控制器可以編程支持不同水平和垂直點數(640×480, 320×240, 160×160等)、不同數據線寬度、不同接口時序和刷新速率的LCD,支持4位雙掃描、4位單掃描、8位單掃描模式,并支持水平/垂直卷動,以用來支持更大的屏幕顯示(如1280×1280)。
  
  液晶顯示模塊LM057QC1T01
  LM057QC1T01是夏普公司生產的圖形點陣256色STN液晶模塊,它的分辨率為320×240,由于它具有接口簡單、工作穩定和便于操作等特點,在嵌入式系統有比較廣泛的應用。
  
  S3C44B0X和LM057QC1T01的連接
  由于S3C44B0X和LM057QC1T01液晶顯示模塊都具有很強的通用性。所以它們的連接比較容易實現,但是由于LCD模塊需要有液晶顯示所必需的偏轉電壓,所以需要在控制器和LCD接口之間加裝能實現電壓偏轉功能的電路,實現輸出LCD顯示所需的27V偏轉電壓。具體引腳連接如表1所示。
  LCD控制器有20個引腳,其中針對夏普LM057QC1T01液晶顯示模塊,引腳13~17沒有使用意義,在實際的連接中懸空不接。其他引腳和LCD的連接如表1所示。在LCD顯示模塊中,引腳6所接入的用于液晶顯示所需的27V偏轉電壓由外部外接電路提拱。外接電路所需要的電源可以由LCD控制器提供,也可以由其它電路提供。但LCD模塊顯示所需的高壓只能由外接電路實現。
  
  圖形和字符顯示
  顯示圖片
  在S3C44B0X中,由于CUP不支持文件管理,必須把要顯示的圖片包含到程序中。例如,如果要在LCD顯示320×240大小的圖片,在實際操作中,首先應使用轉換工具把圖片轉換成C格式的數組文件,即把每一個象素點的顏色轉換成用一個字節表示,然后把整個文件保存成240×320的數組形式。例如:
  char BMP[240][320]= {0x00,0x00,0x01, 蓕;
  然后把文件包含在項目工程中,用如下循環語句實現顯示:
   for(i=0;i<240;i++)
   for(j=0;j<320;j++)
  {
  LCD_Buffer_Color[i][j]= BMP[i][j];
  }
  顯示英文字母和字符
  在實際應用中,通常用一個數組保存字母和字符點陣。以16×8點陣為例,用16×8個點陣表示一個字符,例如顯示字符 ‘1’ ,象素需要顯示的地方用*表示,否則為空白,這樣,一個字符 ‘1’ 就顯示出來。把這個點陣用十六進制的形式表示出來,字符1所對應的點陣是:
  0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x1,
  0x18,0x18,0x18,0x7e,0x00,0x00,0x00,0x00,
  在把字符送LCD緩沖區顯示的時候,由于在緩沖區中是用一個字節表示一個象素,而字庫中的一個位表示一個象素,即字庫中一個字節對應緩沖區的八個字節,所以在送入緩沖區之前必須對字庫進行必要的調整。具體方法是在顯示一個象素之前,先把這個位右移到字節的最低位,然后屏蔽除此象素點的其它七位,再乘這個象素要顯示的顏色,最后把調整后的數據送入對應的緩沖區。例如:假設字符‘1’點陣存在一維數組字庫Zfk[],起始地址為20,顯示顏色值為42的字符‘1’到第8行第10列的程序是:
  for (i=0;i<16;i++)
  for(j=0;j<8;j++)
  LCD_Buffer_Color [10*16+i][(*8+j)]|= (Zfk[20+i]>>(7-j))&0x01))*42;
  顯示漢字
  在容量比較大的系統中實現漢字的顯示通常有兩種方法,1. 把漢字庫燒錄到存儲器,用燒寫的地址加字庫的偏移地址確定具體漢字的位置。2. 把漢字庫轉化成數組的形式,在程序中以讀取數組的形式讀取字庫。這兩種方法各有優缺點,這里討論用第二種方法實現漢字顯示。
  在漢字庫中,為了方便查找所需漢字的點陣,每個漢字都與一個雙字節的內碼一一對應。通過漢字的內碼可以計算出它的點陣起始字節。以16×16宋體橫向點陣為例,計算點陣起始字節地址的公式為:
  地址=((內碼高字節-160)*94+
  (內碼低字節-160))*32
  例如:漢字“嵌”所對應的內碼是C7B6H,那么它在漢字庫中的地址是:
  long int adress=
  ((C7-0xa1)*94+(B6-0xa1))*32
  =1C120
  假設轉換后的漢字庫存放在一維數組Hzk中,那么Hzk[1C120]至Hzk[1C120+32]所對應值就是漢字“嵌”所對應的十六進制點陣。由于在LCD顯示的過程中,點陣中的一行數據要用兩個字節來表示,在確定所要顯示的行數據在點陣中的位置時需要做必要的調整,例如:在LCD上顯示底Y行象素數據的時候,對應于漢字點陣中的數據應該是漢字庫數組中的偏移地址,即2*Y和2*Y+1所對應的數據。所以在確定偏移地址的時候應該在行前乘2。在顯示一行的過程中,前八個象素點對應的偏移地址是2*Y,后八個象素是2*Y+1,所以在計算偏移地址的時

工博士工業品商城聲明:凡資訊來源注明為其他媒體來源的信息,均為轉載自其他媒體,并不代表本網站贊同其觀點,也不代表本網站對其真實性負責。您若對該文章內容有任何疑問或質疑,請立即與商城(www.lmelshi.com)聯系,本網站將迅速給您回應并做處理。
聯系電話:021-31666777
新聞、技術文章投稿QQ:3267146135  投稿郵箱:syy@gongboshi.com
主站蜘蛛池模板: 色视频在线观看视频| 老人洗澡自拍xxx互摸| rrr523亚洲国产片| 亚洲另类中文字幕| 狠狠躁夜夜躁人人躁婷婷视频| 国产成人免费在线视频| 亚洲欧美日韩中文综合在线不卡| 国产成人在线综合| 中文天堂在线视频| 国产成人综合网在线播放| 精品国产一区二区在线观看| 福利午夜757久久久| 亚洲高清中文字幕| 97成人免费视频| 伊色综合久久之综合久久| 欧美同志网站| 亚洲一区二区高清| 亚洲a视频在线观看| 亚洲欧美高清| v片在线播放| 99久久精品久久久| 中文字幕人成不卡一区| 成人高清网站| 欧美成人性色大片在线观看| 成人在线免费播放| 天天色天| h网站在线观看| 久久永久视频| 中文字幕一区二区三区在线观看| 黄色免费网站在线观看| 伊人精品综合| 亚洲精品中文字幕麻豆| 亚洲免费在线观看| 欧美日韩视频在线播放| 99re免费在线视频| 日本一区二区高清| 日本高清一本视频| 中文字幕在线免费视频| 香港三级日本三级人妇电影精品| 人人玩人人添天天爽| 成在线人免费视频一区二区三区|