版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE8-《單片機(jī)應(yīng)用技術(shù)教程》教案課程代碼:總學(xué)時(shí)/周學(xué)時(shí):開課時(shí)間:授課班級(jí):使用教材:授課教師:重
課程介紹一、課程性質(zhì)、地位和作用1、課程性質(zhì):《單片機(jī)應(yīng)用技術(shù)》課程主要以51單片機(jī)為基礎(chǔ),介紹單片機(jī)的概念,內(nèi)部結(jié)構(gòu)、引腳及功能、單片機(jī)最基本的控制條件、工作方式和時(shí)序;單片機(jī)的開發(fā)環(huán)境和開發(fā)流程;單片機(jī)的開發(fā)語(yǔ)音C51應(yīng)用;51單片機(jī)各種控制方式的講解。培養(yǎng)學(xué)生在智能控制方面的應(yīng)用能力,為后續(xù)從事智能化相關(guān)崗位工作奠定基礎(chǔ)。該課程是高等院校和技工院校新能源汽車技術(shù)、機(jī)電一體化、工業(yè)機(jī)器人技術(shù)、電氣控制技術(shù)及現(xiàn)代移動(dòng)通信技術(shù)相關(guān)專業(yè)的專業(yè)課程,是培養(yǎng)工業(yè)生產(chǎn)自動(dòng)化、智能化及智能電子產(chǎn)品等技術(shù)應(yīng)用及開發(fā)型人才的經(jīng)典課程。2、課程的地位和作用:《單片機(jī)應(yīng)用技術(shù)》為專業(yè)課程,前導(dǎo)課程是《電工電子技術(shù)》、《C語(yǔ)言程序設(shè)計(jì)》、《傳感器檢測(cè)與應(yīng)用》,在專業(yè)課程中屬于B類課程,課程教學(xué)中引入大量的仿真實(shí)訓(xùn),讓同學(xué)們理解單片機(jī)的工作原理,掌握單片機(jī)的控制方法,體會(huì)智能控制的快樂。二、課程教學(xué)目標(biāo)1、能力目標(biāo):學(xué)會(huì)KEIL軟件開發(fā)環(huán)境的使用,能完成程序的編輯、編譯、調(diào)試、下載;能熟練的使用C51語(yǔ)言進(jìn)行單片機(jī)控制軟件程序設(shè)計(jì);能熟練的利用YL-237單片機(jī)試驗(yàn)箱調(diào)試硬件電路;2、知識(shí)目標(biāo):掌握C51語(yǔ)言的編程手法,會(huì)編寫各經(jīng)典模塊的控制程序;單片機(jī)應(yīng)用電路安裝、檢修、調(diào)試能力;掌握將源程序生成單片機(jī)代碼文件的技能;掌握單片機(jī)的代碼燒錄技能;會(huì)編寫由單片機(jī)控制的電子產(chǎn)品的系統(tǒng)控制程序。三、課程設(shè)計(jì)1、課程進(jìn)度安排:(詳細(xì)情況見進(jìn)度表)授課進(jìn)度計(jì)劃表2、教學(xué)方法與手段:講授法,演示法,案例教學(xué)法3、考核方式:項(xiàng)目實(shí)操4、選用教材、推薦的教學(xué)參考資料:(1)教材《單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程》郭志勇人民郵電出版社《單片機(jī)應(yīng)用項(xiàng)目化教程》王宇湖南師范大學(xué)出版社《單片機(jī)原理及應(yīng)用》(C51語(yǔ)言)董國(guó)增清華大學(xué)出版社《51單片機(jī)應(yīng)用技術(shù)》,孫立書,清華大學(xué)出版社(2)參考書陳石勝.《單片機(jī)技術(shù)“做中學(xué)”教程》.國(guó)防工業(yè)出版社,2012.10陸彬.《21天學(xué)通51單片機(jī)開發(fā)》.電子工業(yè)出版社,2011.08(3)參考網(wǎng)站/--中國(guó)電子網(wǎng)STC單片機(jī)()51黑電子論壇(/bbs/)單片機(jī)教學(xué)視頻(/)電子發(fā)燒友(/)中國(guó)電子網(wǎng)()電子技術(shù)應(yīng)用(/)
《單片機(jī)應(yīng)用技術(shù)教案》本單元課題第一部分51單片機(jī)基礎(chǔ)知識(shí)課次本單元共課次備課節(jié)數(shù)共6節(jié)授課節(jié)數(shù)共6節(jié)授課時(shí)間第周授課地點(diǎn)教學(xué)用具多媒體教室、仿真軟件、動(dòng)畫演示等教學(xué)方法演示法、講解法、討論法等教學(xué)目標(biāo)1.數(shù)字轉(zhuǎn)換、數(shù)和字符在計(jì)算機(jī)內(nèi)的表示2.了解單片機(jī)概念;3.理解單片機(jī)的內(nèi)部結(jié)構(gòu);4.掌握51單片機(jī)的封裝和引腳介紹;5.掌握最小的單片機(jī)工作系統(tǒng);6.了解單片機(jī)的工作方式和時(shí)序;7.了解單片機(jī)的存儲(chǔ)空間;8.培養(yǎng)邏輯思維和利用知識(shí)解決實(shí)際問題的能力;重點(diǎn)難點(diǎn)重點(diǎn):?jiǎn)纹瑱C(jī)的封裝和引腳介紹;最小的單片機(jī)工作系統(tǒng);難點(diǎn):?jiǎn)纹瑱C(jī)的工作時(shí)序和存儲(chǔ)空間;參考資料《單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程》郭志勇人民郵電出版社《單片機(jī)原理及應(yīng)用》(C51語(yǔ)言)董國(guó)增清華大學(xué)出版社《51單片機(jī)應(yīng)用技術(shù)》孫立書,清華大學(xué)出版社等課程思政教學(xué)流程說明教學(xué)組織過程設(shè)計(jì)課前案例引入(5?)進(jìn)入新課學(xué)習(xí)(5?)師生互動(dòng),教師重點(diǎn)幫助學(xué)生理解有關(guān)概念(25?)【創(chuàng)設(shè)情景新課導(dǎo)入】我們?cè)诠I(yè)生產(chǎn)領(lǐng)域機(jī)器人代替人類進(jìn)行工作,在生活領(lǐng)域接觸到各類智能性的電子產(chǎn)品,甚至是人機(jī)對(duì)話;大家有沒有去思考過,機(jī)器人或電子產(chǎn)品是如何懂得我們的語(yǔ)言和想法?我們的單片機(jī)芯片如何才能工作起來呢?工作時(shí)又有哪些方式呢?它的內(nèi)部存儲(chǔ)空間如何?【引導(dǎo)探究學(xué)習(xí)新課】任務(wù)一:數(shù)制的轉(zhuǎn)換及數(shù)和字符在計(jì)算機(jī)內(nèi)的表示數(shù)制的轉(zhuǎn)換(1)幾種進(jìn)制數(shù)十進(jìn)制數(shù):數(shù)碼包括0、1、2、3、4、5、6、7、8、9十個(gè)數(shù),后綴用D表示;基數(shù)為10;二進(jìn)制數(shù):數(shù)碼包括0、1兩個(gè)數(shù),后綴用B表示;基數(shù)為2;八進(jìn)制數(shù):數(shù)碼包括0、1、2、3、4、5、6、7八個(gè)數(shù),后綴用O表示;基數(shù)為8;十六進(jìn)制數(shù):數(shù)碼包括0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六個(gè)數(shù),后綴用H表示;基數(shù)為16;非十進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)將二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),可按位權(quán)展開求和進(jìn)行計(jì)算;eg:十進(jìn)制數(shù)轉(zhuǎn)換為其他進(jìn)制數(shù)整數(shù)部分:“除R取余數(shù),直到商為0”的方法;R為R進(jìn)制數(shù);小數(shù)部分:“乘R取整,直到小數(shù)部分為0”的方法;R為R進(jìn)制數(shù);二進(jìn)制數(shù)和十六進(jìn)制數(shù)的對(duì)應(yīng)關(guān)系數(shù)和字符在計(jì)算機(jī)內(nèi)的表示原碼:反碼:補(bǔ)碼:補(bǔ)碼的加減運(yùn)算:BCD碼:常用字符的ASCII碼:任務(wù)二:?jiǎn)纹瑱C(jī)概念1、什么是計(jì)算機(jī)一臺(tái)計(jì)算機(jī)是由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備以及輸出設(shè)備五部分構(gòu)成。2、什么是單片機(jī)3、計(jì)算機(jī)和單片機(jī)直接的關(guān)系4、常見的單片機(jī)系列5.單片機(jī)的應(yīng)用單片機(jī)屬于數(shù)字控制類芯片,凡是與控制或簡(jiǎn)單計(jì)算有關(guān)的電子設(shè)備都可以用單片機(jī)來實(shí)現(xiàn)。(1)工業(yè)自動(dòng)化(2)智能儀器儀表(3)消費(fèi)量電子產(chǎn)品(4)通信方面(5)武器裝備方面閱讀教材學(xué)生討論(15?)學(xué)生總結(jié)(3?)師生互動(dòng),教師重點(diǎn)幫助學(xué)生理解有關(guān)概念學(xué)生總結(jié)(3?)教師小結(jié)(2?)課后作業(yè)任務(wù)三51單片機(jī)內(nèi)部結(jié)構(gòu)1.單片機(jī)基本組成單片機(jī)系統(tǒng)和計(jì)算機(jī)是由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備以及輸出設(shè)備五部分構(gòu)成。因單片機(jī)體積小,價(jià)廉,在組成部分里做了調(diào)整。2.51單片機(jī)的內(nèi)部結(jié)構(gòu)圖3.51單片機(jī)內(nèi)部結(jié)構(gòu)中各自的作用(1)CPU:由運(yùn)算和控制邏輯組成,同時(shí)還包括中斷系統(tǒng)和部分外部特殊功能寄存器;(2)RAM:用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);(3)ROM:用以存放程序、一些原始數(shù)據(jù)和表格;(4)I/O口:四個(gè)8位并行I/O口,既可用作輸入,也可用作輸出;(5)T/C:兩個(gè)定時(shí)/記數(shù)器,既可以工作在定時(shí)模式,也可以工作在記數(shù)模式;(6)五個(gè)中斷源的中斷控制系統(tǒng);一個(gè)全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信;片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。最高振蕩頻率取決于單片機(jī)型號(hào)及性能。(7)各部分之間由總線進(jìn)行連接,總線有地址總線,數(shù)據(jù)總線,控制總線。任務(wù)四:51單片機(jī)外部引腳介紹1.51單片機(jī)外部引腳分布情況2.雙列直插式PDIP40封裝51單片機(jī)引腳分類(1)主電源引腳20腳和40腳(2)外接晶體震蕩引腳18腳和19腳(3)4組輸入/輸出(I/O)引腳(32條)P0、P1、P2、P3(4)控制引腳4條9腳、29腳、30腳、31腳任務(wù)五:最小的單片機(jī)系統(tǒng)1.單片機(jī)最小系統(tǒng)的概念2.單片機(jī)最小系統(tǒng)圖(1)單片機(jī):起控制作用的集成芯片。(2)電源電路:向單片機(jī)供電。(3)時(shí)鐘電路:?jiǎn)纹瑱C(jī)工作的時(shí)間基準(zhǔn),決定單片機(jī)工作速度。(4)復(fù)位電路:確定單片機(jī)工作的起始狀態(tài),完成單片機(jī)的啟動(dòng)過程。任務(wù)六:51單片機(jī)的工作方式和時(shí)序1.51單片機(jī)的工作方式2.51單片機(jī)的時(shí)序任務(wù)七:51單片機(jī)的存儲(chǔ)器空間1.半導(dǎo)體存儲(chǔ)器的類型2.隨機(jī)存取存儲(chǔ)器3.只讀存儲(chǔ)器ROM4.計(jì)算機(jī)存儲(chǔ)器的配置結(jié)構(gòu)和單片機(jī)存儲(chǔ)器5.51單片機(jī)的內(nèi)存空間》【學(xué)生總結(jié)感受收獲】學(xué)生總結(jié)本節(jié)課內(nèi)容,談?wù)勑牡皿w會(huì)【課后作業(yè)練習(xí)鞏固】1.十六進(jìn)制數(shù)的基數(shù)是?前綴是?后綴是?2.什么是單片機(jī)?3.51單片機(jī)的內(nèi)部結(jié)構(gòu)?4.51單片機(jī)的外部40個(gè)引腳分布方式?5.51單片機(jī)能起控制作用的單片機(jī)電路組成是?6.51單片機(jī)的工作速度取決于?7.51單片機(jī)的存儲(chǔ)空間有多大?教學(xué)后記本節(jié)內(nèi)容理即有最基本單片機(jī)的概念;也有復(fù)雜難懂得I/O口內(nèi)部結(jié)構(gòu);外部引腳及功能;單片機(jī)的存儲(chǔ)空間;單片機(jī)的工作時(shí)序和工作方式;整個(gè)部分作為對(duì)單片機(jī)的認(rèn)知和后續(xù)應(yīng)用的提升部分,可以分初學(xué)和再學(xué)兩個(gè)環(huán)節(jié)進(jìn)行?!秵纹瑱C(jī)應(yīng)用技術(shù)教案》本單元課題第二部分單片機(jī)應(yīng)用常用的開發(fā)流程課次本單元共課次備課節(jié)數(shù)共4節(jié)授課節(jié)數(shù)共4節(jié)授課時(shí)間第周授課地點(diǎn)教學(xué)用具多媒體教室、仿真軟件、動(dòng)畫演示等教學(xué)方法演示法、講解法、討論法等教學(xué)目標(biāo)1.了解單片機(jī)控制的開發(fā)流程;2.掌握單片機(jī)控制仿真開發(fā)流程;3.掌握單片機(jī)仿真情況(Proteus)和實(shí)訓(xùn)箱(YL-237)情況控制電路的搭建;4.掌握51單片機(jī)控制電路代碼的編寫流程;5.掌握硬件和軟件的調(diào)試流程和控制效果的調(diào)試流程;6.培養(yǎng)邏輯思維和利用知識(shí)解決實(shí)際問題的能力;重點(diǎn)難點(diǎn)重點(diǎn):?jiǎn)纹瑱C(jī)控制電路的開發(fā)環(huán)境;單片機(jī)控制代碼編譯軟件;難點(diǎn):熟練進(jìn)行控制效果調(diào)試;參考資料《單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程》郭志勇人民郵電出版社《單片機(jī)原理及應(yīng)用》(C51語(yǔ)言)董國(guó)增清華大學(xué)出版社《51單片機(jī)應(yīng)用技術(shù)》孫立書,清華大學(xué)出版社等課程思政教學(xué)流程說明教學(xué)組織過程設(shè)計(jì)學(xué)生舉例參與仿真演示創(chuàng)設(shè)情景(5?)進(jìn)入新課學(xué)習(xí)出示課題(5?)師生互動(dòng),教師重點(diǎn)幫助學(xué)生理解有關(guān)概念(25?)【創(chuàng)設(shè)情景新課導(dǎo)入】我們?cè)谏弦粋€(gè)章節(jié)的學(xué)習(xí)中學(xué)習(xí)了單片機(jī)的相關(guān)知識(shí),但對(duì)于單片機(jī)是如何去控制電路的,我們還不夠了解和認(rèn)知,本章節(jié)我們一起來學(xué)習(xí)單片機(jī)的開發(fā)工具。案例引入單片機(jī)的控制,eg:機(jī)器人,電子血壓計(jì)【引導(dǎo)探究學(xué)習(xí)新課】一.單片機(jī)系統(tǒng)的設(shè)計(jì)開發(fā)流程1.需求分析2.電路設(shè)計(jì)3.程序設(shè)計(jì)4.系統(tǒng)調(diào)試5.產(chǎn)品試生產(chǎn)6.產(chǎn)品大規(guī)模生產(chǎn),銷售二.單片機(jī)系統(tǒng)的仿真開發(fā)工具和流程1.在Proteus界面中進(jìn)行控制電路圖繪制(1)Proteus軟件介紹PROTEUS是英國(guó)LabcenterElectronics公司開發(fā)的多功能EDA軟件。PROTEUS不僅是模擬電路、數(shù)字電路、模/數(shù)混合電路的設(shè)計(jì)與仿真平臺(tái),也是目前較先進(jìn)的單片機(jī)和嵌入式系統(tǒng)的設(shè)計(jì)與仿真平臺(tái)。它實(shí)現(xiàn)了在計(jì)算機(jī)上完成從原理圖與電路設(shè)計(jì)、電路分析與仿真、單片機(jī)代碼級(jí)調(diào)試與仿真、系統(tǒng)測(cè)試與功能驗(yàn)證到形成PCB的完整的電子設(shè)計(jì)、研發(fā)過程。(2)Proteus軟件界面介紹閱讀教材學(xué)生討論和練習(xí)(5?)(3)用PROTEUS設(shè)計(jì)控制電路的步驟:新建設(shè)計(jì)文件保存設(shè)計(jì)文件選取元器件放置元器件編輯元器件放置終端連線屬性設(shè)置電氣規(guī)則檢測(cè)2.軟件開發(fā)工具之KeilC51——集成開發(fā)軟件編輯、編譯和鏈接程序(編寫控制代碼)(1)KeilC51軟件介紹KeilC51是德國(guó)Keil軟件公司開發(fā)的基于8051內(nèi)核的微控制器軟件開發(fā)平臺(tái),是51系列單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),是目前開發(fā)8051內(nèi)核單片機(jī)的主流工具。KeilC51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。μVision2集成開發(fā)環(huán)境可以完成從工程建立和管理、編譯、連接、目標(biāo)代碼的生成、軟件仿真和硬件仿真等完整的開發(fā)流程。(2)KeilC51界面介紹(3)KeilC51的操作步驟介紹建立第一個(gè)C程序項(xiàng)目建立工程文件建立源文件加載源文件設(shè)置工程的配置參數(shù)進(jìn)行編譯和連接進(jìn)入調(diào)試模式全速運(yùn)行程序3.電路和控制代碼綜合調(diào)試階段(1)在控制電路51芯片中帶入keilC51生成的XXX.HEX文件(2)運(yùn)行觀看控制效果,是否同設(shè)計(jì)一致(3)不一致繼續(xù)調(diào)試三.YL-237單片機(jī)試驗(yàn)箱開發(fā)流程1.在實(shí)訓(xùn)箱中搭建好控制電路2.在KEIL軟件種編寫好控制電路代碼3.將代碼利用編程器平臺(tái)燒錄到單片機(jī)芯片中四.開發(fā)流程介紹實(shí)操1.以點(diǎn)亮一個(gè)LED燈介紹軟件開發(fā)流程2.以流水燈介紹實(shí)訓(xùn)箱控制流程【學(xué)生總結(jié)感受收獲】學(xué)生總結(jié)本節(jié)課內(nèi)容,談?wù)勑牡皿w會(huì)【教師小結(jié)提煉升華】單片機(jī)仿真設(shè)計(jì)開發(fā)流程單片機(jī)實(shí)訓(xùn)箱控制流程控制代碼的編寫及控制代碼編寫原則,下一個(gè)環(huán)節(jié)重點(diǎn)介紹程序下載,燒錄流程【課后作業(yè)練習(xí)鞏固】1.預(yù)習(xí)下節(jié)新課內(nèi)容2.單片機(jī)系統(tǒng)的設(shè)計(jì)開發(fā)流程有哪幾步?3.單片機(jī)硬件電路設(shè)計(jì)有哪兩種方式?軟件實(shí)現(xiàn)的操作流程會(huì)操作!4.單片機(jī)控制程序的設(shè)計(jì),熟悉代碼編寫軟件的操作流程!教學(xué)后記本部分設(shè)計(jì)到開發(fā)流程,需在后續(xù)的控制中使用?!秵纹瑱C(jī)應(yīng)用技術(shù)教案》本單元課題第三部分C51單片機(jī)程序設(shè)計(jì)課次本單元共課次備課節(jié)數(shù)共10節(jié)授課節(jié)數(shù)共10節(jié)授課時(shí)間第周授課地點(diǎn)教學(xué)用具多媒體教室、仿真軟件、動(dòng)畫演示等教學(xué)方法演示法、講解法、討論法等教學(xué)目標(biāo)1.掌握單片機(jī)程序設(shè)計(jì)語(yǔ)言概述;2.理解C51數(shù)據(jù)類型和數(shù)據(jù)存儲(chǔ)類型;3.掌握運(yùn)算符和表達(dá)式的應(yīng)用;4.掌握C51程序結(jié)構(gòu);5.掌握C51函數(shù)結(jié)構(gòu);6.掌握C51編程的基本方法和技巧;重點(diǎn)難點(diǎn)重點(diǎn):C51程序結(jié)構(gòu)、數(shù)據(jù)類型、運(yùn)算符和表達(dá)式、函數(shù);難點(diǎn):C51綜合應(yīng)用;參考資料《單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程》郭志勇人民郵電出版社《51單片機(jī)應(yīng)用技術(shù)》孫立書,清華大學(xué)出版社《單片機(jī)原理及應(yīng)用》(C51語(yǔ)言)董國(guó)增清華大學(xué)出版社等課程思政教學(xué)流程說明教學(xué)組織過程設(shè)計(jì)學(xué)生舉例參與仿真演示創(chuàng)設(shè)情景師生小結(jié)進(jìn)入新課學(xué)習(xí)出示課題師生互動(dòng),教師重點(diǎn)幫助學(xué)生理解有關(guān)概念【創(chuàng)設(shè)情景新課導(dǎo)入】我們?cè)谇懊鎸W(xué)習(xí)中學(xué)習(xí)了單片機(jī)的相關(guān)知識(shí),學(xué)習(xí)了單片機(jī)的開發(fā)流程,明確了“想”讓電路如何工作,必須得把“想法”表述為電路能識(shí)別的語(yǔ)言。本部分介紹,把人的“想法”表述成計(jì)算機(jī)或電路能識(shí)別的語(yǔ)言--C51程序設(shè)計(jì)。C51是51系列單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),也是目前使用較為廣泛的單片機(jī)編程語(yǔ)言。它和匯編語(yǔ)言相比,在功能、結(jié)構(gòu)、可讀性、可移植性、可維護(hù)性等方面都具有非常明顯的優(yōu)勢(shì),深受廣大單片機(jī)開發(fā)人員的歡迎。【引導(dǎo)探究學(xué)習(xí)新課】任務(wù)一單片機(jī)程序設(shè)計(jì)語(yǔ)言概述1.單片機(jī)程序設(shè)計(jì)語(yǔ)言單片機(jī)可使用機(jī)器語(yǔ)言、匯編語(yǔ)言及高級(jí)語(yǔ)言編程,但不管使用何種語(yǔ)言,最終還是要“翻譯”成單片機(jī)能夠識(shí)別的機(jī)器碼,單片機(jī)才能執(zhí)行。(1)機(jī)器語(yǔ)言能夠被單片機(jī)直接識(shí)別和執(zhí)行的語(yǔ)言,由“0”、“1”組成。(2)匯編語(yǔ)言用助記符形式來表示的機(jī)器指令稱為匯編語(yǔ)言指令,匯編語(yǔ)言是一種采用助記符表示指令、數(shù)據(jù)和地址來設(shè)計(jì)程序的語(yǔ)言。(3)高級(jí)語(yǔ)言不依賴于具體單片機(jī)且面向問題或過程的語(yǔ)言,其形式類似于自然語(yǔ)言、數(shù)學(xué)公式等。51單片機(jī)采用的是C51語(yǔ)言。2.源程序與目標(biāo)程序(1)源程序源程序是指用匯編語(yǔ)言或高級(jí)語(yǔ)言編寫的程序。匯編語(yǔ)言,以.asm為程序文件的擴(kuò)展名;C語(yǔ)言,以.c為程序文件的擴(kuò)展名。(2)目標(biāo)程序目標(biāo)程序是由機(jī)器語(yǔ)言(機(jī)器碼)構(gòu)成的,可為單片機(jī)直接識(shí)別、執(zhí)行的程序。一般以.obj為程序文件的擴(kuò)展名,經(jīng)連接器連接后可生成.bin或.hex文件,供單片機(jī)使用。3.匯編和編譯(1)匯編匯編是將匯編語(yǔ)言源程序轉(zhuǎn)換成目標(biāo)程序的過程,分為人工匯編與機(jī)器匯編。(2)編譯編譯是將高級(jí)語(yǔ)言源程序轉(zhuǎn)換成目標(biāo)程序、可執(zhí)行程序(文件)的過程。例如C語(yǔ)言的工作方式。4.C51語(yǔ)言的特點(diǎn)將單片機(jī)特有的資源與C語(yǔ)言結(jié)合,使其能夠滿足單片機(jī)的開發(fā)要求,形成了單片機(jī)C語(yǔ)言,為了和ANSIC區(qū)別,把51單片機(jī)C語(yǔ)言稱為C51語(yǔ)言。C51語(yǔ)言與標(biāo)準(zhǔn)的C語(yǔ)言也有一定的區(qū)別。用C51編寫單片機(jī)程序時(shí),需要根據(jù)單片機(jī)存儲(chǔ)結(jié)構(gòu)及內(nèi)部資源定義相應(yīng)的數(shù)據(jù)類型和變量,而標(biāo)準(zhǔn)的C語(yǔ)言不需要考慮這些問題。另外,C51包含的數(shù)據(jù)類型、變量存儲(chǔ)模式、輸入輸出處理、函數(shù)等方面與標(biāo)準(zhǔn)的C語(yǔ)言也有一定的區(qū)別。其他的語(yǔ)法規(guī)則、程序結(jié)構(gòu)及程序設(shè)計(jì)方法則與標(biāo)準(zhǔn)的C語(yǔ)言相同。學(xué)生猜想危害機(jī)理教師講解拓展延伸閱讀教材學(xué)生討論C51語(yǔ)言的優(yōu)點(diǎn)如下:(1)語(yǔ)言簡(jiǎn)潔,使用方便靈活,可大幅度提高開發(fā)速度,系統(tǒng)越復(fù)雜,開發(fā)效率越高。(2)編程者無需深入了解單片機(jī)內(nèi)部結(jié)構(gòu)和復(fù)雜的單片機(jī)匯編語(yǔ)言指令集。(3)可進(jìn)行模塊化開發(fā),軟件邏輯結(jié)構(gòu)清晰,有條理,易于分工合作。(4)可移植性好,寫好的一個(gè)C語(yǔ)言算法可方便地移植到其他單片機(jī)上,而匯編語(yǔ)言相對(duì)要復(fù)雜得多。(5)可直接操作硬件。結(jié)論:(1)C51程序和C程序一樣,也是由函數(shù)構(gòu)成的。一個(gè)C51程序至有且只有一個(gè)main函數(shù),可以有零個(gè)或多個(gè)其他函數(shù),因此函數(shù)是C51程序的基本單位。main函數(shù)可以直接書寫語(yǔ)句或者調(diào)用其他函數(shù)來實(shí)現(xiàn)功能,被調(diào)用的函數(shù)可以是編譯器提供的庫(kù)函數(shù),也可以是用戶根據(jù)需要編寫的函數(shù)(如delay函數(shù))。使用KeilC編寫的任何程序都可以直接調(diào)用其提供的庫(kù)函數(shù),調(diào)用時(shí)只需要包含具有該函數(shù)的頭文件即可。KeilC提供了100多個(gè)庫(kù)函數(shù)供用戶直接使用。(2)一個(gè)函數(shù)由以下兩部分組成。函數(shù)的首部,包括函數(shù)名、函數(shù)類型、函數(shù)參數(shù)名、參數(shù)類型。如例3.1中delay函數(shù)的首部為voiddelay(uintt)↓↓↓↓函數(shù)類型函數(shù)名參數(shù)類型參數(shù)名函數(shù)體,即函數(shù)首部下面大括號(hào)里的內(nèi)容。(3)一個(gè)C51程序從main函數(shù)開始執(zhí)行,不管main函數(shù)在什么位置。(4)C51中字母區(qū)分大小寫,如定義是sbitLED=P2^7,若后面寫成p2^7,在編譯時(shí)就會(huì)出現(xiàn)錯(cuò)誤。(5)C51書寫自由,一行可以寫幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句也能寫在幾行上。(6)每個(gè)語(yǔ)句必須以分號(hào)結(jié)束。(7)C51中的注釋可以采用兩種符號(hào)。第一種是“/*…*/”符號(hào),從“/*”開始直到“*/”為止,中間的內(nèi)容全部都是注釋;第二種是“//”引導(dǎo)的注釋語(yǔ)句,“//”后面的內(nèi)容是注釋,這種注釋只對(duì)本行有效。任務(wù)二C51數(shù)據(jù)類型和數(shù)據(jù)存儲(chǔ)類型1.常量與變量(1)常量和符號(hào)常量在程序運(yùn)行過程中,其值不能改變的量稱為常量,如:10、0、0x45等。常量也可以用一個(gè)標(biāo)識(shí)符來表示,稱之為符號(hào)常量。sbitLED=P2^7;//位變量定義,用LED符號(hào)表示P2.7引腳(2)變量在程序運(yùn)行過程中值可以改變的量稱為變量,因?yàn)橹蛋l(fā)生改變,所以需要安排一個(gè)存儲(chǔ)單元保存該變量。因此一個(gè)變量應(yīng)該有一個(gè)名字,在存儲(chǔ)器中占據(jù)一定的存儲(chǔ)單元,在該存儲(chǔ)單元中存放變量的值。C51對(duì)變量的命名規(guī)則:變量名只能由字母、數(shù)字和下劃線3部分構(gòu)成,第一個(gè)符合不能為數(shù)字;C51對(duì)變量的定義格式如下:[存儲(chǔ)種類]數(shù)據(jù)類型[存儲(chǔ)器類型]變量名表;inta;2.整型數(shù)據(jù)(1)整型常量的表示方法整型常量即整常數(shù),包括正整數(shù)、負(fù)整數(shù)和0,不能是小數(shù)。可以是十進(jìn)制、八進(jìn)制(以0開頭)和十六進(jìn)制(以0x開頭)。(2)整型變量整型變量的基本類型是int,可以根據(jù)數(shù)值的范圍將變量定義為基本整型、短整型或長(zhǎng)整型,在int之前分別加上修飾符:short(短整型)或long(長(zhǎng)整型)。對(duì)KeilC51來說,基本整型和short型都是用2字節(jié)來存儲(chǔ),long型用4個(gè)字節(jié)來存儲(chǔ)。類型字節(jié)數(shù)數(shù)值范圍int2-215~215-1unsigned[int]20~216-1short[int]2-215~215-1unsignedshort[int]20~216-1long[int]4-231~231-1unsignedlong[int]40~232-1C51中變量必須先定義才能使用,定義整型變量的方式為:修飾符變量名;例如:inta; //定義一個(gè)整型變量aunsignedinta1,a2;//定義兩個(gè)整型變量a1,a2longb; //定義一個(gè)長(zhǎng)整型變量bunsignedlongb1,b2;//定義兩個(gè)長(zhǎng)整型變量b1,b23.實(shí)型數(shù)據(jù)(1)實(shí)型常量的表示方法實(shí)數(shù)又稱為浮點(diǎn)數(shù),指帶小數(shù)點(diǎn)的數(shù)據(jù)。實(shí)數(shù)有以下兩種表示形式。a.十進(jìn)制小數(shù)形式。由數(shù)字和小數(shù)點(diǎn)組成,如12.5、6.7等。b.指數(shù)形式。如34e2或34E2都代表34×102。(2)實(shí)型變量標(biāo)準(zhǔn)C語(yǔ)言中的實(shí)型變量分為單精度(float)、雙精度(double)和長(zhǎng)雙精度(longdouble)三種,但KeilC不支持后兩種,所以這里不做介紹。float型占用4個(gè)字節(jié),定義實(shí)型變量的形式如下:float變量名1[,變量名2,…];C51中實(shí)型數(shù)的使用應(yīng)該注意以下幾點(diǎn):a.在8位單片機(jī)中一般不要使用實(shí)型數(shù),這樣會(huì)降低程序的運(yùn)行速度,增加程序的長(zhǎng)度。b.程序中如果確實(shí)用到了實(shí)型數(shù),一般不是因?yàn)橐褂眯?shù)點(diǎn),而是因?yàn)橛闷渌愋偷淖兞糠秶粔虼?。c.很多時(shí)候,可以用長(zhǎng)整型來代替實(shí)型。4.字符型數(shù)據(jù)(1)字符型常量的表示方法C51中字符型常量是用單引號(hào)括起來的一個(gè)字符,如‘a(chǎn)’、‘x’、‘?‘等都是字符型常量。(2)字符型變量的表示方法字符型變量用來存放字符常量,一個(gè)字符型變量只能存放一個(gè)字符。字符型變量的定義形式為:char變量名;如:chara;表示定義了一個(gè)字符型變量a,a中可以存放一個(gè)字符,可以用下面的賦值語(yǔ)句給a賦值:a='c';5.數(shù)組類型(1)一維數(shù)組的定義數(shù)組的維數(shù)是指表示數(shù)組使用的下標(biāo)個(gè)數(shù),如果數(shù)組中每個(gè)元素只帶有一個(gè)下標(biāo),稱這樣的數(shù)組為一維數(shù)組。一維數(shù)組的定義形式為:類型說明符數(shù)組名[常量表達(dá)式];如:inta[4];(2)一維數(shù)組的引用C51中,一個(gè)數(shù)組不能整體應(yīng)用,數(shù)組名是一個(gè)地址常量,不能對(duì)其賦值,只能使用數(shù)組中的元素。方法如下:數(shù)組名[下標(biāo)]下標(biāo)可以是整型變量或整型表達(dá)式,如a[0]、a[i](i是一個(gè)整型變量)。(3)一維數(shù)組的初始化a.在定義數(shù)組時(shí)對(duì)數(shù)組元素初始化,如:inta[4]={1,2,3,4};經(jīng)過初始化后,a[0]=1、a[1]=2、a[2]=3、a[3]=4。b.可以只給一部分元素賦值,如:inta[4]={1,2};經(jīng)過初始化后,a[0]=1、a[1]=2、a[2]=0、a[3]=0。c.對(duì)全部數(shù)組元素賦值時(shí),可以不指定數(shù)組長(zhǎng)度。如:“inta[4]={1,2,3,4};”可以寫成“inta[]={1,2,3,4};”。(4)二位數(shù)組(省略)(5)字符數(shù)組字符數(shù)組是指數(shù)組中元素的數(shù)據(jù)類型是字符類型的一維數(shù)組。字符數(shù)組引用、初始化的方法都與一維數(shù)組相同,只是要注意字符數(shù)組的元素是字符,有特殊的字面表示格式。另外,KeilC提供了專用于字符數(shù)組的庫(kù)函數(shù)。(6)指針類型指針的含義是地址,所謂變量的指針就是指變量的地址,定義指針類型的變量實(shí)際上是定義一種用來存儲(chǔ)地址的變量。具體定義為:charxdata*ptr;a.定義指針類型變量時(shí),在變量名前加“*”,變量名取名規(guī)則和前面一般變量相同。b.xdata是指ptr里存儲(chǔ)的是定義在外部數(shù)據(jù)存儲(chǔ)器里變量的地址,所以ptr占2個(gè)字節(jié)。(7)KeilC51中特有的數(shù)據(jù)類型a.位型變量位型變量實(shí)際是定義一個(gè)二進(jìn)制位來存儲(chǔ)數(shù)據(jù),其值有“0”和“1”兩種。定義形式如下:bit變量名;如:bitflag; //定義一個(gè)位變量flagb.特殊功能寄存器(sfr)型變量51單片機(jī)內(nèi)部的特殊功能寄存器并不能直接被C51所接受,為了定義這些特殊功能寄存器,增加了sfr、sfr16、sbit這3個(gè)關(guān)鍵詞。sfr是定義特殊功能寄存器和其地址的對(duì)應(yīng)關(guān)系,其用法為sfr變量名=地址值;在特殊功能寄存器中,有一些是由兩個(gè)地址連續(xù)的8位寄存器組成,如DPTR是由DPH和DPL組成,可以分開定義這兩個(gè)特殊功能寄存器,也可以用sfr16來定義,如:sfr16DPTR=0x82;sbit是定義特殊功能寄存器中可以位尋址的相應(yīng)位,sbit的用法有以下三種。sbit位變量名=位地址值;sbit位變量名=SFR名稱^變量位地址值;sbit位變量名=SFR地址^變量位地址值;(8)數(shù)據(jù)的存儲(chǔ)類型及存儲(chǔ)器的存儲(chǔ)模式C51存儲(chǔ)類型與51單片機(jī)存儲(chǔ)空間的對(duì)應(yīng)關(guān)系存儲(chǔ)區(qū)描述data片內(nèi)RAM的低128字節(jié),可在一個(gè)周期內(nèi)直接尋址bdata片內(nèi)RAM的位尋址區(qū),16字節(jié)idata片內(nèi)RAM的256字節(jié),必須采用間接尋址xdata外部數(shù)據(jù)存儲(chǔ)區(qū),使用DPTR間接尋址pdata外部存儲(chǔ)區(qū)的256字節(jié),通過P0口的地址對(duì)其尋址。使用MOVX@Ri,需要兩個(gè)指令周期code程序存儲(chǔ)區(qū),使用DPTR尋址任務(wù)三運(yùn)算符和表達(dá)式1.算術(shù)運(yùn)算符和算術(shù)表達(dá)式(1)基本的算術(shù)運(yùn)算符a、+加法運(yùn)算符,如4+3。b、-減法運(yùn)算符,如5-3。c、*乘法運(yùn)算符,如5*8。d、/除法運(yùn)算符,如10/3。e、%求模運(yùn)算符或取余運(yùn)算符,“%”兩側(cè)應(yīng)該都為整型數(shù)據(jù),如10%3。(2)自增/自減運(yùn)算符a、++自增運(yùn)算符。b、--自減運(yùn)算符。(3)算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先性與結(jié)合性用算術(shù)運(yùn)算符和括號(hào)將操作數(shù)(運(yùn)算對(duì)象)連接起來,形成符合C51語(yǔ)法規(guī)則的表達(dá)式,稱為算術(shù)表達(dá)式,操作數(shù)包括常量、變量、函數(shù)等,如a*b+(5-c/3)。(4)各類數(shù)值性數(shù)據(jù)間的混合運(yùn)算C51中,整型數(shù)據(jù)、字符型數(shù)據(jù)、實(shí)型數(shù)據(jù)都可以進(jìn)行混合運(yùn)算。運(yùn)算時(shí)不同類型的數(shù)據(jù)要先轉(zhuǎn)換成相同類型的數(shù)據(jù),然后才能進(jìn)行運(yùn)算,轉(zhuǎn)換方式有兩種。二是強(qiáng)制轉(zhuǎn)換,需要使用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符,其形式為:(類型名)表達(dá)式;2.賦值運(yùn)算符和賦值表達(dá)式(1)賦值運(yùn)算符符號(hào)“=”為賦值運(yùn)算符,其作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量,如x=5的作用是將常數(shù)5賦給變量x。也可以將一個(gè)表達(dá)式的值賦給變量,如x=5+y。(2)類型轉(zhuǎn)換賦值運(yùn)算符的兩側(cè)如果類型不一樣,也是可以賦值的,但賦值時(shí)需要進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。(3)賦值表達(dá)式賦值表達(dá)式的一般形式為:變量賦值運(yùn)算符表達(dá)式(4)復(fù)合賦值運(yùn)算符+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=3.逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式在C51中,多個(gè)表達(dá)式可以用逗號(hào)分開,如3+5,5+6,7+8,其中的逗號(hào)稱為逗號(hào)運(yùn)算符,由逗號(hào)運(yùn)算符組成的表達(dá)式稱為逗號(hào)表達(dá)式,其一般形式為:表達(dá)式1,表達(dá)式2,…,表達(dá)式n逗號(hào)表達(dá)式的求解過程是:先求表達(dá)式1,再求表達(dá)式2,直到最后一個(gè)表達(dá)式,但整個(gè)表達(dá)式的值是最后一個(gè)表達(dá)式的值。如3+5,5+6,7+8逗號(hào)表達(dá)式的值為154.關(guān)系運(yùn)算符和關(guān)系表達(dá)式(1)關(guān)系運(yùn)算符C51中提供了以下6種關(guān)系運(yùn)算符。a. <小于。b. <=小于等于。c. >大于。d. >=大于等于。e. ==等于。f. !=不等于(2)關(guān)系表達(dá)式用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來的式子稱為關(guān)系表達(dá)式,如:a>b、a+b>b+c、a!=b。關(guān)系表達(dá)式的值只有兩種:“真”和“假”。在C51中,運(yùn)算結(jié)果如果是“真”,則用數(shù)值“1”表示;運(yùn)算結(jié)果如果是“假”,則用“0”表示。5.邏輯運(yùn)算符和邏輯表達(dá)式(1)邏輯運(yùn)算符C51提供了以下3種邏輯運(yùn)算符。a. &&邏輯與。b. ||邏輯或。c. !邏輯非。“!”的優(yōu)先性高于算術(shù)運(yùn)算符,而“&&”和“||”的優(yōu)先性相同,處于關(guān)系運(yùn)算符和賦值運(yùn)算符之間。(2)邏輯表達(dá)式用邏輯運(yùn)算符將兩個(gè)表達(dá)式連接起來的式子稱為邏輯表達(dá)式,邏輯表達(dá)式的運(yùn)算結(jié)果用“1”表示“真”,用“0”表示“假”。但在判斷一個(gè)量是否為“真”時(shí),以0代表“假”,而以非0代表“真”,如6.位操作運(yùn)算符和表達(dá)式C51提供了如下的位操作運(yùn)算符。a. &按位與。b. |按位或。c. ^按位異或。d. ~按位取反。e. <<位左移。f. >>位右移。任務(wù)四C51程序結(jié)構(gòu)1.順序結(jié)構(gòu)順序結(jié)構(gòu),是按程序的書寫順序執(zhí)行的一種結(jié)構(gòu)?!纠?.5】求兩個(gè)數(shù)的和。定義兩個(gè)變量,先對(duì)其進(jìn)行賦值,再求出兩個(gè)數(shù)的和,程序代碼如下。voidmain(){ inta,b,sum; a=3; b=2; sum=a+b;}2.選擇結(jié)構(gòu)選擇結(jié)構(gòu),是一種根據(jù)選擇方式,可以選擇書寫的語(yǔ)句進(jìn)行執(zhí)行的一種結(jié)構(gòu)(1)if語(yǔ)句if(表達(dá)式)語(yǔ)句如果表達(dá)式為“真”,則執(zhí)行語(yǔ)句,否則執(zhí)行if語(yǔ)句后面的語(yǔ)句,如:if(a<5)b=3;if(表達(dá)式)語(yǔ)句1 else語(yǔ)句2如果表達(dá)式為“真”,則執(zhí)行語(yǔ)句1,否則執(zhí)行語(yǔ)句2,如:if(a<5)b=3;elseb=-3;if(表達(dá)式1)語(yǔ)句1elseif(表達(dá)式2)語(yǔ)句2elseif(表達(dá)式3)語(yǔ)句3……elseif(表達(dá)式m)語(yǔ)句melse語(yǔ)句n如:if(a>10)b=1;elseif(a>6)b=2;elseif(a>2)b=3;elseb=4;例如:1.采用if-else-if語(yǔ)句實(shí)現(xiàn)汽車轉(zhuǎn)向燈控制2.電路如圖3-4所示。要求:通電初始,燈全滅;按住K1,8個(gè)LED燈全亮;松開K1,燈全滅。(2)if語(yǔ)句的嵌套(省略)(3)條件運(yùn)算符條件運(yùn)算符的一般格式為:表達(dá)式1?表達(dá)式2:表達(dá)式3如:if(a>b)max=a;elsemax=b;可以用max=(a>b)?a:b來表示。其中(a>b)?a:b為條件表達(dá)式,執(zhí)行過程是:如果(a>b)為“真”,表達(dá)式的值為a;如果(a>b)為“假”,表達(dá)式的值為b。(4)switch語(yǔ)句實(shí)際問題中,往往遇到以一個(gè)變量或表達(dá)式的值為判斷條件,將此變量或表達(dá)式的值分成幾段,每一段對(duì)應(yīng)一種選擇或操作,這種情況用if語(yǔ)句來嵌套非常麻煩,于是,C51提供了switch語(yǔ)句。switch語(yǔ)句的一般結(jié)構(gòu)如下:switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句1;break;case常量表達(dá)式2:語(yǔ)句2;break;case常量表達(dá)式n:語(yǔ)句n;break;default:語(yǔ)句n+1;break;}switch語(yǔ)句后面的表達(dá)式可以是任何類型。若表達(dá)式的值與某一個(gè)case后面的常量表達(dá)式值相同,就開始執(zhí)行其后面的語(yǔ)句;如果沒有一個(gè)case后面的常量表達(dá)式值與表達(dá)式值相同,則執(zhí)行default后面的語(yǔ)句。每一個(gè)case后面的常量表達(dá)式值必須不同。執(zhí)行完一個(gè)case后面的語(yǔ)句后,系統(tǒng)并不跳出,而是執(zhí)行后面的case語(yǔ)句,直到結(jié)束。如果需要執(zhí)行完當(dāng)前case語(yǔ)句后,系統(tǒng)就跳出,需要在后面加break,如:case常量表達(dá)式:語(yǔ)句;break;【例3.9】電路如圖3-4所示。要求:通電初始,燈全滅;按住K1,D1亮;按住K2,D2亮;不按K1和K2,D3~D8亮。程序如下:#include<reg51.h>voidmain(){ unsignedcharkey;//八個(gè)按鍵從P3口輸入,定義為無符號(hào)字符型 while(1) { P3=0xff; //準(zhǔn)雙向口輸入前先置1 key=P3; //讀入P3口所連接按鍵 switch(key) { case0xfe:P1=0xfe;break; //K1鍵按下D1亮 case0xfd:P1=0xfd;break; //K2鍵按下D2亮 default:P1=0x03; //否則D3~D8全亮 } }}3.循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)是一種一部分語(yǔ)句需要重復(fù)執(zhí)行的一種結(jié)構(gòu)。循環(huán)是指反復(fù)執(zhí)行某一部分程序行的操作,重復(fù)執(zhí)行的這一部分程序行稱為循環(huán)體。循環(huán)結(jié)構(gòu)使得程序結(jié)構(gòu)變得簡(jiǎn)單、清晰、易于修改、占用較少內(nèi)存。常見的循環(huán)結(jié)構(gòu)有兩種:當(dāng)型循環(huán)和直到型循環(huán)。無論是哪種類型的循環(huán),都必須包含四個(gè)組成部分:循環(huán)條件的初始化,循環(huán)控制,循環(huán)體和循環(huán)條件的修改。循環(huán)條件初始化部分:主要為循環(huán)做準(zhǔn)備工作,包括設(shè)置有關(guān)的循環(huán)計(jì)數(shù)的初始值、其他變量的初始值等。循環(huán)控制部分:用于控制是否繼續(xù)循環(huán),即判斷循環(huán)條件是否滿足要求,滿足要求則繼續(xù)循環(huán),否則結(jié)束循環(huán)。該部分是循環(huán)結(jié)構(gòu)設(shè)計(jì)的關(guān)鍵,每個(gè)循環(huán)結(jié)構(gòu)必須選擇一個(gè)控制循環(huán)結(jié)構(gòu)運(yùn)行或結(jié)束的條件。通常判斷循環(huán)是否結(jié)束主要有兩種方法:計(jì)數(shù)器控制的循環(huán)、條件控制循環(huán)。計(jì)數(shù)器控制的循環(huán)用于循環(huán)次數(shù)已知的情況;條件控制循環(huán)用于循環(huán)次數(shù)難以確定、需要根據(jù)條件決定是否結(jié)束的情況。循環(huán)體部分:循環(huán)體是循環(huán)結(jié)構(gòu)的核心部分,是每次循環(huán)都要重復(fù)執(zhí)行的程序段,用于完成各種具體操作。循環(huán)條件修改部分:循環(huán)不是相同的重復(fù),而是有規(guī)律的變化,趨向于使任務(wù)完成。為了保證每次循環(huán)都與上次不同,并能夠正常結(jié)束,就需要修改某些條件。構(gòu)成循環(huán)結(jié)構(gòu)的主要有while、do-while和for等語(yǔ)句。(1)while循環(huán)語(yǔ)句while語(yǔ)句的一般表達(dá)形式為: while(表達(dá)式) {語(yǔ)句}當(dāng)表達(dá)式的判斷為“真”時(shí),執(zhí)行大括號(hào)內(nèi)的語(yǔ)句,否則不執(zhí)行。(2)do-while循環(huán)語(yǔ)句do-while語(yǔ)句是先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立,其一般形式為:do{語(yǔ)句}while(表達(dá)式);while和do-while語(yǔ)句雖然都是循環(huán)語(yǔ)句,但是兩者是有區(qū)別的,do-while語(yǔ)句不管條件是否成立,至少都會(huì)執(zhí)行一次循環(huán)體;而while語(yǔ)句,如果條件不成立,則不會(huì)執(zhí)行循環(huán)體。(3)for循環(huán)語(yǔ)句for語(yǔ)句的一般形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){語(yǔ)句}for循環(huán)語(yǔ)句的執(zhí)行過程如下。a.先求解表達(dá)式1。b.求解表達(dá)式2,如果結(jié)果為“真”,即條件成立,則執(zhí)行循環(huán)體語(yǔ)句;如果結(jié)果為“假”,轉(zhuǎn)到第(5)步。c.求解表達(dá)式3。d.轉(zhuǎn)回第(2)步。e.退出for循環(huán)語(yǔ)句,執(zhí)行下面的語(yǔ)句。for循環(huán)中有幾種特例,分析如下。a.表達(dá)式1可以沒有,但其分號(hào)不能省略。b.表達(dá)式2也可以沒有,同樣分號(hào)不能省略,這樣認(rèn)為條件永遠(yuǎn)滿足。c.表達(dá)式3也可以省略。d.如果三個(gè)表達(dá)式都省略,即for(;;),它的作用相當(dāng)于while(1),構(gòu)成了一個(gè)無限循環(huán)的過程。(4)break語(yǔ)句和continue語(yǔ)句在一個(gè)循環(huán)語(yǔ)句中,可以通過判斷條件來退出循環(huán),也可以通過break語(yǔ)句來強(qiáng)制退出循環(huán)。continue語(yǔ)句用于結(jié)束本次循環(huán),即跳過循環(huán)體下面的語(yǔ)句,而直接進(jìn)行下一次是否循環(huán)的判斷。eg:任務(wù)五函數(shù)1.函數(shù)的定義一個(gè)完整的C51程序可由一個(gè)主函數(shù)和若干個(gè)子函數(shù)組成,由主函數(shù)調(diào)用子函數(shù),子函數(shù)之間也可以互相調(diào)用,同一個(gè)函數(shù)可以被一個(gè)或多個(gè)函數(shù)調(diào)用任意次。函數(shù)定義的一般形式為:函數(shù)返回值類型函數(shù)名(形式參數(shù)列表) //函數(shù)首部{ 聲明部分; 執(zhí)行部分;}說明:函數(shù)包括兩部分:函數(shù)首部和函數(shù)體。函數(shù)體用大括號(hào)“{}”括起來;函數(shù)體包括兩部分:聲明部分和執(zhí)行部分。聲明部分主要用于定義變量,以及對(duì)定義在該函數(shù)之后的函數(shù)進(jìn)行聲明;執(zhí)行部分完成函數(shù)功能;如果沒有形式參數(shù)列表,則為無參函數(shù),但函數(shù)名后的括號(hào)必須有;如果函數(shù)有返回結(jié)果,則返回值類型與結(jié)果類型一致,函數(shù)體中包括return語(yǔ)句;如果函數(shù)不需要返回結(jié)果,則將返回值類型定義為void類型,函數(shù)體中不需要return語(yǔ)句。2.函數(shù)的調(diào)用形式(1)函數(shù)調(diào)用的一般形式為: 函數(shù)名(實(shí)參列表);(2)調(diào)用函數(shù)的聲明和函數(shù)原型在一個(gè)函數(shù)中調(diào)用另一個(gè)函數(shù)必須同時(shí)具備以下一些條件。a.被調(diào)函數(shù)一定存在,可以自己編寫,也可以是庫(kù)函數(shù)。b.如果是庫(kù)函數(shù),一般應(yīng)在文件開頭用#include命令將調(diào)用庫(kù)函數(shù)時(shí)所用到的信息包含到文件中。c.如果使用用戶自定義的函數(shù),而且該函數(shù)與調(diào)用它的函數(shù)(主調(diào)函數(shù))在同一文件中,一般還應(yīng)該在主調(diào)函數(shù)中對(duì)被調(diào)用的函數(shù)做聲明。(3)函數(shù)參數(shù)傳遞函數(shù)之間參數(shù)的傳遞由函數(shù)調(diào)用時(shí)主調(diào)函數(shù)的實(shí)際參數(shù)(簡(jiǎn)稱實(shí)參)和被調(diào)函數(shù)的形式參數(shù)(簡(jiǎn)稱形參)之間的單向復(fù)制。所謂的實(shí)際參數(shù)是指調(diào)用時(shí)函數(shù)名后面括號(hào)里的表達(dá)式,其個(gè)數(shù)和被調(diào)函數(shù)的形式參數(shù)個(gè)數(shù)一致,以intmax(intx,inty)為例,定義的形式參數(shù)有x和y兩個(gè),當(dāng)主調(diào)函數(shù)調(diào)用時(shí),將會(huì)寫成如下形式:a=max(5,9);a是假設(shè)主調(diào)函數(shù)中的一個(gè)變量,5和9是實(shí)際參數(shù),在調(diào)用時(shí),把5賦給x、9賦給y。3.局部變量和全局變量a.局部變量在一個(gè)函數(shù)內(nèi)部定義的變量稱為局部變量,它只在這個(gè)函數(shù)內(nèi)有效。b.全局變量一個(gè)源文件可以包含一個(gè)函數(shù)或若干個(gè)函數(shù),在函數(shù)之外定義的變量稱為全局變量,全局變量在本文件的任何函數(shù)中都可以使用。4.intrins.h庫(kù)函數(shù)介紹5.中斷函數(shù)(1)中斷函數(shù)的格式void函數(shù)名(void)interruptn其中,n對(duì)應(yīng)中斷源的類型號(hào)。以51系列單片機(jī)為例,n的編號(hào)為0~4,分別對(duì)應(yīng)定時(shí)/計(jì)數(shù)器0中斷、外部中斷0、定時(shí)/計(jì)數(shù)器1中斷、外部中斷1、串行中斷。6.寄存器組的切換學(xué)生總結(jié)教師小結(jié)課后作業(yè)【學(xué)生總結(jié)感受收獲】學(xué)生總結(jié)本節(jié)課內(nèi)容,談?wù)勑牡皿w會(huì)【教師小結(jié)提煉升華】教師小結(jié)點(diǎn)評(píng)提出要求、期望本章節(jié)介紹了C51所涉及的相關(guān)語(yǔ)法約定和使用方式,具體介紹了1.介紹了C51概述2.介紹了數(shù)據(jù)類型、運(yùn)算符、表達(dá)式、語(yǔ)句3.介紹了C51程序結(jié)構(gòu)、函數(shù)結(jié)構(gòu)希望大家在后面的實(shí)訓(xùn)項(xiàng)目學(xué)習(xí)中,多讀程序,多試寫程序。【課后作業(yè)練習(xí)鞏固】1.預(yù)習(xí)下節(jié)新課內(nèi)容2.閱讀每種控制效果的設(shè)計(jì)程序代碼,理解表達(dá)方式屬于本部分那塊內(nèi)容!3.綜合應(yīng)用本節(jié)內(nèi)容,讀和寫控制電路代碼。教學(xué)后記本章節(jié)教學(xué)內(nèi)容較多,很多內(nèi)容會(huì)放在具體的實(shí)驗(yàn)項(xiàng)目中,通過試驗(yàn)項(xiàng)目加深理解和掌握?!秵纹瑱C(jī)應(yīng)用技術(shù)教案》本單元課題第四部分單片機(jī)的各種控制項(xiàng)目1單片機(jī)對(duì)LED燈的控制課次本單元共課次備課節(jié)數(shù)共6節(jié)授課節(jié)數(shù)共6節(jié)授課時(shí)間第周授課地點(diǎn)教學(xué)用具多媒體教室、仿真軟件、動(dòng)畫演示等教學(xué)方法演示法、講解法、討論法等教學(xué)目標(biāo)1.掌握單片機(jī)控制的開發(fā)控制流程;2.掌握單片機(jī)點(diǎn)亮一個(gè)LED燈;3.掌握單片機(jī)控制LED燈的閃爍;4.掌握單片機(jī)對(duì)LED燈循環(huán)點(diǎn)亮控制;5.培養(yǎng)邏輯思維和利用知識(shí)解決實(shí)際問題的能力;重點(diǎn)難點(diǎn)重點(diǎn):?jiǎn)纹瑱C(jī)對(duì)LED燈的各種控制;難點(diǎn):各類控制代碼的讀、寫和設(shè)計(jì);參考資料《單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程》郭志勇人民郵電出版社《單片機(jī)原理及應(yīng)用》(C51語(yǔ)言)董國(guó)增清華大學(xué)出版社《51單片機(jī)應(yīng)用技術(shù)》孫立書,清華大學(xué)出版社等課程思政教學(xué)流程說明教學(xué)組織過程設(shè)計(jì)學(xué)生舉例參與仿真演示創(chuàng)設(shè)情景師生小結(jié)進(jìn)入新課學(xué)習(xí)出示課題師生互動(dòng),教師重點(diǎn)幫助學(xué)生理解有關(guān)概念【創(chuàng)設(shè)情景新課導(dǎo)入】我們?cè)谇懊嬲鹿?jié)學(xué)習(xí)了單片機(jī)的理論、開發(fā)流程、C51語(yǔ)言的相關(guān)知識(shí),但對(duì)于單片機(jī)是如何去控制LED燈,讓控制的LED燈電路發(fā)出一系列規(guī)律的點(diǎn)亮和關(guān)閉,我們還不夠了解和認(rèn)知,本章節(jié)我們一起來學(xué)習(xí)單片機(jī)對(duì)LED的各種控制?!疽龑?dǎo)探究學(xué)習(xí)新課】任務(wù)一點(diǎn)亮一個(gè)發(fā)光二極管1.工作任務(wù)使用AT89S52單片機(jī),P1.0引腳接發(fā)光二極管(LED)的陰極,通過C語(yǔ)言程序控制,從P1.0引腳輸出低電平,使發(fā)光二極管點(diǎn)亮。2.控制電路用PROTEUS設(shè)計(jì)點(diǎn)亮一個(gè)LED控制電路新建設(shè)計(jì)文件保存設(shè)計(jì)文件選取元器件放置元器件編輯元器件放置終端連線屬性設(shè)置電氣規(guī)則檢測(cè)3.控制代碼學(xué)生猜想危害機(jī)理教師講解拓展延伸閱讀教材學(xué)生討論用KEILC51編寫第一個(gè)C語(yǔ)言程序建立第一個(gè)C程序項(xiàng)目建立工程文件建立源文件加載源文件設(shè)置工程的配置參數(shù)進(jìn)行編譯和連接進(jìn)入調(diào)試模式全
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年國(guó)網(wǎng)湖北省電力有限公司高校畢業(yè)生招聘(第一批約880人)筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025中核集團(tuán)中核資本校園招聘筆試參考題庫(kù)附帶答案詳解(3卷)
- 國(guó)家事業(yè)單位招聘2024中國(guó)農(nóng)業(yè)科學(xué)院農(nóng)產(chǎn)品加工研究所招聘17人筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 北京市2024北京市經(jīng)濟(jì)信息中心招聘3人筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 東莞市2024廣東東莞市鳳崗鎮(zhèn)經(jīng)濟(jì)發(fā)展局招聘合同制聘員1人筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 審計(jì)行業(yè)面試題及答案
- 人力資源招聘專員績(jī)效考核改進(jìn)措施含答案
- 英特爾生產(chǎn)經(jīng)理崗位試題集
- 建筑設(shè)備安全管理員面試題及解答指南
- 2025年西湖區(qū)紫荊學(xué)前教育集團(tuán)高教新村園區(qū)招聘幼兒教師(非事業(yè))備考題庫(kù)及答案詳解1套
- 潔凈工作臺(tái)性能參數(shù)校準(zhǔn)規(guī)范
- 如果歷史是一群喵16
- 赫茲伯格-雙因素理論
- 華為HCIA存儲(chǔ)H13-611認(rèn)證培訓(xùn)考試題庫(kù)(匯總)
- 社會(huì)主義發(fā)展史知到章節(jié)答案智慧樹2023年齊魯師范學(xué)院
- 美國(guó)史智慧樹知到答案章節(jié)測(cè)試2023年?yáng)|北師范大學(xué)
- GB/T 15924-2010錫礦石化學(xué)分析方法錫量測(cè)定
- GB/T 14525-2010波紋金屬軟管通用技術(shù)條件
- GB/T 11343-2008無損檢測(cè)接觸式超聲斜射檢測(cè)方法
- GB/T 1040.3-2006塑料拉伸性能的測(cè)定第3部分:薄膜和薄片的試驗(yàn)條件
- 教師晉級(jí)專業(yè)知識(shí)和能力證明材料
評(píng)論
0/150
提交評(píng)論