91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

16X16點(diǎn)陣編寫技巧的思路

GReq_mcu168 ? 來源:玩轉(zhuǎn)單片機(jī) ? 作者:玩轉(zhuǎn)單片機(jī) ? 2020-10-26 11:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

來說一下16X16點(diǎn)陣的編寫技巧,主要講一下思路,因?yàn)樵趯?6X16點(diǎn)陣驅(qū)動時,很多人一上來大腦一片空白啊,根本無從下手,我這里舉一個例子講下思路,以后大家可以按照我下面的思路來寫程序。

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

16X16點(diǎn)陣原理圖

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

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

注意點(diǎn)一:掃描方式

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

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

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

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

上一篇文章里的8X8點(diǎn)陣代碼編寫思路

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

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

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

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

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

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

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

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

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

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

先上圖:

漢字取模軟件

下面是這款軟件的界面:

漢字取模軟件的界面

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

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

第一步

第二步:

第二步

第三步:

第三步

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

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

注意點(diǎn)四:74HC138芯片

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

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

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

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

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

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

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

注意點(diǎn)五:74HC595芯片

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

74HC595原理圖

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

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

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

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

這樣知識準(zhǔn)備就差不多了,現(xiàn)在我們再來看這張?jiān)韴D:

16X16點(diǎn)陣原理圖

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

掃描方式:行掃描

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

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

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

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

責(zé)任編輯:xj

原文標(biāo)題:玩轉(zhuǎn)單片機(jī) 16X16點(diǎn)陣

文章出處:【微信公眾號:玩轉(zhuǎn)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6076

    文章

    45495

    瀏覽量

    670439
  • 16X16點(diǎn)陣
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    5820

原文標(biāo)題:玩轉(zhuǎn)單片機(jī) 16X16點(diǎn)陣

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    深入解析Microchip PIC16C62X系列:8位CMOS微控制器的卓越之選

    深入解析Microchip PIC16C62X系列:8位CMOS微控制器的卓越之選 在如今的電子設(shè)計(jì)領(lǐng)域,選擇一款合適的微控制器對于項(xiàng)目的成功至關(guān)重要。Microchip公司的PIC16C62X系列
    的頭像 發(fā)表于 02-09 17:50 ?1196次閱讀

    256Mb x4、x8、x16 SDRAM特性解析與應(yīng)用指南

    256Mb x4、x8、x16 SDRAM特性解析與應(yīng)用指南 在電子設(shè)計(jì)領(lǐng)域,SDRAM作為關(guān)鍵的存儲器件,其性能和特性對系統(tǒng)的整體表現(xiàn)起著至關(guān)重要的作用。今天,我們就來深入探討一下256Mb
    的頭像 發(fā)表于 02-02 16:05 ?359次閱讀

    第7章 變量進(jìn)階與點(diǎn)陣LED(7.3 7.4)

    7.3點(diǎn)陣的初步認(rèn)識 點(diǎn)陣LED顯示屏作為一種現(xiàn)代電子媒體,具有靈活的顯示面積(可任意分割和拼裝)、高亮度、長壽命、數(shù)字化、實(shí)時性等特點(diǎn),應(yīng)用非常廣泛。 通過學(xué)習(xí)LED小燈和LED數(shù)碼管后,再學(xué)
    的頭像 發(fā)表于 12-11 14:56 ?688次閱讀
    第7章 變量進(jìn)階與<b class='flag-5'>點(diǎn)陣</b>LED(7.3 7.4)

    FZH367 具有獨(dú)立自動呼吸功能的LED(12×16)點(diǎn)陣驅(qū)動芯片 原廠技術(shù)支持

    概述 型號:FZH367FZH367是一種具有獨(dú)立自動呼吸功能的LED(12×16)點(diǎn)陣驅(qū)動芯片。芯片通過I2C協(xié)議控制每個LED實(shí)現(xiàn) 3 種自動呼吸模式及PMW模式的切換控制。此外,芯片具備
    發(fā)表于 11-18 09:18

    原廠 FZH364 一款8×8點(diǎn)陣恒流LED驅(qū)動芯片

    )FZH364是一款8×8點(diǎn)陣恒流LED驅(qū)動芯片??蓮V泛應(yīng)用于各種單色調(diào)光LED顯示系統(tǒng),或RGB 全彩LED顯示系統(tǒng)。每顆LED都可以通過8bit數(shù)據(jù)控制輸出有效時間占空比,從而對每個LED單獨(dú)進(jìn)行256級輝度
    發(fā)表于 11-17 09:34

    原廠 FZH173是點(diǎn)陣式液晶顯示驅(qū)動電路 LCD驅(qū)動

    個字符行或兩個16個字符行。FZH173點(diǎn)陣LCD驅(qū)動器不需要額外的級聯(lián)驅(qū)動器。 其主要特點(diǎn)如下: ●5*8點(diǎn)陣 ●電源電壓:2.7~5.5V ●LCD驅(qū)動電壓范圍:3~7V ●4位或8位,串行
    發(fā)表于 10-31 14:42

    索尼dToF激光雷達(dá)傳感器AS-DT1,24×24點(diǎn)陣掃描模式

    索尼AS-DT1的24×24點(diǎn)陣模式,本質(zhì)是將LiDAR從“線采樣工具”升級為“三維成像系統(tǒng)”。其通過 dToF+SPAD+固態(tài)面的技術(shù)三角,解決了傳統(tǒng)方案在效率(掃描延遲)、可靠性(低反射盲區(qū))、適應(yīng)性(動態(tài)環(huán)境)上的三大瓶頸,為自動駕駛、工業(yè)機(jī)器人及低空經(jīng)濟(jì)提供了更
    的頭像 發(fā)表于 10-21 13:54 ?588次閱讀

    PC0310B 高亮度恒流LED驅(qū)動控制電路數(shù)據(jù)手冊

    PC0310=16*8點(diǎn)陣(EQSOP28)PC0310A=12*8點(diǎn)陣(EQSOP28/SSOP24)PC0310B=8*8點(diǎn)陣(SSOP24)?PC0310是基于I2C通訊協(xié)議的高
    發(fā)表于 08-04 14:55 ?0次下載

    PC0310A 高亮度恒流LED驅(qū)動控制電路數(shù)據(jù)手冊

    PC0310=16*8點(diǎn)陣(EQSOP28)PC0310A=12*8點(diǎn)陣(EQSOP28/SSOP24)PC0310B=8*8點(diǎn)陣(SSOP24)?PC0310是基于I2C通訊協(xié)議的高
    發(fā)表于 08-04 14:54 ?0次下載

    PC0310 高亮度恒流LED驅(qū)動控制電路數(shù)據(jù)手冊

    PC0310=16*8點(diǎn)陣(EQSOP28)PC0310A=12*8點(diǎn)陣(EQSOP28/SSOP24)PC0310B=8*8點(diǎn)陣(SSOP24)?PC0310是基于I2C通訊協(xié)議的高
    發(fā)表于 08-01 17:36 ?1次下載

    計(jì)量插座數(shù)顯芯片點(diǎn)陣數(shù)顯驅(qū)動IC芯片VK16D32

    /CLK/DIN/DOUT 電源電壓:5V(4.5~5.5V) 驅(qū)動點(diǎn)陣:128共陰驅(qū)動:16段8位 共陽驅(qū)動:8段16位 按鍵:8x4 封裝QFP44 VK1629A --- 通訊接
    發(fā)表于 07-17 17:39

    W25X16W25X32\W25X64 數(shù)據(jù)手冊

    電子發(fā)燒友網(wǎng)站提供《W25X16W25X32\W25X64 數(shù)據(jù)手冊.pdf》資料免費(fèi)下載
    發(fā)表于 07-10 16:10 ?4次下載

    16×16點(diǎn)陣(滾動顯示)PROTEUS仿真資料

    發(fā)表于 06-03 16:19

    關(guān)于嘗試基于dll方式自定義16*16點(diǎn)陣遇到的問題

    我想在proteus上通過基于動態(tài)鏈接的方式自定義一個元件(16*16點(diǎn)陣),我將代碼寫好后編譯成了.dll文件 并且在deepseek的建議下寫了.IDX文件(放在了LIBRARY目錄下),內(nèi)容為
    發(fā)表于 04-06 10:47

    高亮數(shù)顯驅(qū)動LED驅(qū)動控制器芯片VK16K33

    10位 按鍵:10x2 封裝SOP28 VK1629 --- 通訊接口:STB/CLK/DIN/DOUT 電源電壓:5V(4.5~5.5V) 驅(qū)動點(diǎn)陣:128共陰驅(qū)動:16段8位 共陽驅(qū)動:8段
    發(fā)表于 03-13 10:39