www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀] 上一篇說了一點點關(guān)于8X8點陣的驅(qū)動編寫技巧以及寫LED燈時應(yīng)注意的一些小細節(jié),那么這次我就繼續(xù)補上上次挖的坑吧,說一下16X16點陣的編寫技巧,主要講一下思路,因為在寫16X16點陣驅(qū)動時,很多人一上來大腦一片空白

 上一篇說了一點點關(guān)于8X8點陣的驅(qū)動編寫技巧以及寫LED燈時應(yīng)注意的一些小細節(jié),那么這次我就繼續(xù)補上上次挖的坑吧,說一下16X16點陣的編寫技巧,主要講一下思路,因為在寫16X16點陣驅(qū)動時,很多人一上來大腦一片空白啊,根本無從下手,我這里舉一個例子講下思路,以后大家可以按照我下面的思路來寫程序。

首先要看一下16X16點陣的驅(qū)動電路,以這個電路為例我寫一下自己編寫16X16點陣驅(qū)動時的小經(jīng)驗,勿噴勿噴哈,O(∩_∩)O,上電路圖:


16X16點陣原理圖

(注:圖中我加了一些注釋,可能有的人不喜歡,所以想看原圖的人可以去找我在單片機貼吧發(fā)的帖子里找,有PDF文件,很清晰!)

從圖片中我們可以看出74HC138芯片控制列,74HC595芯片控制行,我們都知道在同一時間內(nèi)74HC138芯片只能有一個引腳輸出有效(不知道74HC138和后面要提到的74HC595的人也不要著急,文章后面也會講74HC138和74HC595),也就是說同一時間內(nèi)只能選中一行,而74HC595是“串入并出”,八個引腳可以同時有效,這樣就會導致16X16點陣驅(qū)動編寫時的第一個易錯點:掃描方式。

注意點一:掃描方式

這個16X16點陣的驅(qū)動掃描方式是由電路圖決定的(我僅僅指這個16X16點陣),不像8X8點陣,8X8點陣的掃描方式是任意的。

上面說了,74HC138只能一個引腳有效,且74HC138控制行,所以此次驅(qū)動編寫只能用行掃描,列送入數(shù)據(jù)。行掃描的原理上一篇已經(jīng)說了,這里就不重復了,免得大家嫌我啰嗦......~\(≧▽≦)/~喵

還有這里我要糾正一個自己犯的錯誤哈,剛剛才發(fā)現(xiàn),不要打我!【o(>﹏<)o不要啊】

上一篇里我說,呃......直接上圖吧:


上一篇文章里的8X8點陣代碼編寫思路

上次我說思路一代碼實現(xiàn)簡單,思路二不好實現(xiàn),當時寫學習筆記的我還僅僅只是編過一些小程序,數(shù)據(jù)量不大,但是今天寫16X16點陣驅(qū)動的時候,用了比較多的數(shù)據(jù),發(fā)現(xiàn)思路一在數(shù)據(jù)很多的時候根本實現(xiàn)不了(我僅僅指容量很小的51系列里面),51單片機的容量太小,根本無法同時處理這么多數(shù)據(jù),所以這里糾正一下哈。

注意點二:滾動效果的實現(xiàn)

剛才說了,數(shù)據(jù)比較多時,我們就不能用改變數(shù)據(jù)的方式實現(xiàn)滾動效果了,只能通過修改掃描函數(shù)讀取數(shù)據(jù)的起始位置來實現(xiàn)滾動效果。(如果您有更好的思路,請務(wù)必告訴小弟一下,先謝謝啦^_^)下面我說一下我的代碼編寫思路:

用一個for循環(huán)就可以實現(xiàn)修改每次的數(shù)據(jù)讀取位置,for循環(huán)里面不是有一個變量嘛(一般都叫 i),將這個變量 i 加到讀取數(shù)據(jù)時的數(shù)據(jù)數(shù)組下標里就行了。我只寫文字的話你們一般不明白什么意思,所以就....上圖:


滾動效果的代碼實現(xiàn):思路一

for循環(huán)里我之所以寫兩個 i++ 的原因是:16X16點陣嘛,一次要傳輸兩個字節(jié),所以每移動一個LED位,掃描的起始位置就要移動兩個字節(jié),所以要寫兩個;另外不用 i = i + 2是因為 i++ 的運行速度快;還有就是 i 之所以取385,是因為我用了386個字節(jié)的數(shù)據(jù),0開頭嘛,所以就寫385啦!扯遠了哈,讓我們再回歸正題。

從圖中可以看出,我把 i 加在了83、88、93等行的數(shù)組StreamData的下標里面,這樣每次掃描時讀取數(shù)據(jù)的位置就會后移兩個字節(jié),這樣就不用再寫數(shù)據(jù)處理函數(shù)了。

再來就該說一下16X16點陣的數(shù)據(jù)了:8X8點陣好說,就算自己算也不難啊,但是16X16點陣呢?難道還要自己一行一行得算嗎?

注意點三:數(shù)據(jù)的獲取

獲取數(shù)據(jù)也就是獲取字模,現(xiàn)在有很多獲取字模的軟件,所以這里我就介紹我用的一款軟件:

先上圖:


漢字取模軟件

下面是這款軟件的界面:


漢字取模軟件的界面

軟件使用方法:(我就不敲字了,敲字不直觀,直接上圖)

第一步:(此用法僅僅針對于16X16點陣的漢字取模,其實這個軟件還有其他很多功能,這個以后用到的時候再說)


第一步

第二步:


第二步

第三步:


第三步

這樣,我們就可以很快獲取想要顯示的漢字的字模了。對于這個軟件在使用前還要進行適當?shù)脑O(shè)置,在: 參數(shù)設(shè)置—> 其他選項 里面,軟件自身也有相當詳細的說明,自己看就行了。

這樣16X16點陣的注意事項基本就說完了,但是你們是不是會有這種感覺:“雖然聽你說了那些注意事項,但是我現(xiàn)在還是大腦一片空白啊,不知道該怎么下手啊?”有這種感覺很正常(讀這篇文章之前就會16X16點陣的人除外),畢竟整體思路我還沒講呢,還有上面提到的74HC595和74HC138我也還沒講,所以不要失去信心哈,下面我們繼續(xù):(慣例:分割線)


《刀劍神域》主人公:桐谷和人

講整體思路之前先講一下上面提到的兩個芯片,最后將前面講的全部串起來。

注意點四:74HC138芯片

下面是我自己用Altium Designer畫的一個74HC138元件圖(Altium Designer我剛學完,才過了一個周,不怎么會用),一共有16個引腳。

整體功能:138(后面都簡稱138)主要功能是用一個三位的二進制數(shù)控制八位輸出引腳中的一個引腳,經(jīng)常用于動態(tài)顯示。

A0、A1、A2就組成了那個三位的二進制數(shù)。

Y0~Y7就是那八位輸出引腳。

E1、E2、E3用于控制當前的138是否工作,當要控制多個138的時候就要用到這三個引腳了。

再詳細的包括真值表啊、具體電路接法啊什么的我就不說了,我這里只是講技巧的嘛,最基本的基礎(chǔ)知識還是靠自己學才能記得最扎實!


我自己畫的74HC138原理圖,網(wǎng)上沒找到好的

注意點五:74HC595芯片

下面我自己用“畫圖”畫了一張74HC595的工作原理圖:(畫一張這么簡單的圖花了我近一個小時,不想活了....╯﹏╰)


74HC595原理圖

74HC595芯片具體的編程還要涉及到時序,不是一句兩句就能說完的,所以這些基本知識我就不說了,我說一下我對74HC595的理解:

74HC595的組成:74HC595呢就好像是一個水庫,有一個進水口(圖中的DS引腳,就是第一列)、一個存水箱(圖中的數(shù)據(jù)保存區(qū),就是第二列)、一個放水閘門(圖中的OE引腳,第三列),八個出水口(也是第三列)。

74HC595的工作原理:當接到進水命令時(SH_CP引腳),開始進水,水進多了就會漏出來(下面的 Q7' 引腳),接到存水命令時(ST_CP引腳),進來的水就會進入存水箱,最后當接到放水命令時(OE引腳)就會放水,8個出水口同時放水。

這樣74HC595就講完了(再說一下哈,基礎(chǔ)知識這里不講,哎呀,不要怪我嘛,我主要是分享經(jīng)驗和技巧,基礎(chǔ)知識可以百度百科嘛,那上面講的更好更詳細!)

這樣知識準備就差不多了,現(xiàn)在我們再來看這張原理圖:


16X16點陣原理圖

這下我們編寫代碼的整體思路就有了:

掃描方式:行掃描

滾動實現(xiàn):數(shù)據(jù)讀取位置變更(上文已講)

用一個for循環(huán)控制移動的時間間隔,for里面用兩個74HC138依次選中每一行,再用兩個74HC595送入每一行的數(shù)據(jù),這樣直至掃描完一個屏幕(不是8行了,這次是16行);之后外面再嵌套一個for循環(huán)用來變更數(shù)據(jù)讀取的位置(后移兩個字節(jié)),這樣就實現(xiàn)了16X16點陣的驅(qū)動編寫。

注意細節(jié)不要忽略,這也是LED類的,要進行微延時和消隱操作,當然作為一個有理想的開發(fā)者,規(guī)范的代碼格式也是必須滴!

我這里說一下,我用編程軟件的是TKStudio,挺好用的,我最喜歡的是它的代碼提示功能,這個很厲害,Keil C51是沒有代碼提示的,但是Keil MDK for ARM是有代碼提示功能的,但是初學者最開始都是在寫C51的,所以寫C51代碼時TKStudio還是不錯的,新手的福音啊。本來想說一下這個軟件的,可是好晚了,該睡覺了,明天還要上課呢,那么就在下一篇文章的時候我再說一下TKStudio這個軟件吧 ,到時候會主要說說怎么改字體和語法高亮,我也會把我的編輯風格文件分享出來,大家直接引用就可以了,不喜歡我的那個風格就自己再改一下就行。

上面的軟件以及PDF格式的原理圖等在單片機貼吧里我都有分享,大家可以去單片機貼吧找或者直接百度“LCD1602初始化問題詳解:單片機貼吧”就行。

好了,這篇文章就到這里了,拜拜( ^_^ )~~

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉