單片機(jī)應(yīng)用技術(shù)教程(基于Keil與Proteus)(微課版)教案 -張小平 1.1 數(shù)制的轉(zhuǎn)換及數(shù)和字符在計(jì)算機(jī)內(nèi)的表示-4.1 單片機(jī)對LED燈的控制_第1頁
單片機(jī)應(yīng)用技術(shù)教程(基于Keil與Proteus)(微課版)教案 -張小平 1.1 數(shù)制的轉(zhuǎn)換及數(shù)和字符在計(jì)算機(jī)內(nèi)的表示-4.1 單片機(jī)對LED燈的控制_第2頁
單片機(jī)應(yīng)用技術(shù)教程(基于Keil與Proteus)(微課版)教案 -張小平 1.1 數(shù)制的轉(zhuǎn)換及數(shù)和字符在計(jì)算機(jī)內(nèi)的表示-4.1 單片機(jī)對LED燈的控制_第3頁
單片機(jī)應(yīng)用技術(shù)教程(基于Keil與Proteus)(微課版)教案 -張小平 1.1 數(shù)制的轉(zhuǎn)換及數(shù)和字符在計(jì)算機(jī)內(nèi)的表示-4.1 單片機(jī)對LED燈的控制_第4頁
單片機(jī)應(yīng)用技術(shù)教程(基于Keil與Proteus)(微課版)教案 -張小平 1.1 數(shù)制的轉(zhuǎn)換及數(shù)和字符在計(jì)算機(jī)內(nèi)的表示-4.1 單片機(jī)對LED燈的控制_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PAGE8-《單片機(jī)應(yīng)用技術(shù)教程》教案課程代碼:總學(xué)時/周學(xué)時:開課時間:授課班級:使用教材:授課教師:重

課程介紹一、課程性質(zhì)、地位和作用1、課程性質(zhì):《單片機(jī)應(yīng)用技術(shù)》課程主要以51單片機(jī)為基礎(chǔ),介紹單片機(jī)的概念,內(nèi)部結(jié)構(gòu)、引腳及功能、單片機(jī)最基本的控制條件、工作方式和時序;單片機(jī)的開發(fā)環(huán)境和開發(fā)流程;單片機(jī)的開發(fā)語音C51應(yīng)用;51單片機(jī)各種控制方式的講解。培養(yǎng)學(xué)生在智能控制方面的應(yīng)用能力,為后續(xù)從事智能化相關(guān)崗位工作奠定基礎(chǔ)。該課程是高等院校和技工院校新能源汽車技術(shù)、機(jī)電一體化、工業(yè)機(jī)器人技術(shù)、電氣控制技術(shù)及現(xiàn)代移動通信技術(shù)相關(guān)專業(yè)的專業(yè)課程,是培養(yǎng)工業(yè)生產(chǎn)自動化、智能化及智能電子產(chǎn)品等技術(shù)應(yīng)用及開發(fā)型人才的經(jīng)典課程。2、課程的地位和作用:《單片機(jī)應(yīng)用技術(shù)》為專業(yè)課程,前導(dǎo)課程是《電工電子技術(shù)》、《C語言程序設(shè)計(jì)》、《傳感器檢測與應(yīng)用》,在專業(yè)課程中屬于B類課程,課程教學(xué)中引入大量的仿真實(shí)訓(xùn),讓同學(xué)們理解單片機(jī)的工作原理,掌握單片機(jī)的控制方法,體會智能控制的快樂。二、課程教學(xué)目標(biāo)1、能力目標(biāo):學(xué)會KEIL軟件開發(fā)環(huán)境的使用,能完成程序的編輯、編譯、調(diào)試、下載;能熟練的使用C51語言進(jìn)行單片機(jī)控制軟件程序設(shè)計(jì);能熟練的利用YL-237單片機(jī)試驗(yàn)箱調(diào)試硬件電路;2、知識目標(biāo):掌握C51語言的編程手法,會編寫各經(jīng)典模塊的控制程序;單片機(jī)應(yīng)用電路安裝、檢修、調(diào)試能力;掌握將源程序生成單片機(jī)代碼文件的技能;掌握單片機(jī)的代碼燒錄技能;會編寫由單片機(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語言)董國增清華大學(xué)出版社《51單片機(jī)應(yīng)用技術(shù)》,孫立書,清華大學(xué)出版社(2)參考書陳石勝.《單片機(jī)技術(shù)“做中學(xué)”教程》.國防工業(yè)出版社,2012.10陸彬.《21天學(xué)通51單片機(jī)開發(fā)》.電子工業(yè)出版社,2011.08(3)參考網(wǎng)站/--中國電子網(wǎng)STC單片機(jī)()51黑電子論壇(/bbs/)單片機(jī)教學(xué)視頻(/)電子發(fā)燒友(/)中國電子網(wǎng)()電子技術(shù)應(yīng)用(/)

《單片機(jī)應(yīng)用技術(shù)教案》本單元課題第一部分51單片機(jī)基礎(chǔ)知識課次本單元共課次備課節(jié)數(shù)共6節(jié)授課節(jié)數(shù)共6節(jié)授課時間第周授課地點(diǎn)教學(xué)用具多媒體教室、仿真軟件、動畫演示等教學(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ī)的工作方式和時序;7.了解單片機(jī)的存儲空間;8.培養(yǎng)邏輯思維和利用知識解決實(shí)際問題的能力;重點(diǎn)難點(diǎn)重點(diǎn):單片機(jī)的封裝和引腳介紹;最小的單片機(jī)工作系統(tǒng);難點(diǎn):單片機(jī)的工作時序和存儲空間;參考資料《單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程》郭志勇人民郵電出版社《單片機(jī)原理及應(yīng)用》(C51語言)董國增清華大學(xué)出版社《51單片機(jī)應(yīng)用技術(shù)》孫立書,清華大學(xué)出版社等課程思政教學(xué)流程說明教學(xué)組織過程設(shè)計(jì)課前案例引入(5?)進(jìn)入新課學(xué)習(xí)(5?)師生互動,教師重點(diǎn)幫助學(xué)生理解有關(guān)概念(25?)【創(chuàng)設(shè)情景新課導(dǎo)入】我們在工業(yè)生產(chǎn)領(lǐng)域機(jī)器人代替人類進(jìn)行工作,在生活領(lǐng)域接觸到各類智能性的電子產(chǎn)品,甚至是人機(jī)對話;大家有沒有去思考過,機(jī)器人或電子產(chǎn)品是如何懂得我們的語言和想法?我們的單片機(jī)芯片如何才能工作起來呢?工作時又有哪些方式呢?它的內(nèi)部存儲空間如何?【引導(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十個數(shù),后綴用D表示;基數(shù)為10;二進(jìn)制數(shù):數(shù)碼包括0、1兩個數(shù),后綴用B表示;基數(shù)為2;八進(jìn)制數(shù):數(shù)碼包括0、1、2、3、4、5、6、7八個數(shù),后綴用O表示;基數(shù)為8;十六進(jìn)制數(shù):數(shù)碼包括0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六個數(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ù)的對應(yīng)關(guān)系數(shù)和字符在計(jì)算機(jī)內(nèi)的表示原碼:反碼:補(bǔ)碼:補(bǔ)碼的加減運(yùn)算:BCD碼:常用字符的ASCII碼:任務(wù)二:單片機(jī)概念1、什么是計(jì)算機(jī)一臺計(jì)算機(jī)是由運(yùn)算器、控制器、存儲器、輸入設(shè)備以及輸出設(shè)備五部分構(gòu)成。2、什么是單片機(jī)3、計(jì)算機(jī)和單片機(jī)直接的關(guān)系4、常見的單片機(jī)系列5.單片機(jī)的應(yīng)用單片機(jī)屬于數(shù)字控制類芯片,凡是與控制或簡單計(jì)算有關(guān)的電子設(shè)備都可以用單片機(jī)來實(shí)現(xiàn)。(1)工業(yè)自動化(2)智能儀器儀表(3)消費(fèi)量電子產(chǎn)品(4)通信方面(5)武器裝備方面閱讀教材學(xué)生討論(15?)學(xué)生總結(jié)(3?)師生互動,教師重點(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)算器、控制器、存儲器、輸入設(shè)備以及輸出設(shè)備五部分構(gòu)成。因單片機(jī)體積小,價廉,在組成部分里做了調(diào)整。2.51單片機(jī)的內(nèi)部結(jié)構(gòu)圖3.51單片機(jī)內(nèi)部結(jié)構(gòu)中各自的作用(1)CPU:由運(yùn)算和控制邏輯組成,同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器;(2)RAM:用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);(3)ROM:用以存放程序、一些原始數(shù)據(jù)和表格;(4)I/O口:四個8位并行I/O口,既可用作輸入,也可用作輸出;(5)T/C:兩個定時/記數(shù)器,既可以工作在定時模式,也可以工作在記數(shù)模式;(6)五個中斷源的中斷控制系統(tǒng);一個全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信;片內(nèi)振蕩器和時鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。最高振蕩頻率取決于單片機(jī)型號及性能。(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)時鐘電路:單片機(jī)工作的時間基準(zhǔn),決定單片機(jī)工作速度。(4)復(fù)位電路:確定單片機(jī)工作的起始狀態(tài),完成單片機(jī)的啟動過程。任務(wù)六:51單片機(jī)的工作方式和時序1.51單片機(jī)的工作方式2.51單片機(jī)的時序任務(wù)七:51單片機(jī)的存儲器空間1.半導(dǎo)體存儲器的類型2.隨機(jī)存取存儲器3.只讀存儲器ROM4.計(jì)算機(jī)存儲器的配置結(jié)構(gòu)和單片機(jī)存儲器5.51單片機(jī)的內(nèi)存空間》【學(xué)生總結(jié)感受收獲】學(xué)生總結(jié)本節(jié)課內(nèi)容,談?wù)勑牡皿w會【課后作業(yè)練習(xí)鞏固】1.十六進(jìn)制數(shù)的基數(shù)是?前綴是?后綴是?2.什么是單片機(jī)?3.51單片機(jī)的內(nèi)部結(jié)構(gòu)?4.51單片機(jī)的外部40個引腳分布方式?5.51單片機(jī)能起控制作用的單片機(jī)電路組成是?6.51單片機(jī)的工作速度取決于?7.51單片機(jī)的存儲空間有多大?教學(xué)后記本節(jié)內(nèi)容理即有最基本單片機(jī)的概念;也有復(fù)雜難懂得I/O口內(nèi)部結(jié)構(gòu);外部引腳及功能;單片機(jī)的存儲空間;單片機(jī)的工作時序和工作方式;整個部分作為對單片機(jī)的認(rèn)知和后續(xù)應(yīng)用的提升部分,可以分初學(xué)和再學(xué)兩個環(huán)節(jié)進(jìn)行?!秵纹瑱C(jī)應(yīng)用技術(shù)教案》本單元課題第二部分單片機(jī)應(yīng)用常用的開發(fā)流程課次本單元共課次備課節(jié)數(shù)共4節(jié)授課節(jié)數(shù)共4節(jié)授課時間第周授課地點(diǎn)教學(xué)用具多媒體教室、仿真軟件、動畫演示等教學(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í)際問題的能力;重點(diǎn)難點(diǎn)重點(diǎn):單片機(jī)控制電路的開發(fā)環(huán)境;單片機(jī)控制代碼編譯軟件;難點(diǎn):熟練進(jìn)行控制效果調(diào)試;參考資料《單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程》郭志勇人民郵電出版社《單片機(jī)原理及應(yīng)用》(C51語言)董國增清華大學(xué)出版社《51單片機(jī)應(yīng)用技術(shù)》孫立書,清華大學(xué)出版社等課程思政教學(xué)流程說明教學(xué)組織過程設(shè)計(jì)學(xué)生舉例參與仿真演示創(chuàng)設(shè)情景(5?)進(jìn)入新課學(xué)習(xí)出示課題(5?)師生互動,教師重點(diǎn)幫助學(xué)生理解有關(guān)概念(25?)【創(chuàng)設(shè)情景新課導(dǎo)入】我們在上一個章節(jié)的學(xué)習(xí)中學(xué)習(xí)了單片機(jī)的相關(guān)知識,但對于單片機(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是英國LabcenterElectronics公司開發(fā)的多功能EDA軟件。PROTEUS不僅是模擬電路、數(shù)字電路、模/數(shù)混合電路的設(shè)計(jì)與仿真平臺,也是目前較先進(jìn)的單片機(jī)和嵌入式系統(tǒng)的設(shè)計(jì)與仿真平臺。它實(shí)現(xiàn)了在計(jì)算機(jī)上完成從原理圖與電路設(shè)計(jì)、電路分析與仿真、單片機(jī)代碼級調(diào)試與仿真、系統(tǒng)測試與功能驗(yàn)證到形成PCB的完整的電子設(shè)計(jì)、研發(fā)過程。(2)Proteus軟件界面介紹閱讀教材學(xué)生討論和練習(xí)(5?)(3)用PROTEUS設(shè)計(jì)控制電路的步驟:新建設(shè)計(jì)文件保存設(shè)計(jì)文件選取元器件放置元器件編輯元器件放置終端連線屬性設(shè)置電氣規(guī)則檢測2.軟件開發(fā)工具之KeilC51——集成開發(fā)軟件編輯、編譯和鏈接程序(編寫控制代碼)(1)KeilC51軟件介紹KeilC51是德國Keil軟件公司開發(fā)的基于8051內(nèi)核的微控制器軟件開發(fā)平臺,是51系列單片機(jī)C語言軟件開發(fā)系統(tǒng),是目前開發(fā)8051內(nèi)核單片機(jī)的主流工具。KeilC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。μVision2集成開發(fā)環(huán)境可以完成從工程建立和管理、編譯、連接、目標(biāo)代碼的生成、軟件仿真和硬件仿真等完整的開發(fā)流程。(2)KeilC51界面介紹(3)KeilC51的操作步驟介紹建立第一個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.將代碼利用編程器平臺燒錄到單片機(jī)芯片中四.開發(fā)流程介紹實(shí)操1.以點(diǎn)亮一個LED燈介紹軟件開發(fā)流程2.以流水燈介紹實(shí)訓(xùn)箱控制流程【學(xué)生總結(jié)感受收獲】學(xué)生總結(jié)本節(jié)課內(nèi)容,談?wù)勑牡皿w會【教師小結(jié)提煉升華】單片機(jī)仿真設(shè)計(jì)開發(fā)流程單片機(jī)實(shí)訓(xùn)箱控制流程控制代碼的編寫及控制代碼編寫原則,下一個環(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)的操作流程會操作!4.單片機(jī)控制程序的設(shè)計(jì),熟悉代碼編寫軟件的操作流程!教學(xué)后記本部分設(shè)計(jì)到開發(fā)流程,需在后續(xù)的控制中使用。《單片機(jī)應(yīng)用技術(shù)教案》本單元課題第三部分C51單片機(jī)程序設(shè)計(jì)課次本單元共課次備課節(jié)數(shù)共10節(jié)授課節(jié)數(shù)共10節(jié)授課時間第周授課地點(diǎn)教學(xué)用具多媒體教室、仿真軟件、動畫演示等教學(xué)方法演示法、講解法、討論法等教學(xué)目標(biāo)1.掌握單片機(jī)程序設(shè)計(jì)語言概述;2.理解C51數(shù)據(jù)類型和數(shù)據(jù)存儲類型;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語言)董國增清華大學(xué)出版社等課程思政教學(xué)流程說明教學(xué)組織過程設(shè)計(jì)學(xué)生舉例參與仿真演示創(chuàng)設(shè)情景師生小結(jié)進(jìn)入新課學(xué)習(xí)出示課題師生互動,教師重點(diǎn)幫助學(xué)生理解有關(guān)概念【創(chuàng)設(shè)情景新課導(dǎo)入】我們在前面學(xué)習(xí)中學(xué)習(xí)了單片機(jī)的相關(guān)知識,學(xué)習(xí)了單片機(jī)的開發(fā)流程,明確了“想”讓電路如何工作,必須得把“想法”表述為電路能識別的語言。本部分介紹,把人的“想法”表述成計(jì)算機(jī)或電路能識別的語言--C51程序設(shè)計(jì)。C51是51系列單片機(jī)C語言軟件開發(fā)系統(tǒng),也是目前使用較為廣泛的單片機(jī)編程語言。它和匯編語言相比,在功能、結(jié)構(gòu)、可讀性、可移植性、可維護(hù)性等方面都具有非常明顯的優(yōu)勢,深受廣大單片機(jī)開發(fā)人員的歡迎。【引導(dǎo)探究學(xué)習(xí)新課】任務(wù)一單片機(jī)程序設(shè)計(jì)語言概述1.單片機(jī)程序設(shè)計(jì)語言單片機(jī)可使用機(jī)器語言、匯編語言及高級語言編程,但不管使用何種語言,最終還是要“翻譯”成單片機(jī)能夠識別的機(jī)器碼,單片機(jī)才能執(zhí)行。(1)機(jī)器語言能夠被單片機(jī)直接識別和執(zhí)行的語言,由“0”、“1”組成。(2)匯編語言用助記符形式來表示的機(jī)器指令稱為匯編語言指令,匯編語言是一種采用助記符表示指令、數(shù)據(jù)和地址來設(shè)計(jì)程序的語言。(3)高級語言不依賴于具體單片機(jī)且面向問題或過程的語言,其形式類似于自然語言、數(shù)學(xué)公式等。51單片機(jī)采用的是C51語言。2.源程序與目標(biāo)程序(1)源程序源程序是指用匯編語言或高級語言編寫的程序。匯編語言,以.asm為程序文件的擴(kuò)展名;C語言,以.c為程序文件的擴(kuò)展名。(2)目標(biāo)程序目標(biāo)程序是由機(jī)器語言(機(jī)器碼)構(gòu)成的,可為單片機(jī)直接識別、執(zhí)行的程序。一般以.obj為程序文件的擴(kuò)展名,經(jīng)連接器連接后可生成.bin或.hex文件,供單片機(jī)使用。3.匯編和編譯(1)匯編匯編是將匯編語言源程序轉(zhuǎn)換成目標(biāo)程序的過程,分為人工匯編與機(jī)器匯編。(2)編譯編譯是將高級語言源程序轉(zhuǎn)換成目標(biāo)程序、可執(zhí)行程序(文件)的過程。例如C語言的工作方式。4.C51語言的特點(diǎn)將單片機(jī)特有的資源與C語言結(jié)合,使其能夠滿足單片機(jī)的開發(fā)要求,形成了單片機(jī)C語言,為了和ANSIC區(qū)別,把51單片機(jī)C語言稱為C51語言。C51語言與標(biāo)準(zhǔn)的C語言也有一定的區(qū)別。用C51編寫單片機(jī)程序時,需要根據(jù)單片機(jī)存儲結(jié)構(gòu)及內(nèi)部資源定義相應(yīng)的數(shù)據(jù)類型和變量,而標(biāo)準(zhǔn)的C語言不需要考慮這些問題。另外,C51包含的數(shù)據(jù)類型、變量存儲模式、輸入輸出處理、函數(shù)等方面與標(biāo)準(zhǔn)的C語言也有一定的區(qū)別。其他的語法規(guī)則、程序結(jié)構(gòu)及程序設(shè)計(jì)方法則與標(biāo)準(zhǔn)的C語言相同。學(xué)生猜想危害機(jī)理教師講解拓展延伸閱讀教材學(xué)生討論C51語言的優(yōu)點(diǎn)如下:(1)語言簡潔,使用方便靈活,可大幅度提高開發(fā)速度,系統(tǒng)越復(fù)雜,開發(fā)效率越高。(2)編程者無需深入了解單片機(jī)內(nèi)部結(jié)構(gòu)和復(fù)雜的單片機(jī)匯編語言指令集。(3)可進(jìn)行模塊化開發(fā),軟件邏輯結(jié)構(gòu)清晰,有條理,易于分工合作。(4)可移植性好,寫好的一個C語言算法可方便地移植到其他單片機(jī)上,而匯編語言相對要復(fù)雜得多。(5)可直接操作硬件。結(jié)論:(1)C51程序和C程序一樣,也是由函數(shù)構(gòu)成的。一個C51程序至有且只有一個main函數(shù),可以有零個或多個其他函數(shù),因此函數(shù)是C51程序的基本單位。main函數(shù)可以直接書寫語句或者調(diào)用其他函數(shù)來實(shí)現(xiàn)功能,被調(diào)用的函數(shù)可以是編譯器提供的庫函數(shù),也可以是用戶根據(jù)需要編寫的函數(shù)(如delay函數(shù))。使用KeilC編寫的任何程序都可以直接調(diào)用其提供的庫函數(shù),調(diào)用時只需要包含具有該函數(shù)的頭文件即可。KeilC提供了100多個庫函數(shù)供用戶直接使用。(2)一個函數(shù)由以下兩部分組成。函數(shù)的首部,包括函數(shù)名、函數(shù)類型、函數(shù)參數(shù)名、參數(shù)類型。如例3.1中delay函數(shù)的首部為voiddelay(uintt)↓↓↓↓函數(shù)類型函數(shù)名參數(shù)類型參數(shù)名函數(shù)體,即函數(shù)首部下面大括號里的內(nèi)容。(3)一個C51程序從main函數(shù)開始執(zhí)行,不管main函數(shù)在什么位置。(4)C51中字母區(qū)分大小寫,如定義是sbitLED=P2^7,若后面寫成p2^7,在編譯時就會出現(xiàn)錯誤。(5)C51書寫自由,一行可以寫幾個語句,一個語句也能寫在幾行上。(6)每個語句必須以分號結(jié)束。(7)C51中的注釋可以采用兩種符號。第一種是“/*…*/”符號,從“/*”開始直到“*/”為止,中間的內(nèi)容全部都是注釋;第二種是“//”引導(dǎo)的注釋語句,“//”后面的內(nèi)容是注釋,這種注釋只對本行有效。任務(wù)二C51數(shù)據(jù)類型和數(shù)據(jù)存儲類型1.常量與變量(1)常量和符號常量在程序運(yùn)行過程中,其值不能改變的量稱為常量,如:10、0、0x45等。常量也可以用一個標(biāo)識符來表示,稱之為符號常量。sbitLED=P2^7;//位變量定義,用LED符號表示P2.7引腳(2)變量在程序運(yùn)行過程中值可以改變的量稱為變量,因?yàn)橹蛋l(fā)生改變,所以需要安排一個存儲單元保存該變量。因此一個變量應(yīng)該有一個名字,在存儲器中占據(jù)一定的存儲單元,在該存儲單元中存放變量的值。C51對變量的命名規(guī)則:變量名只能由字母、數(shù)字和下劃線3部分構(gòu)成,第一個符合不能為數(shù)字;C51對變量的定義格式如下:[存儲種類]數(shù)據(jù)類型[存儲器類型]變量名表;inta;2.整型數(shù)據(jù)(1)整型常量的表示方法整型常量即整常數(shù),包括正整數(shù)、負(fù)整數(shù)和0,不能是小數(shù)??梢允鞘M(jìn)制、八進(jìn)制(以0開頭)和十六進(jìn)制(以0x開頭)。(2)整型變量整型變量的基本類型是int,可以根據(jù)數(shù)值的范圍將變量定義為基本整型、短整型或長整型,在int之前分別加上修飾符:short(短整型)或long(長整型)。對KeilC51來說,基本整型和short型都是用2字節(jié)來存儲,long型用4個字節(jié)來存儲。類型字節(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; //定義一個整型變量aunsignedinta1,a2;//定義兩個整型變量a1,a2longb; //定義一個長整型變量bunsignedlongb1,b2;//定義兩個長整型變量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語言中的實(shí)型變量分為單精度(float)、雙精度(double)和長雙精度(longdouble)三種,但KeilC不支持后兩種,所以這里不做介紹。float型占用4個字節(jié),定義實(shí)型變量的形式如下:float變量名1[,變量名2,…];C51中實(shí)型數(shù)的使用應(yīng)該注意以下幾點(diǎn):a.在8位單片機(jī)中一般不要使用實(shí)型數(shù),這樣會降低程序的運(yùn)行速度,增加程序的長度。b.程序中如果確實(shí)用到了實(shí)型數(shù),一般不是因?yàn)橐褂眯?shù)點(diǎn),而是因?yàn)橛闷渌愋偷淖兞糠秶粔虼蟆.很多時候,可以用長整型來代替實(shí)型。4.字符型數(shù)據(jù)(1)字符型常量的表示方法C51中字符型常量是用單引號括起來的一個字符,如‘a(chǎn)’、‘x’、‘?‘等都是字符型常量。(2)字符型變量的表示方法字符型變量用來存放字符常量,一個字符型變量只能存放一個字符。字符型變量的定義形式為:char變量名;如:chara;表示定義了一個字符型變量a,a中可以存放一個字符,可以用下面的賦值語句給a賦值:a='c';5.數(shù)組類型(1)一維數(shù)組的定義數(shù)組的維數(shù)是指表示數(shù)組使用的下標(biāo)個數(shù),如果數(shù)組中每個元素只帶有一個下標(biāo),稱這樣的數(shù)組為一維數(shù)組。一維數(shù)組的定義形式為:類型說明符數(shù)組名[常量表達(dá)式];如:inta[4];(2)一維數(shù)組的引用C51中,一個數(shù)組不能整體應(yīng)用,數(shù)組名是一個地址常量,不能對其賦值,只能使用數(shù)組中的元素。方法如下:數(shù)組名[下標(biāo)]下標(biāo)可以是整型變量或整型表達(dá)式,如a[0]、a[i](i是一個整型變量)。(3)一維數(shù)組的初始化a.在定義數(shù)組時對數(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.對全部數(shù)組元素賦值時,可以不指定數(shù)組長度。如:“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ù)組的庫函數(shù)。(6)指針類型指針的含義是地址,所謂變量的指針就是指變量的地址,定義指針類型的變量實(shí)際上是定義一種用來存儲地址的變量。具體定義為:charxdata*ptr;a.定義指針類型變量時,在變量名前加“*”,變量名取名規(guī)則和前面一般變量相同。b.xdata是指ptr里存儲的是定義在外部數(shù)據(jù)存儲器里變量的地址,所以ptr占2個字節(jié)。(7)KeilC51中特有的數(shù)據(jù)類型a.位型變量位型變量實(shí)際是定義一個二進(jìn)制位來存儲數(shù)據(jù),其值有“0”和“1”兩種。定義形式如下:bit變量名;如:bitflag; //定義一個位變量flagb.特殊功能寄存器(sfr)型變量51單片機(jī)內(nèi)部的特殊功能寄存器并不能直接被C51所接受,為了定義這些特殊功能寄存器,增加了sfr、sfr16、sbit這3個關(guān)鍵詞。sfr是定義特殊功能寄存器和其地址的對應(yīng)關(guān)系,其用法為sfr變量名=地址值;在特殊功能寄存器中,有一些是由兩個地址連續(xù)的8位寄存器組成,如DPTR是由DPH和DPL組成,可以分開定義這兩個特殊功能寄存器,也可以用sfr16來定義,如:sfr16DPTR=0x82;sbit是定義特殊功能寄存器中可以位尋址的相應(yīng)位,sbit的用法有以下三種。sbit位變量名=位地址值;sbit位變量名=SFR名稱^變量位地址值;sbit位變量名=SFR地址^變量位地址值;(8)數(shù)據(jù)的存儲類型及存儲器的存儲模式C51存儲類型與51單片機(jī)存儲空間的對應(yīng)關(guān)系存儲區(qū)描述data片內(nèi)RAM的低128字節(jié),可在一個周期內(nèi)直接尋址bdata片內(nèi)RAM的位尋址區(qū),16字節(jié)idata片內(nèi)RAM的256字節(jié),必須采用間接尋址xdata外部數(shù)據(jù)存儲區(qū),使用DPTR間接尋址pdata外部存儲區(qū)的256字節(jié),通過P0口的地址對其尋址。使用MOVX@Ri,需要兩個指令周期code程序存儲區(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)算符和括號將操作數(shù)(運(yùn)算對象)連接起來,形成符合C51語法規(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ù)據(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)算符符號“=”為賦值運(yùn)算符,其作用是將一個數(shù)據(jù)賦給一個變量,如x=5的作用是將常數(shù)5賦給變量x。也可以將一個表達(dá)式的值賦給變量,如x=5+y。(2)類型轉(zhuǎn)換賦值運(yùn)算符的兩側(cè)如果類型不一樣,也是可以賦值的,但賦值時需要進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。(3)賦值表達(dá)式賦值表達(dá)式的一般形式為:變量賦值運(yùn)算符表達(dá)式(4)復(fù)合賦值運(yùn)算符+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=3.逗號運(yùn)算符和逗號表達(dá)式在C51中,多個表達(dá)式可以用逗號分開,如3+5,5+6,7+8,其中的逗號稱為逗號運(yùn)算符,由逗號運(yùn)算符組成的表達(dá)式稱為逗號表達(dá)式,其一般形式為:表達(dá)式1,表達(dá)式2,…,表達(dá)式n逗號表達(dá)式的求解過程是:先求表達(dá)式1,再求表達(dá)式2,直到最后一個表達(dá)式,但整個表達(dá)式的值是最后一個表達(dá)式的值。如3+5,5+6,7+8逗號表達(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)算符將兩個表達(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)算符將兩個表達(dá)式連接起來的式子稱為邏輯表達(dá)式,邏輯表達(dá)式的運(yùn)算結(jié)果用“1”表示“真”,用“0”表示“假”。但在判斷一個量是否為“真”時,以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)。【例3.5】求兩個數(shù)的和。定義兩個變量,先對其進(jìn)行賦值,再求出兩個數(shù)的和,程序代碼如下。voidmain(){ inta,b,sum; a=3; b=2; sum=a+b;}2.選擇結(jié)構(gòu)選擇結(jié)構(gòu),是一種根據(jù)選擇方式,可以選擇書寫的語句進(jìn)行執(zhí)行的一種結(jié)構(gòu)(1)if語句if(表達(dá)式)語句如果表達(dá)式為“真”,則執(zhí)行語句,否則執(zhí)行if語句后面的語句,如:if(a<5)b=3;if(表達(dá)式)語句1 else語句2如果表達(dá)式為“真”,則執(zhí)行語句1,否則執(zhí)行語句2,如:if(a<5)b=3;elseb=-3;if(表達(dá)式1)語句1elseif(表達(dá)式2)語句2elseif(表達(dá)式3)語句3……elseif(表達(dá)式m)語句melse語句n如:if(a>10)b=1;elseif(a>6)b=2;elseif(a>2)b=3;elseb=4;例如:1.采用if-else-if語句實(shí)現(xiàn)汽車轉(zhuǎn)向燈控制2.電路如圖3-4所示。要求:通電初始,燈全滅;按住K1,8個LED燈全亮;松開K1,燈全滅。(2)if語句的嵌套(省略)(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語句實(shí)際問題中,往往遇到以一個變量或表達(dá)式的值為判斷條件,將此變量或表達(dá)式的值分成幾段,每一段對應(yīng)一種選擇或操作,這種情況用if語句來嵌套非常麻煩,于是,C51提供了switch語句。switch語句的一般結(jié)構(gòu)如下:switch(表達(dá)式){case常量表達(dá)式1:語句1;break;case常量表達(dá)式2:語句2;break;case常量表達(dá)式n:語句n;break;default:語句n+1;break;}switch語句后面的表達(dá)式可以是任何類型。若表達(dá)式的值與某一個case后面的常量表達(dá)式值相同,就開始執(zhí)行其后面的語句;如果沒有一個case后面的常量表達(dá)式值與表達(dá)式值相同,則執(zhí)行default后面的語句。每一個case后面的常量表達(dá)式值必須不同。執(zhí)行完一個case后面的語句后,系統(tǒng)并不跳出,而是執(zhí)行后面的case語句,直到結(jié)束。如果需要執(zhí)行完當(dāng)前case語句后,系統(tǒng)就跳出,需要在后面加break,如:case常量表達(dá)式:語句;break;【例3.9】電路如圖3-4所示。要求:通電初始,燈全滅;按住K1,D1亮;按住K2,D2亮;不按K1和K2,D3~D8亮。程序如下:#include<reg51.h>voidmain(){ unsignedcharkey;//八個按鍵從P3口輸入,定義為無符號字符型 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)是一種一部分語句需要重復(fù)執(zhí)行的一種結(jié)構(gòu)。循環(huán)是指反復(fù)執(zhí)行某一部分程序行的操作,重復(fù)執(zhí)行的這一部分程序行稱為循環(huán)體。循環(huán)結(jié)構(gòu)使得程序結(jié)構(gòu)變得簡單、清晰、易于修改、占用較少內(nèi)存。常見的循環(huán)結(jié)構(gòu)有兩種:當(dāng)型循環(huán)和直到型循環(huán)。無論是哪種類型的循環(huán),都必須包含四個組成部分:循環(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)鍵,每個循環(huán)結(jié)構(gòu)必須選擇一個控制循環(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等語句。(1)while循環(huán)語句while語句的一般表達(dá)形式為: while(表達(dá)式) {語句}當(dāng)表達(dá)式的判斷為“真”時,執(zhí)行大括號內(nèi)的語句,否則不執(zhí)行。(2)do-while循環(huán)語句do-while語句是先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立,其一般形式為:do{語句}while(表達(dá)式);while和do-while語句雖然都是循環(huán)語句,但是兩者是有區(qū)別的,do-while語句不管條件是否成立,至少都會執(zhí)行一次循環(huán)體;而while語句,如果條件不成立,則不會執(zhí)行循環(huán)體。(3)for循環(huán)語句for語句的一般形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){語句}for循環(huán)語句的執(zhí)行過程如下。a.先求解表達(dá)式1。b.求解表達(dá)式2,如果結(jié)果為“真”,即條件成立,則執(zhí)行循環(huán)體語句;如果結(jié)果為“假”,轉(zhuǎn)到第(5)步。c.求解表達(dá)式3。d.轉(zhuǎn)回第(2)步。e.退出for循環(huán)語句,執(zhí)行下面的語句。for循環(huán)中有幾種特例,分析如下。a.表達(dá)式1可以沒有,但其分號不能省略。b.表達(dá)式2也可以沒有,同樣分號不能省略,這樣認(rèn)為條件永遠(yuǎn)滿足。c.表達(dá)式3也可以省略。d.如果三個表達(dá)式都省略,即for(;;),它的作用相當(dāng)于while(1),構(gòu)成了一個無限循環(huán)的過程。(4)break語句和continue語句在一個循環(huán)語句中,可以通過判斷條件來退出循環(huán),也可以通過break語句來強(qiáng)制退出循環(huán)。continue語句用于結(jié)束本次循環(huán),即跳過循環(huán)體下面的語句,而直接進(jìn)行下一次是否循環(huán)的判斷。eg:任務(wù)五函數(shù)1.函數(shù)的定義一個完整的C51程序可由一個主函數(shù)和若干個子函數(shù)組成,由主函數(shù)調(diào)用子函數(shù),子函數(shù)之間也可以互相調(diào)用,同一個函數(shù)可以被一個或多個函數(shù)調(diào)用任意次。函數(shù)定義的一般形式為:函數(shù)返回值類型函數(shù)名(形式參數(shù)列表) //函數(shù)首部{ 聲明部分; 執(zhí)行部分;}說明:函數(shù)包括兩部分:函數(shù)首部和函數(shù)體。函數(shù)體用大括號“{}”括起來;函數(shù)體包括兩部分:聲明部分和執(zhí)行部分。聲明部分主要用于定義變量,以及對定義在該函數(shù)之后的函數(shù)進(jìn)行聲明;執(zhí)行部分完成函數(shù)功能;如果沒有形式參數(shù)列表,則為無參函數(shù),但函數(shù)名后的括號必須有;如果函數(shù)有返回結(jié)果,則返回值類型與結(jié)果類型一致,函數(shù)體中包括return語句;如果函數(shù)不需要返回結(jié)果,則將返回值類型定義為void類型,函數(shù)體中不需要return語句。2.函數(shù)的調(diào)用形式(1)函數(shù)調(diào)用的一般形式為: 函數(shù)名(實(shí)參列表);(2)調(diào)用函數(shù)的聲明和函數(shù)原型在一個函數(shù)中調(diào)用另一個函數(shù)必須同時具備以下一些條件。a.被調(diào)函數(shù)一定存在,可以自己編寫,也可以是庫函數(shù)。b.如果是庫函數(shù),一般應(yīng)在文件開頭用#include命令將調(diào)用庫函數(shù)時所用到的信息包含到文件中。c.如果使用用戶自定義的函數(shù),而且該函數(shù)與調(diào)用它的函數(shù)(主調(diào)函數(shù))在同一文件中,一般還應(yīng)該在主調(diào)函數(shù)中對被調(diào)用的函數(shù)做聲明。(3)函數(shù)參數(shù)傳遞函數(shù)之間參數(shù)的傳遞由函數(shù)調(diào)用時主調(diào)函數(shù)的實(shí)際參數(shù)(簡稱實(shí)參)和被調(diào)函數(shù)的形式參數(shù)(簡稱形參)之間的單向復(fù)制。所謂的實(shí)際參數(shù)是指調(diào)用時函數(shù)名后面括號里的表達(dá)式,其個數(shù)和被調(diào)函數(shù)的形式參數(shù)個數(shù)一致,以intmax(intx,inty)為例,定義的形式參數(shù)有x和y兩個,當(dāng)主調(diào)函數(shù)調(diào)用時,將會寫成如下形式:a=max(5,9);a是假設(shè)主調(diào)函數(shù)中的一個變量,5和9是實(shí)際參數(shù),在調(diào)用時,把5賦給x、9賦給y。3.局部變量和全局變量a.局部變量在一個函數(shù)內(nèi)部定義的變量稱為局部變量,它只在這個函數(shù)內(nèi)有效。b.全局變量一個源文件可以包含一個函數(shù)或若干個函數(shù),在函數(shù)之外定義的變量稱為全局變量,全局變量在本文件的任何函數(shù)中都可以使用。4.intrins.h庫函數(shù)介紹5.中斷函數(shù)(1)中斷函數(shù)的格式void函數(shù)名(void)interruptn其中,n對應(yīng)中斷源的類型號。以51系列單片機(jī)為例,n的編號為0~4,分別對應(yīng)定時/計(jì)數(shù)器0中斷、外部中斷0、定時/計(jì)數(shù)器1中斷、外部中斷1、串行中斷。6.寄存器組的切換學(xué)生總結(jié)教師小結(jié)課后作業(yè)【學(xué)生總結(jié)感受收獲】學(xué)生總結(jié)本節(jié)課內(nèi)容,談?wù)勑牡皿w會【教師小結(jié)提煉升華】教師小結(jié)點(diǎn)評提出要求、期望本章節(jié)介紹了C51所涉及的相關(guān)語法約定和使用方式,具體介紹了1.介紹了C51概述2.介紹了數(shù)據(jù)類型、運(yùn)算符、表達(dá)式、語句3.介紹了C51程序結(jié)構(gòu)、函數(shù)結(jié)構(gòu)希望大家在后面的實(shí)訓(xùn)項(xiàng)目學(xué)習(xí)中,多讀程序,多試寫程序?!菊n后作業(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)容會放在具體的實(shí)驗(yàn)項(xiàng)目中,通過試驗(yàn)項(xiàng)目加深理解和掌握?!秵纹瑱C(jī)應(yīng)用技術(shù)教案》本單元課題第四部分單片機(jī)的各種控制項(xiàng)目1單片機(jī)對LED燈的控制課次本單元共課次備課節(jié)數(shù)共6節(jié)授課節(jié)數(shù)共6節(jié)授課時間第周授課地點(diǎn)教學(xué)用具多媒體教室、仿真軟件、動畫演示等教學(xué)方法演示法、講解法、討論法等教學(xué)目標(biāo)1.掌握單片機(jī)控制的開發(fā)控制流程;2.掌握單片機(jī)點(diǎn)亮一個LED燈;3.掌握單片機(jī)控制LED燈的閃爍;4.掌握單片機(jī)對LED燈循環(huán)點(diǎn)亮控制;5.培養(yǎng)邏輯思維和利用知識解決實(shí)際問題的能力;重點(diǎn)難點(diǎn)重點(diǎn):單片機(jī)對LED燈的各種控制;難點(diǎn):各類控制代碼的讀、寫和設(shè)計(jì);參考資料《單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程》郭志勇人民郵電出版社《單片機(jī)原理及應(yīng)用》(C51語言)董國增清華大學(xué)出版社《51單片機(jī)應(yīng)用技術(shù)》孫立書,清華大學(xué)出版社等課程思政教學(xué)流程說明教學(xué)組織過程設(shè)計(jì)學(xué)生舉例參與仿真演示創(chuàng)設(shè)情景師生小結(jié)進(jìn)入新課學(xué)習(xí)出示課題師生互動,教師重點(diǎn)幫助學(xué)生理解有關(guān)概念【創(chuàng)設(shè)情景新課導(dǎo)入】我們在前面章節(jié)學(xué)習(xí)了單片機(jī)的理論、開發(fā)流程、C51語言的相關(guān)知識,但對于單片機(jī)是如何去控制LED燈,讓控制的LED燈電路發(fā)出一系列規(guī)律的點(diǎn)亮和關(guān)閉,我們還不夠了解和認(rèn)知,本章節(jié)我們一起來學(xué)習(xí)單片機(jī)對LED的各種控制。【引導(dǎo)探究學(xué)習(xí)新課】任務(wù)一點(diǎn)亮一個發(fā)光二極管1.工作任務(wù)使用AT89S52單片機(jī),P1.0引腳接發(fā)光二極管(LED)的陰極,通過C語言程序控制,從P1.0引腳輸出低電平,使發(fā)光二極管點(diǎn)亮。2.控制電路用PROTEUS設(shè)計(jì)點(diǎn)亮一個LED控制電路新建設(shè)計(jì)文件保存設(shè)計(jì)文件選取元器件放置元器件編輯元器件放置終端連線屬性設(shè)置電氣規(guī)則檢測3.控制代碼學(xué)生猜想危害機(jī)理教師講解拓展延伸閱讀教材學(xué)生討論用KEILC51編寫第一個C語言程序建立第一個C程序項(xiàng)目建立工程文件建立源文件加載源文件設(shè)置工程的配置參數(shù)進(jìn)行編譯和連接進(jìn)入調(diào)試模式全

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論