⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨


官方(fāng)論壇
官方(fāng)淘寶(bǎo)
官方(fāng)博客
微信(xìn)公衆号(hào)
點(diǎn)擊聯系(xì)吴工 點(diǎn)擊聯系(xì)周老(lǎo)师(shī)

【案(àn)例】電(diàn)子密碼鎖設計(jì)(altera版)

發(fà)布(bù)时(shí)間(jiān):2021-06-16   作者(zhě):admin 浏覽量(liàng):

原創 秦紅(hóng)凯 明(míng)德揚FPGA科教 今天(tiān)

 一(yī)、項目背景概述

随着生(shēng)活質(zhì)量(liàng)的(de)不(bù)斷提(tí)高(gāo),加強(qiáng)家(jiā)庭防盜安(ān)全(quán)變(biàn)得非(fēi)常重(zhòng)要(yào),但傳統機(jī)械鎖的(de)構造过(guò)于(yú)簡單,很容易被(bèi)打(dǎ)開(kāi),從而(ér)降低了(le)安(ān)全(quán)性(xìng)。數字(zì)密碼鎖因(yīn)为(wèi)它(tā)的(de)保密性(xìng)很高(gāo),安(ān)全(quán)系(xì)數也(yě)非(fēi)常高(gāo),再加上(shàng)其不(bù)需要(yào)攜带(dài)避免了(le)丢失的(de)可(kě)能(néng),省(shěng)去(qù)了(le)因(yīn)鑰匙丢失而(ér)需要(yào)換鎖的(de)麻(má)煩,受到(dào)了(le)越来(lái)越多(duō)的(de)人(rén)的(de)欢迎。随看(kàn)人(rén)们(men)对(duì)高(gāo)科技産品也(yě)越来(lái)越推崇,在(zài)當今社会(huì)科技的(de)高(gāo)度(dù)集中(zhōng)和(hé)創新,人(rén)们(men)对(duì)日(rì)常生(shēng)活中(zhōng)保護自(zì)身(shēn)及(jí)财産安(ān)全(quán)的(de)物(wù)品非(fēi)常追捧,对(duì)其安(ān)全(quán)性(xìng)的(de)要(yào)求也(yě)非(fēi)常的(de)高(gāo)。


为(wèi)了(le)达(dá)到(dào)人(rén)们(men)对(duì)鎖具安(ān)全(quán)性(xìng)的(de)高(gāo)要(yào)求,加強(qiáng)鎖具的(de)安(ān)全(quán)保密性(xìng),用(yòng)密碼鎖来(lái)取(qǔ)代(dài)傳統機(jī)械鎖的(de)鎖具是(shì)必然趨勢。數字(zì)密碼鎖比傳統機(jī)械鎖具更(gèng)加的(de)安(ān)全(quán) 。


在(zài)本(běn)案(àn)例的(de)設計(jì)过(guò)程中(zhōng),應(yìng)用(yòng)了(le)至(zhì)簡設計(jì)法、狀态機(jī)模板應(yìng)用(yòng)等,在(zài)經(jīng)过(guò)逐步改進(jìn)、調試等一(yī)系(xì)列工作之後(hòu),最(zuì)終(zhōng)达(dá)到(dào)了(le)設計(jì)目标(biāo)。


基于(yú)明(míng)德揚至(zhì)簡設計(jì)法和(hé)明(míng)德揚設計(jì)規範,設計(jì)一(yī)个(gè)基于(yú)FPGA的(de)密碼鎖、并将數值顯示在(zài)數碼管(guǎn)上(shàng),然後(hòu)根(gēn)據(jù)輸入(rù)的(de)鍵值判斷密碼是(shì)否正(zhèng)确。


二(èr)、項目設計(jì)要(yào)求

1、通(tòng)过(guò)矩阵(zhèn)鍵盤采樣(yàng)輸入(rù)密碼;

2、數碼管(guǎn)顯示輸入(rù)的(de)密碼

3、密碼正(zhèng)确,指示燈(dēng)給(gěi)出(chū)指示,不(bù)正(zhèng)确蜂鳴器給(gěi)出(chū)報警


三(sān)、頂层接收(shōu)設計(jì)

根(gēn)據(jù)所(suǒ)有(yǒu)的(de)功能(néng)要(yào)求,我(wǒ)们(men)先(xiān)对(duì)其進(jìn)行結構劃(huà)分(fēn)如(rú)下(xià):

Key_in:開(kāi)始模块(kuài)

Key_scan :按鍵掃描模块(kuài)

Code_detect:密碼比較模块(kuài)

Control:控制信(xìn)号(hào)模块(kuài)

Dis_play:數碼管(guǎn)顯示模块(kuài)


Key_in

比較按鍵輸入(rù)

Key_scan

按鍵掃描,密碼檢测

Code_detect

負責密碼的(de)比較

Dis_play

數碼管(guǎn)顯示

control

負責輸出(chū)LED,BEEP控制


矩阵(zhèn)按鍵模块(kuài)

如(rú)果(guǒ)按鍵不(bù)多(duō)的(de)話(huà),我(wǒ)们(men)可(kě)以(yǐ)直(zhí)接按鍵與(yǔ)FPGA相連(lián)接,但是(shì)如(rú)果(guǒ)按鍵比較多(duō)的(de)时(shí)候,如(rú)何還(huán)繼續使用(yòng)直(zhí)接按鍵與(yǔ)FPGA相連(lián)接的(de)話(huà),所(suǒ)会(huì)大量(liàng)增加FPGA端口(kǒu)的(de)消耗,为(wèi)了(le)減少(shǎo)FPGA端口(kǒu)的(de)消耗,我(wǒ)们(men)可(kě)以(yǐ)把按鍵設計(jì)成(chéng)矩阵(zhèn)的(de)形式,就(jiù)如(rú)下(xià)图(tú)所(suǒ)示:

null


信(xìn)号(hào)名稱

I/O

功能(néng)描述

clk

I

模块(kuài)时(shí)鐘(zhōng)

rst_n

I

模块(kuài)複位

key_col[3:0]

I

列信(xìn)号(hào)

key_row[3:0]

O

行信(xìn)号(hào)

Key_num

O

鍵值

Key_vld

O

按鍵有(yǒu)效


由(yóu)上(shàng)图(tú)可(kě)以(yǐ)知道(dào),矩阵(zhèn)鍵盤的(de)行row(行)與(yǔ)col(列)的(de)交點(diǎn),都是(shì)通(tòng)过(guò)一(yī)个(gè)按鍵来(lái)相連(lián)接。傳統的(de)一(yī)个(gè)按鍵一(yī)个(gè)端口(kǒu)的(de)方(fāng)法,若要(yào)实現(xiàn)16个(gè)按鍵,則需要(yào)16个(gè)端口(kǒu),而(ér)現(xiàn)在(zài)这(zhè)个(gè)矩阵(zhèn)鍵盤的(de)設計(jì),16个(gè)按鍵,僅僅需要(yào)8个(gè)端口(kǒu),如(rú)果(guǒ)使用(yòng)16个(gè)端口(kǒu)来(lái)做矩阵(zhèn)鍵盤的(de)話(huà),可(kě)以(yǐ)識别64个(gè)按鍵,端口(kǒu)的(de)利用(yòng)率遠(yuǎn)遠(yuǎn)比傳統的(de)設計(jì)好(hǎo)的(de)多(duō),所(suǒ)以(yǐ)如(rú)果(guǒ)需要(yào)的(de)按鍵少(shǎo)的(de)話(huà),可(kě)以(yǐ)選擇傳統的(de)按鍵設計(jì),如(rú)果(guǒ)需要(yào)的(de)按鍵比較多(duō)的(de)話(huà),可(kě)以(yǐ)采用(yòng)这(zhè)種(zhǒng)矩阵(zhèn)鍵盤的(de)設計(jì)。


而(ér)我(wǒ)们(men)現(xiàn)在(zài)就(jiù)以(yǐ)掃描法为(wèi)例来(lái)介紹矩阵(zhèn)鍵盤的(de)工作原理。


在(zài)進(jìn)行鍵盤掃描时(shí),應(yìng)內(nèi)部(bù)对(duì)信(xìn)号(hào)進(jìn)行按鍵消抖处理。

詳细(xì)內(nèi)容可(kě)以(yǐ)參考明(míng)德揚另(lìng)一(yī)篇(piān)文(wén)章(zhāng):矩阵(zhèn)鍵盤的(de)檢测。



密碼比較模块(kuài):Code_detect


null

信(xìn)号(hào)名稱

I/O

功能(néng)描述

clk

I

模块(kuài)时(shí)鐘(zhōng)

rst_n

I

模块(kuài)複位

key_falg

I

按鍵按下(xià)标(biāo)志信(xìn)号(hào)

key_value[3:0]

I

按鍵值

start

I

開(kāi)始比較

error

O

密碼錯誤

right

O

密碼正(zhèng)确

code[3:0]

O

輸入(rù)密碼


每次(cì)輸入(rù)4位數的(de)密碼,所(suǒ)以(yǐ)每次(cì)按下(xià)一(yī)次(cì),就(jiù)将这(zhè)词的(de)鍵值先(xiān)存到(dào)寄存器中(zhōng)。


所(suǒ)以(yǐ)这(zhè)里(lǐ)需要(yào)一(yī)个(gè)計(jì)數器,来(lái)計(jì)算是(shì)第(dì)幾(jǐ)次(cì)按下(xià)的(de)操作

null


在(zài)使用(yòng)一(yī)个(gè)时(shí)序邏輯,将上(shàng)个(gè)模块(kuài)的(de)鍵值存儲到(dào)寄存器。


null





控制模块(kuài):control



null


信(xìn)号(hào)名稱

I/O

功能(néng)描述

clk

I

模块(kuài)时(shí)鐘(zhōng)

rst_n

I

模块(kuài)複位

error

I

錯誤信(xìn)号(hào)

right

I

正(zhèng)确信(xìn)号(hào)

beep

o

蜂鳴器

Error_led

o

錯誤指示燈(dēng)

Right_led

o

正(zhèng)确指示燈(dēng)


这(zhè)个(gè)模块(kuài)要(yào)操作的(de)信(xìn)号(hào)較多(duō),并且每種(zhǒng)情(qíng)況下(xià),各(gè)个(gè)指示燈(dēng)的(de)情(qíng)況也(yě)不(bù)一(yī)樣(yàng),为(wèi)了(le)設計(jì)的(de)簡單,我(wǒ)们(men)在(zài)这(zhè)采用(yòng)一(yī)个(gè)狀态機(jī)設計(jì),每个(gè)狀态下(xià)規定(dìng)不(bù)同(tóng)的(de)操作就(jiù)行了(le)。


狀态機(jī)的(de)設計(jì)主(zhǔ)要(yào)要(yào)有(yǒu)3个(gè)狀态,主(zhǔ)要(yào)是(shì)有(yǒu)空閑狀态,正(zhèng)确狀态,錯誤狀态,狀态轉(zhuǎn)移图(tú)如(rú)下(xià)所(suǒ)示:

空閑狀态:等待檢测

正(zhèng)确狀态:right_led亮(liàng)

錯誤狀态:error_led亮(liàng),并且BEEP叫1s;

null

根(gēn)據(jù)MDY的(de)模板設計(jì)出(chū)4段(duàn)狀态機(jī):


根(gēn)據(jù)模板我(wǒ)们(men)只(zhī)需要(yào)修改很少(shǎo)的(de)部(bù)分(fēn)就(jiù)可(kě)以(yǐ),

1根(gēn)據(jù)自(zì)己的(de)狀态图(tú),修改所(suǒ)需要(yào)的(de)狀态轉(zhuǎn)移条(tiáo)件(jiàn)

2修改狀态發(fà)生(shēng)變(biàn)化(huà)的(de)条(tiáo)件(jiàn)

3修改最(zuì)後(hòu)的(de)輸出(chū)信(xìn)号(hào)


本(běn)次(cì)需要(yào)注意(yì)的(de)是(shì)89行中(zhōng)的(de)时(shí)鐘(zhōng)条(tiáo)件(jiàn)被(bèi)修改了(le),原因(yīn)是(shì),这(zhè)幾(jǐ)个(gè)狀态中(zhōng)的(de)燈(dēng)亮(liàng)或(huò)者(zhě)蜂鳴器發(fà)出(chū)響聲会(huì)持(chí)續一(yī)段(duàn)时(shí)間(jiān),狀态改變(biàn)要(yào)等到(dào)每次(cì)小的(de)狀态結束(shù),或(huò)者(zhě)接收(shōu)到(dào)新的(de)上(shàng)有(yǒu)信(xìn)号(hào)。


null


null


null



數碼管(guǎn)顯示模块(kuài):dis_play


null


信(xìn)号(hào)名稱

I/O

功能(néng)描述

clk

I

模块(kuài)时(shí)鐘(zhōng)

rst_n

I

模块(kuài)複位

Code[3:0]

I

密碼

Seg_Sel[3:0]

0

位選信(xìn)号(hào)

Segment[7:0]

0

段(duàn)選信(xìn)号(hào)


數碼管(guǎn)動(dòng)态顯示接口(kǒu)是(shì)應(yìng)用(yòng)最(zuì)为(wèi)廣泛的(de)一(yī)種(zhǒng)顯示方(fāng)式之一(yī),動(dòng)态驅動(dòng)是(shì)将所(suǒ)有(yǒu)數碼管(guǎn)的(de) 8 个(gè)顯示笔(bǐ)劃(huà)"a,b,c,d,e,f,g,dp"的(de)同(tóng)名端連(lián)在(zài)一(yī)起,另(lìng)外(wài)为(wèi)每个(gè)數碼管(guǎn)的(de)公共(gòng)极(jí) COM 增加位選通(tòng)控制電(diàn)路(lù),位選通(tòng)由(yóu)各(gè)自(zì)独立的(de) I/O 線(xiàn)控制,當要(yào)輸出(chū)字(zì)形碼时(shí),所(suǒ)有(yǒu)數碼管(guǎn)都接收(shōu)相同(tóng)的(de)字(zì)形碼,但究竟是(shì)哪个(gè)數碼管(guǎn)会(huì)顯示出(chū)字(zì)形,取(qǔ)決于(yú)單片(piàn)機(jī)对(duì)位選通(tòng) COM 端電(diàn)路(lù)的(de)控制,所(suǒ)以(yǐ)我(wǒ)们(men)只(zhī)要(yào)将需要(yào)顯示的(de)數碼管(guǎn)的(de)選通(tòng)控制打(dǎ)開(kāi),該位就(jiù)顯示出(chū)字(zì)形,沒(méi)有(yǒu)選通(tòng)的(de)數碼管(guǎn)就(jiù)不(bù)会(huì)亮(liàng)。


通(tòng)过(guò)分(fēn)时(shí)轮流控制各(gè)个(gè)數碼管(guǎn)的(de)的(de) COM 端,就(jiù)使各(gè)个(gè)數碼管(guǎn)轮流受控顯示,这(zhè)就(jiù)是(shì)動(dòng)态驅動(dòng)。在(zài)轮流顯示过(guò)程中(zhōng),每位數碼管(guǎn)的(de)點(diǎn)亮(liàng)时(shí)間(jiān)为(wèi) 1~2ms,由(yóu)于(yú)人(rén)的(de)視覺暫留現(xiàn)象(xiàng)及(jí)發(fà)光(guāng)二(èr)极(jí)管(guǎn)的(de)餘輝效應(yìng),盡管(guǎn)实際上(shàng)各(gè)位數碼管(guǎn)并非(fēi)同(tóng)时(shí)點(diǎn)亮(liàng),但只(zhī)要(yào)掃描的(de)速度(dù)足够快(kuài),給(gěi)人(rén)的(de)印(yìn)象(xiàng)就(jiù)是(shì)一(yī)組稳定(dìng)的(de)顯示數據(jù),不(bù)会(huì)有(yǒu)閃爍感(gǎn),動(dòng)态顯示的(de)效果(guǒ)和(hé)静(jìng)态顯示是(shì)一(yī)樣(yàng)的(de),能(néng)够节(jié)省(shěng)大量(liàng)的(de) I/O 端口(kǒu),而(ér)且功耗更(gèng)低。


動(dòng)态掃描是(shì)利用(yòng)人(rén)眼(yǎn)視覺滞留的(de)特(tè)點(diǎn),點(diǎn)亮(liàng)某一(yī)位後(hòu),在(zài)人(rén)眼(yǎn)反(fǎn)應(yìng)之前(qián),進(jìn)行下(xià)一(yī)位的(de)顯示,故而(ér)出(chū)現(xiàn)重(zhòng)影現(xiàn)象(xiàng)。而(ér)人(rén)的(de)視覺暫留时(shí)間(jiān)大約在(zài)1/24秒(miǎo)左(zuǒ)右(yòu),所(suǒ)以(yǐ)應(yìng)該保持(chí)24幀以(yǐ)上(shàng)才会(huì)保持(chí)連(lián)續而(ér)不(bù)会(huì)出(chū)現(xiàn)閃爍,通(tòng)俗来(lái)講,應(yìng)該在(zài)一(yī)秒(miǎo)內(nèi)至(zhì)少(shǎo)掃描多(duō)次(cì)。也(yě)就(jiù)是(shì)每次(cì)掃描时(shí)間(jiān)至(zhì)少(shǎo)小于(yú)40ms 。


相關(guān)代(dài)碼可(kě)參考之前(qián)設計(jì):“數字(zì)秒(miǎo)表(biǎo)”一(yī)文(wén)中(zhōng)。


四(sì)、实验(yàn)總(zǒng)結:

事(shì)先(xiān)在(zài)程序中(zhōng)設置內(nèi)置密碼为(wèi)1111,當下(xià)载完成(chéng)後(hòu)輸入(rù)4591,按下(xià)确認鍵之後(hòu),發(fà)現(xiàn)正(zhèng)确的(de)燈(dēng)不(bù)變(biàn)化(huà),蜂鳴器会(huì)響持(chí)續1s,重(zhòng)新輸入(rù)1111後(hòu),正(zhèng)确的(de)燈(dēng)会(huì)先(xiān)滅然後(hòu)恢複,蜂鳴器也(yě)不(bù)發(fà)聲,说(shuō)明(míng)設計(jì)正(zhèng)确。


null


null



   拓展(zhǎn)閱读(dú)
⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨