三極管在數(shù)字電路里的開關(guān)特性,最常見的應(yīng)用有 2 個:一個是控制應(yīng)用,一個是驅(qū)動應(yīng)用。
UART 屬于異步通信,比如電腦發(fā)送給單片機,電腦只負(fù)責(zé)把數(shù)據(jù)通過TXD 發(fā)送出來即可,接收數(shù)據(jù)是單片機自己的事情。而 I2C 屬于同步通信, SCL 時鐘線負(fù)責(zé)收發(fā)雙方的時鐘節(jié)拍, SDA 數(shù)據(jù)線負(fù)責(zé)傳輸數(shù)據(jù)。 I2C 的發(fā)送方和接收方都以 SCL 這個時鐘節(jié)拍為基準(zhǔn)進行數(shù)據(jù)的發(fā)送和接收。I2C總線包括SCL,SDA 兩根信號線,其中SCL是時鐘線,SDA是數(shù)據(jù)線。
對于單片機來說,通信則與傳感器、存儲芯片、外圍控制芯片等技術(shù)緊密結(jié)合,成為整個單片機系統(tǒng)的“神經(jīng)中樞”。
單片機編程軟件的選擇常以使用的單片機為準(zhǔn),目前較為流行的單片機編程軟件為keil和IAR,這兩款單片機編程軟件的應(yīng)用對象存在一些不同。本文,主要向大家介紹IAR單片機編程軟件的完整安裝過程,并對每個過程進行講解。
單片機編程軟件有多種,而對于單片機編程軟件的選擇往往基于單片機類型,如51單片機應(yīng)當(dāng)選擇keil作為主要的單片機編程軟件。本文,將向大家簡單介紹兩種單片機編程軟件——keil和IAR。
單片機編程軟件有很多,如IAR和Keil便是兩個比較知名的單片機編程軟件。那么,這兩款單片機編程軟件在應(yīng)用過程中誰更便利呢?這兩款編程軟件之間又有何區(qū)別呢?如果你想有所了解,不妨繼續(xù)往下看。
單片機中去耦電容在電路中的應(yīng)用
標(biāo)準(zhǔn)的 51 單片機內(nèi)部有 T0 和 T1 這兩個定時器,T 就是 Timer 的縮寫,現(xiàn)在很多 51 系列單片機還會增加額外的定時器,在這里我們先講定時器 0 和 1。前邊提到過,對于單片機的每一個功能模塊,都是由它的 SFR,也就是特殊功能寄存器來控制。與定時器有關(guān)的特殊功能寄存器,有以下幾個,大家不需要去記憶這些寄存器的名字和作用,你只要大概知道就行,用的時候,隨時可以查手冊,找到每個寄存器的名字和每個寄存器所起到的作用。
常用的按鍵電路有兩種形式,獨立式按鍵和矩陣式按鍵,獨立式按鍵比較簡單,它們各自與獨立的輸入線相連接
蜂鳴器從結(jié)構(gòu)區(qū)分分為壓電式蜂鳴器和電磁式蜂鳴器。壓電式為壓電陶瓷片發(fā)音,電流比較小一些,電磁式蜂鳴器為線圈通電震動發(fā)音,體積比較小。
為了讓大家充分理解 UART 串口通信的原理,我們先把 P3.0 和 P3.1 當(dāng)做 IO 口來進行模擬實際串口通信的過程,原理搞懂后,我們再使用寄存器配置實現(xiàn)串口通信過程。
我們學(xué)習(xí)串口通信主要是要實現(xiàn)單片機和電腦之間的信息交互,可以用電腦控制單片機的一些信息,可以把單片機的一些信息狀況發(fā)給電腦上的軟件。下面我們就做一個簡單的例程,實現(xiàn)單片機串口調(diào)試助手發(fā)送的數(shù)據(jù),在我們開發(fā)板上的數(shù)碼管上顯示出來。
在硬件上,I2C 總線是由時鐘總線 SCL 和數(shù)據(jù)總線 SDA 兩條線構(gòu)成,連接到總線上的所有器件的 SCL 都連到一起,所有 SDA 都連到一起。
我們知道,打電話的時候,當(dāng)撥通電話,接聽方撿起電話肯定要回一個“喂”,這就是告訴撥電話的人,這邊有人了。同理,這個第九位 ACK 實際上起到的就是這樣一個作用。當(dāng)我們發(fā)送完了這 7 位地址和 1 位方向后,如果發(fā)送的這個地址確實存在,那么這個地址的器件應(yīng)該回應(yīng)一個 ACK(拉低 SDA 即輸出“0”),如果不存在,就沒“人”回應(yīng) ACK(SDA將保持高電平即“1”)。
在向 EEPROM 連續(xù)寫入多個字節(jié)的數(shù)據(jù)時,如果每寫一個字節(jié)都要等待幾 ms 的話,整體上的寫入效率就太低了。因此 EEPROM 的廠商就想了一個辦法,把 EEPROM 分頁管理。24C01、24C02 這兩個型號是 8 個字節(jié)一個頁,而 24C04、24C08、24C16 是 16 個字節(jié)一頁。我們開發(fā)板上用的型號是 24C02,一共是 256 個字節(jié),8 個字節(jié)一頁,那么就一共有 32 頁。