8*8點(diǎn)陣是一種應(yīng)用廣泛的顯示器件,像戶外的顯示屏、點(diǎn)陣屏都是由點(diǎn)陣拼接而成。而點(diǎn)陣其實(shí)是發(fā)光二極管LED的矩陣。 在驅(qū)動(dòng)點(diǎn)陣時(shí),雖然具有專用的點(diǎn)陣驅(qū)動(dòng)芯片,如MAX7219,但是該芯片價(jià)格比較高,所以應(yīng)用并沒有很普遍。而74HC595和74HC138的組合來(lái)驅(qū)動(dòng)點(diǎn)陣應(yīng)用卻非常廣泛。
單片機(jī)的GPIO口驅(qū)動(dòng)能力有限,不能直接驅(qū)動(dòng)較大功率的負(fù)載,如果負(fù)載的功率較大必須要考慮采用驅(qū)動(dòng)功率器件的方式,比如說三極管、MOS管以及其他的專用驅(qū)動(dòng)芯片。下面結(jié)合幾個(gè)典型的例子來(lái)介紹一下如何提高單片機(jī)的驅(qū)動(dòng)能力。
單片機(jī)和嵌入式,其實(shí)沒有什么標(biāo)準(zhǔn)的定義來(lái)區(qū)分他們,對(duì)于進(jìn)行過單片機(jī)和嵌入式開發(fā)的開發(fā)者來(lái)說,都有他們自己的定義,接下來(lái),就談?wù)勥@兩個(gè)概念的深入理解。
數(shù)字電路剛通電時(shí)都會(huì)上電復(fù)位,復(fù)位的功能是將單片機(jī)里的重新開始,主要防止程序混亂,也就是跑飛、或者死機(jī)等現(xiàn)象,目的是使系統(tǒng)進(jìn)入初始狀態(tài),以便隨時(shí)接受各種指令進(jìn)行工作,CPU的復(fù)位可靠性決定著產(chǎn)品系統(tǒng)的穩(wěn)定性,因此在電路當(dāng)中,發(fā)生任何一種復(fù)位后,系統(tǒng)程序?qū)闹匦麻_始執(zhí)行,系統(tǒng)寄存器也都將恢復(fù)為默認(rèn)值。
前邊的文章《單片機(jī)技巧:快速入門有訣竅,先從最小系統(tǒng)開始入手,事半功倍》里講解了單片機(jī)的最小系統(tǒng),單片機(jī)想要正常工作,電源電路、晶振電路、下載電路、復(fù)位電路等是必不可少的。今天來(lái)詳細(xì)講解一下復(fù)位電路。
有 朋友在后臺(tái)發(fā)消息,希望設(shè)計(jì)一個(gè)LED閃爍電路,閃爍頻率為2Hz,想了解LED閃爍的電路原理是什么,下面解答一下,看看有沒有寫的很通俗易懂。
單片機(jī)是一種可編程器件,單片機(jī)的出現(xiàn)使硬件設(shè)計(jì)變得更為簡(jiǎn)單,產(chǎn)品的功能也更強(qiáng)大,而程序就是單片機(jī)的靈魂。 目前功能稍微復(fù)雜一點(diǎn)的電子產(chǎn)品,都是以單片機(jī)為核心,再加以不通的外設(shè)電路實(shí)現(xiàn)不通的功能需求。 單片機(jī)的編程可以通過匯編語(yǔ)言和C語(yǔ)言來(lái)實(shí)現(xiàn)。
單片機(jī)是可編程器件,在使用時(shí)需要編寫滿足需求的程序。其C語(yǔ)言程序在各個(gè)端口、配置初始化完成后,會(huì)進(jìn)入一個(gè)死循環(huán),一般用while(1){;}的形式。初始化完成后,單片機(jī)就在死循環(huán)內(nèi)一遍又一遍的執(zhí)行程序邏輯。復(fù)位后,就從頭開始,初始化完成后,再次進(jìn)入死循環(huán)。
應(yīng)某位朋友的要求,講解一下單片機(jī)中斷的知識(shí),那今天就以51單片機(jī)的外部中斷0為例,來(lái)簡(jiǎn)單講解一下單片機(jī)中斷的用法。
在學(xué)習(xí)單片機(jī)的時(shí)候,我們發(fā)現(xiàn)很多功能都是通過中斷來(lái)實(shí)現(xiàn)的。之前也舉過燒水的例子來(lái)闡述中斷,今天就講解一下定時(shí)器賦初值的方法。8位的定時(shí)器最大可計(jì)數(shù)2的8次方為256,16位的定時(shí)器最大可計(jì)數(shù)2的16次方為65536。
對(duì)一個(gè)字節(jié)數(shù)據(jù),逐個(gè)交換其高低位;例如11010001,經(jīng)過0-7、1-6、2-5、3-4對(duì)應(yīng)位的交換,變成10001011。對(duì)于該問題,我們最先想到的是對(duì)原字節(jié)通過移位操作來(lái)逐位處理,使用另一個(gè)變量來(lái)存儲(chǔ)交換后的結(jié)果。這種解決方案處理起來(lái)思路清晰,編寫代碼應(yīng)該不難。
由于近期要做一個(gè)裝置 ,想著把裝置做的好看一點(diǎn),就打算使用 GUI 來(lái)做一個(gè)信息的相關(guān)顯示,之前聽說過一款比較輕量級(jí)的圖形庫(kù),也就是 lvgl,手頭又正好有一塊搭配屏幕的野火指南者開發(fā)板,單片機(jī)型號(hào)是 STM32F103VET6,F(xiàn)lash 為 512KB,RAM 為 64KB,屏幕為 3.2 寸電阻觸摸屏,我們?cè)趤?lái)看一下運(yùn)行 lvgl 這個(gè) GUI 需要的資源。
相信很多道友都有對(duì)輸入IO 口進(jìn)行濾波的需求,比如按鍵輸入、紅外對(duì)管輸入等。本文以按鍵為例,簡(jiǎn)單介紹了如何進(jìn)行較為高效的濾波。
在用單片機(jī)設(shè)計(jì)電路時(shí),需要用到晶振,晶振的大小要根據(jù)需要來(lái)確定,比如說4M,8M,11.0592M,12M,20M,甚至還有其他數(shù)值的晶振。在使用時(shí)鐘芯片或者使用RTC功能時(shí),也需要晶振,但是這種晶振我們都用32.768K的晶振,一般把它叫做時(shí)鐘晶振。
GPIO是通用輸入/輸出端口的簡(jiǎn)稱,是STM32可控制的引腳。GPIO的引腳與外部硬件設(shè)備連接,可實(shí)現(xiàn)與外部通訊、控制外部硬件或者采集外部硬件數(shù)據(jù)的功能。
隨著物聯(lián)網(wǎng)從家庭自動(dòng)化領(lǐng)域拓展到如供暖、通風(fēng)與空調(diào)(HVAC)、車庫(kù)門和電風(fēng)扇等家庭控制領(lǐng)域,以及在建筑和工業(yè)自動(dòng)化領(lǐng)域的加速應(yīng)用,市場(chǎng)對(duì)高度集成、可靠和安全的工業(yè)物聯(lián)網(wǎng)(IIoT)連接性的需求前所未有地增加。美國(guó)微芯科技公司(Microchip Technology Inc.)宣布推出業(yè)內(nèi)首款Wi-Fi?單片機(jī)模塊。該模塊采用Microchip的Trust&Go技術(shù),能實(shí)現(xiàn)獨(dú)特的身份驗(yàn)證功能。
目前來(lái)說,這十幾年內(nèi)是不可能淘汰的,即使面臨著人工AI、大數(shù)據(jù)和云計(jì)算等技術(shù)的多方面競(jìng)爭(zhēng),單片機(jī)也可以說是立于不敗之地!畢竟需求放在那里。單片機(jī)技術(shù)是門基礎(chǔ),也是塊通往其他技術(shù)的敲門磚。
因?yàn)榇蠖鄶?shù)芯片都是5V的TTL電平,要做到電平兼容,電平匹配,避免要電平轉(zhuǎn)換操作,所有很多單片機(jī)的工作電壓都是5V。
時(shí)序?qū)τ跀?shù)字電路而言非常重要,可以說時(shí)序是數(shù)字電路正常工作的基礎(chǔ)。說到時(shí)序,一般是指可編程器件的編程方法,在單片機(jī)編程時(shí),需要根據(jù)被控芯片的時(shí)序去寫程序,把芯片手冊(cè)上規(guī)定好的時(shí)序用代碼來(lái)實(shí)現(xiàn),放可以實(shí)現(xiàn)單片機(jī)和芯片之間的通訊。下面以幾種常用芯片的時(shí)序來(lái)簡(jiǎn)單介紹一下如何看懂時(shí)序。
現(xiàn)在的電子產(chǎn)品,隨便拿來(lái)一個(gè)拆開,都能看到單片機(jī)的身影,單片機(jī)在電子產(chǎn)品中已經(jīng)成了標(biāo)配。因?yàn)楝F(xiàn)在的電子產(chǎn)品都是以單片機(jī)為核心,根據(jù)不同的需求加以不同的外設(shè)電路,再做一些認(rèn)證相關(guān)的設(shè)計(jì)工作,都是這個(gè)構(gòu)架。以智能手環(huán)為例,可以實(shí)現(xiàn)步數(shù)統(tǒng)計(jì)、心率檢測(cè)、液晶顯示、與手機(jī)藍(lán)牙通訊、手機(jī)來(lái)電振動(dòng)等功能,這些功能通過選用相關(guān)的傳感器、元器件來(lái)實(shí)現(xiàn),最后單片機(jī)做數(shù)據(jù)處理和邏輯處理,核心還是單片機(jī)。