原创 基於proteus的51單片機仿真實例五十八、定時器/計數器T1的定時實例

1、本例使用定時器1的定時中斷控制2個LED實現不同的閃爍頻率。 2、實現方法:通過給定時器T1設置適當的初值,實現50MS的定時中斷,由於要控制兩個LED以不同的頻率閃爍,因而需要設置兩個變量來分別計算中斷次數。 3、在keil

原创 基於proteus的51單片機仿真實例五十二、按鍵的判斷與消抖實例

1、按鍵是單片機應用系統中經常用到的一種輸入設備。單片機通過檢測按鍵是否被按下來進行不同的控制。按鍵有很多種,常用的是獨立按鍵和鍵盤   2、常用的獨立按鍵也有很多種,最常見的是基於機械開關原理的有觸點的按鍵。 3、我們利用pro

原创 爲什麼說開源可以提高程序員的編程技能?

      閱讀代碼能讓你變得更優秀        我在編程生涯的早期就明白我閱讀的代碼越多,我的代碼就能變得更好。我知道,當我不得不維護其他人的代碼時,簡單和乾淨的代碼幾乎總是比花哨或複雜 的代碼好—— 即使有註釋。然而另一方面,當

原创 基於proteus的51單片機仿真實例五十九、1位數碼管顯示實例

1、數碼管實際上是由7個發光二極管組成一個8字形,另外一個發光二極管做成圓點型,這樣就構成了一個數碼管。所有的8個二級管的正極或者負極都連到一個公共端點上,對於公共端連在正極的數碼管,稱爲共陽極數碼管,反之稱爲共陰極數碼管。 根據數碼

原创 基於proteus的51單片機仿真實例五十五、外部中斷1演示實例

1、本例使用外部中斷1測量從P3.0引腳輸出的負跳變信號累計數,並通過P1口的8位LED驗證結果。 2、實現方法,要使用外中斷,必須對總中斷使能位,中斷允許控制寄存器IE、中斷源控制寄存器TCON進行相應設置, 而對於信號數的統計可

原创 基於proteus的51單片機仿真實例八十、模數轉換器ADC0832應用實例

1、ADC0832是一種8位分辨率,雙通道AD轉換芯片。它能夠對兩路模擬信號進行模數轉換,可以在單端輸入方式和差分輸入方式下工作。ADC0832引腳圖如下圖: 引腳說明如下: /CS:片選端,低電平時選中芯片 CH0:模擬輸入

原创 基於proteus的51單片機仿真實例七十九、8位數碼管驅動芯片max7221應用實例

1、MAX7221是集成式共陰極數碼管驅動芯片。可以用來驅動8位7段式數碼管,也可以驅動條形LED或者8*8LED點陣 單片機僅僅需要3個IO口就可以控制MAX7221驅動8位數碼管。注意這裏的數碼管是共陰極的。   2、在kei

原创 單片機C語言中&和&&運算符的差異性驗證

今天在編寫單片機程序時,錯誤將算術運算符&寫成了邏輯運算符&&,結果導致程序出現錯誤。於是就認真的再次學習了一下&和&&這兩種運算符到底有什麼區別。 實例演示 先用一個簡單的例子來看看這兩種運算符的運算結果是什麼? 圖一是爲了驗證

原创 基於proteus的51單片機仿真實例七十四、4-16譯碼器74HC154應用實例

1、本例通過4-16譯碼器74HC154實現用4個IO口控制16個LED循環點亮   2、在keil c51中新建工程ex62,編寫如下程序代碼,編譯並生成ex62.hex文件 //4-16線譯碼器實例 #include <reg

原创 基於proteus的51單片機仿真實例七十六、8-3編碼芯片74HC148應用實例

1、本例使用8-3編碼芯片74HC148實現外部中斷擴展,可以實現對8路外部中斷信號按優先級進行處理 2、74HC148是帶優先級的編碼芯片,對於外部的8根數據輸入線,只要有一根或者幾根被置0,編碼芯片會按照又搞到低的優先級進行編碼,

原创 基於proteus的51單片機仿真實例七十、串口轉並口器件74HC164應用實例(續)

1、本例利用單片機的串口模式0,即移位寄存器輸入/輸出模式,串行數據通過RXD輸出,TXD則用於輸出移位時鐘脈衝。這種模式有利於用最少硬件實現接口擴展。 本例在單片機串行端口出外接一片74HC164,構成輸出電路 2、串行口控制寄存

原创 基於proteus的51單片機仿真實例六十六、I2C總線上接兩個AT24C02讀寫實例

1、本例對I2C總線上關節兩個AT24C02進行讀寫操作,想將數據0xaa寫入第一個at24c02的指定地址,再將該數據讀出後存入第二個AT24C02的指定地址,最後讀出該數據並送P1口用8位LED顯示驗證   2、實現方法:

原创 基於proteus的51單片機仿真實例七十三、3-8譯碼器74HC138應用實例

1、本例在單片機的P2端口的低三位(P2.0-P2.2)上連接3-8譯碼器74HC138的3線輸入端,然後在8線輸出端連接8個LED,通過譯碼器控制8個LED循環點亮。 具體操作需要參照74HC138的真值表來進行。   2、在k

原创 基於proteus的51單片機仿真實例六十八、8位數據鎖存器74HC573應用實例

1、74HC573是一種8數據鎖存器。主要用於數碼管、按鍵等等的控制 。 573有兩個功能: 1)數據鎖存. 當輸入的數據消失時,在芯片的輸出端,數據仍然保持;  2) 數據緩衝,加強驅動能力。74LS244/74LS245/74L

原创 基於proteus的51單片機仿真實例七十二、並口轉串口器件74HC165應用實例(續)

1、本例使用單片機的串口,使串口工作於移位寄存器模式,165的串行輸出端口連接到單片機的串行數據輸入端,單片機的串行數據發送端負責發送移位時鐘脈衝,與165的CLK引腳相連。學要注意的是SH/LD引腳,爲高時表示數據開始移位,爲低時讀入