999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Linux的LED點陣應用程序設計

2011-10-25 10:17:56張紹龍丁建國曹曉霞
唐山師范學院學報 2011年2期

張紹龍,趙 寧,丁建國,曹曉霞

(1.遷西縣氣象局,河北 唐山 064300;2.石家莊鐵道大學 經濟管理學院,河北 石家莊 050043;3.石家莊鐵道大學 材料學院,河北 石家莊 050043;4.唐山市氣象局 科技服務中心,河北 唐山 063000)

設備驅動程序在Linux內核中扮演著特殊的角色,它類似于一個獨立的黑盒子,使某個特定的硬件可以響應一個良好的內部編程接口,同時完成隱藏設備的工作。凡是操作系統控制的外部設備,即使是最簡單的硬件電路,也是需要驅動程序的。設備驅動程序在Linux里,除了直接修改系統的核心源代碼,把設備驅動程序加進核心之外,還可以把設備驅動程序作為可加載的模塊,由系統管理員動態加載,使之成為核心的一部分。編寫驅動程序的主要工作就是編寫子函數,并填充file_operations各個域。

此應用程序是在LED驅動加載之后使用,否則無法正常運行。本設計首先將LED點陣驅動起來,通過編寫測試程序,使其能夠按照設定的意圖顯示。

1 LED點陣數碼管工作原理

圖1 LED點陣示意圖

LED顯示選用8×8發光二極管點陣,用于發布消息、顯示漢字的點陣式LED顯示屏通常由若干塊LED點陣顯示模塊組成,8×8顯示點陣模塊每塊有64個獨立發光二極管,為了減少引腳且便于封裝,各種LED顯示點陣模塊都采用陣列形式排布,即在行列線的交點處接有顯示LED,因此,LED點陣顯示模塊的顯示驅動只能采用動態驅動方式,每次最多只能點亮一行LED(共陽形式LED顯示點陣模塊)或一列LED(共陰形式LED顯示點陣模塊)。如圖1所示的顯示驅動原理圖中,點陣為共陰,由總線鎖存芯片74573為點陣顯示模塊提供列驅動電流,8個行信號則由集電極開路門驅動器7407控制,行線和列線都掛在總線上,微處理器可以通過總線操作來完成對每一個LED點陣顯示模塊內每個LED顯示點的亮、暗控制。

當對應的某一列置1電平,某一行置0電平,則相應的二極管就亮;控制一個燈亮需使某一列的置‘1’,其它行為‘0’,其余的都為‘1’;如第一行,第八列的燈亮,其它的都滅,則DR8,DR7,DR6,DR5,DR4,DR3,DR2,DR1為 11111110,OC8,OC7,OC6,OC5,OC4,OC3,OC2,OC1為10000000可實現相應的燈亮。

2 驅動程序和應用程序的設計方案

在此設計中,整個LED顯示模塊是作為一個I/O進行控制的,共16位輸入數據,LED的鎖存信號由系統總線的寫信號和地址信號經過簡單的組合邏輯而成,在板載的CPLD中完成。控制該顯示模塊的IO地址為0x08000000。

圖2 系統電路連接圖

編寫驅動程序實現在Linux下控制LED點陣顯示,加載驅動程序后,顯示的效果是64位全亮。實驗步驟為打開終端窗口,利用ifconfig命令設置網絡設備,將宿主PC機的根目錄掛載到S3C2410-RP目標板的mnt目錄下,而后通過insmod加載驅動程序,通過lsmod命令查看系統已經加載好的驅動程序,最后運行測試程序。

可將DR8-DR1作為高8位和OC8-OC1作為低8位連接起來構成16位二進制數,再將此數轉換為十進制數控制所有燈的滅與亮。例如上述的就可以用111111101000000來表示,對應的十進制數65152來控制燈亮。以下函數可實現點亮64個點:

Int moban[8]={1,2,4,8,16,32,64,128};

For(i=0;i<8;i++)

For(j=0;j<8;j++)

A[i][j]=256*(255-moban[i])+moban[j];

以此可求出控制每一個的相應數字,就可以輸出任何一種圖形。采用一個循環實現控制控制點的移動;再分別設計豎柱的右移,行柱的下移,平面的右移,平面的下移,數字循環顯示等。每種顯示的方案如下:

(1)豎柱循環右移

采用moban[8]中的數字依次顯示可以實現豎柱的右移。

(2)行柱的下移

采用語句

for(i=0;i<8;i++)

Row[i]=256*(255-moban[i])+255;求出每一行的控制數字后讓它們依次顯示,就是行柱下移。

(3)平面右移

先點亮一列,再點亮兩列,依次增加,直至全亮,可實現平面右移的效果。采用語句

for(i=0;i<8;i++) MianR[i]=2i+1-1;

求出的八個數實現平面右移的數字。

(4)平面下移

同上,先點亮一行,再點亮兩行,依次增加,直到八行全亮。采用語句

for(i=0;i<8;i++)

MianD[i]=256*(255-(2i+1-1))+255;

求出八個數就是實現平面下移的數字。

(5)0-9的數字循環

同樣依照上述算法計算。

3 結束語

利用驅動程序實現最基本的顯示,而后通過編寫測試程序實現各種顯示,如果再進一步完善,可以編寫QT設計簡單測試界面,在顯示屏上可以有更直觀的效果。

主站蜘蛛池模板: 亚洲三级a| 国产伦片中文免费观看| 久久国产亚洲偷自| 亚洲午夜久久久精品电影院| 欧美国产在线看| 色久综合在线| 91精品最新国内在线播放| 国产精选小视频在线观看| 成人午夜视频免费看欧美| 97成人在线视频| 无码区日韩专区免费系列| 婷婷色在线视频| 无码区日韩专区免费系列| 日韩精品无码免费一区二区三区 | 在线观看国产精品日本不卡网| 69av免费视频| 欧美一级色视频| 亚洲视频免| 日本亚洲成高清一区二区三区| 国产欧美性爱网| 一区二区三区毛片无码| 欧美一级夜夜爽| 日韩欧美国产成人| h视频在线播放| 国产99视频精品免费观看9e| 91网在线| 欧美日韩国产高清一区二区三区| 高清精品美女在线播放| 真实国产乱子伦高清| 亚洲色图在线观看| 国产精品hd在线播放| 欧美日韩国产精品综合| 伊人久久福利中文字幕| 天天色天天综合网| 国产污视频在线观看| 亚洲视屏在线观看| 亚洲欧洲日韩综合色天使| 久久香蕉国产线看观| 国产大片喷水在线在线视频| 女人18一级毛片免费观看| 日韩av在线直播| 免费啪啪网址| 午夜福利亚洲精品| 久久精品无码中文字幕| 在线观看国产黄色| 亚洲三级成人| 亚洲中文无码av永久伊人| 国产欧美日韩在线一区| 丁香婷婷激情网| 在线观看欧美国产| 91成人免费观看| 国产成人艳妇AA视频在线| 国产激情在线视频| aa级毛片毛片免费观看久| 亚洲人成网址| 亚洲精品国产首次亮相| 亚洲精品免费网站| 精品综合久久久久久97超人| 久久国产免费观看| 精品久久国产综合精麻豆| 色男人的天堂久久综合| 亚洲视频影院| 亚洲人成人无码www| 黄色免费在线网址| 九色视频最新网址| 97国产精品视频人人做人人爱| 热久久综合这里只有精品电影| 夜夜操天天摸| 久久黄色视频影| 欧洲亚洲一区| 无码日韩精品91超碰| 日韩国产综合精选| 91精品国产无线乱码在线| 国产精品自在在线午夜| 色婷婷综合在线| 中文字幕在线看视频一区二区三区| 日本草草视频在线观看| 美女内射视频WWW网站午夜| 人妻一区二区三区无码精品一区| 国产亚洲精品自在久久不卡| 日韩一区精品视频一区二区| 日韩免费视频播播|