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

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

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

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

基于51單片機(jī)的LED類(lèi)編程技巧分享

GReq_mcu168 ? 來(lái)源:未知 ? 作者:steve ? 2018-04-21 14:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

8X8點(diǎn)陣

個(gè)人感覺(jué)點(diǎn)陣需要注意的地方有:

第一個(gè)就是驅(qū)動(dòng)點(diǎn)陣的方式

我認(rèn)為8X8點(diǎn)陣的驅(qū)動(dòng)程序分為行掃描和列掃描兩種。

比如行掃描就是用一層for循環(huán):

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

基于51單片機(jī)的LED類(lèi)編程技巧分享

8X8點(diǎn)陣,無(wú)滾動(dòng)效果

第二個(gè)就是滾動(dòng)效果的實(shí)現(xiàn)。

思路是:

一:掃描函數(shù)不變,每掃描一個(gè)屏幕,所有數(shù)據(jù)移動(dòng)一位;(代碼實(shí)現(xiàn)簡(jiǎn)單)

二:數(shù)據(jù)不變,每次讀取數(shù)據(jù)的起始位置移動(dòng)一位。(代碼實(shí)現(xiàn)有點(diǎn)難,反正我不會(huì)╮(╯▽╰)╭)

以第一種為例:

代碼實(shí)現(xiàn):實(shí)現(xiàn)滾動(dòng)效果的基礎(chǔ)是一個(gè)掃描函數(shù)和一個(gè)數(shù)據(jù)處理函數(shù),掃描函數(shù)有兩層for循環(huán)組成:第一層for循環(huán)控制圖像每移動(dòng)一次的時(shí)間間隔,然后第二層for循環(huán)顯示整個(gè)屏幕。

如圖掃描函數(shù):

基于51單片機(jī)的LED類(lèi)編程技巧分享

掃描函數(shù)

滾動(dòng)的重點(diǎn)是數(shù)據(jù)循環(huán)函數(shù)的寫(xiě)法,我覺(jué)得數(shù)據(jù)處理分兩種:(僅個(gè)人愚見(jiàn),新手)

第一種:

如果顯示的內(nèi)容整個(gè)點(diǎn)陣足以顯示(這樣的情況一般沒(méi)有),那么就不用另外寫(xiě)數(shù)據(jù)處理函數(shù),直接用 intrins.h里面的 _cror_(*,*) 函數(shù)或者 _crol_(*,*)函數(shù)對(duì)數(shù)據(jù)進(jìn)行循環(huán)處理就可以了.不用 <<和 >>是因?yàn)楹竺鎯蓚€(gè)的左右移無(wú)法循環(huán),會(huì)丟失數(shù)據(jù)。

第二種:

自然就是指顯示的數(shù)據(jù)在一張屏幕上顯示不了,從而導(dǎo)致需要滾動(dòng)顯示。

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

注:以上兩種的掃描還是只掃描一個(gè)屏幕(當(dāng)然最大就只能掃描一個(gè)屏幕嘛),每當(dāng)掃描完一個(gè)屏幕,接著進(jìn)行數(shù)據(jù)處理就行了。

如圖為第二種的數(shù)據(jù)處理函數(shù):

基于51單片機(jī)的LED類(lèi)編程技巧分享

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

對(duì)于LED燈的顯示,點(diǎn)亮LED的原理我就不說(shuō)了,大家都懂,我說(shuō)幾個(gè)小細(xì)節(jié)吧:(補(bǔ)上上面挖的坑)

1、微延時(shí)。

當(dāng)對(duì)動(dòng)態(tài)數(shù)碼管進(jìn)行操作時(shí),每點(diǎn)亮一位數(shù)碼管,在點(diǎn)亮下一個(gè)數(shù)碼管之前要進(jìn)行微延時(shí),這樣可以提高亮度,延時(shí)太久的話整體效果會(huì)大打折扣(俗稱(chēng):晃眼),但是不延時(shí)的話,亮度會(huì)很低,所以到底延時(shí)多久就取決于處理速度啦,其實(shí)到頭來(lái)還是取決于你的眼睛啦。

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

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

消隱就是說(shuō)在所有的燈寫(xiě)完一次數(shù)據(jù)進(jìn)行下一次數(shù)據(jù)刷新的之前要先把所有的燈滅掉,不然的話就會(huì)出現(xiàn)重影。記得我剛學(xué)的時(shí)候就總是出現(xiàn)重影,然后就改延時(shí)時(shí)間(當(dāng)時(shí)不會(huì)嘛,不知道消隱這回事),怎么改都不對(duì),直到最后找回原來(lái)的視頻、例程又看了一遍才知道要消隱。

下面是我剛開(kāi)始學(xué)單片機(jī)時(shí)自己做的:

我自己做的心形燈,當(dāng)時(shí)更新手,更菜,大家不要笑哈

(做那個(gè)燈的時(shí)候剛剛開(kāi)始學(xué),電阻接小了,導(dǎo)致太亮,眼都快瞎了....)

16X16點(diǎn)陣一般會(huì)用74HC595驅(qū)動(dòng),所以要涉及到其他的知識(shí),所以這里就先不說(shuō)了,下次再說(shuō)。


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

    關(guān)注

    243

    文章

    24618

    瀏覽量

    691114
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6076

    文章

    45501

    瀏覽量

    670822
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3716

    瀏覽量

    97212

原文標(biāo)題:51單片機(jī)--LED類(lèi)編程技巧(1)

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    小白也能聽(tīng)懂的單片機(jī)知識(shí)路徑

    。 為什么從51單片機(jī)開(kāi)始? 51單片機(jī)以其結(jié)構(gòu)簡(jiǎn)單、學(xué)習(xí)資源豐富、易于上手的特點(diǎn),成為單片機(jī)學(xué)習(xí)的理想起點(diǎn)。通過(guò)學(xué)習(xí)
    發(fā)表于 02-04 16:44

    學(xué)習(xí)單片機(jī)快速方法

    的很不錯(cuò)了。告訴大家我學(xué)51單片機(jī)只用了兩個(gè)星期。普通的應(yīng)用差不多都會(huì)了,可以自己設(shè)計(jì)一個(gè)國(guó)旗升降系統(tǒng)、溫度自動(dòng)控制系統(tǒng)之類(lèi)的電路和程序。當(dāng)然想要這么短的時(shí)間內(nèi)精通是不可能的。 學(xué)習(xí)單片機(jī)是有捷徑可走
    發(fā)表于 01-14 07:42

    單片機(jī)解密是什么?

    芯片的其中一個(gè)類(lèi)單片機(jī)(MCU)一般都有內(nèi)部程序區(qū)和數(shù)據(jù)區(qū)(或者其一)供用戶存放程序和工作數(shù)據(jù)(或者其一)。為了防止未經(jīng)授訪問(wèn)或拷貝單片機(jī)的機(jī)內(nèi)程序,大部分單片機(jī)都帶有加密鎖定
    發(fā)表于 12-30 08:19

    C語(yǔ)言和單片機(jī)C語(yǔ)言有什么差異

    區(qū)別是由編譯器決的,只能參考對(duì)應(yīng)的編譯手冊(cè),即使同種平臺(tái)不同的編譯器對(duì)C的擴(kuò)展也有不同。 3、單片機(jī)c語(yǔ)言編程是基于C語(yǔ)言的單片機(jī)編程。單片機(jī)
    發(fā)表于 11-14 07:55

    51單片機(jī)RS485編程實(shí)例資料

    詳細(xì)介紹51單片機(jī)RS485通信接線和編程代碼
    發(fā)表于 10-20 14:57 ?4次下載

    單片機(jī)怎么燒程序

    驟,才能讓單片機(jī)發(fā)揮作用。 燒程序前的準(zhǔn)備工作 單片機(jī)燒程序前,需要做好硬件和軟件兩方面的準(zhǔn)備。硬件方面,核心設(shè)備包括目標(biāo)單片機(jī)編程器(或下載器)、電腦以及連接導(dǎo)線。
    的頭像 發(fā)表于 07-23 11:47 ?1377次閱讀

    大一暑假適合學(xué)51單片機(jī)嗎?

    大一暑假學(xué) 51 單片機(jī),簡(jiǎn)直是老天爺賞飯吃的黃金窗口。我當(dāng)時(shí)就是靠著這兩個(gè)月,把從課本上看來(lái)的 C 語(yǔ)言指針、循環(huán)語(yǔ)句,變成了能讓 LED 按節(jié)奏跳舞的真本事。
    的頭像 發(fā)表于 07-16 11:42 ?628次閱讀
    大一暑假適合學(xué)<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>嗎?

    AT89C51 單片機(jī)中文資料

    電子發(fā)燒友網(wǎng)站提供《AT89C51 單片機(jī)中文資料.pdf》資料免費(fèi)下載
    發(fā)表于 06-24 15:29 ?1次下載

    圖解單片機(jī)功能與應(yīng)用(完整版)

    從基礎(chǔ)知識(shí)的介紹出發(fā),圖文并茂,直觀、系統(tǒng)地介紹了單片機(jī)的內(nèi)部結(jié)構(gòu)、工作原理和應(yīng)用技巧。全書(shū)分為10章,內(nèi)容包括51單片機(jī)編程資源圖解、51
    發(fā)表于 06-16 16:52

    2.4寸TFT彩屏配套測(cè)試程序-51單片機(jī)

    如題,2.4寸TFT彩屏配套測(cè)試程序-51單片機(jī)。
    發(fā)表于 06-04 16:26 ?0次下載

    C51單片機(jī)及C語(yǔ)言知識(shí)點(diǎn)必備秘籍

    功能寄存器 系列二 8:單片機(jī)尋址方式與指令系統(tǒng) 9:單片機(jī)數(shù)據(jù)傳遞類(lèi)指令 10:單片機(jī)數(shù)據(jù)傳送類(lèi)指令 11:
    發(fā)表于 05-15 14:00

    單片機(jī)c語(yǔ)言編程實(shí)例大全

    單片機(jī)c語(yǔ)言編程實(shí)例大全_18
    發(fā)表于 04-30 16:11 ?7次下載

    基于51/32單片機(jī)按鍵控制步進(jìn)電機(jī)正反轉(zhuǎn),A4988驅(qū)動(dòng)

    基于51/32單片機(jī)按鍵控制步進(jìn)電機(jī)正反轉(zhuǎn),A4988驅(qū)動(dòng)
    發(fā)表于 04-14 15:05 ?7次下載

    STM32F10xxx單片機(jī)編程手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STM32F10xxx單片機(jī)編程手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 04-14 14:56 ?17次下載

    單片機(jī)C語(yǔ)言編程寶典大全,初學(xué)必備【強(qiáng)推下載!】

    資料介紹:包含 1. 51單片機(jī)入門(mén)教程 2. 初學(xué)者適用:單片機(jī)C語(yǔ)言實(shí)例100例(代碼及釋義) 3. 51單片機(jī)C語(yǔ)言快速上手 4.
    發(fā)表于 03-14 11:03