單片機(jī)文檔的時(shí)候一般寄存器是rw類型,還有一些是r或者w。對(duì)于一些特殊寄存器的置1是由硬件自動(dòng)實(shí)現(xiàn)的,比如標(biāo)志位flag、中斷int;但清0還是需要通過(guò)軟件進(jìn)行操作。清0方式有兩種,寫(xiě)1清0、寫(xiě)0清0。這兩種方式有什么區(qū)別呢?在硬件實(shí)現(xiàn)上有什么不同?
很多剛開(kāi)始學(xué)習(xí)單片機(jī)的小伙伴最苦惱的就是如何入門(mén),不知道從哪一部分開(kāi)始、在哪里查找學(xué)習(xí)資源、按照怎樣的學(xué)習(xí)步驟進(jìn)行學(xué)習(xí),而且摸索學(xué)習(xí)步驟的過(guò)程在浪費(fèi)時(shí)間的同時(shí)也會(huì)降低學(xué)習(xí)興趣。為了幫助大家解決這種情況,小編將單片機(jī)達(dá)人的學(xué)習(xí)經(jīng)驗(yàn)進(jìn)行了整理,以文章的形式分享給大家。
從單片機(jī)上知道,在上電的那一刻,MCU的程序指針會(huì)被初始化為上電復(fù)位時(shí)的地址,從那個(gè)地址處讀取將要執(zhí)行的指令,由此程序在MCU上開(kāi)始執(zhí)行。PC在上電時(shí),和MCU差不多,不過(guò)讀取的是BIOS,有它完成了很多初始化操作,最后,調(diào)用系統(tǒng)的初始化函數(shù),將控制權(quán)交給了操作系統(tǒng),于是我們看到了Windows,Linux系統(tǒng)啟動(dòng)了。
本文檔主要介紹,在python環(huán)境下,如何開(kāi)發(fā)嵌入式應(yīng)用程序,以STM32H43板卡為例介紹. 從系統(tǒng)環(huán)境搭建,到編譯,到用python實(shí)現(xiàn)硬件控制??勺鳛槿腴T(mén)教程。
SPI是單片機(jī)外設(shè)電路中常用的一種通訊方式,適用于近距離通信,通常用于芯片間的通訊,有四根線。 在SPI通訊中總線時(shí)鐘和總線相位也兩個(gè)比較重要的概念,一般在使用SPI通信時(shí)都使用默認(rèn)設(shè)置,所以容易把這兩個(gè)參數(shù)忽略。 和大家分享一下SPI通訊、時(shí)鐘極性以及時(shí)鐘相位的基礎(chǔ)知識(shí)。
我們學(xué)習(xí)單片機(jī)的目的就是為了進(jìn)行嵌入式系統(tǒng)的開(kāi)發(fā),學(xué)好單片機(jī)首先要有一個(gè)整體認(rèn)識(shí),下面將簡(jiǎn)要介紹一下單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)流程。
近日,美國(guó)微芯科技公司宣布推出PIC18-Q41和AVR? DB單片機(jī)系列,首次將先進(jìn)的模擬外設(shè)和多電壓操作與外設(shè)間連接相結(jié)合,提高系統(tǒng)集成度和縮短信號(hào)采集時(shí)間,并提供在單一設(shè)計(jì)環(huán)境中操作的便利性和效率。
單片機(jī)的基準(zhǔn)電壓一般為3.3V,如果外部信號(hào)超過(guò)了AD測(cè)量范圍,可以采用電阻分壓的方法,但是要注意阻抗匹配問(wèn)題。比如,SMT32的模數(shù)輸入阻抗約為10K,如果外接的分壓電阻無(wú)法遠(yuǎn)小于該阻值,則會(huì)因?yàn)樾盘?hào)源輸出阻抗較大,AD的輸入阻抗較小,從而輸入阻抗對(duì)信號(hào)源信號(hào)的電壓造成分壓,最終導(dǎo)致電壓讀取誤差較大。
本文以stm32單片機(jī)進(jìn)行演示,如果MCU沒(méi)有做flash讀取或者熔斷保護(hù),則可以通過(guò)jlink等燒寫(xiě)工具直接讀取其Flash上的固件。
國(guó)產(chǎn)MCU,市場(chǎng)份額和技術(shù)先進(jìn)性,都無(wú)法和國(guó)外企業(yè)進(jìn)行相比。國(guó)內(nèi)來(lái)看,當(dāng)前占據(jù)的主流市場(chǎng)還停留在8位MCU,占比50%。16/32位MCU占比分別為20%。這就意味著,國(guó)內(nèi)MCU應(yīng)用領(lǐng)域相對(duì)集中在低端電子產(chǎn)品,中高端電子產(chǎn)品市場(chǎng)還在外企手里。
分享一個(gè)小技巧,使用MDK編譯器,讓STM32程序HEX文件中加入固件版本信息,估計(jì)很多老手都已經(jīng)在使用(你有好的方法歡迎分享,希望我的磚能引來(lái)你的玉),該方法獻(xiàn)給新手或初學(xué)者。
單片機(jī)程序?qū)懞弥?,我們都要把程序下載到單片機(jī)的內(nèi)存中,單片機(jī)才會(huì)按照程序員的邏輯執(zhí)行命令實(shí)現(xiàn)功能。之前也講過(guò)下載單片機(jī)的幾種方式,比如ISP下載,JTAG下載,下載文件的格式最常見(jiàn)的是hex文件,這個(gè)格式大家都是知道的,還有一種bin文件是單片機(jī)的下載文件。本文詳細(xì)介紹了這兩種格式的區(qū)別。
首先設(shè)定一個(gè)兩周入門(mén)計(jì)劃: 所謂的“兩周”,根據(jù)每個(gè)人的時(shí)間安排不同而不同。這里列出一個(gè)思路,僅供參考。
一個(gè).C文件對(duì)應(yīng)一個(gè).H文件是一種良好的編程習(xí)慣,那么.C和.H文件之間的關(guān)系是怎么樣的呢?
晶振是單片機(jī)工作所必不可缺少的元器件,晶振的種類眾多,該如何選擇合適的晶振呢?在用51單片機(jī)設(shè)計(jì)電路時(shí),經(jīng)常會(huì)用到12M和11.0592M的晶振,有時(shí)候11.0592M的晶振用的頻率會(huì)更高,為什么一些比較有經(jīng)驗(yàn)的工程師會(huì)更喜歡用11.0592M呢?
這個(gè)是有一定的科學(xué)依據(jù)的,這要從早期的TTL邏輯電平說(shuō)起。 TTL電平邏輯規(guī)范 早期的TTL邏輯電平是5V,所以以5V供電作為主流,如8051單片機(jī)就是5V供電的。隨著技術(shù)的進(jìn)步,人們對(duì)電子設(shè)備的功耗越來(lái)越敏感,希望電子產(chǎn)品的功耗盡可能的少。減小電子產(chǎn)品功耗最直接的辦法就是降低芯片的供電電源,但是降到多少合適?既能滿足低功耗的需求,又要兼容5V的TTL電平?
本設(shè)計(jì)使用了一個(gè)4位的數(shù)碼管,為共陽(yáng)型,為了節(jié)省單片機(jī)的IO口,使用了兩片74HC595作為數(shù)碼管的驅(qū)動(dòng)芯片,共占用3個(gè)IO口。
單片機(jī)是嵌入式系統(tǒng)的核心元件,使用單片機(jī)的電路要復(fù)雜得多,但在更改和添加新功能時(shí),帶有單片機(jī)的電路更加容易實(shí)現(xiàn),這也正是電器設(shè)備使用單片機(jī)的原因。那么在單片機(jī)電路的設(shè)計(jì)中需要注意的難點(diǎn)有哪些?
學(xué)習(xí)單片機(jī)需要?jiǎng)邮?,不是照著課本去死記硬背。 所以學(xué)習(xí)單片機(jī)的第一個(gè)概念:確定好所學(xué)習(xí)的單片機(jī)具體型號(hào)。
學(xué)習(xí)單片機(jī)需要具備一定的電路基礎(chǔ)、數(shù)字電路、模擬電路、信號(hào)系統(tǒng)、C語(yǔ)言編程等相關(guān)的基礎(chǔ)知識(shí)。單片機(jī)的學(xué)習(xí)包括硬件設(shè)計(jì)和編程設(shè)計(jì),早期單片機(jī)用匯編編程的人比較多,現(xiàn)在越來(lái)越多的人用C語(yǔ)言進(jìn)行編程。下面和大家分享一下如何快速有效的學(xué)習(xí)單片機(jī)。