msp430f149中文[最新]_第1頁
msp430f149中文[最新]_第2頁
msp430f149中文[最新]_第3頁
msp430f149中文[最新]_第4頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

1、msp430f149 中文 最新 MSP430F149中文=第1 頁=MSP430單片機(jī)的開發(fā)及應(yīng)用MSP430000263# 7100612003年7月西安郵電學(xué)院63# 710061陳小忠1開始看,其實(shí)以前看過,忘記了。再看=第2 頁=MSP430單片機(jī)的開發(fā)及應(yīng)用目錄第一章概述第二章MSP430 F149語言介紹第一節(jié)開發(fā)環(huán)境及程序下載第二節(jié)語言介紹第三章MSP430F149資源的應(yīng)用介紹及開發(fā)第一節(jié)中斷介紹及存儲器段介紹第二節(jié)硬件乘法器第三節(jié)P口第四節(jié)定時器及數(shù)模轉(zhuǎn)換第五節(jié)時鐘模塊第六節(jié)USART通信模塊第七節(jié)比較器第八節(jié)模數(shù)轉(zhuǎn)換第四章MSP430F149開發(fā)板的介紹及測試第一節(jié)模數(shù)轉(zhuǎn)

2、換模塊第二節(jié)傳感器模塊第三節(jié)外存和實(shí)時時鐘模塊第四節(jié)485和232模塊第五節(jié)電源管理模塊及晶振模塊第六節(jié)PWM波形濾波西安郵電學(xué)院63# 710061 陳小忠2=第3 頁=MSP430單片機(jī)的開發(fā)及應(yīng)用MSP430是德州公司新開發(fā)的一類具有16位總線的帶FLASH的單片機(jī),由于其性價比和集成度高,受到廣大技術(shù)開發(fā)人員的青睞.它采用16位的總線,外設(shè)和內(nèi)存統(tǒng)一編址,尋址范圍可達(dá) 64K,還可以外擴(kuò)展存儲器.具有統(tǒng)一的中斷管理,具有豐富的片上外圍模塊,片內(nèi)有精密硬件乘法器、兩個16位定時器、一個14路的12位的模數(shù)轉(zhuǎn)換器、一個看門狗、6路P口、兩路USART通信端口、一個比較器、一個DCO內(nèi)部振蕩

3、器和兩個外部時鐘,支持8M的時鐘.由于為FLASH型,則可以在線對單片機(jī)進(jìn)行調(diào)試和下載,且JTAG口直接和 FET(FLASH EMULATION TOOL)的相連,不須另外的仿真工具,方便實(shí)用 ,而且,可以在超低功耗模式下工作,對環(huán)境和人體的輻射小,測量結(jié)果為 100mw左右的功耗(電流為14mA左右),可靠性能好,加強(qiáng)電干擾運(yùn)行不受影響,適應(yīng)工業(yè)級的運(yùn)行環(huán)境,適合與做手柄之類的自動控制的設(shè)備.我們相信MSP430單片機(jī)將會在工程技術(shù)應(yīng)用中得以廣泛應(yīng)用,而且,它是通向DSP系列的橋梁,隨著自動控制的高速化和低功耗化,MSP430系列將會得到越來越多人的喜愛.通過兩過多月的畢業(yè)設(shè)計(jì),我對MSP

4、430有了初步了解,對內(nèi)部的硬件資源和自身的匯編語法進(jìn)行了實(shí)驗(yàn),并開發(fā)了一個應(yīng)用板,并進(jìn)行了調(diào)試.鑒于時間和能力有限,沒能對所有的應(yīng)用一一實(shí)驗(yàn).MSP430 F149MSP430是德州公司的新產(chǎn)品,有獨(dú)特的開發(fā)環(huán)境和自身語言,下面是我在畢業(yè)設(shè)計(jì)中對F149的開發(fā)環(huán)境熟悉中遇到的一些問題的處理和匯編語言的用法及程序中遇到的問題的體會.1. 開發(fā)環(huán)境:在EW23環(huán)境下進(jìn)行編程,匯編,連接,在CSPY環(huán)境下進(jìn)行調(diào)試,下載是在連接之后,調(diào)試之前,通過計(jì)算機(jī)的串口下載的.關(guān)于環(huán)境的操作,可以參考有關(guān)資料,其中可能遇到的問題及解決方法有:西安郵電學(xué)院63# 710061 陳小忠3=第4 頁=MSP430單

5、片機(jī)的開發(fā)及應(yīng)用(1) .匯編是對源程序而言的,因此必須打開一個源文件才能匯編,而連接是對一個工程文件而言的,連接是對工程文件的所有源代碼(包括多個源文件)和數(shù)據(jù)的定位,因此連接必須打開一個工程文件才能連接.(2)連接中必須將庫文件的路徑改正確,且必須選定 C SPY 的驅(qū)動方式 ,即在project中的options的xlink的include下修改 (先選中 )xcl的庫路徑為$TOOLKIT_DIR$icc430msp430F149A.xcl ,選擇CSPY 的驅(qū)動 drive為simulator或FLASH EMULATION TOOL ,當(dāng)沒連接430片子時可以選 simulator

6、,當(dāng)連接430片子時,選FLASHEMULATION TOOL進(jìn)行在線下載調(diào)試.(3)由于430支持匯編語言和C語言兩種語言 ,因此可以在一個工程文件中同時用兩種語言,但建議用匯編語言,因?yàn)楸阌谠谡{(diào)試時尋找邏輯和指令的聯(lián)系及地址的定位正確與否.(4)在在線的CSPY的調(diào)試中 ,單步需要將 Control的Reatime 前的勾取消才能進(jìn)行單步測試.(5)在線調(diào)試時 ,不能將58管腳(復(fù)位 /非屏蔽中斷 )外部變高 ,否則,會強(qiáng)制退出調(diào)試環(huán)境.2.程序下載原理及脫機(jī)工作原理:程序的在線調(diào)試是通過JATG口和F149片子的RST、TCK、TDI、TDO、TMS引腳按一定的時序串行的傳遞程序代碼和數(shù)

7、據(jù)的,調(diào)試指令的命令傳遞都是通過這些數(shù)據(jù)線和控制線傳遞的,下載時序可參見資料1,其中的地址0FFFEH為復(fù)位向量的地址,它是程序遇到非屏蔽中斷和程序啟動的首要地址,地址中存放的是程序段開始的首地址,因此必須把程序段的首地址標(biāo)號表示在中斷向量中或程序偽指令的開頭位置,否則,連接時將會出錯,具體的表示方法在下一節(jié)中表示.程序的下載和在線調(diào)試的電源是通過計(jì)算機(jī)在JATG提供的,不須另外給加電源 .脫機(jī)工作時 ,是將F149的電源線上電 ,此時的復(fù)位時序同下載后在線復(fù)位的時序一樣,只是時鐘是通過 F149內(nèi)部時鐘 DCO提供的,上電后,程序?qū)?fù)位向量0FFFE中的地址裝入 PC,PC開始從程序段的首地

8、址開始執(zhí)行.脫機(jī)工作啟動不需要任何操作,只需上電即可 ,電壓要大于 1.8v,一般取3v左右,另外,在脫機(jī)工作時 ,可以給RST端口加一個低電平脈沖以復(fù)位從程序開始重新執(zhí)行.西安郵電學(xué)院63# 710061 陳小忠4=第5 頁=MSP430單片機(jī)的開發(fā)及應(yīng)用MSP430有自身語言,匯編語言也不同于其他類型的單片機(jī),偽指令也是變幻魔測,但又很重要,下面是我畢業(yè)設(shè)計(jì)的一些嘗試、出問題的地方.也可參見資料。1.“#include”不能大寫。2.程序段前的偽指令可以套用下列模板,在以后的幾章中的程序都采用此模板,只是中間的主程序變化而已:#include "MSP430x14x.h"

9、; /*把庫文件包括進(jìn)來,這個庫文件是必須的,其他的庫文件視需要而定*/RSEG UDATA0 /* 定義數(shù)據(jù)段一般默認(rèn)數(shù)據(jù)段段地址是從0200H開始的也可以自己定義數(shù)據(jù)段開始地址,但必須在0200H到09FFH*/DS0/*表示數(shù)據(jù)段從默認(rèn)的段開始,偏移地址為0,若為DS N,表示數(shù)據(jù)段的偏移地址從N開始,此時的物理地址為(0200+N)H*/ ADINPUT EQU 00200H /*將0200H地址命名為ADINPUT,此后程序中的地址0200H可以用ADINPUT表示,便于程序的可讀性,注意:標(biāo)號必須頂格寫*/ADW5H/*定義A字變量的值為5H,此時將會將5H寫到數(shù)據(jù)段的當(dāng)前偏移地址

10、上,便于后面使用,變量也得頂格寫*/RSEG CSTACK/*定義堆棧段*/DS 0/*段偏移值為0H,物理地址為默認(rèn)開始地址值*/RSEG CODE/*定義代碼段1*/DS 0/*代碼段1*/RESET/*標(biāo)號,表示程序段的開始地址,將被寫入復(fù)位向量中*/MOV #SFE(CSTACK),SP/*初始化堆棧指針*/MOV #(WDTHOLD+WDTPW),&WDTCTL /*停止看門狗定時器*/,(程序段的內(nèi)容)COMMON INTVEC /*表示中斷向量定義*/ /*下面的偽指令都不頂格*/ORG XXX 1 / *XXX1表示中斷向量表中的具體的中斷向量1*/DW YYY1 /*

11、YYY是中斷程序入口標(biāo)號,表示中斷程序首地址*/ORG XXX2 /* XXX2表示中斷向量表中的具體的中斷向量2/DW YYY2 /*YYY2是中斷程序入口標(biāo)號,表示中斷程序首地址*/ORG RESET_VECTOR /*復(fù)位向量,每個程序中都必須的,可以放在段開始前的偽指令中*/DW RESET/*程序開始的地址標(biāo)號*/END/*程序結(jié)束*/3.幾個規(guī)定:所有的標(biāo)號都要頂格寫,所有的變量都要頂格寫,所有的偽指令和指令都不能頂格寫,CALL調(diào)用子程序是在標(biāo)號前用“#”,而其他的轉(zhuǎn)移指令中的標(biāo)號前不用“#”,對外設(shè)的寄存器,當(dāng)程序開始時,許多是復(fù)位為零的,如果要置位為1,可以直接將每一位的名稱

12、作立即數(shù)寫入,例如 : 指令西安郵電學(xué)院63# 710061 陳小忠5=第6 頁=MSP430單片機(jī)的開發(fā)及應(yīng)用MOV #(WDTHOLD+WDTPW),&WDTCTL就是將WDTCTL寄存器中的WDTHOLD和WDTPW位置位為高,很容易讀程序內(nèi)容。4( 關(guān)于幾類定義的區(qū)別 : EQU、=、SET、VAR、ASSIGN都是給標(biāo)號變量定義地址值的偽指令,都可以出現(xiàn)在程序中的任何位置,但用法不一樣,=、EQU是定義一個永久地址標(biāo)號變量,一旦定義,在程序中的這個標(biāo)號將固定在定義的地址上,不能改動。而SET、VAR、ASSIGN是暫時的地址標(biāo)號變量,可以在程序中改動,一旦定義了一個標(biāo)號地址,

13、就可以對這個標(biāo)號作地址訪問,但必須是在數(shù)據(jù)段。另外,DB、DW是定義變量在數(shù)據(jù)段當(dāng)前的偏移位置,是作為數(shù)據(jù)定義的,不是作為地址定義的,例如 :AA DB 2H /*此時在數(shù)據(jù)段的當(dāng)前位置寫入了2H到存儲器,以后用AA時就是用數(shù)據(jù)2H,注 :AA頂格寫*/可以在以后的程序中看到這些區(qū)別。其他的指令和偽指令都可以在相關(guān)資料上查找到,以上是經(jīng)常出現(xiàn)的問題,一般核心程序中的指令在語法上都不會有太大的問題,在此不再列舉。MSP430F149本章將介紹MSP430F149的片上資源的開發(fā)和實(shí)驗(yàn)程序,并有詳細(xì)的時序圖、波形圖和實(shí)驗(yàn)結(jié)果的數(shù)據(jù),當(dāng)然,只能是部分應(yīng)用程序。中斷在MSP430中得以廣泛的應(yīng)用,它可

14、以快速進(jìn)入中斷程序,之后返回中斷前的狀態(tài),其時序?yàn)?:PC執(zhí)行程序中斷允許置位SR 中的GIE置位EINT(中斷開)中斷到,中斷標(biāo)志位 ( IFG) 置位從中斷向量表中讀取中斷程序的入口地址,進(jìn)入中斷程序執(zhí)行中斷程序中斷允許位復(fù)位RETI 中斷返回回到原來地址。具體應(yīng)用將會在應(yīng)用程序中的到應(yīng)用。有關(guān)中斷源和中斷優(yōu)先級及中斷允許位、中斷標(biāo)志位在參考資料 1上有詳細(xì)介紹。MSP430單片機(jī)的片上存儲器共為64K,表示為圖:西安郵電學(xué)院63# 710061 陳小忠6=第7 頁=MSP430單片機(jī)的開發(fā)及應(yīng)用0H0FH 010H 0100H0200H9FFH 0A00H FC0H10FFH FFE0H

15、- SFR 0FFH 01FFH RAM區(qū),數(shù)為信息段FFFFH (特殊功(8位外(16位外據(jù)存儲區(qū),0FBFH 1100H FFDFH中斷向能寄存器轉(zhuǎn)模塊、轉(zhuǎn)模塊、可修改訪問專用為程序代碼段量地址IE、IFG、I/O端口 )TIMER、FLASH FLASH型MEM)ADC)引導(dǎo)ROM對存儲器的訪問可以用間接尋址,這對于查表處理很方便,在此舉一例子 :是對存儲段 200H的100個數(shù)的讀取和操作., MAIN MOV #0200H,R6 /*從200H地址開始讀出數(shù)據(jù)到R5中,可以加許多對 R5(即數(shù)據(jù)段的內(nèi)容)進(jìn)行操作的程序*/MOV #100,R4 /*設(shè)取100個地址單元*/LOOP1

16、 MOV.W 0(R6),R5 /* 間接尋址模式*/ADD #2,R6 / *是字操作*/;./ *可以加對取出的數(shù)的操作*/MOV.W R5,0(R6) / *操作完后再放回原地址*/SUB.B #1,R4 /*循環(huán)100次*/CMP #0,R4JNZ LOOP1,.實(shí)驗(yàn)結(jié)果為 : 可以從R5中看到數(shù)據(jù)存儲器從200H開始的100個數(shù)值,在操作完后,可以在200H開始存儲器中看到操作后的結(jié)果滿足要求。硬件乘法器不集成在CPU內(nèi),是獨(dú)立于CPU運(yùn)行的,運(yùn)算時只需將兩個操作數(shù)放進(jìn)相應(yīng)的地址中,就可以直接在結(jié)果寄存器中取數(shù)據(jù),CPU可以工作在低功耗模式,如果用間接尋址模式,可以超低工耗的乘法計(jì)算

17、大量的表數(shù)據(jù),這兒列舉一個例子,其他的幾種情況類似于此:下面為有符號數(shù)(由第一個乘數(shù)決定類型)的乘法程序的部分,MOV #138H,R4 /* 乘數(shù)2的地址為138H,這兒用間接尋址方式*/MOV #-45H,&MPYS /* 裝第一個有符號乘數(shù)的數(shù)值入地址,第一個乘數(shù)MPYS決定了*/MOV #35H,0(R4) /*裝第二個有乘數(shù)的數(shù)值入地址*/MOV RESLO,R5 /*結(jié)果低字送入R5中取出*/西安郵電學(xué)院63# 710061 陳小忠7=第8 頁=MSP430單片機(jī)的開發(fā)及應(yīng)用MOV RESHI,R6 /* 結(jié)果高字送入R6中*/MOV SUMEXT,R7 /*結(jié)果擴(kuò)展送入R

18、7中*/,實(shí)驗(yàn)結(jié)果為可以在R7、R6、R5中看到-45*35的結(jié)果為 FFFFFFFFF1B7H,結(jié)果正確。硬件乘法器的軟件限制可見參考資料1,建議做乘法之前關(guān)掉中斷.PMSP430F149有6個8位的P口,其中 P1、P2口占兩個中斷向量,共可以接16個中斷源,還可以直接利用P口的輸入輸出寄存器,直接對外進(jìn)行通信。因?yàn)樗械腜口都是和其他外設(shè)復(fù)用的,因此在用端口之前都要用功能選擇寄存器選定所用的功能是外設(shè)還是P口,選定之后還要在方向寄存器中確定是是輸出還是輸入,我實(shí)驗(yàn)了一個程序,前部分是實(shí)現(xiàn)中斷功能的程序,后部分為中斷程序是實(shí)現(xiàn)直接用P口對外提供一個短脈沖的程序,在我們設(shè)計(jì)的開發(fā)板中,專門利

19、用了P口的輸入輸出功能對外存24WCXX和實(shí)時時鐘芯片8563的數(shù)據(jù)通過的存取I2C總線的讀取和寫入。還利用了P口向電池充電的開啟電路。下面是個例子:例: 利用P口的中斷功能實(shí)驗(yàn) :。MAIN MOV #SFE(CSTACK),SP /*初始化堆棧指針*/MOV #(WDTHOLD+WDTPW),&WDTCTL/*停看門狗定時器*/LOOP2 BIS #GIE,SR /*普通中斷允許*/EINT /*開中斷*/MOV.B #000H,&P1DIR /* 定義P1口為輸入方向*/MOV.B #000H,&P1SEL /* 定義P1口為P端口功能*/MOV.B #002H,

20、&P1IE /*P1.1口為中斷允許*/MOV.B #000H,&P1IES /* 定義P1.1口為上升沿產(chǎn)生中斷*/JMP LOOP2 /* 循環(huán)等待中斷*/*下面為中斷程序*/LOOP1 MOV.B #001H,&P1DIR /* 定義P1.0口為輸出口*/MOV.B #001H,&P1OUT /* 定義P1.0口輸出的為高電平,發(fā)光二極管燈亮*/MOV.B #000H,&P1IE /*返回中斷前的PC及其他狀態(tài)*/MOV.B #000H,&P1OUT /*將P1.0口置低,發(fā)光二極管燈滅*/RETI /*中斷返回*/COMMON INTVE

21、C /*列中斷向量表*/ORG PORT1_VECTORDW LOOP1 /*中斷向量的入口地址為LOOP1*/END實(shí)驗(yàn)結(jié)果為 : 在運(yùn)行中,當(dāng)給P1.1口一個高電平時,PC裝入中斷程序的地址LOOP1,進(jìn)入中斷程序段,P.0口被置高,此時發(fā)光二極管燈亮,兩個指令周期之后燈滅,此后又返回中斷前的地址開始執(zhí)行,等待下一次中斷的到來.西安郵電學(xué)院63# 710061 陳小忠8=第9 頁=MSP430單片機(jī)的開發(fā)及應(yīng)用MSP430中有兩個16位定時器,還可以利用看門狗定時器。由于定時器的是16位的,則可以在秒數(shù)量級上定時,且具有2個中斷向量,便于處理各種定時中斷。定時器的應(yīng)用在F149中具有舉足輕

22、重的作用,可以利用MSP430F149中的定時器的比較模式產(chǎn)生PWM( 數(shù)字脈沖調(diào)制 ) 波形,再經(jīng)過低通濾波器產(chǎn)生任意函數(shù)的波形,也就是說,可以通過定時器的比較模式實(shí)現(xiàn)數(shù)模轉(zhuǎn)換功能。另外,定時器還具有捕獲模式,我們可以通過定時器的捕獲功能實(shí)現(xiàn)各種測量,比如脈沖寬度測量,如果和比較器結(jié)合,還可以測量電阻、電容、電壓、電流、溫度等,可以這樣說,只要能通過傳感轉(zhuǎn)換為時間長度的,都可以通過定時器的捕獲定時功能實(shí)現(xiàn)值的測量。在開發(fā)板中,利用定時器,我們設(shè)計(jì)了一個 PWM 濾波輸出的函數(shù)發(fā)生器。另外,我們還利用定時器的捕獲功能和比較器的比較功能測電阻和電容,原理可以參見參考資料1中比較器的應(yīng)用章節(jié)。下面

23、是比較器測電阻的實(shí)驗(yàn)程序和時序:程序和設(shè)計(jì)流圖為:,初始化定各P口功能用P口給電容充電比較器開始工作定時器開始定時開始放電至捕獲電壓計(jì)算時間,再取待測電阻重復(fù)測量計(jì)算進(jìn)入中斷程序 ,讀捕獲的時間ResetMOV #SFE(CSTACK),SP /*初始化堆棧指針*/MOV #(WDTHOLD+WDTPW),&WDTCTL/*??撮T狗定時器*/MOV #GIE,SR /*一般中斷允許*/MOV.B #004H,&P1SEL /*定義定時器A的A1作捕獲輸入*/MOV.B #000H,&P1DIR /*定義端口方向?yàn)檩斎胄?/MOV #0FFFFH,&CCR0 /*

24、規(guī)定定時器的最大計(jì)數(shù)值為FFFFH*/MOV #000H,&CCR1 /* 給捕獲初始值為0*/MOV.B #004H,&P2DIR /*比較器的兩個比較口為輸入,輸出口為輸出型*/MOV.B #01CH,&P2SEL /* 定義了端口為比較器功能*/MOV.B #0FFH,&P3DIR /* 定義P3口輸出一個高電平給電容充電*/西安郵電學(xué)院63# 710061陳小忠9=第10 頁=MSP430單片機(jī)的開發(fā)及應(yīng)用MOV.B #000H,&P3SEL /* 選擇P口的功能*/MOV.B #0FFH,&P3OUT /* 輸出給電容充電*/EINT/

25、*開中斷*/LOOP1MOV.B #00CH,CACTL1 /*確定比較器的輸入0口為外參考電壓,這實(shí)驗(yàn)中為電容上的電壓*/MOV.B #00FH,CACTL2 /*確定比較器的輸入1口為外參考電壓,這實(shí)驗(yàn)中為捕獲時刻電壓,由外電源提供,可變的,根據(jù)電阻和電容而定*/MOV #08930H,&CCTL1 /*定時器A的A1口的CCR1為捕獲寄存器*/MOV #002D2H,&TACTL /*寫控制寄存器,定時器開始計(jì)數(shù)*/MOV.B #000H,&P3DIR /* 電容放電,等待放電電容上的電壓降到捕獲電壓發(fā)生中斷,此時的CCR1中值為放電時間比例值*/JMP LOOP

26、1CCR BIC #0FF0FH,&TACTL /* 停定時器*/MOV &CCR1,R5 /*從R5中看定時器的值,還可以送到I/O口上*/JMP CCR /*程序結(jié)束*/COMMON INTVECORG TIMERA1_VECTORDW CCR/*捕獲中斷向量*/ORG RESET_VECTORDW ResetEND實(shí)驗(yàn)結(jié)果跟參考資料的充放電波形一樣,波形為:電容兩端電壓波形:vcc捕獲比較電壓vp比較器的輸出定時充電時間放電至捕獲實(shí)驗(yàn)數(shù)據(jù)為西安郵電學(xué)院63# 710061陳小忠10參數(shù)電阻VCC VCP電容CCR1. 1CCR1. 2CCR1. 3平均定時時間電阻測量 值

27、電阻實(shí)際值參考電阻2.5 2.0 628號45BH 459H 45CH 45BH 0.9K 0.9K=第11 頁=MSP430單片機(jī)的開發(fā)及應(yīng)用待測電阻2.5 2.0 628號466H 466H 463H 465H 1K 1.01K計(jì)算電阻公式為:R測=R參*(N測/N參) (其中,N代表捕獲的計(jì)數(shù)值)本次實(shí)驗(yàn)的經(jīng)驗(yàn):電容必須選擇得當(dāng),若太大可能定時器溢出中斷而不是捕獲中斷,太小,則會為各電容的放電時間差不多,誤差太大.捕獲電壓也必須得當(dāng),太大,可能定時時間太小,誤差太大,太小,放電時間太長 ,可能溢出中斷而不是捕獲中斷.這實(shí)際是一個使用范圍的問題,由于DCO的頻率太高,定時器的計(jì)數(shù)太快,如果

28、定時器的頻率低,采用大電容,則使用范圍會更大一些,精度更高一些.另外,可以用比較器和定時器的捕獲用同樣的原理測電容及其他的可以轉(zhuǎn)換為時間的傳感問題,這在實(shí)際應(yīng)用中有更廣泛的用途.利用定時器的比較模式和輸出的PWM形式,我們可以作出數(shù)模轉(zhuǎn)換的模型和程序,這樣經(jīng)過低通濾波可以產(chǎn)生各種函數(shù)發(fā)生器.為此,我們做了一個 PWM波的實(shí)驗(yàn),原理及流圖和時序及程序?yàn)?原理為:利用輸出模式的翻轉(zhuǎn)特性和連續(xù)模式的PWM波形輸出,通過CCR0加數(shù)據(jù)存儲器 RAM的中相互交叉“0”電平和“1”的時間間隔,成對的兩個寄存器定義了占空比,而各對的和( 小周期 ) 是定值。當(dāng)計(jì)數(shù)器的計(jì)數(shù)值到達(dá)CCR0翻轉(zhuǎn),且產(chǎn)生中斷,轉(zhuǎn)入中斷程序,在中斷程序中,我們給CCR0加上下次翻轉(zhuǎn)的時間,即下次翻轉(zhuǎn)時的計(jì)數(shù)長度從數(shù)據(jù)存儲器中取出加到上次翻轉(zhuǎn)時刻的計(jì)數(shù)值中,當(dāng)返回中斷后,計(jì)數(shù)器繼續(xù)計(jì)數(shù),到下次翻轉(zhuǎn)和中斷時,又循環(huán)繼續(xù)進(jìn)行。這樣,就輸出了占空比不斷變化而又呈一種趨勢的變化,經(jīng)過低通濾波,即電容的充放電形成一種階梯狀的變化趨勢,當(dāng)計(jì)數(shù)小周期很小時,就可以得到近似的一條模擬曲線,從而實(shí)現(xiàn)了數(shù)模轉(zhuǎn)換或函數(shù)發(fā)生器,由于小周期是任意的但必須大于2倍中斷程序時間,則可以實(shí)現(xiàn)任意占空比的小周期和任

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論