日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機(jī)入門 >> 51單片機(jī)--LED類編程技巧

51單片機(jī)--LED類編程技巧

關(guān)鍵字:51單片機(jī) 作者:admin 來源:不詳 發(fā)布時(shí)間:2018-05-18  瀏覽:8

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

1.jpg

8X8點(diǎn)陣

個(gè)人感覺點(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ì)說消隱和微延時(shí)),列掃描同理。如圖是代碼示例:

2.jpg

8X8點(diǎn)陣,無滾動(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ù):

3.jpg

掃描函數(shù)

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

第一種:

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

第二種:

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

此時(shí)就要另外寫一個(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ù):

4.jpg

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

(來一張萌圖:)

5.jpg

出自《刀劍神域》 亞絲娜,抱枕上的是Kirito

對(duì)于LED燈的顯示,點(diǎn)亮LED的原理我就不說了,大家都懂,我說幾個(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ì)大打折扣(俗稱:晃眼),但是不延時(shí)的話,亮度會(huì)很低,所以到底延時(shí)多久就取決于處理速度啦,其實(shí)到頭來還是取決于你的眼睛啦。

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

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

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

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

6.jpg

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

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

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

編輯:admin  最后修改時(shí)間:2018-05-22

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

金秀| 蚌埠市| 娱乐| 砚山县| 卓资县| 达拉特旗| 军事| 临潭县| 永川市| 上饶县| 赣榆县| 桐乡市| 容城县| 玉林市| 望江县| 永寿县| 五常市| 蒙自县| 页游| 黄梅县| 吴堡县| 龙游县| 郸城县| 曲麻莱县| 连江县| 伊川县| 徐闻县| 姚安县| 肃北| 新疆| 江口县| 扎赉特旗| 如皋市| 红桥区| 呼图壁县| 紫云| 习水县| 通许县| 阿拉尔市| 双桥区| 澳门|