熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于S3C2440A終端LCD驅動電路的設計與實現(xiàn)

基于S3C2440A終端LCD驅動電路的設計與實現(xiàn)

作者: 時間:2011-09-09 來源:網(wǎng)絡 收藏
4、初始化函數(shù)

本文引用地址:http://www.bjwjmy.cn/article/150246.htm

  初始化函數(shù)主要完成初始信息的設置和設備的注冊。

  lcdctrl.c_smdk2440文件

  1、lcdctrl_device結構體

  lcdctrl_device結構體定義了具體操作的各函數(shù)指針,包括初始化函數(shù),開啟和關閉函數(shù),亮度、對比度等設置函數(shù)。其中LCD關閉函數(shù)的本質就是將LCD背光亮度設置為0。

  static struct lcdctrl_device smdk2440_dev = {

  init: smdk2440_lcdctrl_init,

  enable: smdk2440_lcdctrl_enable,

  disable: smdk2440_lcdctrl_disable,

  set_intensity: smdk2440_lcdctrl_set_intensity,

  set_brightness: smdk2440_lcdctrl_set_brightness,

  set_contrast: smdk2440_lcdctrl_set_contrast};

  2、smdk2440_lcdctrl_set_brightnes函數(shù)

  這里只敘述亮度設置函數(shù)的。

  static int smdk2440_lcdctrl_set_brightness( int b)

  { ……

  TCNTB0 = 100;

  TCMPB0 = b*100/100;

  //設置TCMPB0寄存器的值

  TCON = (TCON ~(0xf)) | ( TCON_0_AUTO | TCON_0_MAN | COUNT_0_OFF);

  TCON = (TCON ~(0xf)) | 0;

  TCON=(TCON ~(0xf)) | (TCON_0_AUTO | COUNT_0_ON);}

  函數(shù)中的語句大部分是給與定時器相關的寄存器寫值。其中b就是上層函數(shù)傳遞下來的bright值,從程序中可以看到,調節(jié)亮度本質上是通過TCMPB0寄存器寫入與bright相關的值,控制PWM占空比亮度調節(jié)功能。

  3、LCDctrl_device_get_ops函數(shù)

  用于上層獲取具體設備的鉤子函數(shù)。代碼如下:

  struct lcdctrl_device *lcdctrl_device_get_ops(void)

  {return smdk2440_dev;}

  此函數(shù)被lcdctrl.c初始化時調用,將設備指向smdk2440_dev。

  至此,程序完成,為了更好地LCD的管理,需要在上層的Qtopia應用程序中提供人機操作的界面。

  Qtopia應用程序

  Qtopia應用程序提供人機操作界面并調用底層程序完成LCD控制功能,這里,仍然以亮度調節(jié)為例敘述應用程序工作過程。

  主要完成功能:

  1、應用程序完成人機操作的界面,為使用人員提供友好界面;

  2、讀取亮度值,并將其存入變量bright中;

  3、打開設備文件:fd=open(/dev/devname,O_RDONLY);

  4、調用底層的程序,通過底層的驅動程序將LCD背光亮度調整為指定值。

  ioctl(fd, _BACKLIGHT_ IOCTL_BRIGHT, bright)。

  ioctl函數(shù)調用驅動程序完成亮度的調節(jié)。

  結語

  經(jīng)測試,完成的LCD能很好地完成圖形的顯示,電源管理界面中包含了LCD亮度調節(jié)功能。

  LCD驅動是手持產品的重要組成部分。本文設計并實現(xiàn)了的手持LCD驅動。通過圖形管理界面能夠方便地管理LCD,達到節(jié)約能量、延長手持終端工作時間的目的。

DIY機械鍵盤相關社區(qū):機械鍵盤DIY



上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉