單片機(jī)的概念與開發(fā)環(huán)境_第1頁
單片機(jī)的概念與開發(fā)環(huán)境_第2頁
單片機(jī)的概念與開發(fā)環(huán)境_第3頁
單片機(jī)的概念與開發(fā)環(huán)境_第4頁
單片機(jī)的概念與開發(fā)環(huán)境_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 第1講 認(rèn)識單片機(jī)學(xué)習(xí)環(huán)境 主講:湯旭慧Addr:行政樓509第二工業(yè)中心418微型計(jì)算機(jī)硬件結(jié)構(gòu) 微機(jī)硬件組成 顯示器主機(jī)鍵盤鼠標(biāo)微型計(jì)算機(jī)硬件結(jié)構(gòu)運(yùn) 算 器控 制 器CPU存 儲 器輸入接口電路輸入設(shè)備輸出設(shè)備輸出接口電路硬件系統(tǒng) 什么是單片機(jī)?CPU輸入設(shè)備輸出設(shè)備軟件系統(tǒng)+輸入接口電路輸出接口電路運(yùn) 算 器控 制 器存 儲 器微型計(jì)算機(jī)系統(tǒng) 單片微型計(jì)算機(jī)是指集成在一個芯片上的微型計(jì)算機(jī),簡稱單片機(jī)。 單片機(jī)實(shí)質(zhì)上就是一個芯片,國際通用的名字是Microcontroller Unit。單片機(jī) 工欲善其事,必先利其器刀槍劍戟:電腦一臺:寫程序、下載程序及實(shí)現(xiàn)通信控制功能。建議使用WIN

2、XP或WIN2000系統(tǒng),硬件接口上一定要有9針串口、25針并口(打印機(jī)接口)及USB口。ISP下載線及ISP下載軟件:就是一個設(shè)計(jì)有簡單電路的單片機(jī)程序下載工具。配上小巧的的ISP下載軟件就可以施與單片機(jī)靈魂了。實(shí)驗(yàn)板(或開發(fā)系統(tǒng)):具體就是包含電源和單片機(jī)最小系統(tǒng)的電路(保證單片機(jī)正常工作的最基本的電路部分)。強(qiáng)烈建議自己動手制作實(shí)驗(yàn)板。隨時跟隨老師的教學(xué)不斷擴(kuò)展。ISP:In system Program 在線編程單片機(jī)我們的教學(xué)實(shí)驗(yàn)板Keil 軟件編輯編譯C語言源代碼:USB驅(qū)動程序下載程序軟件工作環(huán)境參考教材通過22個典型工作任務(wù),介紹單片機(jī)控制系統(tǒng)的硬件設(shè)計(jì)與C語言軟件編程方法結(jié)合

3、應(yīng)用實(shí)訓(xùn),提供許多小經(jīng)驗(yàn)、小提示、小知識等實(shí)用性內(nèi)容,增強(qiáng)可讀性和趣味性總體教學(xué)目標(biāo)掌握利用嵌入式C語言對硬件進(jìn)行控制的基本方法,并根據(jù)實(shí)際開發(fā)需要靈活運(yùn)用。 掌握MCS-51單片機(jī)的體系結(jié)構(gòu)、開發(fā)環(huán)境、程序設(shè)計(jì)、產(chǎn)品設(shè)計(jì)與調(diào)試的基礎(chǔ)知識與核心技術(shù),并初步培養(yǎng)利用基于C語言軟件環(huán)境下MCS-51單片機(jī)應(yīng)用項(xiàng)目開發(fā)的能力。教學(xué)的總體安排掌握嵌入式C語言的基本特點(diǎn)和基本語句,比較其與標(biāo)準(zhǔn)C語言有什么不同。掌握利用C語言進(jìn)行硬件系統(tǒng)的模塊化軟件設(shè)計(jì)方法。通過軟硬結(jié)合的方式掌握MCS-51單片機(jī)的體系特點(diǎn)及基本應(yīng)用方法。完成一項(xiàng)綜合設(shè)計(jì)(獨(dú)立完成電路設(shè)計(jì)、軟件設(shè)計(jì)及調(diào)試)。除了職業(yè)崗位技能之外,課程中

4、還注意培訓(xùn)學(xué)生的表達(dá)能力、學(xué)習(xí)能力和協(xié)作能力。教學(xué)要求課程特點(diǎn):實(shí)踐性強(qiáng)學(xué)習(xí)方法:學(xué)會查找和閱讀元器件使用手冊和參考資料熟悉常用的元器件及其應(yīng)用電路。在理解硬件原理的基礎(chǔ)上進(jìn)行軟件編程。注意軟件編程思路和調(diào)試技巧。做好課堂筆記、故障記錄及其解決方法。教與學(xué)的探討請大膽說出上學(xué)期學(xué)習(xí)單片機(jī)時遇到的困惑和問題,并將兩款機(jī)器特點(diǎn)進(jìn)行對比。請大膽講出對本學(xué)期學(xué)習(xí)本課程的期待并討論。請大膽對教師的教學(xué)方式方法提出相關(guān)要求。課程考核要求1. 平時成績占總成績60%(包括平時表現(xiàn)20%、實(shí)訓(xùn)項(xiàng)目25%、綜合設(shè)計(jì)模塊15%)。平時表現(xiàn):包括平時出勤、課堂紀(jì)律、課堂表現(xiàn)、平時作業(yè)、實(shí)訓(xùn)報(bào)告或老師自行安排的隨堂小

5、考等,各部分所占比例老師根據(jù)具體情況自行掌握。實(shí)訓(xùn)項(xiàng)目:是指平時在課堂上考察學(xué)生分析問題和解決問題的能力;綜合設(shè)計(jì)模塊:以課程設(shè)計(jì)的形式進(jìn)行,課程設(shè)計(jì)分成小組進(jìn)行,可在課程進(jìn)行的過程中選題,由組長分配工作任務(wù),最后采取答辯或檢查的形式。2. 期末綜合考核占總成績的 40%。期末集中進(jìn)行考試,考察學(xué)生對基本知識和基本技能的掌握情況。參考教材或網(wǎng)絡(luò)資源 C語言程序設(shè)計(jì),譚浩強(qiáng),清華大學(xué)出版社 高質(zhì)量程序設(shè)計(jì)指南C+/C語言(第3版),林銳,韓永泉,電子工業(yè)出版社 51單片機(jī)工程師是怎樣煉成的基于C語言+Proteus仿真,老楊,電子工業(yè)出版社 深職院國家精品課程網(wǎng)址: /2008/dpj/ 宏晶單

6、片機(jī)網(wǎng)址:http:/ 51單片機(jī)教程網(wǎng):/ 51單片機(jī)學(xué)習(xí)網(wǎng):/參考文章: /Article/dpj/xljc/dpjrmzz/200802/378_2.html帶你進(jìn)入單片機(jī)世界 點(diǎn)亮發(fā)光二極管LED需要用到的軟件及工具1. C編譯軟件Keil4 軟件2. 編程下載軟件:PZISP自動下載軟件3. ISP下載器4. 實(shí)驗(yàn)電路板HC6800EM3 v22工作環(huán)境建立步驟安裝Keil4軟件(版本:cavr1.259)安裝PZISP自動下載軟件安裝USB驅(qū)動程序。到“設(shè)備管理器”的“端口”中查看虛擬的串口端口號。啟動C編譯軟件Keil4,進(jìn)行編輯編譯生成.hex文件。打開目標(biāo)板電源,嘗試啟動PZ

7、ISP自動下載軟件建立通信連接,實(shí)現(xiàn)在線下載。Keil4軟件編輯編譯環(huán)境 編輯源代碼,進(jìn)行編譯鏈接生成.hex的文檔2.下載程序 將.hex文檔燒錄到單片機(jī)的程序存儲器中51單片機(jī)系統(tǒng)開發(fā)流程小知識1:我們所建的“工程”是指一個項(xiàng)目的所有文件集合,包括一些鏈接文件、目標(biāo)文件、源代碼文件等,因?yàn)橐粋€程序從編寫到生成 HEX文件是許多文件共同努力的結(jié)果。 小知識2:單片機(jī)內(nèi)部集成了可以反復(fù)擦寫 10萬次且掉電不會丟失數(shù)據(jù)的存儲單元(ROM單元),用 ISP下載線下載的程序就存放在這里。 閱讀程序“八個發(fā)光二極管的閃爍控制” /*LED閃爍的簡單試驗(yàn)連接方法: JP11(P2)和JP1用8PIN排線

8、連接起來*/#include /此文件中定義了51的一些特殊功能寄存器void delay(unsigned int i); /聲明延時函數(shù)main( ) P2 = 0 x00; /置P0口為低電平 delay(600); /調(diào)用延時程序 P2 = 0 xff; /置P0口為高電平 delay(600); / 調(diào)用延時程序/*延時函數(shù)*/void delay(unsigned int i) unsigned char j; for(i; i 0; i-) /循環(huán) 600*255 次 for(j = 255; j 0; j-);進(jìn)行下載通信故障時的處理1.芯片類型要和實(shí)驗(yàn)板使用單片機(jī)要匹配 2.

9、使用STC 51單片機(jī)時J0的短路帽必需短接Auto3.使用開發(fā)箱的USB:將J-TXD和J-RXD必需跳到USB端 4.打開電源開關(guān)5.將單片機(jī)放在單片機(jī)鎖緊座的最中間,以免接觸不良6.檢測單片機(jī)是否放反7.晶振(sol)是否插上8.單片機(jī)ISP功能損壞LED閃爍過程實(shí)際上就是LED交替亮、滅的過程。 單片機(jī)運(yùn)行一條指令的時間只有幾個微秒,時間太短,眼睛無法分辨,看不到閃爍效果。用單片機(jī)控制LED閃爍時,需要增加一定的延時時間,過程如下:點(diǎn)亮延時熄滅延時單片機(jī)實(shí)現(xiàn)閃爍單片機(jī)外部引腳2、振蕩電路:XTAL1、XTAL24、復(fù)位引腳:RST3、并行口:P0、P1、P2、P37、ALE:地址鎖存控

10、制信號1、電源線:VCC(+5V)、VSS(地)5、EA:訪問程序存儲控制信號6、PSEN:外部ROM讀選通信號C語言編寫代碼益處AVR單片機(jī)是唯一一個針對C和高級語言設(shè)計(jì)的MCU相比其他處理器,AVR的代碼可縮小50%相對于匯編語言,C代碼幾乎不會有性能差別,但大大縮短開發(fā)時間維護(hù)代碼所需工程成本更低以更直接的方式編寫代碼代碼可以重復(fù)使用,節(jié)省開發(fā)時間認(rèn)識第一個C語言程序與匯編語言相比,C語言的優(yōu)點(diǎn)如下:不要求編程者詳細(xì)了解單片機(jī)的指令系統(tǒng),但需了解單片機(jī)的存儲器結(jié)構(gòu);結(jié)構(gòu)清晰,程序可讀性強(qiáng);可移植性好;編譯器提供了很多標(biāo)準(zhǔn)庫函數(shù),具有較強(qiáng)的數(shù)據(jù)處理能力。字節(jié)(byte)和位(bit)的關(guān)系

11、1個二進(jìn)制位取值: 0 或 11個字節(jié)包含8位二進(jìn)制數(shù)P1認(rèn)識C語言 C語言程序以函數(shù)形式組織程序結(jié)構(gòu),C程序中的函數(shù)與其他語言中所描述的“子程序”或“過程”的概念是一樣的。 C程序基本結(jié)構(gòu)認(rèn)識C語言 一個C語言源程序是由一個或若干個函數(shù)組成,每一個函數(shù)完成相對獨(dú)立的功能。 每個C程序都必須有(且僅有)一個主函數(shù)main(),程序的執(zhí)行總是從主函數(shù)開始,調(diào)用其他函數(shù)后返回主函數(shù)main(),不管函數(shù)的排列順序如何,最后在主函數(shù)中結(jié)束整個程序。 C語言程序使用“;”作為語句的結(jié)束符,一條語句可以多行書寫,也可以一行書寫多條語句。C語言體系結(jié)構(gòu)是函數(shù)結(jié)構(gòu)/*點(diǎn)亮第一個發(fā)光二極管LED位操作法連接方

12、法: JP11(P2)和JP1用8PIN排線連接起來*/#include /51系列單片機(jī)頭文件sbit led1=P20; /聲明單片機(jī)P2口的第一位void main( ) led1=0;/點(diǎn)亮第一個發(fā)光二極管 while(1);/程序停止注釋部分:由“/* */”配對括起來的部分內(nèi)容,可以包括多行。也可以由“/”引導(dǎo)的一行內(nèi)容。預(yù)編譯命令:文件包含指令。定義了一些與I/0接口有關(guān)的特定變量,他們對應(yīng)單片機(jī)內(nèi)部的特殊功能寄存器,用大寫字母書寫。函數(shù)頭函數(shù)體主函數(shù)main( ):C程序總是從main( )函數(shù)開始執(zhí)行。而不論其在程序中的位置如何。當(dāng)主函數(shù)執(zhí)行完畢時,亦即程序執(zhí)行完畢。whil

13、e語句用來實(shí)現(xiàn)“當(dāng)型”循環(huán),執(zhí)行過程:首先判斷表達(dá)式, 當(dāng)表達(dá)式的值為真(非0)時,反復(fù)執(zhí)行循環(huán)體。為假(0)時執(zhí)行循環(huán)體外面的語句。循環(huán)體循環(huán)繼續(xù)的條件表達(dá)式下一條語句非0(真)0(假)循環(huán)體語句組while執(zhí)行過程格式:while(循環(huán)繼續(xù)的表達(dá)式) 語句組; 花括號不能丟掉!循環(huán)語句 循環(huán)語句 while(1);等同于 while(1);無限次執(zhí)行空語句,原地踏步語句,停機(jī)while(1) 循環(huán)體;無限次執(zhí)行循環(huán)體C語言結(jié)構(gòu)風(fēng)格特點(diǎn)1.習(xí)慣用小寫字母,大小寫敏感。2.一行上可以寫幾條語句,一條語句也可以寫在幾行上??墒褂每招泻涂崭?.C程序由語句組成,用“;”作為語句終止符4. 書寫上注

14、意使用縮進(jìn)格式。5.程序由一個或多個函數(shù)組成,必須有且只能有一個主函數(shù)main()6.程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。7. 允許使用注釋。 C語言的注釋格式為: /* */技巧:為避免遺漏必須配對使用的符號,如注釋符號/* */ 、函數(shù)體的起止標(biāo)識符(花括號 )、圓括號()等等。/*LED閃爍的簡單試驗(yàn)連接方法: JP11(P2)和JP1用8PIN排線連接起來*/#include void delay(unsigned int i); /聲明延時函數(shù)main( ) P2 = 0 x00; /置P0口低電平 delay(600); /調(diào)用延時程序 P2 =

15、 0 xff; /置P0口為高電平 delay(600); / 調(diào)用延時程序C語言體系結(jié)構(gòu)是函數(shù)結(jié)構(gòu)/*點(diǎn)亮第一個發(fā)光二極管LED總線操作法連接方法: JP11(P2)和JP1用8PIN排線連接起來*/#include /51系列單片機(jī)頭文件void main( ) P2=0 xfe;/點(diǎn)亮第一個發(fā)光二極管 while(1);/程序停止注釋部分:由“/* */”配對括起來的部分內(nèi)容,可以包括多行。也可以由“/”引導(dǎo)的一行內(nèi)容。預(yù)編譯命令:文件包含指令。定義了一些與I/0接口有關(guān)的特定變量,他們對應(yīng)單片機(jī)內(nèi)部的特殊功能寄存器,用大寫字母書寫。函數(shù)頭函數(shù)體主函數(shù)main( ):C程序總是從main

16、( )函數(shù)開始執(zhí)行。而不論其在程序中的位置如何。當(dāng)主函數(shù)執(zhí)行完畢時,亦即程序執(zhí)行完畢。C語言體系結(jié)構(gòu)是函數(shù)結(jié)構(gòu)/*LED閃爍的簡單試驗(yàn)連接方法: JP11(P2)和JP1用8PIN排線連接起來*/#include void delay(unsigned int i); /聲明延時函數(shù)main( ) while(1) P2 = 0 x00; /置P2口為低電平 delay(600); /調(diào)用延時程序 P2 = 0 xff; /置P2口為高電平 delay(600); / 調(diào)用延時程序注釋部分:由“/* */”配對括起來的部分內(nèi)容,可以包括多行。也可以由“/”引導(dǎo)的一行內(nèi)容。預(yù)編譯命令:文件包含指

17、令。定義了一些與I/0接口有關(guān)的特定變量,他們對應(yīng)單片機(jī)內(nèi)部的特殊功能寄存器,用大寫字母書寫。函數(shù)頭函數(shù)體主函數(shù)main( ):C程序總是從main( )函數(shù)開始執(zhí)行。而不論其在程序中的位置如何。當(dāng)主函數(shù)執(zhí)行完畢時,亦即程序執(zhí)行完畢。C語言體系結(jié)構(gòu)是函數(shù)結(jié)構(gòu)void delay(unsigned char i)unsigned char j,k;for(k=0;ki;k+) for(j=0;j255;j+);函數(shù)頭函數(shù)體實(shí)訓(xùn)小結(jié) 熟悉Keil4軟件的使用步驟 新建工程新建文件添加文件 編寫程序工程設(shè)置編譯工程 生成.Hex文檔2.下載程序 將.hex文檔燒錄到單片機(jī)的程序存儲器中思考:如何修改

18、程序?qū)崿F(xiàn)加快或減慢發(fā)光二極管的閃爍速度?實(shí)戰(zhàn)演練 請按照本課堂的教學(xué),建立開發(fā)環(huán)境,調(diào)試軟件代碼,并下載實(shí)現(xiàn)如下實(shí)訓(xùn):實(shí)訓(xùn)1:實(shí)現(xiàn)8個燈間隔點(diǎn)亮的流水燈效果。實(shí)訓(xùn)2:實(shí)現(xiàn)8個燈逐一點(diǎn)亮的流水燈效果。 請?jiān)敿?xì)閱讀教材P35“發(fā)光二極管”的應(yīng)用特性部分。開發(fā)環(huán)境的重要設(shè)置與操作配置工程屬性:晶振頻率、“Output”選項(xiàng)卡、設(shè)置軟件仿真調(diào)試。軟件仿真調(diào)試的相關(guān)操作:進(jìn)入程序調(diào)試狀態(tài)單步、跟蹤運(yùn)行斷點(diǎn)運(yùn)行用view菜單查看單片機(jī)資源狀態(tài)用watch窗口查看變量值單片機(jī)內(nèi)部結(jié)構(gòu)時鐘電路CPUROMRAMT0 T1中斷系統(tǒng)串行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定時計(jì)數(shù)器單

19、片機(jī)的特點(diǎn)體積小,重量輕電源單一,功耗低功能強(qiáng),價格低運(yùn)行速度快,抗干擾能力強(qiáng),可靠性高可以嵌入到電子產(chǎn)品中嵌入式應(yīng)用系統(tǒng)單片機(jī)應(yīng)用 工業(yè)方面民用方面儀表方面電訊方面數(shù)據(jù)處理方面汽車方面MCS-51系列單片機(jī)分類MCS-5180C3180C5187C5151系列(Intel)89系列(Atmel)AT89C51(帶4KB的flashROM)AT89C2051(低端,資源較少)AT89S51 (帶4KB的在線可編程flashROM)8031(無ROM)8051(帶4KB掩膜ROM)8751 (帶4KB的EPROM)實(shí)驗(yàn)電路板上的單片機(jī)型號61K請同學(xué)要習(xí)慣閱讀芯片的數(shù)據(jù)手冊datasheetST

20、C90C52RD+型號解讀STC:宏晶單片機(jī)公司標(biāo)志90:是89系列的升級版,硬件和軟件都無需改動,就可以替換 89中的8表示芯片為8051內(nèi)核芯片;9表示內(nèi)含F(xiàn)lashEEPRomC:CMOS產(chǎn)品,LV/LE:低電壓產(chǎn)品,S:ISP下載編程功能5:固定不變2:芯片內(nèi)部程序存儲器的大小,1為4KB,2為8KB,以此類推RD+:STC單片機(jī)內(nèi)部RAM的大小,1280B40:表示芯片外部晶振最高可接入40MHzC:產(chǎn)品級別,表示芯片使用溫度范圍,C商業(yè)級,0-+70度PDIP:產(chǎn)品封裝型號,雙列直插式封裝 封裝形式單片機(jī)最小系統(tǒng)電路圖成家立業(yè)的必要條件開發(fā)板參考電路圖MCU開發(fā)板參考電路圖2白手起

21、家的集體照如何置業(yè)?。恳?、實(shí)地購:華強(qiáng)北賽格二、網(wǎng)購:淘寶或華強(qiáng)電子網(wǎng)http:/注意:AT89S52單片機(jī):分為工業(yè)級(PI)和商業(yè)級(PC)兩種,區(qū)別就是工業(yè)級的工作溫度范圍更寬,也就是比較抗凍。哪個便宜買哪個吧。如果買不到 AT89S52也可以買 AT89S51或是與 89S系列兼容并支持 ISP功能的單片機(jī)。萬用電路板:A4紙大小是最合適的選擇。開創(chuàng)事業(yè)的家把式兒:包括焊接用的電烙鐵、錫絲、助焊劑、導(dǎo)線、鑷子、剪線鉗、一雙勤勞靈巧的手和一顆熱情執(zhí)著的心。 課后制作ISP下載器制作 (并口)我也來做一個單片機(jī)小系統(tǒng)51單片機(jī)晶振電路復(fù)位電路電源電路接口電路1)硬件電路圖關(guān)于編程器功能:將*.HEX或*.BIN格式的代碼文件固化到單片機(jī)內(nèi)部的FLASH中。工作原理:FLASH的高壓模式擦寫速度很快。分類:專用編程器:只能針對某個型號或某個系列的單片機(jī)編程通用編程器:又稱為萬能編程器,可以支持幾乎所有型

溫馨提示

  • 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

提交評論