《電子設(shè)計大賽培訓系列課件》由會員分享,可在線閱讀,更多相關(guān)《電子設(shè)計大賽培訓系列課件(40頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,汽車學院,電子設(shè)計大賽培訓系列之二,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,電子設(shè)計大賽系列培
2、訓-,單片機和C語言(1),1,電子設(shè)計大賽系列培訓-單片機和C語言(1)1,第,1,講 單片機入門,本章主要內(nèi)容:,1、學單片機需要什么基礎(chǔ),2、什么是單片機、單片機能做什么、怎么開始學習單片機。,3、學單片機需要的一些預備知識,4、51單片機基礎(chǔ)知識。,5、如何用單片機學習板在短時間內(nèi)掌握51單片機和C語言編程。,6、KEIL工程建立詳細介紹及KEIL軟件使用方法,7、從控制實驗板上的一個發(fā)光二極管開始,判斷輸入,控制輸出,2,第1講 單片機入門本章主要內(nèi)容:判斷輸入,控制輸出2,1、與以前所學的知識關(guān)聯(lián)很少;,2、只需要掌握很基本的數(shù)電模電知識,如二進制、十進制、十六進制之間的轉(zhuǎn)換,與、
3、或、非邏輯關(guān)系等;,3、對各種器件的概念基本上是從0開始;,4、如果要用C語言編程,需具備簡單的C語言基礎(chǔ);,一、學單片機需要什么基礎(chǔ)?,3,1、與以前所學的知識關(guān)聯(lián)很少;一、學單片機需要什么基礎(chǔ)?3,什么是單片機?,單片機,在一片集成電路芯片上集成微處理器、存儲器、I/O接口電路,從而構(gòu)成了,單芯片微型計算機,即單片機,。,Intel公司推出了,MCS-51,系列單片機:,集成 8位CPU、4K字節(jié)ROM、128字節(jié)RAM、4個8位并口、1個全雙工串行口、2個16位定時/計數(shù)器。尋址范圍64K,并有控制功能較強的布爾處理器。,二、什么是單片機、單片機能做什么、怎么開始學習單片機。,4,什么是
4、單片機?二、什么是單片機、單片機能做什么、怎么開始,單片機能做什么,凡是與控制或簡單計算有關(guān)的電子設(shè)備都可以用單片機來實現(xiàn),再根據(jù)具體實際情況選擇不同性能的單片機,如:atmel,stc,pic,avr,凌陽,arm等,5,單片機能做什么凡是與控制或簡單計算有關(guān)的電子設(shè)備都,怎么開始學習?,1、實踐第一。,2、補充必要的理論知識,即缺什么補什么。,3、做實際小制作積累經(jīng)驗,比如調(diào)試、編程。(可在網(wǎng)絡(luò)上搜集題目,也可自己有什么想法大膽的去試驗),6,怎么開始學習?1、實踐第一。6,三、預備知識,1、,電平特性,2、,2進制與16進制的表示及轉(zhuǎn)換,3、,二進制數(shù)的邏輯運算,4、,8051單片機介紹
5、,5、,C51基礎(chǔ)知識,7,三、預備知識1、電平特性7,1、關(guān)于電平特性,(1)數(shù)字電路中只有兩種電平:高和低,(2)(本課程中)定義單片機為TTL電平:,高+5V 低 0V,(3)RS232電平:計算機的串口,高-12V 低+12V,所以計算機與單片機之間通訊時需要加電平轉(zhuǎn)換芯片max232。,8,1、關(guān)于電平特性(1)數(shù)字電路中只有兩種電平:高和低8,2、二進制,數(shù)字電路中的兩種電平特性,0 0 6 110,1 17111,2 1081000,3 1191001,4 100101010,5 10111 1011,9,2、二進制數(shù)字電路中的兩種電平特性9,十六進制,(1)十進制中的0-15分
6、別表示為十六進制的0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,(2)熟練掌握二進制與十六進制之間的轉(zhuǎn)換。,規(guī)律:一般把四個二進制數(shù)放在一起轉(zhuǎn)換成一個十六進制數(shù),轉(zhuǎn)換后直接組合在一起即可。,10,十六進制 (1)十進制中的0-15分別表示為十六進制的0,如:0001B-1-1H(匯編),0 x1(C語言),B表示為二進制,H為十六進制,1001B-9H,0 x9,1010B-AH,0 xa,0010 1100-2CH,0 x2c,11,如:0001B-1-1H(匯編),0 x1(C語言,各種進位制的對應(yīng)關(guān)系,12,各種進位制的對應(yīng)關(guān)系 12,3、二進制數(shù)的邏輯運算,(1)“與
7、”運算,“與”運算是實現(xiàn)“,必須都有,否則就沒有,”這種邏輯關(guān)系的一種運算。運算符為“”,其運算規(guī)則如下:,00=0,01=10=0,11=1,13,3、二進制數(shù)的邏輯運算 (1)“與”運算,(2)“或”運算,“或”運算是實現(xiàn)“只要其中之一有,就有”這種邏輯關(guān)系的一種運算,其運算符為“+”?!盎颉边\算規(guī)則如下:,0+0=0,0+1=1+0=1,1+1=1,14,(2)“或”運算14,(3)“非”運算,“非”運算是實現(xiàn)“求反”這種邏輯的一種運算,如變量A的“非”運算記作 。其運算規(guī)則如下:,A,15,(3)“非”運算A15,(4)“異或”運算,“異或”運算是實現(xiàn)“必須不同,否則就沒有”這種邏輯的
8、一種運算,運算符為“”。其運算規(guī)則是:,16,(4)“異或”運算16,四、80C51系列介紹,Intel,的:80C31、80C51、87C51,80C32、80C52、87C52等;,ATMEL,的:89C51、89C52、89C2051等;,Philips、華邦、Dallas、STC,等公司的許多產(chǎn)品。,80C51是MCS-51系列中的一個典型品種;其它廠商,以8051為基核,開發(fā)出的CMOS工藝單片機產(chǎn)品,統(tǒng)稱為80C51系列,。當前常用的80C51系列單片機主要產(chǎn)品有:,17,四、80C51系列介紹 Intel的:80C31、,80C51的引腳封裝,總線型,非總線型,18,80C51的
9、引腳封裝總線型非總線型18,19,19,總線(BUS)是計算機各部件之間傳送信息的公共通道。微機中有內(nèi)部總線和外部總線兩類。內(nèi)部總線是CPU內(nèi)部之間的連線。外部總線是指CPU與其它部件之間的連線。外部總線有三種:,數(shù)據(jù)總線,DB(Data Bus),地址總線,AB(Address Bus)和,控制總線,CB(Control Bus)。,20,總線(BUS)是計算機各部件之間傳送信息的公共,CPU:,由運算和控制邏輯組成,同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器;,RAM:,用以存放可以讀寫的數(shù)據(jù),如運算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);,ROM:,用以存放程序、一些原始數(shù)據(jù)和表格;,I/
10、O口:,四個8位并行I/O口,既可用作輸入,也可用作輸出;,T/C:,兩個定時/計數(shù)器,既可以工作在定時模式,也可以工作在計數(shù)模式;,21,CPU:由運算和控制邏輯組成,同時還包括中斷系統(tǒng)和部分外部特,五個中斷源的中斷控制系統(tǒng);,一個全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實現(xiàn)單片機之間或單片機與微機之間的串行通信;,片內(nèi)振蕩器和時鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。最高振蕩頻率取決于單片機型號及性能。,22,五個中斷源的中斷控制系統(tǒng);22,五、C51知識,C語言是一種編譯型程序設(shè)計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。目前,使用C語言進行程序設(shè)計已經(jīng)成為
11、軟件開發(fā)的一個主流。,23,五、C51知識 C語言是一種編譯型程序設(shè)計,C51的數(shù)據(jù)類型,基本數(shù)據(jù)類型,類型,符號,關(guān)鍵字,數(shù)的表示范圍,所占位數(shù),整型,字符型,實型,有,無,(signed)int,16,-3276832767,(signed)short,16,-3276832767,(signed)long,32,-21474836482147483647,16,unsigned int,065535,32,04294967295,unsigned long int,unsigned short int,16,065535,有,float,32,3.4e-383.4e38,有,double
12、,64,1.7e-3081.7e308,有,char,8,-128127,無,unsigned char,8,0255,24,C51的數(shù)據(jù)類型基本數(shù)據(jù)類型類型符號關(guān)鍵字數(shù)的表示范圍所占,C語言中的基本數(shù)據(jù)類型,類型,符號,關(guān)鍵字,數(shù)的表示范圍,所占位數(shù),整型,字符型,實型,有,無,(signed)int,16,-3276832767,(signed)short,16,-3276832767,(signed)long,32,-21474836482147483647,16,unsigned int,065535,32,04294967295,unsigned long int,unsigned
13、short int,16,065535,有,float,32,3.4e-383.4e38,有,double,64,1.7e-3081.7e308,有,char,8,-128127,無,unsigned char,8,0255,25,C語言中的基本數(shù)據(jù)類型類型符號關(guān)鍵字數(shù)的表示范圍所占位數(shù)整型,C51的數(shù)據(jù)類型擴充定義,sfr:,特殊功能寄存器,聲明,sfr16:,sfr,的16位數(shù)據(jù)聲明,sbit:,特殊功能位聲明,bit,:,位變量聲明,例:sfr SCON=0X98;,sfr16 T2=0 xCC;,sbit OV=PSW2;,26,C51的數(shù)據(jù)類型擴充定義sfr:特殊功能寄存器聲明26,
14、例:,數(shù)據(jù)類型 變量名,char var1;,bit flags;,unsigned char vextor10;,int wwww;,注意:變量名不能用C語言中的關(guān)鍵字表示。,C-51數(shù)據(jù)的存儲類型,27,例:C-51數(shù)據(jù)的存儲類型27,C-51的頭文件,通常有:,reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h,常用有:,reg51.h reg52.h,(定義特殊功能寄存器和位寄存器);,math.h,(定義常用數(shù)學運算);,28,C-51的頭文件通常有:reg51.h reg52.h ma,與C語言基本相同:,+-*/,(加
15、 減 乘 除),=,(位右移 位左移),&|,(按位與 按位或),(按位異或 按位取反),C-51的運算符,29,與C語言基本相同:C-51的運算符29,C-51的基本語句,與標準C語言基本相同:,if 選擇語句,while 循環(huán)語句,for 循環(huán)語句,switch/case 多分支選擇語句,do-while 循環(huán)語句,30,C-51的基本語句 與標準C語言基本相同:30,中斷服務(wù)程序,函數(shù)名()interrupt,n,using,m,函數(shù)內(nèi)部實現(xiàn).,I/O口定義,sbit beep=P23;,31,中斷服務(wù)程序函數(shù)名()interrupt n using m,單片機主要掌握以下幾點,最小系統(tǒng)
16、能夠運行起來的必要條件。,1.電源 2.晶振3.復位電路,對單片機任意I/O口的隨意操作,1.輸出控制電平高低2.輸出檢測電平高低。,定時器:重點掌握最常用的方式2,中斷:外部中斷、定時器中斷、串口中斷,串口通信:單片機之間、單片機與計算機間,32,單片機主要掌握以下幾點最小系統(tǒng)能夠運行起來的必要條件。32,單片機工作的基本時序,機器周期和指令周期,(1)振蕩周期:也稱時鐘周期,是指為單片機提供時鐘脈沖信號的振蕩源的周期,TX實驗板上為11.0592MHZ。,(2)狀態(tài)周期:每個狀態(tài)周期為時鐘周期的 2 倍,是振蕩周期經(jīng)二分頻后得到的。,(3)機器周期:一個機器周期包含 6 個狀態(tài)周期S1,S6,也就是 12 個時鐘周期。在一個機器周期內(nèi),CPU可以完成一個獨立的操作。,(4)指令周期:它是指CPU完成一條操作所需的全部時間。每條指令執(zhí)行時間都是有一個或幾個機器周期組成。MCS-51 系統(tǒng)中,有單周期指令、雙周期指令和四周期指令。,33,單片機工作的基本時序機器周期和指令周期33,Main 函數(shù)格式:void main()特點:無返回值,無參。任何一個C程序,有且僅有一個main,函數(shù)