本書以8051系列單片機應(yīng)用為目的,以項目為載體,以Keil C51 為編程調(diào)試軟件,介紹了用C語言編寫單片機程序的方法,主要包括七個項目,涵蓋了單片機的基本知識、C語言基礎(chǔ)、LED燈的程序設(shè)計、數(shù)碼管的程序設(shè)計、串行口通信原理、交通燈控制系統(tǒng)的程序設(shè)計、LCD液晶顯示器系統(tǒng)的程序設(shè)計等內(nèi)容。本書內(nèi)容與行業(yè)、職業(yè)崗位需要的知識、技能密切結(jié)合,意在培養(yǎng)學(xué)生良好的實踐動手能力和分析解決問題能力。本書可作為高職高專院校工科類專業(yè)教材使用,也可供相關(guān)技術(shù)人員參考閱讀。
單片機應(yīng)用技術(shù)是高等職業(yè)院校機電類、自動化類、電子信息類專業(yè)學(xué)生乃至工科非計算機專業(yè)學(xué)生必須學(xué)習(xí)的一門專業(yè)課。
本書緊跟職業(yè)教育的教學(xué)改革潮流,突出行業(yè)性、實用性、科學(xué)性和操作性,采用企業(yè)真實業(yè)務(wù),貼近職業(yè)崗位實際需求,在拉近單片機教學(xué)與職業(yè)崗位需求距離的同時,兼顧知識的系統(tǒng)性和完整性。
本書以C語言編寫單片機應(yīng)用程序,利用C語言編程功能靈活,程序的可讀性、可移植性較強的優(yōu)點,整合C語言和單片機兩個部分的教學(xué)內(nèi)容。本書依據(jù)任務(wù)驅(qū)動、做中學(xué)的編寫思路,以完成實際項目中的各項任務(wù)為編寫模式。每個項目均由若干個具體的典型任務(wù)組成,每個任務(wù)又將相關(guān)知識和職業(yè)崗位基本技能結(jié)合在一起,把知識、技能的學(xué)習(xí)融入任務(wù)過程中。突出了教學(xué)內(nèi)容的實踐性、實用性,注重對學(xué)生技術(shù)應(yīng)用能力的培養(yǎng),體現(xiàn)了教、學(xué)、做一體化的教學(xué)模式。
本書共分七個項目,由盤錦職業(yè)技術(shù)學(xué)院高天哲、直敏和孫卓擔(dān)任主編,盤錦職業(yè)技術(shù)學(xué)院尤建祥、盤錦高級技工學(xué)校王晗、盤錦職業(yè)技術(shù)學(xué)院叢榆坤、沈陽機床(集團)有限責(zé)任公司設(shè)計研究院關(guān)百軍擔(dān)任副主編,盤錦職業(yè)技術(shù)學(xué)院陳金陽、王敏參編。
由于編者水平有限,書中難免會有不妥之處,敬請廣大讀者和專家批評指正。
編者
2021年8月
項目一單片機的認識
任務(wù)1.1單片機綜述001
1.1.1單片機的概念001
1.1.2單片機的發(fā)展歷史002
1.1.3單片機的特點及應(yīng)用002
1.1.4單片機的發(fā)展趨勢004
任務(wù)1.2單片機的學(xué)前準(zhǔn)備006
1.2.1數(shù)制轉(zhuǎn)換006
1.2.2二進制的邏輯運算009
任務(wù)1.3單片機的開發(fā)軟件環(huán)境搭建011
1.3.1編程軟件Keil的安裝步驟011
1.3.2編程軟件Keil的使用步驟014
1.3.3下載器的使用步驟021
項目二C語言基礎(chǔ)
任務(wù)2.1C語言基礎(chǔ)知識介紹025
2.1.1利用C語言開發(fā)單片機的優(yōu)點025
2.1.2C51中的數(shù)據(jù)類型026
2.1.3C51數(shù)據(jù)類型擴充定義028
2.1.4C51中常用的頭文件028
2.1.5C51中的運算符和表達式029
2.1.6C51中的基礎(chǔ)語句032
任務(wù)2.2選擇語句034
2.2.1if語句034
2.2.2if else語句035
2.2.3else if語句036
2.2.4if語句嵌套037
2.2.5switch多分支語句038
任務(wù)2.3循環(huán)語句040
2.3.1for語句040
2.3.2while語句042
2.3.3do while循環(huán)語句043
任務(wù)2.4數(shù)組048
2.4.1一維數(shù)組048
2.4.2二維數(shù)組051
2.4.3字符數(shù)組054
任務(wù)2.5函數(shù)059
2.5.1函數(shù)的概念059
2.5.2函數(shù)的分類060
2.5.3函數(shù)的定義060
2.5.4函數(shù)的調(diào)用062
2.5.5函數(shù)的聲明063
2.5.6函數(shù)的返回值064
任務(wù)2.6指針066
2.6.1指針與指針變量066
2.6.2指針變量的運算069
2.6.3指針與數(shù)組070
2.6.4指針與函數(shù)074
2.6.5指針與字符串079
2.6.6指針數(shù)組與命令行參數(shù)084
2.6.7C51中指針的使用087
項目三LED燈的程序設(shè)計
任務(wù)3.1點亮LED燈的程序設(shè)計092
3.1.1單片機的結(jié)構(gòu)組成092
3.1.2單片機的小系統(tǒng)096
任務(wù)3.2流水燈的程序設(shè)計103
項目四數(shù)碼管的程序設(shè)計
任務(wù)4.1數(shù)碼管靜態(tài)顯示108
4.1.1數(shù)碼管結(jié)構(gòu)及工作原理108
4.1.2數(shù)碼器的字形編碼109
4.1.3鎖存器110
任務(wù)4.2數(shù)碼管動態(tài)顯示113
4.2.1中斷的產(chǎn)生背景113
4.2.2定時器中斷的應(yīng)用114
4.2.3中斷的優(yōu)先級117
4.2.4動態(tài)顯示的基本原理118
4.2.5數(shù)碼管顯示消隱119
項目五串行口通信原理
任務(wù)5.1串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)124
5.1.1并行通信和串行通信124
5.1.2單工通信和雙工通信125
5.1.3同步通信和異步通信126
5.1.4串行接口的電氣標(biāo)準(zhǔn)127
5.1.5串行接口的物理標(biāo)準(zhǔn)131
5.1.6多機通信131
項目六交通燈控制系統(tǒng)的程序設(shè)計
任務(wù)6.1交通燈控制系統(tǒng)的程序設(shè)計136
任務(wù)6.2復(fù)雜交通燈控制系統(tǒng)的程序設(shè)計141
6.2.1定時器/計數(shù)器141
6.2.2定時器/計數(shù)器的寄存器143
6.2.3定時器/計數(shù)器的工作方式144
6.2.4定時器/計數(shù)器的應(yīng)用146
項目七LCD液晶顯示系統(tǒng)的程序設(shè)計
任務(wù)7.1LCD廣告牌的程序設(shè)計157
7.1.1液晶顯示器的原理及特點157
7.1.2LCD 1602液晶顯示模塊和引腳功能158
7.1.3LCD 1602液晶顯示器的編程應(yīng)用164
附錄
附錄AC51關(guān)鍵字175
附錄BASCII碼表176
參考文獻