數(shù)控恒流源設(shè)計報告加程序_第1頁
數(shù)控恒流源設(shè)計報告加程序_第2頁
數(shù)控恒流源設(shè)計報告加程序_第3頁
數(shù)控恒流源設(shè)計報告加程序_第4頁
數(shù)控恒流源設(shè)計報告加程序_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計報告加程序數(shù)控恒流源設(shè)計報告背景數(shù)控恒流源是單片機運用數(shù)字控制技術(shù)控制恒流源的一種設(shè)計方案。謝謝閱讀當(dāng)前,數(shù)字化數(shù)控恒流源的應(yīng)用,隨著電子技術(shù)的發(fā)展使用范圍越來越廣,在電感謝閱讀子測量儀器、激光、傳感技術(shù)、超導(dǎo)、現(xiàn)代通信等高新技術(shù)領(lǐng)域,恒流源都被廣謝謝閱讀泛應(yīng)用,且發(fā)展前景較為良好。同時,也不僅局限于此。電子領(lǐng)域,數(shù)控恒壓技感謝閱讀術(shù)已經(jīng)很成熟,但是恒流方面特別是數(shù)控恒流的技術(shù)是有待發(fā)展,高性能的數(shù)控感謝閱讀恒流器件的開發(fā)和應(yīng)用存在巨大的發(fā)展空間。所以設(shè)計一個數(shù)控恒流源方案來提精品文檔放心下載高恒流源的穩(wěn)定性、適用范圍以及精度很有必要。目錄第一章設(shè)計方案第二章恒流電路第三章MSP430F149單片機及電源第四章AD模塊第五章DA模塊第六章鍵盤模塊和顯示模塊第七章軟件設(shè)計第八章實驗總結(jié)第一章設(shè)計方案本設(shè)計本設(shè)計是基于單片機控制的直流恒流源,分為以下幾個組成部分:單片機控制系精品文檔放心下載統(tǒng)、A/D和D/A轉(zhuǎn)換模塊、電源模塊、恒流源模塊、負載及鍵盤液晶顯示模塊,系統(tǒng)框圖如謝謝閱讀圖所示。系統(tǒng)框圖用430單片機作為整機的控制單元,通過改變D/A轉(zhuǎn)換器的輸入數(shù)字量來改變輸出電謝謝閱讀壓值,從而間接地改變壓控恒流源的輸出電流大小。為了能夠使系統(tǒng)具備檢測實際輸出電謝謝閱讀流值的大小,可以將電流轉(zhuǎn)換成電壓,并經(jīng)過A/D轉(zhuǎn)換器進行模數(shù)轉(zhuǎn)換,用單片機實時對感謝閱讀電壓進行采樣,與輸入預(yù)期值比較,并通過430單片機進行進行數(shù)據(jù)處理微調(diào)輸出,提高謝謝閱讀精度實時顯示。第二章恒流電路數(shù)控直流電流源可以采用電流輸出型D/AuA感謝閱讀數(shù)量級,因此需要進行電流放大若干倍才能達到所需要的要求電流值,電路實現(xiàn)很困難。若精品文檔放心下載選擇電壓輸出型DAC,再通過V-I轉(zhuǎn)換電路變成與之成比例的電流信號,則電路實現(xiàn)相對簡精品文檔放心下載單,因此設(shè)計直流電源時常采用該種方案實現(xiàn),在這種方案中,V/I轉(zhuǎn)換電路設(shè)計是關(guān)鍵。感謝閱讀通常的V/I轉(zhuǎn)換有兩種方式,一種是負載共地的方式,一種是負載共電源的方式。我們選用謝謝閱讀的是負載共地的方式,因為有很多電路負載在連接的時候需要進行共地。謝謝閱讀R6R5RLR7為A/DR6謝謝閱讀采樣到的電流信號加到電路的輸入端,構(gòu)成電流并聯(lián)負反饋電路。謝謝閱讀由虛斷知,運算放大器輸入端沒有電流流過,則(Vi–V2)/R1=(V1–V4)/R2……a同理(V3–V2)/R3=V2/R4……b由虛短知V1=V2……c如果R1=R2=R4=R3,則由abc式得V3-V4=Vi謝謝閱讀上式說明R6兩端的電壓和輸入電壓ViR7和RL的電流I=Vi/R6謝謝閱讀載RL<<100KRL的電流僅有輸入電壓Vi決謝謝閱讀定,并且I=Vi/R6。所以R1、R2、R3、R4選用100kΩ。為了方便采樣,我們選擇R6為1Ω謝謝閱讀電阻。Vi為0~1V,我們做的恒流源輸出電流在0~100mA,R6=1/0.1=10Ω。為了擴大電流的感謝閱讀輸出能力,在上電路的負反饋沒有通過電阻直接反饋,而是串聯(lián)了三極管的發(fā)射結(jié),進行電精品文檔放心下載流放大。因為在恒流源電路中,MOSFET管的輸入電容太大,而一般運放的輸出電阻都在幾十歐姆感謝閱讀以上,會造成閉環(huán)的延遲,而高增益的閉環(huán)負反饋中的遲延很容易振蕩,三極管的放大倍數(shù)選精品文檔放心下載大些,也可以用復(fù)合管,實際上電阻的誤差比三極管基極電流的影響可能要大,還可以通過調(diào)精品文檔放心下載節(jié)電阻的值來調(diào)節(jié).所以我們選用的是三級管而不是MOSFET管。精品文檔放心下載第三章MSP430F149單片機及電源3.1MSP430F149單片機MSP430F149單片機是一個16位的、具有精簡指令集的、超低功耗的混合型單片機。由于它精品文檔放心下載具有極低的功耗、達到60KB的FLASH容量、豐富的片內(nèi)外設(shè)和相對較小的體積及方便靈活謝謝閱讀的開發(fā)環(huán)境,已成為眾多單片機系列中一顆耀眼的“芯星”。精品文檔放心下載開發(fā)板資源描述:【1】.板載MSP430F149芯片【2】.集成USB型BSL編程器(對自身或其他板子進行bsl編程)謝謝閱讀【3】.提供32.768KHZ和8MHZ兩種晶振連接方式謝謝閱讀【4】.采用USB供電和程序下載,優(yōu)質(zhì)電容濾波【5】.采用標準JTAG接口(14針),支持硬件仿真。謝謝閱讀【6】.所有IO口(包括AD電源等)均引出(未焊接排針,可自己向上或向下焊接)。精品文檔放心下載【7】.4路彩色LED全部上拉,可以借此觀察程序運行狀態(tài)。感謝閱讀【8】.2個優(yōu)質(zhì)獨立按鍵?!?】.板載手動復(fù)位電路?!?0】.板載蜂鳴器電路,可做音樂實驗等。【11】.提供NRF24L01+無線模塊接口。【12】.板子集成USB轉(zhuǎn)串口功能。【13】.向外提供3.3v和5v電源排針。MSP430的端口有P1、P2、P3、P4、P5、P6、S和COM(型號不同,包含的端口也不僅相同,謝謝閱讀如MSP430X11X系列只有P1,P2端口,而MSP430X4XX感謝閱讀以直接用于輸入/輸出。MSP430系統(tǒng)中沒有專門的輸入/輸出指令,輸入/輸出操作通過傳送感謝閱讀指令來實現(xiàn)。端口P1`P6的每一位都可以獨立用于輸入/輸出,即具有位尋址功能。常見的感謝閱讀鍵盤接口可以直接用端口進行模擬,用查詢或者中斷方式控制。由于MSP430的端口只有數(shù)感謝閱讀據(jù)口,沒有狀態(tài)口或控制口,在實際應(yīng)用中,如在查詢式輸入/輸出傳送時,可以用端口的精品文檔放心下載某一位或者幾位來傳送狀態(tài)信息,通過查詢對應(yīng)位的狀態(tài)來確定外設(shè)是否處于“準備好狀精品文檔放心下載態(tài)。端口的功能。(1)P1,P2端口:I/O,中斷功能,其他片內(nèi)外設(shè)功能如定時器、比較器;(2)感謝閱讀P3,P4P5P6I/O,其他片內(nèi)外設(shè)功能如SPI、UART模式,A/D3)S,COM精品文檔放心下載I/O,驅(qū)動液晶。MSP430各端口具有豐富的控制寄存器供用戶實現(xiàn)相應(yīng)的操作。其中P1,P2具有7個寄存器,感謝閱讀P3~P6具有4個寄存器。通過設(shè)置寄存器我們可以實現(xiàn):(1)每個I/O位獨立編程;(2)精品文檔放心下載任意組合輸入,輸出和中斷;(3)P1,P2所有8個位全部可以用作外部中斷處理;(4)可謝謝閱讀以使用所以指令對寄存器操作;(5)可以按字節(jié)輸入、輸出,也可按位進行操作。精品文檔放心下載端口P1,P2的功能可以通過它們的7個控制寄存器來實現(xiàn)。這里,Px代表P1或P2。精品文檔放心下載(1)PxDIR:輸入/輸出方向寄存器。8位相互獨立,可以分別定義8個引腳的輸入/輸出方謝謝閱讀8位再PUC/謝謝閱讀能讀,作為輸出時,可讀可寫。01P1DIR|=BIT4;//P1.4輸出,精品文檔放心下載P2DIR=0XF0;//高4位輸出,低4位輸入。謝謝閱讀(2)PXIN:輸入寄存器,為只讀寄存器。用戶不能對它進行寫入,只能通過讀取其寄存器謝謝閱讀的內(nèi)容來知道I/O口的輸入信號。所以其引腳的方向要選為輸入。如再鍵盤鍵盤掃描程序中謝謝閱讀經(jīng)常要讀取行線或者列線的端口寄存器值來判斷案件情況。例如:精品文檔放心下載unsignedcharkey;P1DIR&=~BIT4;//P1.4輸入……精品文檔放心下載key=P1IN&0X10;//輸出端口P1.4的值……精品文檔放心下載(3)PXOUTI/O端口的輸出緩沖寄存器,再讀取時輸出緩存的內(nèi)精品文檔放心下載容與引腳方向定義無關(guān)。改變方向寄存器的內(nèi)容,輸出緩存的內(nèi)容不受影響。如:感謝閱讀PIOUT|=0X01;//P1.0輸出1,PIOUT&=~0X01;//P1.0輸出0。謝謝閱讀(4)PXIFG:中斷標志寄存器。他的8個標志位標志相應(yīng)引腳是否有中斷請求有待處理。:謝謝閱讀無中斷請求,1:有中斷請求。其中斷標志分別為PXIFG.0~PXIFG.7。應(yīng)該注意的是:精品文檔放心下載PXIFG.0~PXIFG.7共用一個中斷向量,為多源中斷。當(dāng)任一事件引起的中斷進行處理時,感謝閱讀PXIFG.0~PXIFG.7謝謝閱讀另外,外部中斷事件的時間必須保持不低于1.5倍的MCLK時間,以保證中斷請求被接受,感謝閱讀且使相應(yīng)中斷標志位置位。(5)PXIES:中斷觸發(fā)沿選擇寄存器。如果允許PX口的某個引腳中斷,還需定義該引腳的謝謝閱讀中斷觸發(fā)方式。0:上升沿觸發(fā)使相應(yīng)標志置位,1:下降沿觸發(fā)相應(yīng)標志置位。如:精品文檔放心下載MOV.B#07H,&P1IES;p1低3位下降沿觸發(fā)中斷。謝謝閱讀(6)PXIE:中斷使能寄存器。PX口的每一個引腳都有一位用以控制該引腳是否允許中斷。感謝閱讀0:禁止中斷,1:允許中斷。MOV.B#0E0H,&P2IE;P2高3位允許中斷。謝謝閱讀(7)PXSEL:功能選擇寄存器。P1,P2兩端口還具有其他片內(nèi)外設(shè)功能,將這些功能與芯片感謝閱讀外的聯(lián)系通過復(fù)用P1,P2引腳的方式來實現(xiàn)。PXSEL用來選擇引腳的I/O端口功能與外圍模精品文檔放心下載塊功能。0I/O端口,1P1SEL|=0X10;//P1.4感謝閱讀為外圍模塊功能。端口P3P4P5P6PI,P2P1,P2與中斷相關(guān)的3個謝謝閱讀P3,P4,P5,P6的4P1P2PXDIRPXINPXOUTPXSEL謝謝閱讀可供用戶使用。端口COM和SCOM為液晶片的公共端,S為液晶片的段碼端。謝謝閱讀液晶片輸出端也可經(jīng)軟件配置為數(shù)字輸出端口。3.2電源模塊:5v12v佰嘉達D-120A雙組電源謝謝閱讀佰嘉達D-120A雙組電源是開關(guān)電源(英文:SwitchingModePowerSupply),又稱交換謝謝閱讀式電源、開關(guān)變換器,是一種高頻化電能轉(zhuǎn)換裝置。其功能是將一個位準的電壓,透過不同精品文檔放心下載形式的架構(gòu)轉(zhuǎn)換為用戶端所需求的電壓或電流。20~感謝閱讀30%。功耗小、效率高:功率晶體管工作在開關(guān)狀態(tài),所以晶體管上的功耗小,轉(zhuǎn)化效率高,感謝閱讀一般為60~70%30~40%12V和5V電壓。精品文檔放心下載第四章DA模塊因為MSP430F149單片機內(nèi)部并沒有內(nèi)置DAC12模塊,所以必須外接DAC芯片進行DA轉(zhuǎn)換。精品文檔放心下載考慮到恒流源的精度和步進的大小,我們決定使用12位的DAC芯片來進行DA精品文檔放心下載選,我們使用12位的TLV5618。其連接圖如下感謝閱讀DA模塊電路圖特性雙通道12位電壓輸出型DAC可編程設(shè)置時間:3uS—10uS兼容TMS320和SPI接口可直接代替TLC5618應(yīng)用數(shù)字電路控制數(shù)字偏移及增益控制工業(yè)生產(chǎn)控制機器和自動控制裝第五章AD模塊這里采用的是MSP430F149單片機內(nèi)部的ADC12模塊,需在單片機外接如圖所示的一些元件輔助芯片。ADC12提供4種轉(zhuǎn)換模式:單通道單次轉(zhuǎn)換序列通道單次轉(zhuǎn)換單通道多次轉(zhuǎn)換序列通道多次轉(zhuǎn)換這里我們只用單通道單次轉(zhuǎn)換對選定的通道進行單次轉(zhuǎn)換要進行如下設(shè)置:x=CSStartAdd,指向轉(zhuǎn)換開始地址ADC12MEMx存放轉(zhuǎn)換結(jié)果ADC12IFG.x為對應(yīng)的中斷標志ADC12MCTLx寄存器中定義了通道和參考電壓轉(zhuǎn)換完成時必須使ENC再次復(fù)位并置位(上升沿),以準備下一次轉(zhuǎn)換。在ENC復(fù)位并再次謝謝閱讀置位之前的輸入信號將被忽略。AD模塊電路圖不論用戶使用何種轉(zhuǎn)換模式,都要處理以下問題:設(shè)置具體模式輸入模擬信號關(guān)注轉(zhuǎn)換結(jié)束信號存放轉(zhuǎn)換數(shù)據(jù)以及采用查詢或者中斷方式讀取數(shù)據(jù)二、ADC12寄存器說明1.ADC12CTL0控制寄存器0,各位定義:15~1211~876543210謝謝閱讀SHT1SHT0MSC2.5VREFONADC12ONADC12TOVIEADC12TVIEENCADC12SCADC12SC——采樣/轉(zhuǎn)換控制位。在不同條件下,ADC12SC的含義如下所示:感謝閱讀ENC——轉(zhuǎn)換允許位。0:ADC12為初始狀態(tài),不能啟動A/D轉(zhuǎn)換;精品文檔放心下載1:首次轉(zhuǎn)換由SAMPCON上升沿啟動ADC12TVIE——轉(zhuǎn)換時間溢出中斷允許位(當(dāng)前轉(zhuǎn)換還沒完成時,又發(fā)生一次采樣請求,則謝謝閱讀會發(fā)生轉(zhuǎn)換時間溢出)0:沒發(fā)生轉(zhuǎn)換時間溢出1:發(fā)生轉(zhuǎn)換時間溢出ADC12OVIE——溢出中斷允許位(當(dāng)ADC12MEMx中原有數(shù)據(jù)還沒有讀出,而又有新的轉(zhuǎn)換結(jié)感謝閱讀果數(shù)據(jù)要寫入時,則發(fā)生溢出)0:沒發(fā)生溢出1:發(fā)生溢出ADC12ON——ADC12內(nèi)核控制位0:關(guān)閉ADC12內(nèi)核1:打開ADC12內(nèi)核REFON——參考電壓控制位0:內(nèi)部參考電壓發(fā)生器關(guān)閉1:內(nèi)部參考電壓發(fā)生器打開2.5V——內(nèi)部參考電壓的電壓值選擇位0:選擇1.5V內(nèi)部參考電壓1:選擇2.5V內(nèi)部參考電壓MSC——多次采樣轉(zhuǎn)換位(CONSEQ<>0表示當(dāng)前轉(zhuǎn)換模式不是單通道單次轉(zhuǎn)換)謝謝閱讀SHT1、SHT0——采樣保持定時器1,采樣保持定時器0精品文檔放心下載分別定義保存在轉(zhuǎn)換結(jié)果寄存器ADC12MEM8~ADC12MEM15和ADC12MEM0~ADC12MEM7中的轉(zhuǎn)謝謝閱讀換采樣時序與采樣時鐘ADC12CLK的關(guān)系。采樣周期是ADC12CLK周期乘4的整數(shù)倍。謝謝閱讀2.ADC12CTL1轉(zhuǎn)換控制寄存器1(大多數(shù)3~15位,只有在ENC=0感謝閱讀義:15~1211~10987~54、32、10精品文檔放心下載CSSTARTADDSHSSHPISSHADC12DIVADC12SSELCONSEQADC12BUSYCSSTARTADD——4位所表示的二進制數(shù)0~15分別對應(yīng)ADC12MEM0~15。謝謝閱讀可以定義單次轉(zhuǎn)換地址或序列轉(zhuǎn)換的首地址。SHS——采樣觸發(fā)輸入源選擇位。SHP——采樣信號(SAMPCON)選擇控制位。ISSH——采樣輸入信號方向控制位ADC12DIV——ADC12時鐘源分頻因子選擇位。分頻因子為該3位二進制數(shù)加1精品文檔放心下載ADC12SSEL——ADC12內(nèi)核時鐘源選擇CONSEQ——轉(zhuǎn)換模式選擇位ADC12BUSY——ADC12忙標志(只用于單通道單次轉(zhuǎn)換模式,在其它轉(zhuǎn)換模式下,該位無效)謝謝閱讀3.ADC12MEM0~ADC12MEM15轉(zhuǎn)換存儲寄存器謝謝閱讀該組寄存器均為16位寄存器,用來存放A/D轉(zhuǎn)換結(jié)果。中用其中低124位在讀出時謝謝閱讀為04.ADC12MCTLx轉(zhuǎn)換存儲控制寄存器(所有位只有在ENC為低電平時可修改,在POR時各位謝謝閱讀被復(fù)位)對于每個轉(zhuǎn)換存儲器有一個對應(yīng)的轉(zhuǎn)換存儲器控制寄存器,所以在進行CSSTARTADD轉(zhuǎn)換存謝謝閱讀儲器地址位設(shè)置的同時,也確定了ADC12MCTLx。精品文檔放心下載5.ADC12IFG中斷標志寄存器為16位,其中中斷標志位ADC12IFG.x對應(yīng)于轉(zhuǎn)換存儲寄存器感謝閱讀ADC12MEMx:ADC12IFG.x置位:轉(zhuǎn)換結(jié)束,并且轉(zhuǎn)換結(jié)果已經(jīng)裝入轉(zhuǎn)換存儲寄存器。精品文檔放心下載ADC12IFG.x復(fù)位:ADC12MEMx被訪問。精品文檔放心下載6.ADC12IE中斷使能寄存器為16位,對應(yīng)于ADC12IFG寄存器:謝謝閱讀ADC12IE.x=1:允許相應(yīng)的中斷標志位ADC12IFG.x在置位時發(fā)生的中斷請求服務(wù)。謝謝閱讀ADC12IE.x=0:禁止相應(yīng)的中斷標志位ADC12IFG.x在置位時發(fā)生的中斷請求服務(wù)。精品文檔放心下載7.ADC12IV中斷向量寄存器ADC12是一個18ADC12IFG.0~ADC12IFG.15與ADC12TOVADC12OV感謝閱讀但只有一個中斷向量。所以需要設(shè)置這18個標志的優(yōu)先級順序,按照優(yōu)先級順序安排中斷精品文檔放心下載標志的響應(yīng),高優(yōu)先級的請求可以中斷正在服務(wù)的低優(yōu)先級。各中斷標志會產(chǎn)生一個0~36感謝閱讀的偶數(shù)。ADC12OV和ADC12TOV會在訪問ADC12IV后自動復(fù)位。但在響應(yīng)了ADC12IFG.x標志對應(yīng)的中謝謝閱讀斷服務(wù)之后,相應(yīng)的標志不自動復(fù)位,用以保證能處理發(fā)生溢出的情況。謝謝閱讀第六章鍵盤模塊和顯示器模塊6.1鍵盤模塊4X4鍵盤電路圖鍵盤在單片機系統(tǒng)中用得非常廣泛。當(dāng)按鍵多而且單片機的I/O口有限時,往往要考慮的是感謝閱讀矩陣式鍵盤。其中有兩種方式可以實現(xiàn)矩陣式鍵盤:一種是利用純硬件完成解碼的稱為“編感謝閱讀碼鍵盤”;另外一種是利用軟件實現(xiàn)解碼的稱為“非編碼鍵盤”。精品文檔放心下載在單片機系統(tǒng)中,只要單片機有空余的時間來解碼時,我們往往利用的是軟件解碼的形謝謝閱讀式,即“非編碼鍵盤”來實現(xiàn)矩陣鍵盤。這樣可以節(jié)約成本。謝謝閱讀謝謝閱讀去讀那些列的電平。;被拉低的行上,按下的鍵對應(yīng)的列的電平為0,其它為1.用左移位的感謝閱讀CY里就可以檢測出是0還是1.為1;為0謝謝閱讀描按鍵時,如無按下,則取碼指針R1加1后,繼續(xù)掃描。如有鍵按下,轉(zhuǎn)按鍵處理子程序,感謝閱讀按鍵按下標志位;F0清0(表示按下)。此時,取碼指針的值,就是按鍵的鍵名。隨后繼續(xù)進感謝閱讀入按鍵檢測子程序重新掃描。每個按鍵有它的行值和列值,行值和列值的組合就是識別這個感謝閱讀按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。每個按鍵的狀態(tài)同樣需變精品文檔放心下載成數(shù)字量“0”和“1”,開關(guān)的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字精品文檔放心下載“0”實現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是謝謝閱讀什么;還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行謝謝閱讀感謝閱讀通過軟件查表,查出該鍵的功能。鍵盤連接成4×4的矩陣形式,占用單片機P1口的8根線,精品文檔放心下載行信號是P5.0-5.3,列信號是P5.4-5.7。謝謝閱讀789復(fù)位456小數(shù)點123清除一位0輸出暫停確認按鍵對應(yīng)功能圖6.21602液晶顯示模塊工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。(16列2行)謝謝閱讀注:為了表示的方便,后文皆以1表示高電平,0表示低電平。謝謝閱讀1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型感謝閱讀液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個精品文檔放心下載字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,謝謝閱讀正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。謝謝閱讀1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符謝謝閱讀和數(shù)字)。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因謝謝閱讀此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。精品文檔放心下載⑵管腳功能1602采用標準的16腳接口,其中:第1腳:VSS為電源地第2腳:VCC接5V電源正極第3V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最謝謝閱讀高。第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。精品文檔放心下載第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。謝謝閱讀第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負跳變時執(zhí)行指令。感謝閱讀第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。精品文檔放心下載第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負極。精品文檔放心下載⑶特性3.3V或5V工作電壓,對比度可調(diào)內(nèi)含復(fù)位電路提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能謝謝閱讀有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM內(nèi)建有192個5X7點陣的字型的字符發(fā)生器CGROM感謝閱讀8個可由用戶自定義的5X7的字符發(fā)生器CGRAM感謝閱讀指令集1602通過D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。謝謝閱讀顯示模式設(shè)置:(初始化)0[0x38]設(shè)置16×2顯示,5×7點陣,8位數(shù)據(jù)接口;感謝閱讀顯示開關(guān)及光標設(shè)置:(初始化)00001DCBD顯示(1有效)、C光標顯示(1有效)、B光標閃爍(1有效)感謝閱讀000001NSN=1(讀或?qū)懸粋€字符后地址指針加1&光標加1),精品文檔放心下載N=0(讀或?qū)懸粋€字符后地址指針減1&光標減1),精品文檔放心下載S=1且N=1(當(dāng)寫一個字符后,整屏顯示左移)s=0當(dāng)寫一個字符后,整屏顯示不移動數(shù)據(jù)指針設(shè)置:數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(0-27H,40-67H)謝謝閱讀其他設(shè)置:01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針=0)。謝謝閱讀第七章軟件設(shè)計第八章實驗總結(jié)0~100mA時可適用負載的電阻范圍為0~69.50mA時相對誤差謝謝閱讀為0,在10mA時顯示電流比電流表小1.5mA,在100mA時顯示電流比電流表大1.5mA。并且謝謝閱讀其誤差值近視拋物線。經(jīng)分析,我們認為是一方面因為DA采樣信號經(jīng)過LM358放大10倍時精品文檔放心下載誤有一定的誤差,并不是絕對的十倍,故造成其輸出值不是理想狀態(tài)。另一方面是因為單片精品文檔放心下載機的ADC模塊的參考電壓不是很準確,也造成一定影響。謝謝閱讀附錄1:實物圖附錄2:程序清單#include<msp430x14x.h>#include"Keypad.h"#include"cry1602.h"#defineucharunsignedchar#defineuintunsignedint#defineNum_of_Results32ucharshuzi[]={"789."};staticuintresults[Num_of_Results];//保存ADC轉(zhuǎn)換結(jié)果的數(shù)組謝謝閱讀voidTrans_val(uintHex_Val);感謝閱讀voidDA_conver(uintdig);voidshuzishuru(uintshuzi);感謝閱讀voidWrite_A_B(uintdata_a,uintdata_b,ucharchannal,ucharmodel);精品文檔放心下載//提示語句:ucharStrings[]={"Pleaseenterthecurrentvalue:"};精品文檔放心下載ucharceshi1[]={"Nodata"};ucharceshi2[]={"Lessthan100mA"};感謝閱讀ucharceshi3[]={"A:"};ucharceshi4[]={"B:"};ucharceshi5[]={"mA"};//引用外部變量的聲明externunsignedcharkey_val;感謝閱讀externunsignedcharkey_Flag;精品文檔放心下載unsignedlongDianliu2,Dianliu3;精品文檔放心下載uintDianliu1,zheng,daxiao,,VV;精品文檔放心下載uchardianliu1[10],dianliu2[10],display[10];//display要求輸出的電流,dianliu2謝謝閱讀實際輸出的電流,dianliu1鍵入的電流uintz,y,h,q,j,k,a;uintn,nn,m,mm;//電流值的位數(shù)(整數(shù)部分,小數(shù)部分)感謝閱讀uintd,dd;//小數(shù)點標志1為有小數(shù)//0為沒小數(shù)voidmain(void){z=1;//按鍵后清除,重新輸入標志y=0;//y字符數(shù)字轉(zhuǎn)整型數(shù)字(使用后歸零)h=0;//0,1確認鍵標志符0:未按過;1按過感謝閱讀q=0;//DA轉(zhuǎn)換結(jié)果輸出位數(shù)j=0;//AD輸出位k=0;//AD轉(zhuǎn)換結(jié)束位a=0;//AD顯示取平均n=0;nn=0;m=0;mm=0;d=0;dd=0;Dianliu1=0;Dianliu2=0;Dianliu3=0;zheng=0;daxiao=0;=0;VV=0;WDTCTL=WDTPW+WDTHOLD;//關(guān)閉看門狗精品文檔放心下載Init_Keypad();LcdReset();DispNChar(0,0,31,Strings);謝謝閱讀//AD初始化P6SEL|=0x01;//使能ADC通道ADC12CTL0=ADC12ON+SHT0_8+MSC+REFON+REF2_5V;精品文檔放心下載ADC12CTL1=SHP+CONSEQ_2;;ADC12MCTL0=SREF_1;ADC12IE=0x01;//使能ADC中斷_EINT();while(1){Key_Event();//電流實時檢測if(h==1){ADC12CTL0|=ENC;//使能轉(zhuǎn)換ADC12CTL0|=ADC12SC;//開始轉(zhuǎn)換while(k==0);k=0;if(q==1){if(Dianliu2<VV){if(<2400)=+1;}elseif(Dianliu2>VV){if(>0)=-1;}if(<2400)Write_A_B(,0x0000,1,0);//A通道,慢速模式謝謝閱讀}//調(diào)整da的輸出,注意是否接入負載,有電流/*intqwe;qwe=Dianliu2%100/10;Disp1Char(0,1,shuzi[qwe]);*/感謝閱讀}if(key_Flag==1){key_Flag=0;if((key_val!=0)&&(z==1)){LcdWriteCommand(0x01,1);DispNChar(14,0,2,ceshi5);DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);精品文檔放心下載z=0;//顯示清屏(z清屏標志)}elseif((key_val!=0)&&(z==2))精品文檔放心下載{LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);精品文檔放心下載DispNChar(8,0,2,ceshi4);DispNChar(14,1,2,ceshi5);DispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);謝謝閱讀z=0;}switch(key_val){case1:Init_Keypad();LcdReset();DispNChar(0,0,31,Strings);謝謝閱讀Dianliu1=0;Dianliu2=0;Dianliu3=0;zheng=0;daxiao=0;z=1;y=0;n=0;m=0;h=0;d=0;a=0;nn=0;mm=0;dd=0;=0;VV=0;q=0;j=0;//AD輸出位k=0;//AD轉(zhuǎn)換結(jié)束位Write_A_B(,0x0000,1,0);//A通道,慢速模式感謝閱讀break;case2:if((n<3&&d==0)||(m<1&&d==1))感謝閱讀{shuzishuru(9);break;}elsebreak;case3:if((n<3&&d==0)||(m<1&&d==1))精品文檔放心下載{shuzishuru(8);break;}elsebreak;case4:if((n<3&&d==0)||(m<1&&d==1))感謝閱讀{shuzishuru(7);break;}elsebreak;case5://小數(shù)點if(d==0){d=1;if(n!=0)dianliu1[n]='.';else{dianliu1[n]='0';n++;dianliu1[n]='.';}if(h==0){DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);感謝閱讀DispNChar(14,0,2,ceshi5);}elseDispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);感謝閱讀break;}elsebreak;case6:if((n<3&&d==0)||(m<1&&d==1))謝謝閱讀{shuzishuru(6);break;}elsebreak;case7:if((n<3&&d==0)||(m<1&&d==1))謝謝閱讀{shuzishuru(5);break;}elsebreak;case8:if((n<3&&d==0)||(m<1&&d==1))謝謝閱讀{shuzishuru(4);break;}elsebreak;case9://清除if((n!=0)&&(d==0))//清除整數(shù){y=dianliu1[--n]-'0';Dianliu1=(Dianliu1-y)/10;y=0;if(h==0){LcdWriteCommand(0x01,1);DispNChar(14,0,2,ceshi5);DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);精品文檔放心下載}else{LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);精品文檔放心下載DispNChar(8,0,2,ceshi4);DispNChar(14,1,2,ceshi5);DispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);謝謝閱讀}}elseif((d!=0)&&(m!=0))//清除小數(shù)謝謝閱讀{y=dianliu1[m+n]-'0';Dianliu1=(Dianliu1-y)/10;m--;y=0;if(h==0){LcdWriteCommand(0x01,1);DispNChar(14,0,2,ceshi5);DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);謝謝閱讀}else{LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);精品文檔放心下載DispNChar(8,0,2,ceshi4);DispNChar(14,1,2,ceshi5);DispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);感謝閱讀}}elseif((d!=0)&&(m==0))//清除小數(shù)點謝謝閱讀{d=0;if(h==0){LcdWriteCommand(0x01,1);DispNChar(14,0,2,ceshi5);DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);感謝閱讀}else{LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);精品文檔放心下載DispNChar(8,0,2,ceshi4);DispNChar(14,1,2,ceshi5);DispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);精品文檔放心下載}}else{DispNChar(4,1,7,ceshi1);if(h==0)z=1;elsez=2;}break;case10:if((n<3&&d==0)||(m<1&&d==1))謝謝閱讀{shuzishuru(3);break;}elsebreak;case11:if((n<3&&d==0)||(m<1&&d==1))謝謝閱讀{shuzishuru(2);break;}elsebreak;case12:if((n<3&&d==0)||(m<1&&d==1))謝謝閱讀{shuzishuru(1);break;}elsebreak;case13://確定if((n!=0)){if(m==0)daxiao=Dianliu1*10;感謝閱讀elsedaxiao=Dianliu1;if(daxiao>1000){DispNChar(0,1,16,ceshi2);m=0;n=0;d=0;Dianliu1=0;dianliu1[0]='\0';if(h==1)z=2;elsez=1;break;}h=1;//確認標志mm=m;nn=n;dd=d;zheng=daxiao;for(y=0;y<(n+m+d);y++)display[y]=dianliu1[y];感謝閱讀y=0;m=0;n=0;d=0;Dianliu1=0;dianliu1[0]='\0';LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);精品文檔放心下載DispNChar(8,0,2,ceshi4);DispNChar(13,1,2,ceshi5);//ADC12CTL0|=ENC;//使能轉(zhuǎn)換//ADC12CTL0|=ADC12SC;//開始轉(zhuǎn)換精品文檔放心下載}break;case14://暫停//jiaif(h==1){VV=0;=(uint)(VV*2);//=(uint)(VV/(2*REF)*4096);感謝閱讀Write_A_B(,0x0000,1,0);//A通道,慢速模式謝謝閱讀q=0;//轉(zhuǎn)換輸出確認位置0break;}elsebreak;case15://輸出//jianif(h==1){VV=zheng;=(uint)(VV*2);//=(uint)(VV/(2*REF)*4096);精品文檔放心下載if(<2400)Write_A_B(,0x0000,1,0);//A通道,慢速模式精品文檔放心下載q=1;//轉(zhuǎn)換輸出確認位break;}elsebreak;case16:if((n<3&&d==0)||(m<1&&d==1))謝謝閱讀{shuzishuru(0);break;}elsebreak;}}}}voidshuzishuru(uintshuzi)//數(shù)字輸入謝謝閱讀{dianliu1[n+m+d]='0'+shuzi;感謝閱讀Dianliu1=10*Dianliu1+shuzi;謝謝閱讀if(d==0)n++;elsem++;if(h==0){DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);謝謝閱讀DispNChar(14,0,2,ceshi5);}elseDispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);謝謝閱讀}/*******************************************謝謝閱讀AD模塊函數(shù)名稱:Trans_val功能:將16進制ADC轉(zhuǎn)換數(shù)據(jù)變換成三位10進制精品文檔放心下載真實的模擬電壓數(shù)據(jù),并在液晶上顯示參數(shù):Hex_Val--16進制數(shù)據(jù)n--變換時的分母等于2的n次方返回值:無********************************************/精品文檔放心下載voidTrans_val(uintHex_Val)精品文檔放心下載{uchari;Dianliu2=Hex_Val;Dianliu2=(Dianliu2*2500)/4096;謝謝

溫馨提示

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

評論

0/150

提交評論