《21世紀高職高專規劃教材·單片機應用設計與制作:基于Keil和Proteus開發仿真平臺》基于8051單片機設計了6個學習情境,分別是LED電子彩燈、電子鐘、簡易電子琴、數字電壓表、數字溫度控制器和電子日歷的設計與制作。每個學習情境包括多個任務案例,每個任務案例都有Keil項目程序和Proteus仿真。程序設計以C語言為主,涉及匯編及c語言編程、單片機硬件結構及存儲器、中斷/定時系統、時鐘計時、串行通信、電子音樂、模數轉換、數字溫度檢測.PWM調速、字符/點陣液晶顯示、I2C總線和實時時鐘等應用的設計與制作等內容。
本書以任務為導向,實踐性強,適應職業崗位的實際工作需求,可作為高職高專院校相關專業的教學用書,也適用于單片機愛好者或工程技術人員學習參考。
高等職業教育注重培養學生的綜合職業能力,包含對學生的專業能力、方法能力和社會能力的培養,為了達到這個目標,實施基于工作過程的課程是有效的選擇。通過對職業工作過程的分析,對職業的典型工作任務的分析和歸納,根據職業成長規律和認知規律,開發出具有學習目標、學習和工作內容的學習領域課程是當前高職教改的熱點方向。本教材就是基于工作過程的單片機應用與設計教改課程教材,本課程學習情境以任務作為課程的載體組織教學內容,每個學習情境確定了學習情境任務描述、學習目標、學習與工作內容和學業評價要求。本書的主要特點有以下幾個方面。
1. 以任務組織教與學
以任務為導向,將工作與學習相結合,既能通過學習性任務系統地學習單片機的知識,又能通過學習和工作的過程得到綜合能力的培養和訓練,教材的內容和編排體現了工學結合的職業教育特征。
2. 依據職業工作任務,設計學習情境
根據職業工作任務的分析和歸納,按照職業成長和認知規律,根據教育教學原理,設計了6個學習情境,6個學習情境的工作任務來源于實際的職業工作任務,具備了典型工作過程的工作要素。
3. 根據職業崗位需求,采用以匯編為基礎,以C語言為主的編程語言
在目前實際的單片機開發應用工作中,C語言以優良的可讀性,便于改進、擴充和移植,便于合作編程,成為目前單片機開發和應用的主要語言,但在一些實時性要求較高的應用和一些小型應用項目中,匯編語言仍然是很有效的編程語言,所以本書的單片機應用以C語言為主要編程語言,以匯編語言為要求基本掌握的編程語言,避免學生學完單片機課程后,卻看不懂單片機指令系統的狀況。以C語言為主,基本掌握匯編語言的學習方式,適應職業崗位的實際工作需求。
4. 基于Keil和Proteus的開發仿真平臺Keil μVision是目前流行和優秀的MCS51系列單片機軟件集成開發環境,集成了文件編輯、編譯連接、項目管理和軟件仿真調試等多種功能,也是職業工作崗位使用最多的MCS51系列單片機軟件開發平臺。Proteus是一款功能很強的EDA工具軟件,可以直接在原理圖的虛擬原型上進行單片機和外圍電路的仿真,能夠與Keil連接調試,實時、動態地模擬器件的動作,具有虛擬信號發生器、示波器、邏輯分析儀等多種測量分析工具,在單片機應用電路的仿真中具有突出的優勢,是一款流行的單片機應用仿真軟件。本書的任務和案例都有Keil和Proteus的開發項目和仿真電路電子文檔,方便學習和應用,拉近了單片機學習和職業崗位應用的距離,仿真演示的直觀性增加了單片機學習的興趣。
本書基于8051單片機軟件開發平臺Keil和硬件仿真平臺Proteus,設計了6個學習情境,分別是單片機LED電子彩燈、電子鐘、電子琴、數字電壓表、數字溫度控制器和電子日歷的應用設計。每個學習情境包含多個任務案例,每個任務案例都有Keil項目程序和Proteus仿真電路,設計語言包含了匯編和C語言的應用設計,應用設計以單片機C語言程序設計為主,涉及單片機硬件結構、指令系統、I/O接口、中斷系統、定時器/計數器、串行通信、矩陣鍵盤、A/D和D/A轉換、18B20數字溫度計、PWM電機調速、1602字符/12864點陣液晶顯示模塊、I2C總線、E2PROM存儲器和1302實時時鐘的應用設計等內容。
本課程建議教學學時為112學時,學時分配如下表。
序號學 習 情 境學 習 課 時
1學習情境1LED電子彩燈的設計與制作24
2學習情境2電子鐘的設計與制作22
3學習情境3簡易電子琴的設計與制作16
4學習情境4數字電壓表的設計與制作14
5學習情境5數字溫度控制器的設計與制作16
6學習情境6電子日歷的設計與制作16
7機動4
合計112
本書由王平擔任主編。王平編寫了學習情境1(1.0~1.4)、學習情境3和附錄,對本書的編寫思路與大綱進行了策劃,并對全書進行了統稿和修改; 唐明軍編寫了學習情境1(1.5~1.6)和學習情境2(2.0~2.4); 馬梅編寫了學習情境2(2.5~2.9); 陳景忠編寫了學習情境4; 薛亞平編寫了學習情境5; 單丹編寫了學習情境6; 周惠忠、唐菲、徐秋參加了本書的前期部分工作。
由于受編者水平和編寫時間所限,書中難免有不足之處,懇請讀者批評指正,編者的聯系郵箱是wangp@ypi.edu.cn。
編者
2011年10月
學習情境1 LED電子彩燈的設計與制作
1.0 學習情境任務描述
1.0.1 學習目標
1.0.2 學習與工作內容
1.0.3 學業評價
1.1 任務1認識單片機
1.1.1 單片機的外觀模樣
1.1.2 單片機的應用領域
1.1.3 MCS-51系列單片機
1.2 任務2讓單片機動起來
1.2.1 最簡單的單片機系統
1.2.2 如何使用單片機
1.2.3 Keilμ Vision軟件的操作使用
1.2.4 Proteus軟件的操作使用
1.2.5 點亮單只LED發光管
1.3 任務3從外到內觀察單片機
1.3.1 單片機的信號引腳
1.3.2 單片機的內部結構
1.3.3 單片機的并行端口
1.3.4 單片機的時鐘與復位
1.4 任務4認識單片機的存儲器組織
1.4.1 初識單片機的存儲器
1.4.2 單片機的程序存儲器
1.4.3 單片機的數據存儲器
1.4.4 單片機的特殊功能寄存器
1.4.5 單片機的片外數據存儲器
1.5 任務5探究單片機能聽懂的話
1.5.1 單片機使用的語言
1.5.2 認識單片機的匯編語言
1.5.3 匯編語言的指令格式與尋址方式
1.5.4 數據傳送指令
1.5.5 算術運算指令
1.5.6 邏輯運算指令
1.5.7 控制轉移指令
1.5.8 位操作指令
1.5.9 偽指令
1.5.10 如何進行匯編語言程序設計
1.6 任務6 LED電子彩燈的設計與制作
1.6.1 任務與計劃
1.6.2 循環點亮LED
1.6.3 硬件電路與軟件程序設計
1.6.4 調試與仿真運行
1.6.5 實物制作效果
總結與思考
習題1
學習情境2 電子鐘的設計與制作
2.0 學習情境任務描述
2.0.1 學習目標
2.0.2 學習與工作內容
2.0.3 學業評價
2.1 任務1認識單片機的中斷系統
2.1.1 什么是單片機的中斷
2.1.2 單片機中斷的應用
2.2 任務2認識單片機的定時器/計數器
2.2.1 單片機的定時器/計數器
2.2.2 定時器/計數器的工作方式
2.3 任務3利用單片機輸出方波
2.3.1 簡易方波發生器的設計
2.3.2 調試與仿真運行
2.4 任務4簡易計時器的設計
2.4.1 認識LED顯示器
2.4.2 60s計時器的設計
2.4.3 調試與仿真運行
2.5 任務5認識單片機的C語言
2.5.1 單片機的C語言
2.5.2 C51的基本數據類型
2.5.3 C51的基本運算
……
學習情境3 簡易電子琴的設計與制作
學習情境4 數字電壓表的設計與制作
學習情境5 數字溫度控制器的設計與制作
學習情境6 電子日歷的設計與制作
附錄
參考文獻