初級(jí)組培訓(xùn)-51通講2015-06-08_第1頁(yè)
初級(jí)組培訓(xùn)-51通講2015-06-08_第2頁(yè)
初級(jí)組培訓(xùn)-51通講2015-06-08_第3頁(yè)
初級(jí)組培訓(xùn)-51通講2015-06-08_第4頁(yè)
初級(jí)組培訓(xùn)-51通講2015-06-08_第5頁(yè)
已閱讀5頁(yè),還剩58頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

電協(xié)初級(jí)組培訓(xùn)

—51單片機(jī)通講

主講人:柏明明時(shí)間:2015年5月29日預(yù)備知識(shí)認(rèn)識(shí)51

應(yīng)用51題目講解預(yù)備知識(shí)電平特性進(jìn)制邏輯運(yùn)算C—51電平特性數(shù)字電路中電平只有兩種狀態(tài):高電平和低電平電平分很多類:TTL、CMOS、EIA等。51單片機(jī)為T(mén)TL電平:高+5V低0V

(L<0.8VH>2.4V)TTL特點(diǎn):速度快但是功耗高計(jì)算機(jī)RS232電平(EIA電平):高-12V低+12V所以計(jì)算機(jī)與單片機(jī)之間通訊時(shí)需要加電平轉(zhuǎn)換芯片max232二進(jìn)制十進(jìn)制二進(jìn)制十進(jìn)制二進(jìn)制0081000101910012101010103111110114100121100510113110161101411107111151111十六進(jìn)制是二進(jìn)制的簡(jiǎn)短表示形式。十進(jìn)制中的0-15分別表示為十六進(jìn)制的0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F熟練掌握二進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換。規(guī)律:一般把四個(gè)二進(jìn)制數(shù)放在一起轉(zhuǎn)換成一個(gè)十六進(jìn)制數(shù),轉(zhuǎn)換時(shí)先把二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),再把十進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)。如:0001B->1->1HB表示為二進(jìn)制,H為十六進(jìn)制

1001B->9->9H1010B->10->AH00101100->44->2CH

各種進(jìn)位制的對(duì)應(yīng)關(guān)系十進(jìn)制二進(jìn)制十六進(jìn)制十進(jìn)制二進(jìn)制十六進(jìn)制000910019111101010A2102111011B3113121100C41004131101D51015141110E61106151111F71117161000010810008

邏輯運(yùn)算1.“與”運(yùn)算“與”是實(shí)現(xiàn)“必須都有,否則就沒(méi)有”邏輯關(guān)系的運(yùn)算。運(yùn)算符為“&”,其運(yùn)算規(guī)則如下:0&0=0,0&1=1&0=0,1&1=1

2.“或”運(yùn)算“或”是實(shí)現(xiàn)“只要其中之一有,就有”邏輯關(guān)系的運(yùn)算,其運(yùn)算符為“|”。其運(yùn)算規(guī)則如下:0|0=0,0|1=1|0=1,1|1=13.“非”運(yùn)算“非”是實(shí)現(xiàn)“求反”這種邏輯的一種運(yùn)算,“非”運(yùn)算記作!其運(yùn)算規(guī)則如下:

!1=0,!0=14.“異或”運(yùn)算“異或”是實(shí)現(xiàn)“必須不同,否則就沒(méi)有”邏輯的運(yùn)算,運(yùn)算符為^。其運(yùn)算規(guī)則如下:0^0=0,1^1=0,1^0=0^1=1C—51類型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符型實(shí)型有無(wú)(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748364716unsignedint0~65535320~4294967295unsignedlongintunsignedshortint160~65535有float323.4e-38~3.4e38有double321.7e-308~1.7e308有char8-128~127無(wú)unsignedchar80~255C-51的數(shù)據(jù)類型擴(kuò)充定義sfr:特殊功能寄存器聲明(reg52.h)sfr16:sfr的16位數(shù)據(jù)聲明(TL0、TH0)sbit:特殊功能位聲明例:sfrSCON=0X98;sfr16T2=0xCC;sbitOV=PSW^2;C-51的包含的頭文件通常有:reg51.h

reg52.hmath.hstdio.hreg51.h/reg52.h:定義特殊功能寄存器和位寄存器的物理地址math.h:定義常用數(shù)學(xué)運(yùn)算:sin()cos()tan()abs()fabs()等Stdio.h:putchar()getchar()puts()printf()等與C語(yǔ)言基本相同:+-*/(加減乘除)>>=<<=(大于大于等于小于小于等于)==!=(測(cè)試等于測(cè)試不等于)&&||!(邏輯與邏輯或邏輯非)&|(按位與按位或)>><<(位右移位左移)^~(按位異或按位取反)C-51的運(yùn)算符

C-51的基本語(yǔ)句與標(biāo)準(zhǔn)C語(yǔ)言基本相同:

if選擇語(yǔ)言

while循環(huán)語(yǔ)言

for循環(huán)語(yǔ)言

switch/case多分支選擇語(yǔ)言

do-while循環(huán)語(yǔ)言

格式:voidmain(void)

特點(diǎn):無(wú)返回值,無(wú)參。

任何一個(gè)C程序有且僅有一個(gè)main函數(shù),它是整個(gè)程序開(kāi)始執(zhí)行的入口。

例:voidmain()

{

總程序從這里開(kāi)始執(zhí)行;

其他語(yǔ)句;

}主函數(shù)中斷服務(wù)程序void函數(shù)名()interruptn{

函數(shù)內(nèi)部實(shí)現(xiàn)….}預(yù)備知識(shí)認(rèn)識(shí)51

應(yīng)用51題目講解什么是單片機(jī)將CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器以及I/O接口電路等微型計(jì)算機(jī)的主要部件集成在一塊芯片上(單片化),使其具有計(jì)算機(jī)的基本功能的芯片。

主要型號(hào):Atmel公司AT89C51、AT89C52臺(tái)灣STC(宏晶)公司STC89C51、STC89C5251單片機(jī)的內(nèi)部結(jié)構(gòu)時(shí)鐘信號(hào)源外部事件信號(hào)BUS時(shí)鐘電路8KBFlashROM256BRAM128BSFR16位×3個(gè)定時(shí)/計(jì)數(shù)器64KB總線擴(kuò)展控制器可編程并行口可編程全雙工串行口CPU中斷控制器外中斷8位×4個(gè)并行口串行通信總線控制BUS52單片機(jī)內(nèi)部主要包括9個(gè)部分:一個(gè)8位的微處理器CPU8KB的片內(nèi)程序存儲(chǔ)器FlashROM256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM、128B特殊功能寄存器(SFR)3個(gè)16位的定時(shí)器/計(jì)數(shù)器有一個(gè)管理6個(gè)中斷源的中斷控制器4個(gè)8位并行I/O端一個(gè)全雙工的串行接口(UART)片內(nèi)振蕩電路和時(shí)鐘發(fā)生器

可擴(kuò)展64KB程序、64KB數(shù)據(jù)存儲(chǔ)器的三總線控制電路單片機(jī)的引腳封裝: 常用40DIP40個(gè)引腳分為4類:電源引腳晶振引腳控制信號(hào)輸入/輸出引腳T2/P1.0T2EX/P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTRXD/P3.0TXD/P3.1GATE0/INT0/P3.2GATE1/INT1/P3.3T0/P3.4T1/P3.5WR/P3.6RD/P3.7XTAL2XTAL1Vss89C5289C5140393837363534333231302928272625242322211234567891011121314151617181920VccP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7EA/VPPALE/PROGPSENP2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A8一、電源引腳 Vcc(40腳):接5V電源正端 Vss(20腳):接5V電源地端二、晶振引腳XTAL1(19腳)XTAL2(18腳)晶振XTAL2XTAL1單片機(jī)C1C21819三、控制信號(hào)引腳:1、RST(9腳)

RST:復(fù)位信號(hào)輸入端,高電平有效。

單片機(jī)正常工作時(shí):RST保持兩個(gè)機(jī)器周期的高電平就會(huì)使單片機(jī)復(fù)位;

上電時(shí):RST上的高電平必須保持10ms以上才能保證有效復(fù)位,由于振蕩器需要一定的起振時(shí)間。

P3口控制引腳引腳第二、第三功能P3.0RXD:串行口輸入P3.1TXD:串行口輸出P3.2INT0/GATE0

:外部中斷0請(qǐng)求輸入/定時(shí)器/計(jì)數(shù)器0運(yùn)行外部控制輸入P3.3INT1/GATE1

:外部中斷1請(qǐng)求輸入/定時(shí)器/計(jì)數(shù)器1運(yùn)行外部控制輸入P3.4T0:定時(shí)器/計(jì)數(shù)器0外部計(jì)數(shù)脈沖輸入P3.5T1:定時(shí)器/計(jì)數(shù)器1外部計(jì)數(shù)脈沖輸入P3.6WR:外部數(shù)據(jù)存儲(chǔ)器寫(xiě)控制信號(hào)輸出P3.7RD:外部數(shù)據(jù)存儲(chǔ)器讀控制信號(hào)輸出

時(shí)鐘與周期

狀態(tài)周期、機(jī)器周期、指令周期

機(jī)器周期:指CPU訪問(wèn)一次存儲(chǔ)器所需要的時(shí)間。機(jī)器周期是量度時(shí)間的基本單位。機(jī)器周期與振蕩周期的關(guān)系:1個(gè)機(jī)器周期包含12個(gè)振蕩周期,即 機(jī)器周期=12/fosc 例如,單片機(jī)的振蕩頻率fosc為12MHz,則 機(jī)器周期=12/fosc=10-6s=1us

CPU:由運(yùn)算和控制邏輯組成,同時(shí)還包括中斷系統(tǒng)和部分外部特殊功能寄存器;RAM:用以存放可以讀寫(xiě)的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);ROM:用以存放程序、一些原始數(shù)據(jù)和表格;I/O口:四個(gè)8位并行I/O口,既可用作輸入,也可用作輸出;T/C:兩個(gè)定時(shí)/記數(shù)器,既可以工作在定時(shí)模式,也可以工作在記數(shù)模式;內(nèi)部資源六個(gè)中斷源的中斷控制系統(tǒng);一個(gè)全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信;片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。最高振蕩頻率取決于單片機(jī)型號(hào)及性能??偩€(BUS)是計(jì)算機(jī)各部件之間傳送信息的公共通道。微機(jī)中有內(nèi)部總線和外部總線兩類。內(nèi)部總線是CPU內(nèi)部之間的連線。外部總線是指CPU與其它部件之間的連線。外部總線有三種:數(shù)據(jù)總線DB(DataBus),地址總線AB(AddressBus)和控制總線CBControlBus)。預(yù)備知識(shí)認(rèn)識(shí)51

應(yīng)用51題目講解I/O口流水燈數(shù)碼管按鍵中斷定時(shí)器中斷串口中斷外部中斷LED電路加上拉電阻,低電平點(diǎn)亮sbitLED0=P1^0;voidmain(void){ LED0=1; while(1) { LED0=!LED0; DelayMs(200); } }閃爍LED數(shù)碼管

數(shù)碼管其實(shí)就是幾個(gè)連在一起LED燈,操作方法與LED燈一樣使用數(shù)碼管時(shí)要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對(duì)數(shù)字或字符進(jìn)行編碼。共計(jì)8段,編碼是一個(gè)字節(jié),dp、g在高位端。共陰極共陽(yáng)極共陰數(shù)碼管碼表

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0 1 2 3

450x7d,0x07,0x7f,0x6f,0x77,0x7c,6 7 8 9

AB0x39,0x5e,0x79,0x71,0x00C

D

EF

無(wú)顯示數(shù)碼管電路靜態(tài)顯示的特點(diǎn)是每個(gè)數(shù)碼管的段選必須接一個(gè)8位數(shù)據(jù)線來(lái)保持顯示的字形碼。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。字形碼即是段選信號(hào)。靜態(tài)顯示動(dòng)態(tài)掃描

動(dòng)態(tài)顯示的特點(diǎn)是將所有數(shù)碼管段選并聯(lián)在一起,由位選控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描即輪流向各位數(shù)碼管送出段選和位選,利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人的感覺(jué)數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。sbitdula=P2^6;sbitwela=P2^7;unsignedcharcodetable[]=0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voidmain(void){ dula=1;//先送段選 P0=table[0]; dula=0; wela=1; P0=0XFE; wela=0; while(1);}靜態(tài)顯示

dula=1; P0=table[0]; dula=0; P0=0XFF;//??ó° wela=1; P0=0XFE; wela=0; DelayMs(50);//體現(xiàn)器實(shí)現(xiàn)過(guò)程 dula=1; P0=table[1]; dula=0; P0=0XFF;//??ó° wela=1; P0=0XFD; wela=0; DelayMs(50);動(dòng)態(tài)掃描按鍵:分為按鍵和矩陣鍵盤(pán)抖動(dòng)問(wèn)題if(KEY1==0) { DelayMs(10); if(KEY1==0) {

操作語(yǔ)句;……… while(!KEY1); } }獨(dú)立按鍵核心代碼:P3=0XFE; temp=P3; temp&=0XF0; if(temp!=0XF0) { DelayMs(10); temp=P3; temp&=0XF0; if(temp!=0XF0) { temp=P3; switch(temp) { case0XEE:Key=0;break; case0XDE:Key=1;break; case0XBE:Key=2;break; case0X7E:Key=3;break; }

矩陣鍵盤(pán)核心代碼:while(temp!=0XF0){temp=P3; temp&=0XF0;}

} }

P3=0XFD;………執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點(diǎn)中斷請(qǐng)求中斷響應(yīng)執(zhí)行中斷處理程序中斷返回中斷關(guān)鍵寄存器:IE、IP

可以通過(guò)IP設(shè)置為高低兩個(gè)優(yōu)先級(jí),默認(rèn)為低優(yōu)先級(jí)。作用:當(dāng)兩個(gè)中斷源同時(shí)發(fā)生時(shí),執(zhí)行的順序。高的先執(zhí)行。同一優(yōu)先級(jí)中斷源按以下順序處理。中斷響應(yīng)條件中斷源有中斷請(qǐng)求;此中斷源的中斷允許位為1;

CPU開(kāi)中斷(即EA=1)。以上三條同時(shí)滿足時(shí),CPU才有可能響應(yīng)中斷。模式1voidTimer_Init(void)

{

TMOD=0X01; //IETMODTCON

TH0=(65535-50000)/256;

TL0=(65535-50000)%256;

EA=1;

ET0=1;

TR0=1;

}模式2:初值自動(dòng)重裝voidTimer_Init(void)

{

TMOD=0X02; //IETMODTCON

TH0=0x06;

TL0=0x06;

EA=1;

ET0=1;

TR0=1;

}//任務(wù):LED=~LED;SCON是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志:

關(guān)鍵寄存器:SCON、PCON

串口SCON中關(guān)鍵位:SM0、SM1、REN、TI、RI其余位:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論