999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

74HC595在單片機(jī)電子時(shí)鐘拓展IO口設(shè)計(jì)中的應(yīng)用

2021-09-22 07:44:24肖海玲
電子技術(shù)與軟件工程 2021年13期
關(guān)鍵詞:單片機(jī)信號設(shè)計(jì)

肖海玲

(廣州科技職業(yè)技術(shù)大學(xué) 廣東省廣州市 510550)

1 系統(tǒng)整體方案設(shè)計(jì)

綜合應(yīng)用在8位數(shù)碼管的萬年鐘系統(tǒng)設(shè)計(jì),完成可調(diào)式的時(shí)分秒、年月日和鬧鐘等功能設(shè)計(jì)。該系統(tǒng)主要由4個(gè)模塊組成:單片機(jī)控制芯片、外部晶振、外部按鍵、鬧鐘、8位數(shù)碼管等。

硬件設(shè)計(jì)過程中,采用74HC595級聯(lián)的方式設(shè)計(jì)單片機(jī)電子時(shí)鐘電路,系統(tǒng)使用過程中,采用AT89C52單片控制器外接的方式,其中時(shí)間、日期、鬧鐘由3個(gè)按鍵來實(shí)現(xiàn),滿足單片機(jī)的時(shí)鐘與復(fù)位電路的設(shè)計(jì)。如圖1所示。

2 系統(tǒng)硬件設(shè)計(jì)

從電路圖分析得知,8位數(shù)碼管如果按照動(dòng)態(tài)掃描的方法接線,需要提供8個(gè)位選口和8個(gè)段碼口,直接占用單片機(jī)16個(gè)IO口,占用了單片機(jī)太多的IO口資源了。為了解決這個(gè)問題,利用74HC595的目的就是減少I/O口的使用數(shù)量,直接利用74HC595的3個(gè)數(shù)字I/O口連接單片機(jī)就足以控制8個(gè)數(shù)碼管。

2.1 具體的模塊及功能

硬件設(shè)計(jì)是關(guān)鍵,也是軟件設(shè)計(jì)的基礎(chǔ)。單片機(jī)向74HC595發(fā)送一個(gè)字節(jié)數(shù)據(jù),數(shù)據(jù)是通過DS串行數(shù)據(jù)輸入端進(jìn)入74HC595,在SHCP產(chǎn)生一個(gè)上升沿作用下,將DS上的數(shù)據(jù)從高到低按位移入74HC595中,需要SHCP產(chǎn)生8次上升沿;當(dāng)移位結(jié)束后,就會全部進(jìn)入到移位寄存器,最后在STCP的一個(gè)上升沿作用下,移位寄存器里的數(shù)據(jù)送入到輸出鎖存器并進(jìn)行Q0—Q7引腳并行輸出[1]。

圖1:74HC595級聯(lián)在單片機(jī)電子時(shí)鐘拓展IO口設(shè)計(jì)應(yīng)用的整體結(jié)構(gòu)圖

圖2:74HC595芯片運(yùn)行的流程圖

圖3:數(shù)碼管設(shè)計(jì)的可調(diào)式電子鐘

利用74HC595在運(yùn)行IO拓展應(yīng)用中,實(shí)際只占用到單片機(jī)的IO口,這樣設(shè)計(jì)的思路也可運(yùn)用到其他嵌入式的控制芯片領(lǐng)域,可大大減少單片機(jī)IO口占用資源的問題。如果需要完成更多引腳的功能實(shí)現(xiàn),需級聯(lián)接入多個(gè)74HC595,本文的實(shí)現(xiàn)是需要將第一片的74HC595的Q7’腳的串行數(shù)據(jù)輸出端級聯(lián)到下一片74HC595芯片的串行輸入DS數(shù)據(jù)輸入端。同時(shí),電路的實(shí)現(xiàn)還需要設(shè)置這兩個(gè)控制端,低電平時(shí)/MR(10腳)將移位寄存器的數(shù)據(jù)清零,所以將其接Vcc電源;高電平時(shí)OE(13腳)將禁止輸出,將其接GND電源。

74HC595芯片依次讀入8位數(shù)據(jù)運(yùn)行的流程圖如圖2。

2.2 硬件系統(tǒng)整體功能

74HC595芯片是一個(gè)8位串行輸入/8位串行或并行輸出的移位緩存器,可以直接驅(qū)動(dòng)8個(gè)IO口,為控制數(shù)碼管的8個(gè)段碼與8個(gè)位選碼的電路搭接,需采用2片74HC595進(jìn)行級聯(lián)。在74HC595電路搭建的過程中,通過單片機(jī)的一個(gè)I0口直接控制74HC595的DS數(shù)據(jù)端口,之后將數(shù)據(jù)進(jìn)行8位數(shù)據(jù)并行輸出[2]。需考慮74HC595串行輸出數(shù)據(jù)的先后順序問題,這里的前后級主要依據(jù)是:74HC595的3個(gè)控制端與單片機(jī)直接連接的U2作為后級,而前級的U1的串行DS數(shù)據(jù)輸入端是通過后級U2的Q7’腳的串行數(shù)據(jù)輸出端輸出得到。其中,兩片的STCP和SHCP端是連接在一起,這樣兩片的芯片都具有相同移位脈沖源和相同的鎖存信號,最后一起輸出數(shù)據(jù)到并口Q0-Q7。在編程8位數(shù)碼管時(shí),需優(yōu)先考慮輸出段選還是位選信號。位選信號是選中8位中一個(gè)數(shù)碼管,然后選擇輸出段選碼信號,使該數(shù)碼管顯示所需要的內(nèi)容,延時(shí)一段時(shí)間后,再選中另一個(gè)數(shù)碼管,再輸出對應(yīng)的段碼,高速交替,這樣動(dòng)態(tài)掃描克服了人眼余輝的閃爍現(xiàn)象。

3 系統(tǒng)軟件設(shè)計(jì)

3.1 驅(qū)動(dòng)軟件設(shè)計(jì)

單片機(jī)的軟件設(shè)計(jì)依據(jù)電路的搭接方式而編程,以下是單片機(jī)向74HC595發(fā)送一個(gè)字節(jié)數(shù)據(jù)的功能代碼send_595()和并行輸出數(shù)據(jù)的代碼out_595()設(shè)計(jì),采用C語言編程:

上述代碼過程中,假設(shè)單片機(jī)要發(fā)送一個(gè)字節(jié)的數(shù)據(jù)0XFC,展開的二進(jìn)制數(shù)據(jù)是1111 1100,執(zhí)行的DS=ucData&0x80后,將字節(jié)的最高位1給到74HC595的Q0引腳,在時(shí)鐘線作用下進(jìn)行左移8次[4]結(jié)束后的結(jié)果是Q0- Q7的結(jié)果是0011 1111。

第三步:/完成并行數(shù)據(jù)輸出

3.2 級聯(lián)軟件設(shè)計(jì)

在編程的時(shí)候就會遇到到底是選擇先發(fā)送位選信號,還是先發(fā)送段選碼信號的問題,需結(jié)合電路設(shè)計(jì)的搭接。若先傳位選信號,在電路圖中將先準(zhǔn)備輸出位選碼信號數(shù)據(jù)端的74HC595必須設(shè)置在前級U1的位置,后級U2位置放置傳送段選碼信號的74HC595,若搭接的電路優(yōu)先傳送段選碼信號,則74HC595芯片的對應(yīng)位置的功能就相反,如圖1所示。若順序不正確會導(dǎo)致錯(cuò)誤結(jié)果,主要因?yàn)?4HC595是一個(gè)字節(jié)一個(gè)字節(jié)傳送數(shù)據(jù)的芯片。

下面是以先傳段選信號編程的邏輯順序:

send_595(a[i]);//先傳段選碼,顯示的數(shù)據(jù)

send_595(b[i]);//再傳位選碼.顯示在哪一個(gè)數(shù)碼管上

out_595();

其中,send_595()函數(shù)里的參數(shù)由一維數(shù)組提供,可設(shè)置多個(gè)一維數(shù)組,用于存放傳輸?shù)臄?shù)據(jù)。這里有將所有的段選信號碼和位選信號碼分別放在a[i]和b[i]一維數(shù)組里,需注意一維數(shù)組里存放段選碼的數(shù)據(jù)主要依據(jù)8位數(shù)碼管是共陰極或者共陽極筆形碼的問題。

3.3 按鍵消抖軟件設(shè)計(jì)

對于獨(dú)立按鍵,按鍵在閉合和斷開時(shí),觸點(diǎn)會存在抖動(dòng)現(xiàn)象。按鍵閉合和斷開過程中存在抖動(dòng)期,一般為5~10 ms之間,為了保證CPU對鍵的閉合做一次處理,必須去除抖動(dòng),在鍵的穩(wěn)定閉合或斷開時(shí),才讀鍵的狀態(tài)。可從硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)方面解決按鍵抖動(dòng)問題:在硬件方面,采用兩個(gè)“與非”門構(gòu)成一個(gè)RS觸發(fā)器只能消除一個(gè)按鍵消抖的問題,而本文的萬年鐘可調(diào)式設(shè)計(jì)需涉及到4個(gè)按鍵,如果采用硬件的RS觸發(fā)器消抖的方法就會占用太多的電路空間問題和過多的成本問題,建議采用軟件消抖的方法。軟件消抖方法:當(dāng)判別到鍵盤上有鍵閉合后,延時(shí)一段時(shí)間再判別鍵盤的狀態(tài),若仍有鍵閉合,則認(rèn)為鍵盤上有一個(gè)鍵處于穩(wěn)定的閉合狀態(tài),否則認(rèn)為鍵抖動(dòng),除了按鍵消抖的問題,軟件上還要解決等鍵釋放問題,要保證無論按鍵按下多久,只執(zhí)行一次。以下代碼就是軟件消抖的方法:

代碼中的按鍵處理程序可選擇按鍵按下一次修改秒,再按一次修改分,再按一次修改時(shí);

再按一次修改日期,再按一次修改月份,再按一次修改年,重復(fù)上述過程,日期與時(shí)間可以轉(zhuǎn)換。

4 運(yùn)行結(jié)果

通過數(shù)碼管與按鍵設(shè)計(jì)的調(diào)式電子鐘,顯示13點(diǎn)02分08秒,如圖3所示。

5 結(jié)束語

通過基于74HC595芯片在單片機(jī)電子時(shí)鐘拓展IO口設(shè)計(jì)中應(yīng)用,不僅能解決單片機(jī)IO口緊張資源問題,實(shí)現(xiàn)了對IO口的充分利用,比通過單片機(jī)數(shù)據(jù)端口省時(shí)省力,還解決了硬件成本開銷問題,還有利于單片機(jī)加入更多模塊,方便拓展更多應(yīng)用系統(tǒng)功能領(lǐng)域。

猜你喜歡
單片機(jī)信號設(shè)計(jì)
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
瞞天過海——仿生設(shè)計(jì)萌到家
基于FPGA的多功能信號發(fā)生器的設(shè)計(jì)
電子制作(2018年11期)2018-08-04 03:25:42
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 青青草欧美| 亚洲综合色婷婷| 色综合天天操| 国产成人精品免费av| 美女潮喷出白浆在线观看视频| 亚洲综合香蕉| 在线观看免费黄色网址| 国产91精品久久| 亚洲欧美一区二区三区麻豆| 日本91视频| 丰满人妻被猛烈进入无码| 十八禁美女裸体网站| 亚洲第一网站男人都懂| 亚洲一区二区成人| 亚洲中文字幕av无码区| 久久成人国产精品免费软件| 久久精品电影| 久久男人资源站| 成人福利免费在线观看| 亚洲国产精品日韩av专区| 91亚瑟视频| 国产免费人成视频网| 2021精品国产自在现线看| 伊人色天堂| 久久精品人人做人人爽| 国产日本一线在线观看免费| 国产伦片中文免费观看| 久久99热66这里只有精品一| 成人午夜在线播放| 午夜精品福利影院| 日本少妇又色又爽又高潮| 亚洲欧美国产视频| 中文字幕乱码中文乱码51精品| 精品福利国产| 亚洲无码高清一区| 国产精品亚欧美一区二区三区 | 亚洲开心婷婷中文字幕| 日本不卡免费高清视频| 视频二区亚洲精品| 日本免费精品| 国产高清在线观看| 2020最新国产精品视频| 免费看的一级毛片| 亚洲综合国产一区二区三区| 精品久久综合1区2区3区激情| 欧美成在线视频| 欧美日韩高清在线| 亚洲资源站av无码网址| 亚洲欧洲综合| 国产精品亚洲专区一区| 最新亚洲人成网站在线观看| 欧美亚洲国产日韩电影在线| 青青操国产| 亚洲日韩AV无码一区二区三区人| 国产成人AV综合久久| 国产精品欧美日本韩免费一区二区三区不卡 | 欧美专区在线观看| 久久精品国产免费观看频道| 制服丝袜亚洲| 老司国产精品视频91| 色综合手机在线| 麻豆精品在线| 亚洲AV无码乱码在线观看代蜜桃| 亚洲a免费| 国产v欧美v日韩v综合精品| 久草中文网| 国产在线观看成人91| 国产99久久亚洲综合精品西瓜tv| 日韩专区欧美| 日韩精品一区二区三区大桥未久 | 国产精品思思热在线| 亚洲国产日韩一区| 午夜福利视频一区| 99精品视频九九精品| 婷婷久久综合九色综合88| 欧美国产视频| 国产在线自在拍91精品黑人| 丝袜美女被出水视频一区| 国产精品刺激对白在线| 精品无码一区二区三区电影| 欧美久久网| 国产精品刺激对白在线|