




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機基礎知識及單片機語言第1頁,共37頁,2022年,5月20日,2點42分,星期二 2、單片機能做什么凡是與控制或簡單計算有關的電子設備都可以用單片機來實現,再根據具體實際情況選擇不同性能的單片機,如:atmel,stc,pic,avr,凌陽,80C51,arm等第2頁,共37頁,2022年,5月20日,2點42分,星期二工業自動化:數據采集、測控技術。智能儀器儀表:數字示波器、數字信號源、數字萬用表、感應電流表等。消費類電子產品:洗衣機、電冰箱、空調機、電視機、微波爐、手機、IC卡、汽車電子設備等。通訊方面:調制解調器、程控交換技術、手機、小靈通等。武器裝備:飛機、軍艦、坦克、導彈、航天
2、飛機、魚雷制導、智能武器等。等等.第3頁,共37頁,2022年,5月20日,2點42分,星期二 3、怎么開始學習?1、實踐第一。2、即缺什么補什么(補充必要的理論知識)。3、做實際小制作積累經驗,比如調試、編程。(可在網絡上搜集題目,也可自己有什么想法大膽的去試驗)第4頁,共37頁,2022年,5月20日,2點42分,星期二4、80C51系列介紹 Intel的:80C31、80C51、87C51,80C32、80C52、87C52等; ATMEL的:89C51、89C52、89C2051等; Philips、華邦、Dallas 、STC 等公司的許多產品 。 80C51是MCS-51系列中的一
3、個典型品種;其它廠商以8051為基核開發出的CMOS工藝單片機產品統稱為80C51系列。當前常用的80C51系列單片機主要產品有:第5頁,共37頁,2022年,5月20日,2點42分,星期二80C51的引腳封裝總線型非總線型第6頁,共37頁,2022年,5月20日,2點42分,星期二第7頁,共37頁,2022年,5月20日,2點42分,星期二 總線(BUS)是計算機各部件之間傳送信息的公共通道。微機中有內部總線和外部總線兩類。內部總線是CPU內部之間的連線。外部總線是指CPU與其它部件之間的連線。 外部總線有三種: 數據總線DB(Data Bus), 地址總線 AB(Address Bus)和
4、控制總線 CB(Control Bus)。第8頁,共37頁,2022年,5月20日,2點42分,星期二CPU:由運算和控制邏輯組成,同時還包括中斷系統和部分外部特殊功能寄存器;RAM:用以存放可以讀寫的數據,如運算的中間結果、最終結果以及欲顯示的數據;ROM:用以存放程序、一些原始數據和表格;I/O口:四個8位并行I/O口,既可用作輸入,也可用作輸出;T/C:兩個定時/記數器,既可以工作在定時模式,也可以工作在記數模式;第9頁,共37頁,2022年,5月20日,2點42分,星期二 五個中斷源的中斷控制系統; 一個全雙工UART(通用異步接收發送器)的串行I/O口,用于實現單片機之間或單片機與微
5、機之間的串行通信; 片內振蕩器和時鐘產生電路,石英晶體和微調電容需要外接。最高振蕩頻率取決于單片機型號及性能。第10頁,共37頁,2022年,5月20日,2點42分,星期二第二部分 單片機C語言入門 1、C51簡介 C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。目前,使用C語言進行程序設計已經成為軟件開發的一個主流。 用C語言開發系統可以大大縮短開發周期,明顯增強程序的可讀性,便于改進、擴充和移植。而針對8051的C語言日趨成熟,成為了專業化的實用高級語言。第11頁,共37頁,2022年,5月20日,2點42分,星期二 C語言作為一種非常方便的語言而得到廣泛
6、的支持,很多硬件開發都用C語言編程,如:各種單片機、DSP、ARM等. C語言程序本身不依賴于機器硬件系統,基本上不作修改就可將程序從不同的單片機中移植過來。 C提供了很多數學函數并支持浮點運算,開發效率高,故可縮短開發時間,增加程序可讀性和可維護性。 C-51的特點第12頁,共37頁,2022年,5月20日,2點42分,星期二C-51與ASM-51(匯編)相比,有如下優點:1.對單片機的指令系統不要求了解,僅要求對8051 的存貯器結構有初步了解;2.寄存器分配、不同存貯器的尋址及數據類型等細節可由編譯器管理;3.程序有規范的結構,可分成不同的函數,這種方式可使程序結構化;4.提供的庫包含許
7、多標準子程序,具有較強的數據處理能力;5.由于具有方便的模塊化編程技術,使已編好程序可容易地移植;第13頁,共37頁,2022年,5月20日,2點42分,星期二2、單片機C程序設計的一般格式幾個基本概念(1)函數:C語言程序由一個主函數和若干個其它函數構成,程序中由主函數調用其它函數,其它函數之間也可以相互調用。(2)指針與指針變量:若定義變量x,&x即為x的指針,指針變量是指針的指針,若xp=&x,利用 *xp即可訪問變量x。(3)#include(包含處理命令):把一個源文件將另外一個源文件的全部內容包含進來,或者說把一個外部文件包含到本文件之中。(4)#define(宏定義):在C程序中
8、,可以指定一標志符去定義一個常量或字符串。第14頁,共37頁,2022年,5月20日,2點42分,星期二單片機C程序的基本結構(1)主函數名必須為main( )。C程序通過函數調用去執行指定的工作。(2)一個函數由說明部分和函數體兩部分組成。函數說明部分是對函數名、函數類型、形參名和形參類型等所做的說明。(3)C程序的執行總是從main( )函數開始,而對該函數的位置無特殊規定。(4)在源程序文件需要包含其它源程序文件時,應在本程序文件頭部用包含命令#include處理。(5)C程序中的一個函數需要調用另一個子函數時,另一個函數應寫在前面,否則應聲明。(6)C程序書寫格式自由,一行可寫一個語句
9、或幾個語句。每個語句結尾用;結束。第15頁,共37頁,2022年,5月20日,2點42分,星期二3、單片機C程序的數據類型常量和符號常量例:#define PARL 3.14159 (PARL即為符號常量)(1)整型常量,如11,o11,0 xff等。(2)實型常量,如0.12,1.55e5等。(3)字符常量,如a、A等。(4)字符串常量,如“a”、“CHINA”等。變量(1) 位變量:bit和sbit(2)字符變量:singed char和unsigned char(3)整型變量:singed int和unsigned int(4)長整型變量:unsigned long和signed lon
10、g第16頁,共37頁,2022年,5月20日,2點42分,星期二(3) 實型變量:float和double(4) 寄存器變量:sfr和sfr164、單片機C程序的運算符和表達式(1)算術運算符13個:+、-、*、/、%、=、+=、-=、*=、/=、%=、+、-(2)關系運算符6個:、=、|、&(相與)、&(變量取地址)(5)指針運算符:*第17頁,共37頁,2022年,5月20日,2點42分,星期二5、單片機C程序的一般語法結構順序結構例:main( ) P0=0 xff; P2=0 x30; P1=0 xff; P3=0 xff; scan( ); test ( ); 第18頁,共37頁,2
11、022年,5月20日,2點42分,星期二分支結構(1)單分支結構形式:if(條件表達式)執行語句; 例:第19頁,共37頁,2022年,5月20日,2點42分,星期二(2)雙分支結構:形式:if(條件表達式)語句1; else 語句2; 例:第20頁,共37頁,2022年,5月20日,2點42分,星期二(3)由雙分支結構變化而成的多分支結構形式: if(表達式1)語句1; else if(表達式2) 語句2; . . else if(表達式n) 語句n; else 語句n+1;第21頁,共37頁,2022年,5月20日,2點42分,星期二例:第22頁,共37頁,2022年,5月20日,2點42
12、分,星期二(4) switchcase多分支轉移結構語句形式: switch(條件表達式) case 常量表達式1:語句1;break; case 常量表達式2:語句2;break; . . . case 常量表達式n:語句n;break; default:語句n+1;break; 第23頁,共37頁,2022年,5月20日,2點42分,星期二例:第24頁,共37頁,2022年,5月20日,2點42分,星期二循環結構(1)while(表達式)循環體語句;例:void delay(unsigned char times) unsigned char I; i=250; while(-times)
13、while(-i); 第25頁,共37頁,2022年,5月20日,2點42分,星期二(2)do循環體語句; while(表達式);(3)for(表達式1;表達式2;表達式3)循環體語句;例:第26頁,共37頁,2022年,5月20日,2點42分,星期二6、C51區別于標準C語言的特點(1)使用文件包含命令#include應注意對應頭文件的名稱,要與規定名稱相符。(2)單片機中,一個變量可放在片內存儲單元,也可放在片外存儲單元,放在片內存儲單元還要區分是否可位尋址,或放在間接尋址區。例:int data x,y; /表示整型變量指定在 片內數據存儲區 char xdata m,n; /表示字符變
14、量指定在片外數據存儲區第27頁,共37頁,2022年,5月20日,2點42分,星期二C51存儲類型存儲類型尋址空間數據長度值域范圍data片內直接尋址 RAM800H7FHidata片內間接尋址 RAM880HFFHpdata分頁尋址片外 RAM800HFFH第28頁,共37頁,2022年,5月20日,2點42分,星期二存儲類型尋址空間數據長度值域范圍xdata片外數據存儲 (64K)160000HFFFFHcode片內統一編址ROM(64K)160000HFFFFHbdata片內可位尋址的RAM(16byet)120H2FH第29頁,共37頁,2022年,5月20日,2點42分,星期二(3)
15、21個SFR只能直接尋址,一般在頭文件中用字節定義方式定義。 如:sfr TMOD=0 x89; (4)C51編譯器編譯源程序時,數據類型和存儲類型都可預先定義,但數據具體放在哪一個單元不由用戶指定。 (5)單片機C程序的中斷程序與匯編語言程序不同,中斷過程通過使用interrupt關鍵字和中斷號(031)來實現。中斷號告訴編譯器中斷程序的入口地址。第30頁,共37頁,2022年,5月20日,2點42分,星期二單片機中斷源與C中斷程序中中斷號對照表C中的中斷號對應單片機中的中斷源C中的中斷號對應單片機中的中斷源0外部中斷03定時器1中斷1定時器0中斷4串行口中斷2外部中斷15定時器2中斷第31
16、頁,共37頁,2022年,5月20日,2點42分,星期二一個定時器0中斷程序編寫格式如下:Void timer0(void) interrupt 1 TR0=0; TH0=0 xff; TL0=0 x30; TR0=0; tick_count+;用戶不必關心現場保護及恢復現場的問題,編譯器會自動完成。中斷程序的入口地址被編譯器放在中斷向量中,無需用戶指定。第32頁,共37頁,2022年,5月20日,2點42分,星期二(6)片外擴展的I/O接口,可用#define進行定義。如: #include absacc.h #define ADC0804 XBYTE0 x7ffe第33頁,共37頁,202
17、2年,5月20日,2點42分,星期二例1:清零程序 (將2000H20FFH的內容清零) 匯編語言程序 ORG 0000HSE01: MOV R0,#00H MOV DPTR,#2000H ;(0000H)送DPTRLOO1: CLR A MOVX DPTR,A ;0送(DPTR) INC DPTR ;DPTR+1 INC R0 ;字節數加1 CJNE R0,#00H,LOO1 ;不到FF個字節再清LOOP: SJMP LOOP程序示例第34頁,共37頁,2022年,5月20日,2點42分,星期二清零程序 (將2000H20FFH的內容清零) C51程序 #include main( ) in
18、t i; unsigned char xdata *p=0 x2000; /* 指針指向2000H單元 */ for(i=0;i256;i+) *p=0; p+; /*清零2000H-20FFH單元*/ 第35頁,共37頁,2022年,5月20日,2點42分,星期二 匯編語言程序 ORG 0000HL00: MOV R0,#10H ;查找16個字節 MOV R1,#00H MOV DPTR,#2000HL11: MOVX A,DPTR CJNE A,#00H,L16 ;取出內容與00H相等嗎? INC R1 ;取出個數加1L16: INC DPTR DJNZ R0,L11 ;未完繼續 MOV DPTR,#2100H MOV A,R1 MOVX DPTR,A ;相同數個數送2100HL1E: SJMP L1E例2:查找零的個數(在2000H-200FH中查出有幾個字節是零
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年廣東省中考地理真題及答案
- 企事業單位場地無償使用與員工活動協議
- 草牧場承包權流轉與草原生態保護項目合同
- 國際貿易跨境物流全程服務質量承諾書
- 工業工程教學課件
- 2024-2025學年湖南師大附中高一下學期第二次大練習地理試題及答案
- 節慶活動教學課件
- 冷藏車運輸過程中的冷鏈物流運輸車輛冷卻系統性能檢測考核試卷
- 安全通道及疏散路線設置考核試卷
- 農產品加工產業鏈國際合作案例分析考核試卷
- 湖北2024年湖北省高級人民法院及直屬法院招聘雇員制審判輔助人員22人筆試歷年典型考題及考點附答案解析
- 2024年上海市中考數學真題試卷及答案解析
- 生物-云南省昆明市2023-2024學年高二下學期期末質量檢測試題和答案
- 跨境電商海外倉租賃協議
- 《污水處理企業安全生產標準化建設規范》(T-GDPAWS 11-2022)
- 繪畫基礎(師范教育專業繪畫的基礎知識和創作方法)全套教學課件
- 湖南省長沙市2024年七年級下學期數學期末考試試卷附答案
- 2023年中國美術學院輔導員真題
- 2024年江西石城縣城投集團與贛江源農業發展有限公司招聘筆試參考題庫含答案解析
- 《經濟學基礎》課后題答案
- 沖壓作業安全管理措施
評論
0/150
提交評論