學習情境1 初識單片機………………………………………………………………………… 11.1 單片機基本知識………………………………………………………………………… 11.1.1 單片機定義………………………………………………………………………… 11.1.2 單片機的應用領域………………………………………………………………… 21.1.3 單片機的發展歷程………………………………………………………………… 31.1.4 單片機的發展趨勢………………………………………………………………… 31.1.5 單片機主流廠商與主流產品……………………………………………………… 41.2 單片機存儲器結構介紹………………………………………………………………… 71.2.1 存儲單元地址……………………………………………………………………… 71.2.2 80c51單片機存儲器結構………………………………………………………… 81.2.3 程序存儲器rom 的使用方式…………………………………………………… 81.3 單片機的數據存儲器和特殊功能寄存器介紹………………………………………… 91.3.1 片內ram 分區…………………………………………………………………… 91.3.2 特殊功能寄存器區………………………………………………………………… 101.4 單片機*小系統………………………………………………………………………… 111.4.1 時鐘電路…………………………………………………………………………… 121.4.2 復位電路…………………………………………………………………………… 121.5 任務實施———單片機建立項目………………………………………………………… 141.5.1 單片機開發環境的安裝…………………………………………………………… 141.5.2 keilc51注冊……………………………………………………………………… 171.5.3 keil開發環境基本介紹………………………………………………………… 181.5.4 單片機程序下載…………………………………………………………………… 191.6 能力拓展———單片機領域分類及學習方法…………………………………………… 221.6.1 單片機與普通pc的參數對比…………………………………………………… 221.6.2 單片機領域分類…………………………………………………………………… 221.6.3 單片機學習方法…………………………………………………………………… 25學習情境2 流水燈的實現…………………………………………………………………… 262.1 進制間的轉換…………………………………………………………………………… 262.1.1 二進制與十進制間的轉換………………………………………………………… 262.1.2 二進制與十六進制間的轉換……………………………………………………… 272.2 單片機中的存儲單位…………………………………………………………………… 272.3 無符號數與有符號數…………………………………………………………………… 272.4 c51語言的基礎知識介紹……………………………………………………………… 292.4.1 c和c51語言的概述…………………………………………………………… 292.4.2 c51語言的數據類型和范圍……………………………………………………… 292.4.3 c51語言的基本運算符…………………………………………………………… 352.5 c51語言的循環結構語句……………………………………………………………… 382.5.1 while語句………………………………………………………………………… 392.5.2 do while語句…………………………………………………………………… 402.5.3 for語句…………………………………………………………………………… 412.5.4 循環的嵌套………………………………………………………………………… 432.5.5 表達式語句和復合語句…………………………………………………………… 432.6 c51語言的函數………………………………………………………………………… 442.6.1 函數的定義………………………………………………………………………… 452.6.2 函數的調用………………………………………………………………………… 462.6.3 被調函數的說明…………………………………………………………………… 462.6.4 函數的聲明………………………………………………………………………… 472.6.5 局部變量和全局變量……………………………………………………………… 482.7 任務實施———led燈控制…………………………………………………………… 502.7.1 仿真硬件電路……………………………………………………………………… 502.7.2 仿真程序設計……………………………………………………………………… 502.8 能力拓展———led燈花樣顯示……………………………………………………… 532.8.1 硬件電路…………………………………………………………………………… 532.8.2 軟件設計…………………………………………………………………………… 54學習情境3 數碼管的顯示…………………………………………………………………… 563.1 數組的基本知識………………………………………………………………………… 563.1.1 數組的定義………………………………………………………………………… 563.1.2 數組的元素………………………………………………………………………… 573.1.3 數組的賦值………………………………………………………………………… 573.1.4 二維數組…………………………………………………………………………… 583.1.5 字符數組…………………………………………………………………………… 583.2 分支結構程序…………………………………………………………………………… 593.2.1 if語句的幾種形式………………………………………………………………… 593.2.2 if語句的嵌套……………………………………………………………………… 613.2.3 條件表達式………………………………………………………………………… 623.3 單片機中斷系統………………………………………………………………………… 633.3.1 中斷系統概念……………………………………………………………………… 633.3.2 中斷源及中斷請求標志…………………………………………………………… 643.3.3 中斷系統的控制寄存器…………………………………………………………… 653.4 任務實施———數碼管的動態顯示……………………………………………………… 673.4.1 數碼管基礎………………………………………………………………………… 673.4.2 基本原理…………………………………………………………………………… 683.4.3 硬件電路…………………………………………………………………………… 693.4.4 軟件設計…………………………………………………………………………… 693.5 能力拓展———車流量統計器…………………………………………………………… 733.5.1 硬件電路及接口…………………………………………………………………… 733.5.2 車流量統計程序…………………………………………………………………… 74學習情境4 定時器…………………………………………………………………………… 774.1 單片機的定時/計數器………………………………………………………………… 774.1.1 工作原理…………………………………………………………………………… 774.1.2 定時器寄存器……………………………………………………………………… 784.1.3 工作方式…………………………………………………………………………… 794.2 任務實施———數碼管的使用…………………………………………………………… 814.2.1 數碼管電路與單片機接口………………………………………………………… 814.2.2 數碼管顯示程序…………………………………………………………………… 824.3 能力拓展———定時器典型應用………………………………………………………… 844.3.1 pwm 的調光實驗………………………………………………………………… 844.3.2 數字頻率計的設計………………………………………………………………… 90學習情境5 人機信息交互…………………………………………………………………… 945.1 c51語言分支結構程序………………………………………………………………… 945.1.1 break語句………………………………………………………………………… 945.1.2 continue語句……………………………………………………………………… 945.1.3 switch語句……………………………………………………………………… 965.2 任務實施———按鍵的應用……………………………………………………………… 975.2.1 獨立式按鍵………………………………………………………………………… 975.2.2 矩陣式按鍵……………………………………………………………………… 1005.3 能力拓展———一鍵多功能…………………………………………………………… 1045.3.1 硬件電路………………………………………………………………………… 1045.3.2 程序設計………………………………………………………………………… 106學習情境6 串行通信技術應用……………………………………………………………… 1086.1 串行通信理論知識…………………………………………………………………… 1086.1.1 串行通信的概念………………………………………………………………… 1086.1.2 串行通信的分類………………………………………………………………… 1096.1.3 通信方向分類…………………………………………………………………… 1106.1.4 串行接口寄存器………………………………………………………………… 1106.1.5 串行口的工作方式……………………………………………………………… 1126.1.6 串行口波特率…………………………………………………………………… 1136.2 串口通信硬件電路…………………………………………………………………… 1146.2.1 單片機控制電路………………………………………………………………… 1146.2.2 電平信號轉換電路……………………………………………………………… 1146.3 任務實施———串口通信的基本應用………………………………………………… 1156.4 能力拓展———基于串口的蜂鳴器控制……………………………………………… 117學習情境7 液晶顯示實現…………………………………………………………………… 1207.1 多c源文件的初步認識……………………………………………………………… 1207.2 液晶顯示器的介紹…………………………………………………………………… 121????????????????????????????????????????????????????????????7.2.1 1602液晶顯示器………………………………………………………………… 1227.2.2 12864液晶顯示器……………………………………………………………… 1277.3 任務實施———lcd1602液晶顯示…………………………………………………… 1327.4 能力拓展———lcd12864顯示圖片………………………………………………… 137學習情境8 電子萬年歷應用………………………………………………………………… 1488.1 bcd碼介紹…………………………………………………………………………… 1488.1.1 基本概念………………………………………………………………………… 1488.1.2 運算規則………………………………………………………………………… 1488.2 spi總線介紹………………………………………………………………………… 1498.2.1 基本概念………………………………………………………………………… 1498.2.2 工作模式………………………………………………………………………… 1508.3 ds1302芯片介紹……………………………………………………………………… 1528.3.1 ds1302芯片簡介………………………………………………………………… 1528.3.2 ds1302的硬件信息……………………………………………………………… 1528.3.3 ds1302寄存器介紹……………………………………………………………… 1538.3.4 ds1302通信時序介紹…………………………………………………………… 1558.4 任務實施———電子萬年歷應用……………………………………………………… 1568.4.1 仿真硬件電路…………………………………………………………………… 1568.4.2 仿真程序設計…………………………………………………………………… 1578.5 能力拓展———可更改的電子萬年歷應用…………………………………………… 1628.5.1 硬件電路………………………………………………………………………… 1638.5.2 程序設計………………………………………………………………………… 163學習情境9 簡易電壓表和信號發生器的應用……………………………………………… 1699.1 a/d和d/a 轉換的基礎知識……………………………………………………… 1699.1.1 dac概念及工作原理…………………………………………………………… 1699.1.2 dac的主要指標………………………………………………………………… 1709.1.3 adc概念及工作原理…………………………………………………………… 1719.1.4 adc的主要指標………………………………………………………………… 1729.2 pcf8591的adc和dac實現……………………………………………………… 1749.2.1 pcf8591芯片介紹……………………………………………………………… 1749.2.2 pcf8591的adc和dac使用流程…………………………………………… 1759.3 任務實施———簡易電壓表仿真應用………………………………………………… 1789.3.1 仿真硬件電路…………………………………………………………………… 1789.3.2 仿真軟件設計…………………………………………………………………… 1799.4 能力拓展———簡易信號發生器的應用……………………………………………… 1859.4.1 硬件電路………………………………………………………………………… 1859.4.2 軟件設計………………………………………………………………………… 187學習情境10 斷電信息保存技術…………………………………………………………… 19010.1 i2c總線基礎知識…………………………………………………………………… 19010.1.1 i2c總線時序…………………………………………………………………… 19010.1.2 i2c總線尋址模式……………………………………………………………… 19110.1.3 i2c總線工作過程……………………………………………………………… 19310.2 eeprom 芯片……………………………………………………………………… 19410.2.1 eeprom 基本知識…………………………………………………………… 19410.2.2 eeprom 芯片———at24c02………………………………………………… 19510.2.3 eeprom 硬件電路及接口…………………………………………………… 19610.3 任務實施———斷電信息保存技術…………………………………………………… 19710.4 能力拓展———多個eeprom 器件操作…………………………………………… 203課后作業………………………………………………………………………………………… 209附錄a keilc51軟件使用…………………………………………………………………… 218附錄b at89s52 單片機燒寫軟件…………………………………………………………… 226附錄c 常用的c51標準庫函數…………………………………………………………… 231參考文獻………………………………………………………………………………………… 234