本書系單片機實驗實訓教材或單片機教學參考書,內容包括80C51單片機輸入/輸出應用、顯示、鍵盤、A.D轉換、D.A轉換、時鐘、測溫和驅動電動機等100個應用實例,還介紹了KeilC51編譯軟件和Proteus仿真軟件操作基礎。讀者可在PC上,不涉及具體硬件實驗設備,虛擬仿真運行本書全部實例項目,既能教學演示觀賞,又可讓學生課后邊學邊練、實驗操作。本書不配光盤,但可從網上免費下載100個實例仿真文件包,內含Proteus仿真電路DSN文件和驅動程序HEX文件。100個實例全部通過Keil調試和Proteus虛擬仿真,電路與程序真實、可靠、可行,能直接用于或移植于實際工程項目。本書程序條例清晰,注釋詳細,便于閱讀理解。
本書系單片機實驗實訓教材或單片機教學參考書。內容包括80C51單片機輸入/輸出應用、顯示、鍵盤、A-D、D-A、時鐘、測溫和驅動電機等100個應用實例,還有KeilC51編譯軟件和Proteus仿真軟件操作基礎。讀者可在PC機上,不涉及具體硬件實驗設備,虛擬仿真運行本書全部案例項目。既能教學演示觀賞,又可讓學生課后邊學邊練、實驗操作。
讀者可從網上免費下載100實例仿真文件包,內含Proteus仿真電路DSN文件和驅動程序HEX文件。100實例全部通過Keil調試和Proteus虛擬仿真,電路與程序真實可靠,能直接用于或移植于實際工程項目。程序條例清晰,每條語句均有注釋,便于閱讀理解。
第1章Keil C51編譯軟件操作基礎
1.1項目建立和設置工程屬性
1.1.1創建工程項目
1.1.2設置工程屬性
1.1.3輸入源程序
1.2程序編譯運行
1.2.1程序編譯鏈接
1.2.2程序運行調試
1.3常用窗口介紹
1.3.1項目文件/寄存器窗口
1.3.2輸出窗口
1.3.3變量觀察窗口
1.3.4存儲器窗口
1.3.5功能部件運行窗口
第2章Proteus虛擬仿真軟件操作基礎
2.1用戶編輯界面
2.1.1啟動Proteus ISIS
2.1.2Proteus ISIS主菜單
2.1.3Proteus ISIS工具欄
2.2電路原理圖設計和編輯
2.2.1新建原理圖設計
2.2.2選擇和放置元器件
2.2.3對象操作
2.2.4布線
2.2.5電氣規則檢查
2.3虛擬仿真運行
2.3.1仿真運行
2.3.2Proteus與Keil聯合仿真調試
第3章基本輸入/輸出應用
3.1控制信號燈
實例1延時程序控制單燈閃爍
實例2定時器控制單燈閃爍
實例3雙鍵控3燈
實例4雙鍵控4燈
實例54種不同方式鍵控信號燈
實例6流水循環燈
實例7鍵控流水循環燈
實例8花樣循環燈
實例9鍵控花樣循環燈
實例10模擬交通燈
實例11帶限行時間顯示的模擬交通燈
3.2輸出音頻聲
實例12單音頻輸出
實例13雙音頻輸出
實例14延時程序控制播放歌曲
實例15定時器控制播放歌曲
3.3輸出脈沖波
實例16輸出頻率固定連續脈沖方波
實例17輸出頻率可調連續脈沖方波
實例18輸出矩形連續脈沖波
3.4驅動強電負載
實例19控制繼電器
實例20過零觸發雙向晶閘管
第4章擴展輸入/輸出應用
4.1并行擴展
實例21并行擴展TTL I/O口
實例22并行擴展8255A
實例23并行擴展8155
實例24并行擴展RAM 6264
4.2同步移位寄存器串行擴展
實例2574HC165串行輸入8/16位數據信號
實例26CC4021串行輸入8/16位數據信號
實例27CC4014串行輸入8/16位數據信號
實例2874HC164串入并出控制8/16燈循環
實例29CC4094串入并出控制8/16燈循環
實例3074HC595串入并出控制8/16燈循環
實例3174HC164+74HC165串行輸入/輸出
實例32CC4021+CC4094串行輸入/輸出
實例3374HC164+74HC165虛擬串行輸入/輸出
實例34CC4021+CC4094虛擬串行輸入/輸出
4.3I2C串行總線擴展
實例35讀寫AT24C02
實例36非零地址讀寫AT24C02
4.4譯碼輸出
實例3774LS138譯碼輸出控制8燈循環
實例3874LS154譯碼輸出控制16燈循環
4.5擴展外中斷
實例39利用與門擴展外中斷
實例4074HC148編碼擴展外中斷
4.6信號檢測
實例41出租車行駛里程計數
實例42統計展覽會4個入口參展總人數
實例43統計T0引腳上10分鐘內的脈沖數
實例44測量脈沖寬度
實例45測量脈沖頻率
4.7雙機通信
實例46雙機串行通信方式1
實例47雙機串行通信方式2
實例48雙機串行通信方式3
實例49帶RS232接口的雙機通信
實例50與PC虛擬串行通信
第5章顯示
5.1LED數碼管靜態顯示
實例51單個LED數碼管循環顯示0~9
實例5274LS377并行輸出3位LED靜態顯示
實例53CC4511 BCD碼驅動3位LED數碼管靜態顯示
實例5474LS164串行擴展3位LED數碼管靜態顯示
實例55CC4094串行擴展3位LED數碼管靜態顯示
實例5674LS595串行擴展3位LED數碼管靜態顯示
5.2LED數碼管動態顯示
實例57PNP晶體管選通3位共陽LED數碼管動態顯示
實例5874LS139選通4位LED數碼管動態顯示
實例5974LS138選通8位LED數碼管動態顯示
實例6074LS595串行選通8位LED數碼管動態顯示
實例61控制8位LED數碼管滾動顯示
實例628255A擴展8位LED數碼管動態顯示
實例638155擴展8位LED數碼管動態顯示
實例64MAX7221控制8位LED數碼管動態顯示
5.3LED點陣顯示
實例65LED 5×7點陣顯示字符
實例66LED 16×16點陣顯示漢字
5.4LCD顯示屏顯示
實例67LCD1602顯示屏顯示字符
實例68LCD12864顯示屏顯示漢字
第6章鍵盤
6.1獨立式按鍵
實例6974LS373并行輸入8位按鍵狀態
實例7074HC165串行輸入8位按鍵狀態
實例71CC4021串行輸入8位按鍵狀態
實例72CC4014串行輸入8位按鍵狀態
實例7374HC148編碼輸入8位按鍵狀態
實例74按鍵擴展Shift功能
6.2矩陣式鍵盤
實例754×4矩陣式鍵盤
實例768279擴展8×8鍵盤
實例7774HC595+74HC165擴展8×8鍵盤
實例78電子密碼鎖
第7章AD轉換和DA轉換
7.1AD轉換
實例79ADC0808中斷方式AD(ALE輸出CLK)
實例80ADC0808查詢方式AD(ALE輸出CLK)
實例81ADC0808延時方式AD(ALE輸出CLK)
實例82ADC0808并行AD轉換(虛擬CLK)
實例83ADC0832串行AD(TxD輸出CLK)
實例84ADC0832串行AD轉換(虛擬CLK)
實例85PCF8591 I2C串行AD轉換(1602顯示)
7.2DA轉換
實例86DAC0832輸出連續鋸齒波
實例87PCF8591 I2C串行DA轉換輸出連續鋸齒波
第8章時鐘、測溫和驅動電動機
8.1時鐘
實例88開機顯示PC時間的時鐘DS1302(LCD1602顯示)
實例89具有校正時分秒功能的時鐘DS1302(LCD1602顯示)
實例90開機顯示PC時分秒的時鐘DS1302(LED數碼管顯示)
實例91具有校正時分秒功能的時鐘DS1302(LED數碼管顯示)
實例92模擬電子鐘(由80C51定時器產生秒時基)
實例9399.9秒秒表
實例94能預置初值的倒計時秒表
8.2測溫
實例95一線式DS18B20測溫