>是因為后面兩個的左右移無法循環,會丟失數據。" />

在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于51單片機LED類編程技巧

h1654155971.7688 ? 來源:未知 ? 作者:李倩 ? 2018-04-26 08:45 ? 次閱讀

首先點陣:(以最簡單的8X8為例,16X16的以后再說)

8X8點陣

個人感覺點陣需要注意的地方有:

第一個就是驅動點陣的方式

我認為8X8點陣的驅動程序分為行掃描和列掃描兩種。

比如行掃描就是用一層for循環:

先選中第一行,然后送入這一行的數據,再選擇第二行,然后送入第二行數據,如此循環下去,直至顯示完一個屏幕(即8行),同時記得要消隱和微延時(后面會說消隱和微延時),列掃描同理。如圖是代碼示例:

8X8點陣,無滾動效果

第二個就是滾動效果的實現。

思路是:

一:掃描函數不變,每掃描一個屏幕,所有數據移動一位;(代碼實現簡單)

二:數據不變,每次讀取數據的起始位置移動一位。(代碼實現有點難,反正我不會╮(╯▽╰)╭)

以第一種為例:

代碼實現:實現滾動效果的基礎是一個掃描函數和一個數據處理函數,掃描函數有兩層for循環組成:第一層for循環控制圖像每移動一次的時間間隔,然后第二層for循環顯示整個屏幕。

如圖掃描函數:

掃描函數

滾動的重點是數據循環函數的寫法,我覺得數據處理分兩種:(僅個人愚見,新手)

第一種:

如果顯示的內容整個點陣足以顯示(這樣的情況一般沒有),那么就不用另外寫數據處理函數,直接用 intrins.h里面的 _cror_(*,*) 函數或者 _crol_(*,*)函數對數據進行循環處理就可以了.不用 <<和 >>是因為后面兩個的左右移無法循環,會丟失數據。

第二種:

自然就是指顯示的數據在一張屏幕上顯示不了,從而導致需要滾動顯示。

此時就要另外寫一個數據處理函數,原理很簡單,比如StreamData[80]這個數組里面存著數據,那么只需將數據中的每一個數據往前(或者往后)移一位就可以了,最后將StreamData[0]移至StreamData[79]的位置就大功告成了。

注:以上兩種的掃描還是只掃描一個屏幕(當然最大就只能掃描一個屏幕嘛),每當掃描完一個屏幕,接著進行數據處理就行了。

如圖為第二種的數據處理函數:

注:但是我這種方法比較麻煩,但是我也沒有想到其他比較好的方法,所以如果讀者有比較好的方法的話,希望可以分享一下。

對于LED燈的顯示,點亮LED的原理我就不說了,大家都懂,我說幾個小細節吧:(補上上面挖的坑)

1、微延時。

當對動態數碼管進行操作時,每點亮一位數碼管,在點亮下一個數碼管之前要進行微延時,這樣可以提高亮度,延時太久的話整體效果會大打折扣(俗稱:晃眼),但是不延時的話,亮度會很低,所以到底延時多久就取決于處理速度啦,其實到頭來還是取決于你的眼睛啦。

(不晃眼的延時就是好延時!)

2、消隱。(就是消除隱約的光,也就是重影)

消隱就是說在所有的燈寫完一次數據進行下一次數據刷新的之前要先把所有的燈滅掉,不然的話就會出現重影。記得我剛學的時候就總是出現重影,然后就改延時時間(當時不會嘛,不知道消隱這回事),怎么改都不對,直到最后找回原來的視頻、例程又看了一遍才知道要消隱。

下面是我剛開始學單片機時自己做的:

我自己做的心形燈,當時更新手,更菜,大家不要笑哈

(做那個燈的時候剛剛開始學,電阻接小了,導致太亮,眼都快瞎了....)

16X16點陣一般會用74HC595驅動,所以要涉及到其他的知識,所以這里就先不說了,下次再說。拜拜~?

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23308

    瀏覽量

    661562
  • 51單片機
    +關注

    關注

    274

    文章

    5705

    瀏覽量

    123800

原文標題:51單片機--LED類編程技巧

文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MCS-51單片機編程應用范例

    [學習要求] 掌握MCS-51單片機的基本應用。[重點與難點]重點:動態掃描LED顯示電路編程范例;定時/計數器軟件編程范例;A/D接口電路
    發表于 03-08 10:44 ?72次下載
    MCS-<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>編程</b>應用范例

    51單片機動態LED顯示電路編程實例

    51單片機動態LED顯示電路編程實例:上一節我們講述了單只LED單片機的接口電路及
    發表于 08-12 16:39 ?151次下載

    51單片機C語言的編程技巧

    51單片機C語言的編程技巧
    發表于 07-16 11:17 ?161次下載

    單片機C51編程規范

    單片機C51編程規范 1單片機C51編程規范- 前言   為了提高源程序的質量和可維護性,從而
    發表于 01-14 21:03 ?2579次閱讀

    51單片機C編程

    51單片機C編程
    發表于 11-06 11:29 ?0次下載

    51單片機匯編語言教程:單片機數據傳遞指令

    51單片機匯編語言教程:9課單片機數據傳遞指令
    發表于 01-19 15:25 ?0次下載

    mcs-51系列單片機實用編程88例

    mcs-51系列單片機實用編程88例
    發表于 09-11 09:17 ?0次下載

    基于51單片機C語言編程學習

    基于51單片機C語言編程學習
    發表于 10-16 08:23 ?45次下載
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>C語言<b class='flag-5'>編程</b>學習

    51單片機--LED編程技巧續

    上一篇說了一點點關于 8X8點陣的驅動編寫技巧 以及寫 LED燈 時應注意的一些小細節,那么這次我就繼續補上上次挖的坑吧,說一下16X16點陣的編寫技巧,主要講一下思路,因為在寫16X16點陣驅動
    發表于 11-24 01:36 ?545次閱讀

    基于51單片機LED編程技巧分享

    我認為8X8點陣的驅動程序分為行掃描和列掃描兩種。 比如行掃描就是用一層for循環: 先選中第一行,然后送入這一行的數據,再選擇第二行,然后送入第二行數據,如此循環下去,直至顯示完一個屏幕(即8行),同時記得要消隱和微延時(后面會說消隱和微延時),列掃描同理。
    的頭像 發表于 04-21 14:39 ?4363次閱讀

    51單片機LED編程技巧詳細資料說明

    說一下16X16點陣的編寫技巧,主要講一下思路,因為在寫16X16點陣驅動時,很多人一上來大腦一片空白啊,根本無從下手,我這里舉一個例子講下思路,以后大家可以按照我下面的思路來寫程序。
    發表于 04-12 18:26 ?0次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>LED</b><b class='flag-5'>類</b><b class='flag-5'>編程</b>技巧詳細資料說明

    使用51單片機點亮全部LED的匯編程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機點亮全部LED的匯編程序免費下載。
    發表于 07-04 17:41 ?2次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>點亮全部<b class='flag-5'>LED</b>的匯<b class='flag-5'>編程</b>序免費下載

    51單片機 LED系列

    電子發燒友網站提供《51單片機 LED系列.pdf》資料免費下載
    發表于 11-23 16:51 ?8次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b> <b class='flag-5'>LED</b>系列

    51單片機 點亮一個LED LED閃爍

    ) //循環 { }}使用51單片機點亮一個LED#include <reg52.h> //51單片機
    發表于 11-23 17:06 ?5次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b> 點亮一個<b class='flag-5'>LED</b> <b class='flag-5'>LED</b>閃爍

    51單片機C語言編程入門.pdf

    51單片機C語言編程入門.pdf
    發表于 12-07 18:07 ?0次下載
    主站蜘蛛池模板: 国产三级在线看| www毛片| 三级视频国产| 日本黄视频在线观看| 女人爽到喷水的视频大全在线观看| 欧美一区二区影院| 六月婷婷色| 不良视频在线观看| 亚洲第一视频在线| 欧美女同网站| asian极品呦女爱爱| 一区二区三区福利| 最黄毛片| 日欧毛片| 韩国激情啪啪| 夜干夜夜| 久久精品国产乱子伦多人| 免费在线看视频| 狠狠色噜噜狠狠狠狠999米奇| 亚洲人成电影在线观看网| 色视频网站在线| 久久青草国产免费观看| 中文天堂最新版www官网在线| 日日干天天爽| 欧美天堂色| 久青草免费在线视频| 超大乳抖乳露双乳视频| 天堂最新版在线www在线| haodiaose在线精品免费观看| 爽好舒服老师快点| 婷婷丁香综合| 久久精品亚瑟全部免费观看| 一级视频在线观看免费| 国产色综合天天综合网| 日本免费在线| 四虎4hu影库免费永久国产| 久久999| 天天色天天操天天| 欧美tube6最新69| 东北老女人啪啪对白| 亚洲一区二区三区中文字幕|