《C51單片機編程與應(yīng)用》由實際問題入手,通過7個真實典型項目設(shè)計,先介紹單片機基本知識、開發(fā)環(huán)境和編程語言,接著重點介紹發(fā)光二極管、數(shù)碼管、蜂鳴器、數(shù)字溫度傳感器DS18820、日歷芯片DS1302和液晶顯示器LCD1602等器件的擴展和使用;使初學(xué)者通過項目的實施,獲取所需知識,提高動手能力。
《C51單片機編程與應(yīng)用》的設(shè)計為突出學(xué)習(xí)單片機的“體驗”和“經(jīng)驗”及學(xué)習(xí)的便捷性,專門開發(fā)設(shè)計了價格低廉、使用方便、功能完備且與《C51單片機編程與應(yīng)用》配套的實驗板,在配套的教學(xué)資源中有詳細(xì)的使用方法和相關(guān)的實驗項目(詳見前言)。
《C51單片機編程與應(yīng)用》既可作為高職院校電氣自動化、應(yīng)用電子技術(shù)、通信工程和自動化儀表等專業(yè)的教材,也可作為廣大電子制作愛好者的參考用書。
單片機是從事智能儀器儀表、工業(yè)控制、家用電器和醫(yī)用設(shè)備等電子產(chǎn)品開發(fā)人員的入門芯片,有很高的實用價值。但由于單片機是硬件設(shè)計和軟件編程為一體的學(xué)科,既要求有很好的電子技術(shù)知識,又要有一定的邏輯思維和編程能力,要快速入門和應(yīng)用有一定難度。所以,本書在編寫的過程中,針對這些問題做了特別的編排。
本書編者在編寫教材過程中,結(jié)合國家示范性高職院校建設(shè)的課程改革契機,根據(jù)歷屆學(xué)生的學(xué)習(xí)情況調(diào)查,遵循“適用”和“應(yīng)用”兩個原則,將單片機的常用知識和典型器件的應(yīng)用整合到7個具有代表性、應(yīng)用廣泛的典型實例中,讓讀者“先做再學(xué),邊做邊學(xué)”,使單片機學(xué)習(xí)充滿趣味性和實用性。力求使本書的內(nèi)容、結(jié)構(gòu)及項目完成等方面充分體現(xiàn)“理實一體”的高職高專教育特色。與同類教材相比,具有以下特點。
(1)打破了傳統(tǒng)教材的章節(jié)劃分,將學(xué)生的知識和技能需求分為7個典型項目。按照“項目提出”→“項目分析”→“項目相關(guān)知識”→“項目實施”→“項目小結(jié)”的思路編排。在項目結(jié)束后安排相關(guān)課題設(shè)計及相應(yīng)的評分標(biāo)準(zhǔn),不再設(shè)計理論習(xí)題,完全偏重應(yīng)用,提高動手能力。
(2)打破傳統(tǒng)的知識體系,項目完成以夠用為度,即要用什么知識就介紹什么知識,使學(xué)生充分體會“學(xué)有所用”。
此外,本書在內(nèi)容闡述上,力求簡明扼要,層次清楚,圖文并茂,通俗易懂;在結(jié)構(gòu)編排上,遵循循序漸進,由淺入深的原則;在實際項目的選取上,強調(diào)實用性、針對性和可操作性。
項目1 認(rèn)識單片機及其開發(fā)環(huán)境
1.1 項目提出
1.2 項目分析
1.2.1 任務(wù)的意義
1.2.2 系統(tǒng)方案的說明
1.3 項目相關(guān)知識
1.3.1 單片機的基礎(chǔ)知識
1.3.2 單片機的開發(fā)環(huán)境
1.3.3 程序燒錄器及燒錄軟件的使用
1.4 項目實施
1.4.1 硬件電路的搭建
1.4.2 程序編譯和調(diào)試
1.5 項目小結(jié)
1.6 相關(guān)課題設(shè)計
1.7 本課題設(shè)計評分標(biāo)準(zhǔn)
項目2 單片機最小系統(tǒng)應(yīng)用
2.1 項目提出
2.2 項目分析
2.2.1 任務(wù)意義
2.2.2 系統(tǒng)方案的說明
2.3 項目相關(guān)知識
2.3.1 AT89C51單片機的內(nèi)部結(jié)構(gòu)介紹
2.3.2 單片機存儲器的結(jié)構(gòu)介紹
2.3.3 單片機最小系統(tǒng)介紹
2.3.4 單片機C語言基礎(chǔ)知識介紹
2.3.5 HEX、BCD和ASCII碼的轉(zhuǎn)換
2.4 項目實施
2.4.1 硬件電路圖的設(shè)計
2.4.2 元器件清單(見表2-9)
2.4.3 所需儀表、工具的清單(見表2-10)
2.4.4 程序流程圖設(shè)計
2.4.5 軟件編程與調(diào)試運行
2.5 項目小結(jié)
2.6 相關(guān)課題設(shè)計
2.7 相關(guān)課題設(shè)計評分標(biāo)準(zhǔn)
項目3 廣告彩燈的設(shè)計與制作
3.1 項目提出
3.2 項目分析
3.2.1 任務(wù)意義
3.2.2 系統(tǒng)方案的說明
3.3 項目相關(guān)知識
3.3.1 單片機的I/O口介紹
3.3.2 LED發(fā)光二極管的工作原理
3.3.3 C51程序結(jié)構(gòu)與語句
3.3.4 C函數(shù)
3.3.5 軟件延時
3.4 項目實施
3.4.1 硬件電路圖的設(shè)計
3.4.2 元器件清單(見表3-2)
3.4.3 所需儀表、工具的清單(見表3-3)
3.4.4 程序流程圖設(shè)計
3.4.5 軟件編程與調(diào)試運行
3.5 項目小結(jié)
3.6 相關(guān)課題設(shè)計
3.7 相關(guān)課題設(shè)計評分標(biāo)準(zhǔn)
項目4 秒表的設(shè)計與制作
4.1 項目提出
4.2 項目分析
4.2.1 任務(wù)意義
4.2.2 系統(tǒng)方案設(shè)計
4.3 項目相關(guān)知識
4.3.1 C51環(huán)境下數(shù)組的應(yīng)用
4.3.2 單片機的按鍵擴展
4.3.3 單片機的數(shù)碼顯示擴展
4.3.4 單片機定時/計數(shù)器的應(yīng)用介紹
4.4 項目實施
4.4.1 硬件電路圖的設(shè)計
4.4.2 元器件清單(見表4-6)
4.4.3 所需儀表、工具的清單(見表4-7)
4.4.4 程序流程圖設(shè)計
4.4.5 軟件編程與調(diào)試運行
4.5 項目小結(jié)
4.6 相關(guān)課題設(shè)計
4.7 相關(guān)課題設(shè)計評分標(biāo)準(zhǔn)
項目5 抽獎器的設(shè)計與制作
5.1 項目提出
5.2 項目分析
5.2.1 任務(wù)意義
5.2.2 系統(tǒng)方案設(shè)計
5.3 項目相關(guān)知識
5.3.1 單片機中斷的使用
5.3.2 C51庫函數(shù)的使用
5.4 項目實施
5.4.1 硬件電路圖的設(shè)計
5.4.2 元器件清單
5.4.3 所需儀表、工具的清單
5.4.4 程序流程圖設(shè)計
5.4.5 軟件編程與調(diào)試運行
5.5 項目小結(jié)
5.6 相關(guān)課題設(shè)計
5.7 相關(guān)課題設(shè)計評分標(biāo)準(zhǔn)
項目6 數(shù)字式溫度計的設(shè)計與制作
6.1 項目提出
6.2 項目分析
6.2.1 任務(wù)意義
6.2.2 系統(tǒng)方案設(shè)計
6.3 項目相關(guān)知識
6.3.1 數(shù)字溫度傳感器DS18B20的使用
6.3.2 蜂鳴器的擴展
6.4 項目實施
6.4.1 硬件電路圖的設(shè)計
6.4.2 元器件清單
6.4.3 所需儀表、工具的清單
6.4.4 程序流程圖設(shè)計
6.4.5 軟件編程與調(diào)試運行
6.5 項目小結(jié)
6.6 相關(guān)課題設(shè)計
6.7 相關(guān)課題設(shè)計評分標(biāo)準(zhǔn)
項目7 電子臺歷的設(shè)計與制作
7.1 項目提出
7.2 項目分析
7.1.1 任務(wù)意義
7.2.2 系統(tǒng)方案設(shè)計
7.3 項目相關(guān)知識
7.3.1 DS1302的使用
7.3.2 液晶顯示器的使用
7.4 項目實施
7.4.1 硬件電路圖的設(shè)計
7.4.2 元器件清單
7.4.3 所需儀表、工具的清單
7.4.4 主程序流程圖
7.4.5 軟件編程與調(diào)試運行
7.5 項目小結(jié)
7.6 相關(guān)課題設(shè)計
7.7 相關(guān)課題設(shè)計評分標(biāo)準(zhǔn)
附錄A 配套單片機實驗板介紹
附錄B 運算符的優(yōu)先級和結(jié)合性
附錄C 位ASCII碼表
附錄D Proteus的使用介紹
參考文獻
4)溢出
計數(shù)器的容量是有限的,當(dāng)計數(shù)值大到一定程度就會出現(xiàn)錯誤,如收錄機上的計數(shù)器,其計數(shù)值最大只能到999,如果計數(shù)已經(jīng)到了999,再來一個計數(shù)信號,計數(shù)值就會變成000。此時如果認(rèn)為收錄機沒有動顯然是錯誤的,有一些應(yīng)用場合必須要用一定的方法來記錄這種情況。單片機中計數(shù)器的容量也會產(chǎn)生溢出。一旦產(chǎn)生溢出將使TF0或TF1變?yōu)椤?”,這樣就記錄了溢出事件。在生活中,鬧鐘的鬧響可視做定時時間到時產(chǎn)生的溢出,這通常意味著要求我們開始做某件事(起床、出門等)。其他例子中的溢出也有類似的要求,推而廣之,溢出通常都意味著要求對事件進行處理。
5)任意定時及計數(shù)的方法
計數(shù)器的容量是16位,最大的計數(shù)值是65536,因此,每次計數(shù)到65536都會產(chǎn)生溢出。但在實際工作中,經(jīng)常會有少于65536個計數(shù)值的要求,如包裝線上,一打為12瓶,這就要求每計數(shù)到12就要產(chǎn)生溢出。生產(chǎn)實踐中的這類要求實際上就是要能夠設(shè)置任意溢出的計數(shù)值,為此可采用“預(yù)置”的方法來實現(xiàn)。計數(shù)不從0開始,而是從一個固定值開始,這個固定值的大小,取決于被計數(shù)的大小。如果要計數(shù)100,預(yù)先在計數(shù)器里放進65436,再來100個脈沖,就到了65536,這個65436被稱為預(yù)置值。