




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、XXXX大學本科畢業設計基于PIC單片機的紅外遙控設計學生姓名 所 在 系專業名稱班 級學 號指導教師XXX大學教務處年 月畢業設計論文原創性聲明和使用授權說明原創性聲明本人鄭重承諾:所呈交的畢業設計論文,是我個人在指導教師的指導下進行的研究工作及取得的成果。盡我所知,除文中特別加以標注和致謝的地方外,不包含其他人或組織已經發表或公布過的研究成果,也不包含我為獲得安陽工學院及其它教育機構的學位或學歷而使用過的材料。對本研究提供過幫助和做出過奉獻的個人或集體,均已在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導教師簽名: 日期: 使用授權說明本人完全了解安陽工學院關于收集、保存
2、、使用畢業設計論文的規定,即:按照學校要求提交畢業設計論文的印刷本和電子版本;學校有權保存畢業設計論文的印刷本和電子版,并提供目錄檢索與閱覽效勞;學校可以采用影印、縮印、數字化或其它復制手段保存論文;在不以贏利為目的前提下,學校可以公布論文的局部或全部內容。作者簽名: 日 期: 基于PIC單片機的紅外遙控設計學生: 指導教師:內容提要:遙控器是現代電子控制系統的重要部件。可以利用無線電波、可見光、紅外光、超聲波作為傳輸介質遠距離操控電子設備。由于其功耗低、可靠性高和互相干擾小等優點,已在現實生活中得到了廣泛應用。在目前的家用電器中,如電視機、家庭影院和數字音像設備中,大多都采用了紅外線遙控電路
3、。而這套“基于PIC單片機的紅外遙控設計那么是以Microchip公司生產的16F877a芯片為模版,價格低廉,電路結構簡單,據此本設計提出了一種簡單易行的紅外遙控器的設計。關鍵詞:PIC單片機 紅外遙控 簡單易行PIC MCU-based infrared remote control designAbstract:The remote control of modern electronic control systems are an important component. Can make use of radio waves, visible light, infrared lig
4、ht, ultrasonic remote control as the transmission medium of electronic equipment. Because of its low power consumption, high reliability, and interfere with each other the advantages of small, have been in real life has been widely applied. In the current household appliances such as televisions, ho
5、me theater and digital audio-visual equipment, most of them have adopted the infrared remote control circuit. This set of "PIC-based single-chip design of the infrared remote control" is based on Microchip produced chips for 16F877a template, cheap, simple circuit structure, whereby the de
6、sign of a simple infrared remote control design. Key words:PIC Single-chip infrared remote control is simple一、前言一開發的背景自從1800年英國天文學家赫歇爾發現紅外輻射至今,紅外技術的開展經歷了將近兩個世紀。從那時開始,紅外輻射和紅外元件、部件的科學研究逐步開展,但開展比擬緩慢,直到1940年前后才真正出現現代的紅外技術。隨著科技的不斷開展,各系統間的聯系越來越緊密,對各系統間的數據傳遞的要求也越來越高,但是外部設備越多,連接用的線也越多,短距離聯接的開展必然要走向無線聯機,目前主要
7、的短距離無線連接技術有紅外通信技術和藍牙技術,前者采用紅外線,后者采用無線電波作為信息傳播的媒介。紅外無線通訊的技術與藍牙相比擬,紅外技術具有比擬成熟,接口電路簡單,本錢低等諸多優點。紅外遙控是通過紅外設備將單片機與外部設備聯系起來進行通訊,實現系統間的無線通訊。自從紅外技術出現以來,美國、英國、前蘇聯等國競相開展。特別是美國,大力研究紅外技術在軍事方面的應用。目前,美國將紅外技術應用于單兵裝備、裝甲車輛、航空和航天的偵察監視、預警、跟蹤以及武器制導等各個領域。 1993年,由二十多個大廠商發起成立了紅外數據協會IrDA,統一了紅外通訊的標準,這就是目前被廣泛使用的IrDA紅外數據通訊協議及標
8、準。IrDA專司制訂和推進能共同使用的低本錢紅外數據互連標準,支持點對點的工作模式。由于標準的統一和應用的廣泛,更多的公司開始開發和生產IrDA模塊,技術的進步也使得IrDA模塊的集成越來越高,體積也越來越小。IrDA1.0可支持最高115.2kbps的通信速率,而IrDA1.1可以支持的通信速率到達4Mbps。本課題是專業知識綜合用于前沿科技的一個嘗試,本人堅信此次研究和設計的成果具有一定的現實意義。二開發的目標本系統的根本任務和目標就是,通過紅外發射電路的設計,實現單片機利用紅外信號,通過發射電路與外界聯系,實現對外的遙控控制,其中包含了輸入設備紅外鍵盤,和紅外傳感器的使用。借助軟件局部的
9、設計,實現系統的總體功能,紅外遙控。總的說來,完成此設計主要有四個模塊:·發射及接收電路的設計;·編碼及解碼程序;·紅外傳感器的選取和使用;·紅外鍵盤的設計。三開發的思路 設計基于單片機的紅外遙控,我們要從發射接收電路,編碼解碼,傳感器,紅外鍵盤幾個方向入手。在軟件局部中,我們主要是先要畫好系統原理圖,還有明確系統各局部功能,發射接收電路的設計,編碼及解碼程序,在硬件局部中,主要是發射和接收電路的硬件設計,紅外傳感器的使用,以及紅外鍵盤的設計。二、設計根底一PIC單片機的介紹1PIC單片機常識據統計,我國的單片機年容量已達13億片,且每年以大約16%的速
10、度增長,但相對于世界市場我國的占有率還不到1%。這說明單片機應用在我國才剛剛起步,有著廣闊的前景。培養單片機應用人才,特別是在工程技術人員中普及單片機知識有著重要的現實意義。當今單片機廠商琳瑯滿目,產品性能各異。針對具體情況,我們應選何種型號呢?首先,我們來弄清兩個概念:集中指令集CISC和精簡指令集RISC。采用CISC結構的單片機數據線和指令線分時復用,即所謂馮.諾伊曼結構。它的指令豐富,功能較強,但取指令和取數據不能同時進行,速度受限,價格亦高。采用RISC結構的單片機數據線和指令線別離,即所謂哈佛結構。這使得取指令和取數據可同時進行,且由于一般指令線寬于數據線,使其指令較同類CISC單
11、片機指令包含更多的處理信息,執行效率更高,速度亦更快。同時,這種單片機指令多為單字節,程序存儲器的空間利用率大大提高,有利于實現超小型化。屬于CISC結構的單片機有Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、臺灣Winbond(華邦)W78系列、荷蘭Pilips的PCF80C51系列等;屬于RISC結構的有Microchip公司的PIC系列、Zilog的Z86系列、Atmel的AT90S系列、韓國三星公司的KS57C系列4位單片機、臺灣義隆的EM-78系列等。一般來說,控制關系較簡單的小家電,可以采用RISC型單片機;控制關系較復雜的場合,如通訊產品、工
12、業控制系統應采用CISC單片機。不過,RISC單片機的迅速完善,使其佼佼者在控制關系復雜的場合也毫不遜色。根據程序存儲方式的不同,單片機可分為EPROM、OTP一次可編程、QTP掩膜三種。我國一開始都采用ROMless型單片機片內無ROM,需片外配EPROM,對單片機的普及起了很大作用,但這種強調接口的單片機無法廣泛應用,甚至走入了誤區。如單片機的應用一味強調接口,外接I/O及存儲器,便失去了單片機的特色。目前單片機大都將程序存儲體置于其內,給應用帶來了極大的方便。2PIC單片機的特點和工作原理1PIC最大的特點是不搞單純的功能堆積,而是從實際出發,重視產品的性能與價格比,靠開展多種型號來滿足
13、不同層次的應用要求。就實際而言,不同的應用對單片機功能和資源的需求也是不同的。比方,一個摩托車的點火器需要一個I/O較少、RAM及程序存儲空間不大、可靠性較高的小型單片機,假設采用40腳且功能強大的單片機,投資大不說,使用起來也不方便。PIC系列從低到高有幾十個型號,可以滿足各種需要。其中,PIC12C508單片機僅有8個引腳,是世界上最小的單片機。2精簡指令使其執行效率大為提高。PIC系列8位CMOS單片機具有獨特的RISC結構,數據總線和指令總線別離的哈佛總線Harvard結構,使指令具有單字長的特性,且允許指令碼的位數可多于8位的數據位數,這與傳統的采用CISC結構的8位單片機相比,可以
14、到達2:1的代碼壓縮,速度提高4倍。3產品上市零等待Zero time to market。采用PIC的低價OTP型芯片,可使單片機在其應用程序開發完成后立刻使該產品上市。4PIC有優越開發環境。OTP單片機開發系統的實時性是一個重要的指標,象普通51單片機的開發系統大都采用高檔型號仿真低檔型號,其實時性不盡理想。PIC在推出一款新型號的同時推出相應的仿真芯片,所有的開發系統由專用的仿真芯片支持,實時性非常好。就我個人的經驗看,還沒有出現過仿真結果與實際運行結果不同的情況。5其引腳具有防瞬態能力,通過限流電阻可以接至220V交流電源,可直接與繼電器控制電路相連,無須光電耦合器隔離,給應用帶來極
15、大方便。6徹底的保密性。PIC以保密熔絲來保護代碼,用戶在燒入代碼后熔斷熔絲,別人再也無法讀出,除非恢復熔絲。目前,PIC采用熔絲深埋工藝,恢復熔絲的可能性極小。7自帶看門狗定時器,可以用來提高程序運行的可靠性。8睡眠和低功耗模式。雖然PIC在這方面已不能與新型的TIMSP430相比,但在大多數應用場合還是能滿足需要的。3PIC單片機的分類初檔8位單片機:PIC12C5XXX16C5X系列PIC16C5X系列是最早在市場上得到開展的系列,因其價格較低,且有較完善的開發手段,因此在國內應用最為廣泛;而PIC12C5XX是世界第一個八腳低價位單片機可用于簡單的智能控制等一些對單片機體積要求較高的地
16、方,前景十分廣闊。中檔8位單片機:PIC12C6XX/PIC16CXXX系列PIC中檔產品是Microchip近年來重點開展的系列產品,品種最為豐富,其性能比低檔產品有所提高,增加了中斷功能,指令周期可到達200ns,帶AD,內部E2PROM數據存儲器,雙時鐘工作,比擬輸出,捕捉輸入,PWM輸出,I2C和SPI接口,異步串行通訊USART,模擬電壓比擬器及LCD驅動等等,其封裝從8腳到68腳,可用于高、中、低檔的電子產品設計中,價格適中,廣泛應用在各類電子產品中高檔8位單片機:PIC17CXX系列PIC17CXX是適合高級復雜系統開發的系列產品,其性能在中檔位單片機的根底上增加了硬件乘法器,指
17、令周期可達成160ns,它是目前世界上8位單片機中性價比最高的機種,可用于高、中檔產品的開發,如馬達控制二相關背景知識 116F877a根本知識116F877a的根本架構單片機是中央處理單元(CPU),存儲器(Memory)及輸入/輸出單元三大局部組成。其中CPU可分為兩局部,即算術邏輯單元(ALU)及控制單元(CU),CPU通過總線(BUS)執行程式碼的Fetch、Decode、算術邏輯運算及讀寫時鐘信號的控制。存儲器單元提供存放程序與資料的空間,包含只讀存儲器(ROM)和隨機存取存儲器(RAM)。而輸入/輸出單元提供與外界周邊設備或元件的管道 ,如圖一所示。 圖1 單片機根本架構2PIC1
18、6F877a的特性說明如下:采用高性能的RISC CPU核心8位微電腦控制芯片8K×14Flash程序存儲器5組I/O端口A,B,C,D,E368Bytes數據存儲器及256Bytes的EEPROM數據存儲器2組8位定時器TMR0,TMR2,及1組16位定時器TMR1支持14個中斷處理3PIC16F877a單片機核心架構PIC16F877a單片機是RISC架構單片機,它所采用的Harvard結構和過去一般單片機所采用的Von Neumann結構最大的差異在于總線的改變,如圖2所示。Von Neumann結構是傳統的單片機結構,程序存儲器和數據存儲器是在同一個存儲體區塊,存儲器與CPU
19、之間只使用單一總線,不管是對程序存儲器或數據存儲器作存取都是使用此總線,因此要完成一個指令通常必須依序使用總線,從指令的提取、解碼、資料讀取、執行到資料的寫入,最后的結果是一個指令大都需要等待好幾個周期才能完成。Harvard結構改善了這樣的缺點,主要是程序存儲器和數據存儲器使用不同的存儲體區塊,而且也有各自獨立的總線,這樣的做法就大大改善了指令執行的頻寬,兩條總線可以同時工作,最大的優點是當一個指令在執行時,已經可以去抓下一個指令,因此對于運作的效率會有顯著的提升。 圖2 Harvard架構與Von Neumann架構比擬4存儲器根本知識 PIC16F877a單片機共有3個存儲器塊,它們是程
20、序存儲器,數據存儲器,EEPROM數據存儲器。程序存儲器和數據存儲器有它自己的總線,各自工作而不受對方影響。 PIC16F877a有一個13位程序計數器它的尋址能力達8K×14程序存儲器空間,而且PIC16F877a的Flash存儲器空間正好是8K×14,當尋址超出上面可執行的地址范圍時將導致繚繞。復位向量在0000h中,而中斷向量在0004h中。 數據存儲器被分為4個體,它包括通用存放器(GPR)和特殊功能存放器(FSR),位 RP0,RP1是塊抉擇位。RP1 RP0 STATUS6:5=0 0 體0=01 體1 =10 體2 =11 體3 每個塊的范圍到達7Fh128b
21、it,每個塊的較低位存儲單元保存SFRS,在SFRS上面是GPRS作為靜態RAM操作的。所有執行的塊包括SFR。一些經常使用的SFRS可以從一個體鏡像到另一個體來減少代碼和實現快速訪問。 在實際應用編程中會經常使用到兩個比擬特殊的存放器:INDF和FSR。它們是實現間接尋址所必需的兩個存放器。位于RAM數據存儲器的的最頂端、地址碼最小的INDF存放器,它雖有地址編碼,但其實不是一個物理上的存放器。間接尋址通過使用INDF存放器而成為可能。任何使用INDF存放器的指令其實是通過文件選擇存放器FSR來訪問所指向的存放器。在PIC16F877a中所采用的這種獨特而巧妙的設想,可以使指令集得到很大程度
22、的精簡。 電源控制存放器PCON電源控制存放器的內容包括2個有效位,用其中一個來記錄和區分是否發生了上電復位、外部引腳輸入低電平引起的人工復位、還是看門狗超時溢出復位。在本系統的設計中就會用到該存放器中的位進行判斷進入哪個程序模塊。 電源上電復位標志位 =1 沒有發生上電復位 =0 發生了上電復位。當發生上電復位之后,應該用軟件及時將其置1,以便下次利用該比特來判斷是否發生了電源上電復位。2.FLASH程序存儲器的背景知識 存儲器是任何計算機系統都不可缺少的一類重要的外圍器件或部件。在計算機系統中應用的存儲器有外部存儲器又叫輔助存儲器和內部存儲器又叫主存儲器之分。外部存儲器有:磁帶存儲器多用于
23、大型計算機、軟磁盤存儲器、硬磁盤存儲器、只讀光盤存儲器、可讀寫光盤存儲器、卡式存儲器例如IC卡等;內部存儲器目前都用半導體存儲器。而常見的半導體存儲器器件分為RAM、ROM和NVRAM,而它們往下又細分為多個分支,FLASH程序存儲器就是ROM中的一種,其內容斷電后也不喪失,可反復檫寫屢次,并且容易實現在線檫寫,其檫寫速度根本同于EEPROM,但是其制造本錢更低、芯片面積更小。適應于不僅要求內容可以修改而掉電后又不喪失,而且又要求本錢更低、存儲容量更大的電器設備中。雖然EEPROM和FLASH存儲器都可以屢次電檫和電寫,但EEPROM的讀寫次數要高的多。因此,FLASH存儲器適合用來燒寫那些改
24、動不太頻繁的用戶程序或參數,有利于降低單片機本錢。PIC16F87X單片機內部同時具備兩種電檫和電寫存儲器,分別是用于存儲數據的EEPROM和用于固化用戶程序的FLASH,它們都能夠在適合PIC單片機正常工作的VDD電壓范圍內實現讀寫操作。也就是說,單片機內部自帶電荷泵升壓電路,即使是燒寫操作也不需要外加高電壓。FLASH程序存儲器的讀寫操作是以14位的單指令字節為單位進行的,對于其的寫操作實際是對某一指定單元進行的“先檫除,后寫入的操作。對于程序存儲器的讀寫操作允許進行“校驗和的計算,以便提高可靠性。燒寫到FLASH程序存儲器中的內容,不一定都是有效指令代碼,也可以利用這個14位寬的存儲器,
25、存放一些固定參數等。當CPU執行到存放著這些無效指令代碼的區域是,產生與執行空操作指令NOP同樣的結果。但是對于FLASH程序存儲器進行單個指令字節的寫入操作,將會暫停其他指令的執行,直到寫操作完成,并在寫操作進行期間,不能對程序存儲器的任何單元進行取指操作,即在此期間不能執行任何指令。原因是,FLASH是一個整體,當對其任何一個單元進行燒寫操作時,升壓電荷泵啟開工作,對FLASH整體施加了高電壓,在這個不適合FLASH正常讀取操作的高電壓存續期間,FLASH暫時失去了程序存儲器的角色。總之,FLASH不能同時扮演“被燒寫存儲器和“取指令存儲器雙重角色。為了解決這個矛盾,在PIC16F87X系
26、列單片機中采用的解決方案是,作為一個整體的FLASH程序存儲器,在對一個單元進行燒寫并且電源自動切換到電荷泵供電時,CPU自動停頓而進入等待狀態。在一次燒寫操作完畢,FLASH工作電壓再自動切換到正常值時,CPU才繼續執行FLASH中的程序。對于PIC16F87X,在燒寫FLASH時,雖然不能執行FLASH中的指令,但是系統時鐘仍然振蕩,片內各個外圍模塊仍然正常工作,可以檢測到中斷事件的發生,并進行排隊等待,直到寫操作完成之后才會得到響應。具體處理過程是,一旦寫操作完成,如果中斷源對應的各個中斷屏蔽位都是開放的,并且該中斷源的中斷請求發生在寫操作期間,那么,在執行完預先抓取到指令存放器中的指令
27、之后,將立刻轉向中斷矢量地址去執行中斷效勞子程序。FLASH不是直接影射到RAM存儲器地址空間的,也就是說,它并不與RAM統一編址。因此,FLASH兩者都不能被用戶程序直接訪問,而只能通過專用存放器進行間接的訪問。為了到達間接訪問它們的目的,額外增加了6個特殊功能存放器:EEADR、EEADRH、EEDATA、EEDATH、EECON1、EECON2。FLASH程序存儲器允許以指令字節14位進行讀寫操作,但是寫操作會暫停CPU對FLASH區中指令的執行,直到寫操作完成。當CPU間接訪問FLASH程序存儲器時,EEADRA和EEADRH一起用來存放指向某一單元的13位或12位或11位地址碼,EE
28、DATA和EEDATH一起用來存放即將被寫入或讀出的14位數據實際是用戶程序的指令代碼。依據內部配置FLASH的容量不同,又可以分為以下3種情況。 對于PIC16F876877而言,配置的FLASH容量8K×14。用到了EEADR和EEADRH存放器對的低13位,213 =8K。雖然最高3位沒有用到,但是必須將這幾位清0。原因是,當EEADR和EEADRH內部16位地址碼超出8K時,尋址范圍并不會繞回到FLASH的低地址單元上。例如,當EEADR和EEADRH內部16位地址碼為2000H時,尋址到的單元并不是0000H號單元。這樣做也便于用戶程序在PIC16F87X不同型號之間的移植
29、和兼容。 對于PIC16F873874而言,配置的FLASH容量為4K×14,為PIC16F876877的一半。所以僅用到了EEADR和EEADRH內部16位地址碼的低12位,212=4K。雖然最高4位沒有用到,但是必須將這4位清0,理由同上。 對于PIC16F870871872而言,配置的FLASH容量僅為2K×14,為PIC16F876877的1/4。所以,僅用到了EEADR和EEADRH內部16位地址碼的低11位,211=2K。雖然最高5位沒有用到,但是必須要將這5位清0,理由同上。 3.片內FLASH程序存儲器結構和操作原理圖3 FLASH數據存儲器結構圖PIC16
30、F877a單片機內部,用于固化用戶程序的FLASH 。也把它當作一個外圍模塊來看待,對于它的操作與操作EEPROM數據存儲器也根本相同,只是其數據寬度和地址寬度都需要增加,因此,地址存放器和數據存放器都增加到了一對。FLASH與單片機內部總線之間,利用地址存放器對EEADR:EEADRH和數據存放器對EEDATA:EEDATH,作為用戶程序與FLASH存儲器打交道的對話窗口。從圖中可以發現,以上述4個存放器為界,其左邊,在工作存放器W和4個存放器之間經過內部數據總線進行的是數據傳送,是由CPU執行用戶程序分4次來完成的;而右邊,在4個存放器與FLASH之間的數據傳送那么是靠硬件自動實現的。單片
31、機向FLASH程序存儲器燒寫的程序代碼或數據,常常是最先來自于單片機外部,方法是可以經過端口模塊如USART、SPI、I2C等,與外界進行通信并獲取程序代碼或數據,然后寫入FLASH。燒寫FLASH與向EEPROM中燒寫數據的操作過程相比,主要的不同之處有:地址碼有13位、12位或11位分別對應876877、873874和872871870,需要2個地址存放器并行工作;數據有14位,也需要2個數據存放器并行工作。對于以FLASH為對象的燒寫操作,與CPU以FLASH為指令來源的程序執行,兩種操作行為之間存在著互斥關系。也就是說,這兩種操作絕對不能發生在同一時刻,其中的道理前面分析過。在對于FL
32、ASH寫操作期間,系統時鐘繼續振蕩,所有外設模塊繼續工作,如果中斷處于使能狀態,發生的中斷請求將排隊等候。一旦寫操作完成,CPU將繼續執行被中止的程序。能否燒寫FLASH,還與系統配置字的WRT位有關。在用程序燒寫器經過在線串行編程ICSP引腳,對單片機進行燒寫編程時如果將WRT位清0,此后就不能再以執行用戶程序來操縱控制存放器EECON的方式,燒寫FLASH程序存儲器,如表1所列。我們在此可以主要關注內部寫操作與WRT的對應關系。表1 內部FLASH程序存儲器的讀寫狀態表配置位FLASH程序存儲器區間內部ICSPCP1CP0WRT讀操作寫操作讀操作寫操作00X全部是不不不010未保護區間是不
33、是不保護區間是不不不011未保護區間是是是不保護區間是不不不100未保護區間是不是不保護區間是不不不101未保護區間是是是不保護區間是不不不表2.10 內部FLASH程序存儲器的讀寫狀態表(續)110全部是不是是111全部是是是是說明: ICSP讀寫操作指借助于“程序燒寫器經過在線串行編程ICSP引腳對單片機片內存儲器進行讀寫操作; 內部讀寫操作以執行用戶程序和通過操縱控制存放器EECON的方式進行讀寫操作燒寫FLASH比燒寫EEPROM更需要慎重,以防程序失控導致死機。與向EEPROM單元中一次燒寫數據過程一樣,燒寫FLASH也需要多個步驟才能完成:應事先把長地址和長數據分別放入地址存放器對
34、EEADRH:EEADR和數據存放器EEDATH:EEDATA中,把EEPGD控制位置1,再將寫允許位WREN置1,最后再把寫啟動位WR置1。除了正在對于FLASH進行寫操作之外,平時WREN始終保持為0。只有在前一次的操作中把控制位WREN置1,后面的操作才能把控制位WR置1,也就是,這兩位的置1操作,絕對不能在1條指令的執行過程中同時完成,必須安排兩條指令。在一次寫操作完畢之后,WREN位由軟件清0。在一次寫操作尚未完成之前,如果用軟件去除WREN位,那么不會停止本次寫操作過程。寫FLASH程序存儲器的操作步驟如下。把長地址碼分兩步送入地址存放器對EEADRH:EEADR中,并且保證地址不
35、能超出目標單片機內部FLASH的最大地址范圍對于870871872,2K×14的最大地址碼是07FFH;對于873874,4K×14的最大地址碼是0FFFH;對于876877,8K×14的最大地址碼是1FFFH。 把準備燒寫的14位數據分兩步送入數據存放器對EEDATH:EEDATA中。把控制位EEPGD置位,以指定FLASH作為燒寫對象。 把寫使能位WREN置1,允許后面進行寫操作。 去除全局中斷控制位GIE,關閉所有中斷請求。 執行專用的“5指令序列這5條指令是固定搭配,道理同前:· 用一條移動指令把55H寫入到W;· 用一條移動指令再把W
36、中的55H轉入控制存放器EECON2中;· 用一條移動指令把AAH寫入到W;· 用一條移動指令再把W中的AAH轉入控制存放器EECON2中;· 操作啟動控制位WR置1。 執行2條NOP指令,給單片機足夠的進入寫操作的時間。 放開中斷總屏蔽位如果打算利用EEIF中斷功能的話。 去除寫允許位WREN,在本次寫操作沒有完畢之前,禁止重開新的一次寫操作。當寫操作完成時,控制位WR被硬件自動清0,中斷標志位EEIF被硬件置1該位必須由軟件清0。由于在對FLASH的寫操作期間,CPU不能執行任何指令,因此,就不能使用軟件查詢方式檢驗WR狀態位或EEIF標志位,來判定寫操作是否
37、完成。對于FLASH程序存儲器的寫操作是事關系統平安運行的大問題,需要謹慎對待,并且可以充分利用PIC16F87X單片機為解決此類問題而配置的一些片內軟、硬件資源,來設計一些有效的方法和措施。為了防止意外寫操作行為的發生,意外寫操作主要是指由于某些偶然的原因單片機自發進行的、可能導致不良后果的一類寫操作行為。在某些特殊情況下單片機是不適合對FLASH程序存儲器進行寫操作的。PIC16F87X單片機內部建立了多種保障機制。在上電復位時,寫操作使能控制位WREN自動被清0,以防止上電期間可能發生的意外寫操作。72ms的上電延時復位定時器PWRT如果系統配置字定義為使能,即=0,也可以防止上電期間可
38、能發生的意外寫操作。可以由軟件編程的寫操作使能控制位WREN,平時保持為0,為寫操作的啟動設置了一道關卡。廠家規定的寫操作專用的“5指令序列,如果順序顛倒、密碼出錯、不連續執行等,都不能啟動寫操作,從而有效地防止關機、電源跌落、電源受到強烈干擾、軟件失控期間,可能發生的意外寫操作。對于FLASH程序存儲器防止意外寫操作,PIC16F87X單片機內部,額外設置了更加嚴格的限制。那就是系統配置字中的CP1、CP0和WRT這3位見表2.2或系統配置字的說明局部。當CP1:CP0=00時,無論WRT等于何值,都會禁止任何對于FLASH存儲器的寫操作;當WRT=0時,無論CP1:CP0等于何值,也都會禁
39、止任何對于FLASH存儲器的寫操作。況且這三位不是由軟件所能改動的。一旦設置了此種寫保護功能,假設想把它解除,只能對芯片全部擦除。4編碼及解碼原理1遙控發射器編碼發射電路編碼原理一般家庭用的DVD、VCD、音響都使用這種編碼方式。當發射器按鍵按下后,即有遙控碼發出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征: 采用脈寬調制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進制的“1”,其波形如圖4所示。圖4 遙控碼的“0和“1 注:所有波形為接收端的與發射相反上述“
40、0”和“1”組成的32位二進制碼經38kHz的載頻進行二次調制以提高發射效率,到達降低電源功耗的目的。然后再通過紅外發射二極管產生紅外線向空間發射,如圖5所示。圖5 遙控信號編碼波形圖UPD6121G產生的遙控編碼是連續的32位二進制碼組,其中前16位為用戶識別碼能區別不同的電器設備,防止不同機種遙控碼互相干擾。該芯片的用戶 識別碼固定為十六進制01H;后16位為8位操作碼功能碼及其反碼。UPD6121G最多額128種不同組合的編碼。遙控器在按鍵按下后,周期性地發出同一種32位二進制碼,周期約為108ms。一組碼本身的持續時間隨它包含的二進制“0”和“1”的個數不同而不同,大約在4563ms之
41、間,圖6為發射波形圖。圖6 遙控連發信號波形當一個鍵按下超過36ms,振蕩器使芯片激活,將發射一組108ms的編碼脈沖,這108ms發射代碼由一個引導碼9ms,一個結果碼 4.5ms,低8位地址碼9ms18ms,高8位地址碼9ms18ms,8位數據碼9ms18ms和這8位數據的反碼 9ms18ms組成。如果按鍵按下超過108ms仍未松開,接下來發射的代碼連發碼將僅由起始碼9ms和結束碼2.25ms組成。圖7 引導碼 &
42、#160; 圖8連發碼2遙控信號接收及解碼 接收電路可以使用一種集紅外線接收和放大于一體的一體化紅外線接收器,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號兼容的所有工作,而體積和普通的塑封三極管大小一樣,它適合于各種紅外線遙控和紅外線數據傳輸。 接收器對外只有3個引腳:Out、GND、Vcc與單片機接口非常方便,如圖9所示。圖 9 脈沖信號輸出直接接在單片機的IO 口。 GND接在系統的地線0V;
43、60; Vcc接在系統的電源正極+5V;把紅外遙控器每一個按鍵的鍵值讀出來,并且通過實驗板上P1口的8個LED顯示出來,在解碼成功的同時并且能發出“嘀嘀嘀的提示音。三 、各局部設計與實現一原理及總體設計 紅外遙控系統 通用紅外遙控系統由發射和接收兩大局部組成。應用編/解碼專用集成電路芯片來進行控制操作,如下圖。發射局部包括鍵盤矩陣、編碼調制、LED紅外發送器;接收局部包括光、電轉換放大器、解調、解碼電路,如圖10所示。 圖10 紅外線遙控系統框圖二各局部軟硬件實現1.紅外傳感器這里我們采用HS0038,HS0038 一體化紅外接收頭,接
44、收頻率為38kHz1kHz管腳依次為: 1GND 2VCC 3OUT連接時,在VCC與GND之間并入一個0.1uF的電容有助于改良信號質量。其可以用于遙控編碼接收,也可以用于低碼率的數據通訊。HS0038 信號電平:
45、; 38kHz 紅外發射接收到時: OUT低電平輸出 38kHz 紅外發射接收不到時:OUT高電平輸出Hs0038的使用考前須知: 38kHz紅外發射信號在HS0038接收角度范圍邊沿區域時,接收信號不斷振蕩無法穩定,因此為保證信號質量,使用時發射接收盡力正對為好; HS0038用于數據通訊時,在標準RS232下,波特率設置不要大于2400bps,否那么HS0038無法區分到接收的信號2400bps接近其帶寬極限了。2
46、紅外鍵盤 紅外鍵盤原理圖,如圖11、12、13、14。圖11 圖12圖13圖143.通用同步異步收發器USARTPIC16F87X單片機內部集成了兩個類型不同的串行通信模塊,即通用同步異步收發器USARTuniversal synchronousasynchronous receiver transmitter模塊和主控同步串行端口MSSPmaster synchronous serial port模塊。前者的主要應用目標是系統之間的遠距離串行通信;而后者的主要應用目標是系統內部近距離的串行擴展。與USART模塊有關的存放器有9個,都在RAM陣列中具有統一的地址編碼。如表2所示。表2 與USA
47、RT模塊相關的存放器存放器名稱存放器符號存放器地址存放器內容bit7bit6bit5bit4bit3bit2bit1Bit0中斷控制存放器INTCON0BH/8BH/10BH/18BHGIEPEIET0IEINTERBIET0IFINTFRBIF第一外設中斷標志存放器PIR10CHPSPIFADIFRCIFTXIFSSPIFCCP1-IFTMR2-IFTMR1-IF第一外設中斷屏蔽存放器PIE18CHPSPIEADIERCIETXIESSPIECCP1-IETMR2-IETMR1-IFC口方向存放器TRISC87HTRISC7TRISC6TRISC5TRISC4TRISC3TRISC2TRIS
48、C1TRISC0發送狀態兼控制存放器TXSTA98HCSRCTX9TXENSYNC_BRGHTRMTTX9D接收狀態兼控制存放器RCSTA18HSPENRX9SRENCRENADDENFERROERRRX9D發送存放器TXREG19HUSART發送緩沖存放器接收存放器RCREG1AHUSART接收緩沖存放器波特率存放器SPBRG99H對于波特率發生器產生波特率的定義值發送狀態兼控制存放器TXSTA,它是一個bit3不用,bit1只讀,其余6位可讀寫的存放器,其中沒有一位讀取時會返回0。其中的SYNC位是USART同步異步選擇位。等于1時,是同步模式,等于0時是異步模式;TXEN是發送使能位,為
49、1時是使能發送,為0時是關閉發送功能。RCSTA是接收狀態兼控制存放器,它是一個低三位只讀、高5位可讀寫的存放器。其中的CREN是連續接收使能位。在異步模式下:等于1表示使能連續接收,等于0那么是禁止連續接收;在同步模式下,等于1表示使能連續接收,直到該位被清0為止。該位優先于SREN位。等于0表示關閉連續接收。USART發送緩沖存放器TXREG也是一個用戶程序可讀寫的存放器。每次用戶發送的數據都是通過寫入該緩沖器來實現的。USART接收緩沖存放器RCREG是一個用戶程序可讀寫的存放器。每次從對方傳送過來的數據,用戶都是從該緩沖器最后讀取出來的。SPBRG存放器是用來控制一個獨立的8位定時器的
50、溢出周期。該存放器的設定值0255與波特率成反比關系。在同步方式下波特率僅由這一個存放器決定,在異步方式下那么由BRGH位和該存放器共同確定。四、總結和體會通過這次紅外遙控的畢業設計,學習和使用芯片的具體應用,傳感器的選用,明白了不同芯片外圍接口使用時的工作方式。熟練掌握了它們的運用環境和使用時的方式控制,以及編程命令字的設置。進一步了解了所學芯片的根本的編程步驟及各種方式命令字的使用。將書本上所學的東西用在實際當中了,這加深了我們對可編程器件的理解。在這次設計過程中我有幾點深刻的體會。1.經過這次設計,我體會到應該掌握豐富的理論知識,理論知識是設計的前提。但同時又決不能局限于理論。如某些地方
51、的元件取值,應該大膽的根據經驗去判斷。2.平時課堂上所學習的知識大多比擬陳舊,作為電子專業的學生,由于專業特點自己更要積極查閱當前的最新信息資料。一個人不可能什么都學過,什么都懂,因此,當你在設計過程中需要用一些不曾學過的東西時,就要去有針對性地查找資料,然后加以吸收利用,以提高自己的應用能力,而且還能增長自己見識,補充最新的專業知識。3.實踐能力得到了進一步提高,在設計過程中積累了一些經驗。4.設計對以前學過的理論知識起到了回憶作用。在整個設計之中是對數字電路、模擬電路課程,單片機,微機原理等課程是綜合應用,并對其加以進一步的消化和穩固,加深了對以前所學課程知識的掌握。5.在設計過程中,深深
52、感受到自己在對一些器件的了解上,還存在很大差距,對他們的功能,參數都不是太熟悉。但是通過這次理論與實際的結合之后,認識比以前有不少提高。 五、謝辭首先感謝我的父母,正是你們的默默的付出,才讓我完成大學四年的學習,養育之恩,無以回報,你們永遠健康是我最大的幸福。還要感謝汪光宅老師,劉強老師,在畢業設計的制作過程中,老師們對我自始自終悉心教導、不斷鼓勵、一直催促我學習和制作,使我能夠順利完成畢業設計 ,也教給了我很多新的知識,令我獲益匪淺。他們嚴謹的治學態度深深的影響著我,讓我受益一生,不管是工作還是生活中。同時我還要感謝梁明華,孫偉,劉亮宇,茍慶松等同學,正是他們同時給我的幫助,才讓我的畢業設計
53、能夠順利完成。在此,對汪光宅老師、劉強老師以及給我提供幫助的同學致以誠摯的謝意。祝你們工作順利,身體健康!附錄一紅外鍵盤相關程序用WHILE實現的延時程序void delay16(unsigned int i)while(-i);/*void delay882us(void)delay16(100);/*void delay1000us(void)delay16(115);/*void delay4740us(void)delay16(546);非中斷方式串口輸出void ComOutChar(unsigned char OutData)SBUF = OutData; /輸出字符while(!TI); /空語句判斷字符是否發完TI = 0; /清TI/*/串口初始化晶振為.0592M方式波特率/*void InitCom(void)SCON = 0x50; /串口方式,允許接收TMOD = 0x21; /定時器定時方式,定時為模式,位模式TH1 = 0xFd;/設波特率為TL1 = 0xFd;PCON = 0x00; /波特率不加倍控制,SMOD為RI = 0;/清收發標志TI = 0;TR1 = 1; /啟動定時器二編碼及解碼程序接收,程序如下RF:BTFSC PORTB,2 GOTO RF1BTFSS DOWN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廊坊市重點中學2024-2025學年下學期初三化學試題第二次月考考試試卷含解析
- 煙臺科技學院《西方風景園林理論與實踐》2023-2024學年第二學期期末試卷
- 沈陽航空航天大學北方科技學院《理論物理概論Ⅲ》2023-2024學年第一學期期末試卷
- 四川工商職業技術學院《工程制圖A》2023-2024學年第二學期期末試卷
- 山東城市服務職業學院《高等語言程序設計C》2023-2024學年第二學期期末試卷
- 益陽市資陽區2025年數學三下期末監測模擬試題含解析
- 山東交通職業學院《漫畫角色設計》2023-2024學年第一學期期末試卷
- 民辦四川天一學院《世界流行文化研究》2023-2024學年第二學期期末試卷
- 江蘇省南京師范江寧分校2025屆初三得分訓練(二)英語試題試卷含答案
- 南京農業大學《外國文學作品導讀》2023-2024學年第二學期期末試卷
- 星球版七年級地理上冊《海陸變遷》《火山噴發》實驗說課 課件
- 2023年通管局安全員考試-培訓及考試題庫(導出版)
- GB/T 4857.22-1998包裝運輸包裝件單元貨物穩定性試驗方法
- GB/T 25074-2010太陽能級多晶硅
- GB/T 23842-2009無機化工產品中硅含量測定通用方法還原硅鉬酸鹽分光光度法
- GA/T 1217-2015光纖振動入侵探測器技術要求
- 特種陶瓷介紹課件
- 有機物污染(環境化學)課件
- 安全生產培訓合格證書樣本
- 繪制軸承座三視圖課件
- 五年級上冊數學試題- 五年級趣味數學社團1(第五周活動安排:圖形面積(二))人教新課標 (無答案)
評論
0/150
提交評論