版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、PIC單片機原理及應(yīng)用教案牛軍浩主編桂林電子科技大學(xué)PIC單片機原理及其應(yīng)用牛軍浩1PIC單片機原理及其應(yīng)用牛軍浩1第 #頁第 頁RPIC單片機原理及其應(yīng)用牛軍浩第 頁第1章PIC單片機概述(1)教學(xué)內(nèi)容:PIC單片機特點、資源重點內(nèi)容:哈佛(Hanmd)總線結(jié)構(gòu)、兩級流水線、為什么驅(qū)動能力強?難點內(nèi)容:哈佛體系、哈佛總線1.1PIC單片機的CPU特點精簡指令集技術(shù)代碼利用率提高、執(zhí)行速度提高、學(xué)習(xí)記憶快、節(jié)約開發(fā)時間哈佛總線結(jié)構(gòu)哈佛體系結(jié)構(gòu):指程序存儲器和數(shù)據(jù)存儲器處不同的物理空間,即兩者不處J:同一存儲空間。哈佛總線結(jié)構(gòu):指程序存儲器和數(shù)據(jù)存儲器獨立編址,即兩者位不同的物理空間的結(jié)構(gòu)。單片
2、機位數(shù)概念:單片機是多少位的取決于數(shù)據(jù)總線的位數(shù),如常用的為8位,即數(shù)據(jù)寬度為8位,每次傳送一個字節(jié)。例如:PIC16系列主要為8位的,凌陽單片機16位,DSP、ARM等基本上為32位,計算機為32位,也有64位的。作為馮*諾依曼結(jié)構(gòu)和普通哈佛結(jié)構(gòu),程序存儲器和數(shù)據(jù)總線公用,所以程序指令也是8位的;但對PIC的哈佛總線結(jié)構(gòu)言,程序存儲器使用獨立指令總線,所以不受數(shù)據(jù)總線的限制,高中低檔單片機的指令長度分別為16、14、12位?!疚粩?shù)越人,單次取指所含的信息就越多,執(zhí)行效率越高,如MCS51為8位的指令長度,很多指令必須耍兩次取指才能將一次執(zhí)行所需的信息獲取完畢】兩級流水線指令結(jié)構(gòu)流水線是當(dāng)前控
3、制器中普遍采用的用提高運算執(zhí)行速度的方法,指的是處理器在處理一條指令的同時可以対卜一條要執(zhí)行的指令進行預(yù)處理。這得益丁哈佛總線結(jié)構(gòu)的應(yīng)用。寄存器結(jié)構(gòu)【RAM結(jié)構(gòu)形式】PIC的所有寄存器、IOil、定時器等資源,均采用RAM結(jié)構(gòu)形式。只需一條指令周期即可完成訪問和操作。1.2PIC單片機的系列產(chǎn)品檔次:按高中低,16位、14位、12位管腳:最少8個引腳,14、18、20、28、40、80、84等資源:ADC、PWM、比較器、LCD顯示、溫度傳感器、IIC、SPI、USART、CAN、USE、LAN1.3PIC16F877單片機的功能特點(外FBI模塊)【以后講解如不特別說明,均指16F877型號
4、的單片機】功耗低:5V4MHz時電流小J-2niA,睡眠模式卜電流小于luA。程序存儲器容量:8K*14位RAM存儲器容量:368字節(jié)驅(qū)動能力強:驅(qū)動輸出電流可達25mA,吸收電流達20niA,iflj51IO驅(qū)動電流為uA級的基本IO端口:33個IO口,PA6位,PB、PC、PD為8位,PE為3位定時、計數(shù)器:TMR0(8位)、TMR1(16位、CC)、TMR2(16位、PWM)內(nèi)部EEPROM數(shù)據(jù)存儲器:256字節(jié)片內(nèi)看門狗:不需外部元件,節(jié)省成本和空間片上ADC:8個10位分辨率具有捕捉、比較和PWM模式:Capture可捕捉外部輸入脈沖的上升沿或卜降沿,并產(chǎn)生中斷。用測駅外部信號周期、
5、頻率、脈寬。Compare比較功能用J:輸出不同寬度的矩形脈沖和延時信號;PWM脈寬調(diào)制功能將產(chǎn)生占空比可調(diào)的周期性方波信號,可實現(xiàn)直流電機的調(diào)速、DA及步進電機的控制。同步串行口SSP:SPI、IIC通用異步串行IIUSART并行從動端IPSP作業(yè):PIC單片機采用的哈佛總線結(jié)構(gòu)和馮*諾依曼、普通的哈佛結(jié)構(gòu)有什么區(qū)別,有何優(yōu)點?PIC16F877單片機與普通51單片機相比有何優(yōu)點,至少列出5條?PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩第 #頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 頁PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩第 頁第 頁命IC單片機原理
6、及其應(yīng)用牛軍浩第 #頁第2章PIC單片機的CPU和中斷系統(tǒng)(1)教學(xué)內(nèi)容:PIC單片機的基本環(huán)境設(shè)置、中斷系統(tǒng)結(jié)構(gòu)重點內(nèi)容:系統(tǒng)配置、中斷系統(tǒng)結(jié)構(gòu)難點內(nèi)容:系統(tǒng)配置、中斷系統(tǒng)結(jié)構(gòu)2.1PIC單片機的基本設(shè)置系統(tǒng)配置字用r設(shè)定單片機的程序保護、在線調(diào)試、低壓編程、掉電鎖存復(fù)位使能位、上電定時、看門狗、振蕩器模式等基本的工作環(huán)境。由軟件在燒寫程序時設(shè)置,用戶在程序中不能訪問;配置方式:使用軟件上的選項進行選擇、或者在程序中用“_CONFIG”預(yù)處理指令定義芯片的配置位;.CONFIG(HS&PROTECT&PWRTEN&BOREN&WTDIS&DEBUGDIS);設(shè)計時不用關(guān)心各個功能位的位置,只
7、需執(zhí)行軟件選項,防止出錯。振蕩器配置表2.1PIC單片機的不同振蕩方式振蕩方式解釋頻率范圍特點LP低功耗W200KHZXT標(biāo)準(zhǔn)晶體200KHZWW4MHZHS高速晶體4MHzWW20MHzRC阻容振蕩0WW4MHz節(jié)約成本、頻率不穩(wěn)定4.7K22pF時約為4MHz外部時鐘3.復(fù)位表2.2PIC單片機的復(fù)位方式解釋復(fù)位方式上電復(fù)位每次加電、檢測VDD上升過程,上升到1.6V-1.8V,有效復(fù)位,會自動延時72111S+1024個時鐘周期人工復(fù)位通常使用按鍵看門狗復(fù)位為防止程序跑飛而有意安排的復(fù)位,必須周期性對看門狗AVDT清零欠壓復(fù)位工作電壓跌落到Vbor以卜的時間超過200uS時就會復(fù)位DIO
8、DE1RL10kU1P3C1OT2Au100RB益gRBRBRBRBVDDvcsRDtRC器gugus富説就益卷迓鬆芒運盂40RB39REd33RB537RD430RE335RE:34RBI33KEOVCC2331*R1電阻值應(yīng)小J:40KH乙以保證壓降不人J0.2V,MCLR漏電流為5uA*R7電阻取值為1001000歐,用于限流保護MCLR引腳*D1二極管能夠使C能快速放電,如果掉電又上電,C的積累電荷會造成復(fù)位電路失去作用合MCLR引腳不能懸空圖21復(fù)位電路和振蕩電路看門狗目的:增加系統(tǒng)的穩(wěn)定性、可靠性和安全性,是一種亡羊補牢的措施,當(dāng)單片機一旦發(fā)生程序失控或者死機,設(shè)法把系統(tǒng)回復(fù)到正常
9、工作狀態(tài)。造成程序失控的原因:電源電壓的波動、電源電壓疊加的噪聲、電磁干擾、軟件故障等結(jié)構(gòu)圖:自帶時鐘源、定時周期733ms,典型18ms,可分頻1:128,達到2.3s正常情況:在主程序或者耗時較長的函數(shù)體內(nèi),周期性的“喂狗”CLRWDTFIGURE14-11:WATCHDOGTIMERBLOCKDIAGRAMFromTMRC*CockSou/w.(明WQ6-1)Y/DTTime-ojiNoce:P$A9ndPS2PS0rehterheOhnON.REGp*圖2.2看門狗結(jié)構(gòu)圖睡眠模式為了降低功耗的又一措施,sleep2.2中斷系統(tǒng)中斷的概念:當(dāng)CPU正在執(zhí)行當(dāng)前程序的過程中,由某種突發(fā)事件
10、的發(fā)生,CPU暫停當(dāng)前的操作,轉(zhuǎn)去執(zhí)行對突發(fā)事件的處理程序,完成后,再返回原來被打斷的地方繼續(xù)執(zhí)行。中斷作用:対主要的時間可以得到及時處理,可在實時性較高的程序中使用。PIC16F877的中斷源表2.3PIC單片機的中斷源中斷源種類標(biāo)志位中斷使能位外部中斷1NT1NTFINTETMR0溢出中斷T0IFT0IETMR1溢出中斷T1IFT1IETMR2溢出中斷T2IFT2IERB口電平變化中斷RBEFRBIECCP1中斷CCPIDFCCP1IECCP2中斷CCP2IFCCP2IESCI同步發(fā)送中斷TXDFTXIESCI同步接收中斷RCIFRCIESSPIIC總線碰撞ADEEPROM寫操作PSP并行
11、從口讀寫中斷PIC16F877的中斷邏輯與中斷相關(guān)的寄存器名稱解釋內(nèi)容INTCON中斷控制寄存器全局.外圍、TO、RB、INTPIE1第一外設(shè)中斷屏蔽寄存器打開或者關(guān)閉中斷用PIR1第一外設(shè)中斷標(biāo)志寄存器存放中斷標(biāo)志用PIE2第二外設(shè)中斷屏蔽寄存器打開或者關(guān)閉中斷用PIR2第二外設(shè)中斷標(biāo)志寄存器存放中斷標(biāo)志用OPTIONRBPU、INTEDG、TOCS常用中斷介紹CMIE圖23PIC16F877A中斷邏輯6.外部斷(INTpinIntempt)TMRO+斷OxFF-OxOORBII電平變化中斷TMR1中斷OxFFFF0 x0000TMR2中斷0 xPR20 x00CCP1中斷:捕捉模式、比較模
12、式CCP2中斷#includevoidmam()unsignedcharkeysendkev;OPTION=0X00;PIE!=OXFF;TXIE=1;SSPIE=0;INTCON=0X80;作業(yè):畫出PIC16F877A單片機的中斷邏輯圖。并書寫程序段,開放PE電平中斷為上升沿,AD使能和SCI中斷。列舉PIC16F877A單片機的振蕩方式,說明各振蕩方式的工作頻率范I羽。畫出單片機的基本復(fù)位電路.時鐘電路,注明參數(shù),并說明作用。PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩第 頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁第3章PIC單片機的指令系統(tǒng)(2)3.1PIC匯編語
13、言指令格式每條匯編指令由4部分組成,格式如下:標(biāo)號操作碼助記符操作數(shù)1,操作數(shù)2;注釋標(biāo)號。代表指令的符號地址,為了便丁查看、修改,以及指令轉(zhuǎn)移地址的表示。切記不能與系統(tǒng)的操作碼助記符同名。可選項操作碼助記符。必選項,可以是指令助記符、偽指令、宏指令。操作數(shù)??蛇x項,注意表示方式,0011001100B,OxOA,0AH,1250,213D注釋??蛇x項,用來對程序進行注釋,便J:用戶理解、修改和調(diào)試。用分號隔開3.2PIC匯編語言指令集3.3偽操作指令3.4尋址方式pic單片機原理及其應(yīng)用牛軍浩1pic單片機原理及其應(yīng)用牛軍浩1命IC單片機原理及其應(yīng)用牛軍浩第 #頁pic單片機原理及其應(yīng)用牛軍
14、浩1pic單片機原理及其應(yīng)用牛軍浩1命IC單片機原理及其應(yīng)用牛軍浩第 #頁第5章IO輸入輸出模塊(2)一、io1-1分布表5.1PIC16F877A單片機IOII分布端【1名稱端口數(shù)量復(fù)用功能PA6模擬輸入PB8外部中斷(RB0)上拉PC8定時器1.CCP、SPEUSARTPD8并行從動端口PE3并行從動端口、模擬輸入二、IOII使用注意事項使用時,必須設(shè)置輸入輸出方向作為IO使用時,必須關(guān)閉復(fù)用功能寄存器,默認(rèn)上電為IO狀態(tài)每個IO輸入輸出驅(qū)動能力為20niA,可簡化外圍電路每個IO有恢位保護電路(可防止外部輸入超出電壓范圍)三、IO口相關(guān)寄存器TRISX端II方向寄存器PORTX端I數(shù)據(jù)寄
15、存器OPTION寄存器BIT7-RBPU,RBII上拉功能四、IO口使用方法數(shù)據(jù)輸入UnsignedcharIiiputdata=0;BITIiiputFlag=0;TRISB=OxFF;/設(shè)置端II輸入輸出方向,0為輸出,1為輸入Inputdata=PORTB;寄存器操作,讀取外部端II8位狀態(tài)數(shù)據(jù)InputFlag=RB0;位操作,讀取單個輸入狀態(tài)數(shù)據(jù)輸出UnsignedcharOutputdata=0 x55;TRISB=0 x00;/設(shè)置端II輸入輸出方向,0為輸出,1為輸入PORTB=Outputdata;設(shè)置外部端口狀態(tài)數(shù)據(jù)RB0=1;五、應(yīng)用實例一、獨立式按鍵輸入獨立式按鍵電路u
16、ipiciers*Aoo_KEORDRrmREICSBDVSSORCLK1OgCLKORCORC1RC:gRDORDlW4BlW4BLW4BLW4Bl圖5.1獨立式按鍵電路Z9REC58RB;STRE455RE2RE1RB0PC卜870s1FXYOKEYKEY:KEY,第10頁PIC單片機原理及其應(yīng)用牛軍浩1PIC單片機原理及其應(yīng)用牛軍浩第 #頁第 頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁電路原理:在無按鍵的情況卜:RB4-RB7在上拉電阻(或者RBPU)的作用下保持高電平。當(dāng)有鍵按下時,對應(yīng)的單片機管腳輸入為低電平;當(dāng)RB4RB7中有低電平存在時,進行判斷并執(zhí)行和關(guān)程序。按鍵去抖按鍵抖動過程
17、:通常的按鍵所用開關(guān)為機械彈性開關(guān),當(dāng)機械觸點斷開、閉合時,電壓信號如卜圖。由機械觸點的彈性作用,一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一卜子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,如卜圖PIC單片機原理及其應(yīng)用牛軍浩1PIC單片機原理及其應(yīng)用牛軍浩第 #頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁PIC單片機原理及其應(yīng)用牛軍浩1PIC單片機原理及其應(yīng)用牛軍浩第 #頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁抖動時間:抖動時間的長短由按鍵的機械特性決定,一般為5ms20ms,甚至100ms。依據(jù)實際使用來定。抖動危害:按鍵穩(wěn)定閉合時間的長短則是由操作人員的按鍵
18、動作決定的,一般為零點幾秒。鍵抖動會引起一次按鍵被誤讀多次。處理方法:硬件去抖和軟件去抖,碾件是在每個按鍵處添加RS觸發(fā)器,成本高,設(shè)計麻煩。主要講軟件方法通過延時去抖。為確保CPU對鍵的一次閉合僅作一次處理,必須去除鍵抖動。在鍵閉合穩(wěn)定時讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作處理。所以,所謂去抖并不是把按鍵的抖動消除了,而是通過延時避開抖動的時間。實際去抖是否成功,需根據(jù)按鍵功能程序是否出現(xiàn)非正常重復(fù)處理來判定。程序編寫流程設(shè)賈RB口方向設(shè)檸RBLII:拉PIC單片機原理及其應(yīng)用牛軍浩1PIC單片機原理及其應(yīng)用牛軍浩第 #頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁PIC單片機原理
19、及其應(yīng)用牛軍浩1PIC單片機原理及其應(yīng)用牛軍浩第 #頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁圖5.2按鍵打描流程圖PIC單片機原理及其應(yīng)用牛軍浩1PIC單片機原理及其應(yīng)用牛軍浩第 頁第 頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁4.C語言程序設(shè)計#includevoidDelayXins(mttune);unsignedchaiGetKeyNumbei(unsignedcharx);voidmain()unsignedcharkey,keytemp;TRISB=0 xf0;設(shè)置RB口的03方向RBPU=1;/OPTIONbit7使能RB口弱卜杓功能while(l)kevtemp=PORT
20、B&OxfO;高四位的值即保留RB4-RB7if(keytemp!=OxfO)DelavXms(125);延時125ms消抖if(kevtemp=(PORTB&OxFO)key=GetKevNumber(kevtemp);:扳行按鍵處理鹵數(shù)while(PORTB&OxfO!=OxFO);voidDelayXins(mttune)mtx,y;foi(x=0;xtune;x+)foi(y=0;y1000;v+);unsignedchaiGetKevNumbei(unsignedcharx)unsignedchaikey;switch(x)case0 x70:kev=l;break;caseOxBO
21、:kev=2;break;caseOxDO:kev=3;bieak;caseOxEO:kev=4;break;default:kev=0 xFF;break;returnkey;備注六、應(yīng)用實例二、采用中斷方式處理按鍵輸入RBII中斷相關(guān)寄存器INTCON:bit7GIE,bit3RBIE,bitORBIF中斷處理程序voidiiitenuptISR(void)中斷服務(wù)程序0 x0004if(RBIE&RBIF)判RBI丨中斷RBIF=0;清除RBII中斷標(biāo),忐在此加入TMR0中斷服務(wù)if(TOIE&T0IF)判TMR0中斷圖5.3采用中斷的按鍵處理程序4.C語言程序設(shè)計#includevoi
22、dDelayXins(mttune);unsignedchaiGetKeyNumbei(unsignedcharx);unsignedcharkey,keytemp;voidmain()TRISB=OxfO;設(shè)置RB口的03方向RBPU=1;/OPTIONbit7使能RB口弱卜越功能while(l)voidinterruptISR(void)/中斷服務(wù)程序if(RBIE&RBIF)/列RB口申斷RBIF=O;清除RB口中斷標(biāo)志keytemp=PORTB&0 xf0;保留高四位的值即保留RB4-RB7if(keytemp!=OxfO)DelayXms(125);延時125ms消抖if(kevte
23、mp=(PORTB&OxfO)kev=GetKeyNumber(kevtemp);執(zhí)行按鍵處理誌數(shù)備注第 #頁第 頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁PIC單片機原理及其應(yīng)用牛軍浩1whiIe(PORTB&OxfO!=OxFO);PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩第 頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁七、應(yīng)用實例三:數(shù)碼管控制設(shè)計1、數(shù)碼管內(nèi)部結(jié)構(gòu)及工作原理LED數(shù)碼管就是一組LED燈的排列。分共陽極和共陰極兩種。AbcdcfgdpK*DS?DpyRed-CADS?DpyRedVCPIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩第 #頁第
24、 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩第 #頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁圖5.1數(shù)碼管結(jié)構(gòu)圖2、電路原理設(shè)計.0IlPIC16FS77A157is320111213HRBPBRBgRBRBsoVDDwRDgRCRCRCRCRDRDsRAlESz恣魁迓盟s箔帑VCCIVCCIkSDG?9T64PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩第 #頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁圖5.2單個(共陽極)數(shù)碼管控制電路圖注意:如果數(shù)碼管為共陰極的,則公共端接地,如果是共陽極的,公共端接VC
25、C,注意限流電阻的位置,不能放在公共端部分。2、程序流程設(shè)計PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩第 #頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩第 #頁第 頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁圖5.3程序設(shè)計流程圖PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩1第 頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁程序設(shè)計實現(xiàn)#include/tableforCom-ASHMGstaticvolatileunsignedchartablell=0 xC0,0 xf9,0 xa4,0 xb0
26、,0 x99,0 x92,0 x82,Oxd8,0 x80,0 x90,0 xff;/0123456789全滅voiddelayXins(unsignedintXins);voidniainQunsignedchari;TRISB=0;while(l)fbr(i=0;i10;i+)PORTB=tablei;/PORTB=-tablei;forCom-KSHMGdelayXins(lOOO);voiddelayXins(unsignedintXins)unsignedintij;for(i=0;iXms;i+)for(j=0;j90j+);注意:如果使用的是共陰極的數(shù)碼管,在不需更改位碼表內(nèi)容,
27、只需將PORTB=tablei;改為PORTB=tablei;即可應(yīng)用實例三:多個數(shù)碼管控制設(shè)計電路設(shè)計二pfTT近烈韻恙黑疼監(jiān)盤運益fJvccW1210DPRed-CSrit-.D:IX:4Dpj*KeJ-CAvccvcuDpyKffd-CA901:PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩1第 #頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩1第 #頁第 #頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁圖5.4多個(共陽極)數(shù)碼管控制電路圖2、程序流程PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩1第
28、#頁第 頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁圖5.5多個(共陽極)數(shù)碼管控制流程圖3、程序設(shè)計實現(xiàn)/多個數(shù)碼管顯示實例/PORTB0.7a.dp/PORTD0.3CS3.Oinclude/tableforCom-ASHMGstaticvolatileunsignedchartablell=0 xC0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xd8,0 x80,0 x90,Oxff;/0123456789全滅voiddelayXms(unsignediiitXnis);voidmain()iiiti;intloopnum;unsignedcharcQian
29、,cBai,cShi,cGe;TRISB=0;TRISD=0;while(l)for(i=0;i10000;i+)eQian=i/1000;cBai=(1%1000)/100;cShi=(i%100)/10;eGe=(i%10);for(loopnum=0;loopnum60;loopnum+)PORTB=tablecQian;PORTD=0 x07;delayXms(lO);PORTB=tablecBai;PORTD=OxOB;delayXms(lO);PORTB=tablecShi;PORTD=OxOD;delayXms(lO);PORTB=tablecGe;PORTD=OxOE;dela
30、vXms(lO);voiddelavXms(unsignedmtXnis)/4MHzunsignedmtij;for(i=0;iXnis;i+)for(j=0j90;j+);應(yīng)用實例四:繼電器控制電路通常采用PNP管進行驅(qū)動、NPN管PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩1第 頁第 頁命IC單片機原理及其應(yīng)用牛軍浩第 #頁第7章定時器/計數(shù)器模塊(4)一、定時器/計數(shù)器模塊用途1、按一定周期控制輸出如空調(diào)變頻控制、VCD、光驅(qū)、照和機鏡頭、打印機、傳真機、遙控玩具車等步進電機的控制。也可以用軟件延時的方法實現(xiàn),但是耗費CPU的時間,而且在插入其他功能程序后,延時長度會被破
31、壞,造成時間不準(zhǔn)確。2、檢測外部信號的脈寬、周期等3、計數(shù)用,対外部事件產(chǎn)生的觸發(fā)信號進行準(zhǔn)確計數(shù)。二、16F877A單片機的TMR構(gòu)成1、TMRO、TMR1.TMR2三個定時器2、TMRO:8位寬、可選預(yù)分頻器、通用目的3、TMR1:16位寬、可編程預(yù)分頻器、可選低頻時鐘、適合CCP配合使用4、TMR2:16位寬、可編程預(yù)分頻器、可編程后分頻器、周期寄存器和比較器、適合CCP配合實現(xiàn)PWM三、定時器TMRO工作原理四、定時器TMRO相關(guān)寄存器1、OPTION寄存器表7.1OPTION控制寄存器Bit76543210RBPUINTEDGTOCSTOSEPSAPS2PSIPSORBPU:PORT
32、B內(nèi)部弱上拉設(shè)置,低電平有效INTEDG:外部中斷邊沿選擇,0:RB0/INT卜降沿觸發(fā)中斷;1:上升沿中斷TOCS:TMR0時鐘源選擇位,0:內(nèi)部提供的指令周期;1:T0CK引腳輸入TOSE:TMR0時鐘邊沿選擇位,(外部時鐘時,即TOCS=1時有效),0:上升沿,1:卜降沿PSA:分頻器分配位,0:分配給TMR0;1:分配給WDTPS2-PS0:分頻器分頻比選擇,BitvalueTMRORateWDTRate000120011401018Oil116100132101164no1128111125686242124813612、INTCON中斷控制寄存器TOIF:TMRO溢出標(biāo)志位,1:表
33、示溢出TOIE:TMRO溢出中斷使能位,1:使能GLE:全局中斷使能位,1:使能3、TRISA端LIRA方向控制寄存器TRISA4:當(dāng)TMR0工作在計數(shù)器模式時,要求該腳必須設(shè)定為輸入方式。三、定時器定時時間計算方法定時時間=(2+(256TMRO)*PS)*(l/FOS/4)例如:外部4Mhz晶體時,F(xiàn)OS=4Mh乙每個機器周期頻率為1MHz,機器周期為lus定時單位為:lus要求定時1ms時:取PS=4,TMRO初始值為6。理論誤差為2us四、應(yīng)用實例一:使用定時器控制輸出方波信號(查詢方式)1、電路原理設(shè)計8vccvccI10IT1213T?T3T?nT9TPMCLRRAORAIRA2R
34、A3RA4RA5REQRDRE1MRRE2CSX-DDVSSOSC1.CLK1OSC2CLKORCORC1RC2RC3RDORD1RB陽RBRBRBRBRBRB黑rdrd5rd4rcrcrcrcrdrdR110kSW-PB1OO-KMDS?PIC-16FS77A圖7.2TMRO定時器應(yīng)用原理圖PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩第 #頁第 #頁PIC單片機原理及其應(yīng)用牛軍浩1第 頁2、程序流程設(shè)計PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩第 #頁第 #頁PIC單片機原理及其應(yīng)用牛軍浩1第 #頁PIC單片機原理及其應(yīng)用牛軍浩PIC單片機原理及其應(yīng)用牛軍浩
35、第 頁第 頁PIC單片機原理及其應(yīng)用牛軍浩1第 #頁圖73TMRO定時器延時應(yīng)用流程圖3、程序設(shè)計實現(xiàn)/TMRO作為定時延時用/PORTC7LED/PORTB0KEYinclude/tableforCom-ASHMGstaticvolatileunsignedchaitablefl1=0 xC0,0 xf9.0 xa4,0 xb0.0 x99.0 x92,0 x82.0 xd&0 x80,0 x90,0 xff;/0123456789全滅voiddelavXins(unsignedintXins);voiddelavTMROO;voidniainQTRISB=OxFF;TRISC=0 x7F;
36、OPTION=0 x7;/TOCS=0;PSA=0;PS2.PS0=111;/tmrO使用內(nèi)部時鐘,使用預(yù)分頻器,分頻比1:256T0IF=0;RC7=1;wlule(l)delayTMRO();RC7=?RC7;voiddelavXins(unsignedintXins)/4MHzunsignedmtij;fbi(i=0;iXins;i+)for(J=0j90;j+);/delay64us4MHzvoiddelavTMROQ五、應(yīng)用實例二:使用定時器控制數(shù)碼管數(shù)據(jù)(中斷方式)1、電路原理設(shè)計2、程序流程設(shè)計3、程序設(shè)計實現(xiàn)使用TMRO+斷,控制輸出/PORTC7LED/PORTB0KEY#i
37、iicludevoidniainQTRISB=OxFF;TRISC=0 x7F;OPTION=0 x5;/TOCS=0;PSA=0;PS2.PS0=101;/tmrO使用內(nèi)部時鐘,使用預(yù)分頻器,分頻比111:256;101:64T0IF=0;TMR0=0 x08;T0IE=1;GIE=1;wliile(l)/delay10mswithtimerOinterrupt(256-100)*644MHzvoidinterruptISR_Timer()If(TOIE&TOIF)TMR0=100;T0IF=0;RC7=!RC7;六、應(yīng)用實例三:使用定時器/計數(shù)器模式測試外部信號頻率1、電路原理設(shè)計使用兩個
38、定時器完成計數(shù)、測頻功能。使用TMR0進行精確定時,使用TMR1進行外部信號頻率計數(shù)。TMR0定時時間到后,TMR1的計數(shù)ffi/TMRO的定時時間即得外部信號頻率,方法為測頻方式。2、程序流程設(shè)計3、程序設(shè)計實現(xiàn)七、Timer。、Timed、Tmier2的不同及應(yīng)用第8章A/D模塊(2)AD轉(zhuǎn)化原理及過程1、PIC單片機AD類型:逐次比較型、10位、8個通道工作原理圖8.1PIC單片機AD通道框圖3、轉(zhuǎn)換時間要求T=(10+2)*Tad每一位數(shù)據(jù)的轉(zhuǎn)換時間定義為Tad,Tad不得小于1.6uso在轉(zhuǎn)換完成后,卜次采樣重新開始之前,必須有2Tad的等待時間。完成10位轉(zhuǎn)換時間為10名Ta二、A
39、D和關(guān)寄存器ADCON0控制寄存器0表ADCONO控制寄存器Bit76543210ADCS1ADCS0CHS2CHS1CHS0GO/DONE-ADONADCS1.0:AD轉(zhuǎn)換時蝕選擇位。00:fosc/201:fosc/810:fosc/3211:自帶阻容(RC)振蕩器CHS2.0:AD轉(zhuǎn)換通道選擇位。000:RA0/AN0001:RA1/AN1010:RA2/AN2Oil:RA3/AN3100:RA5/AN4101:RE0/AN5110:RE1/AN6111:RE2/AN7GODONE:AD轉(zhuǎn)換啟動控制/狀態(tài)位。1啟動,0未啟動或者轉(zhuǎn)換完成ADON:AD轉(zhuǎn)換開關(guān)位,1使用,0關(guān)閉ADC2、A
40、DCONO控制寄存器1表&2ADCON1控制寄存器Bit76543210ADFM-PCFG3PCFG2PCFG1PCFG0ADFM:AD轉(zhuǎn)換結(jié)果格式選擇位。0:左對齊;1:右對齊PCFG:AD轉(zhuǎn)換引腳功能選擇位。表8.3AD轉(zhuǎn)換引腳功能選擇PCFGAN7AN6AN5AN4AN3AN2AN1ANOVREF+VREF-C/R0000AAAAAAAAVDDvss&00001AAAAVREFi-AAAAN3vss7/10010DDDAAAAAVDDvss0011DDDAVREF+-AAAAN3vss4/10100DD0DADAAVDDvss300101DUUDVREF4-UAAAN3vss2/1011
41、XDDDDDnDD-0/01000AAAAVREFi-VREF-AAAN3AN2&21001DUAAAAAAVDDvss691010DDAAVREF-t-AAAAN3vss311011DDAAVREFi-VREF-AAAN3AN24/21100DDDAVREF4-VREF-AAAN3AN23/21101DDDDVREF+-VREF-AAAN3AN22/21110DDDDDDDAVDDVSS1/01111DDDDVREF4-VREF-DAAN3AN21/2A二AnaloginputD=DigitalI/OC/R=#ofanaloginputchannels.*ofA/Dvoltagerefere
42、nces3、AD轉(zhuǎn)換結(jié)果寄存器ADRESH.ADRESL4、端II方向寄存器TRISATRISE5、第1外設(shè)中斷使能寄存器PIE1ADIE6、第1外設(shè)中斷標(biāo)志寄存器PIRK6ADIF7、中斷控制寄存器INTCONGIEINTCONPEIE三、AD轉(zhuǎn)化結(jié)果計算方法Ain=-Vref-)*ADRES+Vie匸1024四、應(yīng)用實例一:使用AD通道測試外部電壓(查詢方法)電路原理設(shè)計VCC圖8.2PIC單片機AD轉(zhuǎn)換通道PIC單片機原理及其應(yīng)用牛軍浩1PIC單片機原理及其應(yīng)用牛軍浩1第 頁第 頁PIC單片機原理及其應(yīng)用牛軍浩1第 #頁2、程序流程設(shè)計圖8.2PIC單片機AD轉(zhuǎn)換流程圖3、程序設(shè)計實現(xiàn)v
43、oidniainQinti;intloopnum;intADData;unsignedchaicQian,cBai,cShi,cGe;TRISA=0 xFF;TRISE=OxFF;ADCON1=0X80;ADCONO=Ox81;while(l)ADGO=1;wlule(ADGO)ADData=(iiit)ADRESH;ADData=(ADData8)&0 x0300)+ADRESL;display(ADData);五、應(yīng)用實例二:使用AD通道測試外部電壓(中斷方法)1、程序流程設(shè)計2、程序設(shè)計實現(xiàn)第15章網(wǎng)絡(luò)通信與數(shù)據(jù)傳輸模塊(3)一、USART串行通信模塊介紹串行通信的兩種基本方式:同步傳輸、異步傳輸1、異步傳輸只有數(shù)據(jù)線,沒有時鐘線必須預(yù)先約定:雙方通信速率,每個字符的長度、起始位同步技術(shù)起始位:空閑為邏輯1,1個邏輯0表示起始數(shù)據(jù)位串:5、6、7、8、9位等,LSE在前。奇偶校驗位:1位停止位:表示一個字符的結(jié)束,1位、1.5位、2位2、同步傳輸夕卜加時鐘線,提高了傳輸效率,不需開始位、停止位等,如SPLIIC3、串行通信的數(shù)據(jù)傳輸單工傳送、半雙工傳送、全雙工傳送4、組網(wǎng)方式點對點、多機通信二、相關(guān)寄存器1、INTCON控制寄存器GIE、PEIE2、PLE1第一外設(shè)允許RCIE、TXIE3、
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 卸船行業(yè)營銷策略方案
- 電視發(fā)射器項目營銷計劃書
- 電照明裝置項目營銷計劃書
- 砂紙卷市場分析及投資價值研究報告
- 磁性編碼器產(chǎn)品供應(yīng)鏈分析
- 壓力水箱產(chǎn)品供應(yīng)鏈分析
- 襯衫式外套項目運營指導(dǎo)方案
- 化妝品用散沫花產(chǎn)品供應(yīng)鏈分析
- 上衣產(chǎn)品供應(yīng)鏈分析
- 可重復(fù)使用的尿布更換墊產(chǎn)品供應(yīng)鏈分析
- 內(nèi)分泌科季度非計劃重返住院PDCA質(zhì)量持續(xù)改進報告
- 專用中國地圖-可編輯
- 2024年安徽交控集團招聘筆試參考題庫含答案解析
- 科技倫理課件
- 中班數(shù)學(xué)活動《5以內(nèi)的相鄰數(shù)》
- (完整版)【部編版】九年級下冊《詞四首》-默寫、賞析、練習(xí)題
- 撳針治療兒童變應(yīng)性鼻炎作用機制
- 小學(xué)趣味版畫校本課程的開發(fā)與應(yīng)用研究課題匯報
- 2023復(fù)配巖改性瀝青路面技術(shù)標(biāo)準(zhǔn)
- 煙草專賣執(zhí)法和案卷制作規(guī)范課件
- CKD患者高血壓管理
評論
0/150
提交評論