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

下載本文檔

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

文檔簡介

計(jì)報(bào)告加程序數(shù)控恒流源設(shè)計(jì)報(bào)告背景數(shù)控恒流源是單片機(jī)運(yùn)用數(shù)字控制技術(shù)控制恒流源的一種設(shè)計(jì)方案。謝謝閱讀當(dāng)前,數(shù)字化數(shù)控恒流源的應(yīng)用,隨著電子技術(shù)的發(fā)展使用范圍越來越廣,在電感謝閱讀子測量儀器、激光、傳感技術(shù)、超導(dǎo)、現(xiàn)代通信等高新技術(shù)領(lǐng)域,恒流源都被廣謝謝閱讀泛應(yīng)用,且發(fā)展前景較為良好。同時(shí),也不僅局限于此。電子領(lǐng)域,數(shù)控恒壓技感謝閱讀術(shù)已經(jīng)很成熟,但是恒流方面特別是數(shù)控恒流的技術(shù)是有待發(fā)展,高性能的數(shù)控感謝閱讀恒流器件的開發(fā)和應(yīng)用存在巨大的發(fā)展空間。所以設(shè)計(jì)一個(gè)數(shù)控恒流源方案來提精品文檔放心下載高恒流源的穩(wěn)定性、適用范圍以及精度很有必要。目錄第一章設(shè)計(jì)方案第二章恒流電路第三章MSP430F149單片機(jī)及電源第四章AD模塊第五章DA模塊第六章鍵盤模塊和顯示模塊第七章軟件設(shè)計(jì)第八章實(shí)驗(yàn)總結(jié)第一章設(shè)計(jì)方案本設(shè)計(jì)本設(shè)計(jì)是基于單片機(jī)控制的直流恒流源,分為以下幾個(gè)組成部分:單片機(jī)控制系精品文檔放心下載統(tǒng)、A/D和D/A轉(zhuǎn)換模塊、電源模塊、恒流源模塊、負(fù)載及鍵盤液晶顯示模塊,系統(tǒng)框圖如謝謝閱讀圖所示。系統(tǒng)框圖用430單片機(jī)作為整機(jī)的控制單元,通過改變D/A轉(zhuǎn)換器的輸入數(shù)字量來改變輸出電謝謝閱讀壓值,從而間接地改變壓控恒流源的輸出電流大小。為了能夠使系統(tǒng)具備檢測實(shí)際輸出電謝謝閱讀流值的大小,可以將電流轉(zhuǎn)換成電壓,并經(jīng)過A/D轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換,用單片機(jī)實(shí)時(shí)對感謝閱讀電壓進(jìn)行采樣,與輸入預(yù)期值比較,并通過430單片機(jī)進(jìn)行進(jìn)行數(shù)據(jù)處理微調(diào)輸出,提高謝謝閱讀精度實(shí)時(shí)顯示。第二章恒流電路數(shù)控直流電流源可以采用電流輸出型D/AuA感謝閱讀數(shù)量級,因此需要進(jìn)行電流放大若干倍才能達(dá)到所需要的要求電流值,電路實(shí)現(xiàn)很困難。若精品文檔放心下載選擇電壓輸出型DAC,再通過V-I轉(zhuǎn)換電路變成與之成比例的電流信號,則電路實(shí)現(xiàn)相對簡精品文檔放心下載單,因此設(shè)計(jì)直流電源時(shí)常采用該種方案實(shí)現(xiàn),在這種方案中,V/I轉(zhuǎn)換電路設(shè)計(jì)是關(guān)鍵。感謝閱讀通常的V/I轉(zhuǎn)換有兩種方式,一種是負(fù)載共地的方式,一種是負(fù)載共電源的方式。我們選用謝謝閱讀的是負(fù)載共地的方式,因?yàn)橛泻芏嚯娐坟?fù)載在連接的時(shí)候需要進(jìn)行共地。謝謝閱讀R6R5RLR7為A/DR6謝謝閱讀采樣到的電流信號加到電路的輸入端,構(gòu)成電流并聯(lián)負(fù)反饋電路。謝謝閱讀由虛斷知,運(yù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Ω。為了擴(kuò)大電流的感謝閱讀輸出能力,在上電路的負(fù)反饋沒有通過電阻直接反饋,而是串聯(lián)了三極管的發(fā)射結(jié),進(jìn)行電精品文檔放心下載流放大。因?yàn)樵诤懔髟措娐分?MOSFET管的輸入電容太大,而一般運(yùn)放的輸出電阻都在幾十歐姆感謝閱讀以上,會造成閉環(huán)的延遲,而高增益的閉環(huán)負(fù)反饋中的遲延很容易振蕩,三極管的放大倍數(shù)選精品文檔放心下載大些,也可以用復(fù)合管,實(shí)際上電阻的誤差比三極管基極電流的影響可能要大,還可以通過調(diào)精品文檔放心下載節(jié)電阻的值來調(diào)節(jié).所以我們選用的是三級管而不是MOSFET管。精品文檔放心下載第三章MSP430F149單片機(jī)及電源3.1MSP430F149單片機(jī)MSP430F149單片機(jī)是一個(gè)16位的、具有精簡指令集的、超低功耗的混合型單片機(jī)。由于它精品文檔放心下載具有極低的功耗、達(dá)到60KB的FLASH容量、豐富的片內(nèi)外設(shè)和相對較小的體積及方便靈活謝謝閱讀的開發(fā)環(huán)境,已成為眾多單片機(jī)系列中一顆耀眼的“芯星”。精品文檔放心下載開發(fā)板資源描述:【1】.板載MSP430F149芯片【2】.集成USB型BSL編程器(對自身或其他板子進(jìn)行bsl編程)謝謝閱讀【3】.提供32.768KHZ和8MHZ兩種晶振連接方式謝謝閱讀【4】.采用USB供電和程序下載,優(yōu)質(zhì)電容濾波【5】.采用標(biāo)準(zhǔn)JTAG接口(14針),支持硬件仿真。謝謝閱讀【6】.所有IO口(包括AD電源等)均引出(未焊接排針,可自己向上或向下焊接)。精品文檔放心下載【7】.4路彩色LED全部上拉,可以借此觀察程序運(yùn)行狀態(tài)。感謝閱讀【8】.2個(gè)優(yōu)質(zhì)獨(dú)立按鍵。【9】.板載手動復(fù)位電路?!?0】.板載蜂鳴器電路,可做音樂實(shí)驗(yàn)等?!?1】.提供NRF24L01+無線模塊接口。【12】.板子集成USB轉(zhuǎn)串口功能?!?3】.向外提供3.3v和5v電源排針。MSP430的端口有P1、P2、P3、P4、P5、P6、S和COM(型號不同,包含的端口也不僅相同,謝謝閱讀如MSP430X11X系列只有P1,P2端口,而MSP430X4XX感謝閱讀以直接用于輸入/輸出。MSP430系統(tǒng)中沒有專門的輸入/輸出指令,輸入/輸出操作通過傳送感謝閱讀指令來實(shí)現(xiàn)。端口P1`P6的每一位都可以獨(dú)立用于輸入/輸出,即具有位尋址功能。常見的感謝閱讀鍵盤接口可以直接用端口進(jìn)行模擬,用查詢或者中斷方式控制。由于MSP430的端口只有數(shù)感謝閱讀據(jù)口,沒有狀態(tài)口或控制口,在實(shí)際應(yīng)用中,如在查詢式輸入/輸出傳送時(shí),可以用端口的精品文檔放心下載某一位或者幾位來傳送狀態(tài)信息,通過查詢對應(yīng)位的狀態(tài)來確定外設(shè)是否處于“準(zhǔn)備好狀精品文檔放心下載態(tài)。端口的功能。(1)P1,P2端口:I/O,中斷功能,其他片內(nèi)外設(shè)功能如定時(shí)器、比較器;(2)感謝閱讀P3,P4P5P6I/O,其他片內(nèi)外設(shè)功能如SPI、UART模式,A/D3)S,COM精品文檔放心下載I/O,驅(qū)動液晶。MSP430各端口具有豐富的控制寄存器供用戶實(shí)現(xiàn)相應(yīng)的操作。其中P1,P2具有7個(gè)寄存器,感謝閱讀P3~P6具有4個(gè)寄存器。通過設(shè)置寄存器我們可以實(shí)現(xiàn):(1)每個(gè)I/O位獨(dú)立編程;(2)精品文檔放心下載任意組合輸入,輸出和中斷;(3)P1,P2所有8個(gè)位全部可以用作外部中斷處理;(4)可謝謝閱讀以使用所以指令對寄存器操作;(5)可以按字節(jié)輸入、輸出,也可按位進(jìn)行操作。精品文檔放心下載端口P1,P2的功能可以通過它們的7個(gè)控制寄存器來實(shí)現(xiàn)。這里,Px代表P1或P2。精品文檔放心下載(1)PxDIR:輸入/輸出方向寄存器。8位相互獨(dú)立,可以分別定義8個(gè)引腳的輸入/輸出方謝謝閱讀8位再PUC/謝謝閱讀能讀,作為輸出時(shí),可讀可寫。01P1DIR|=BIT4;//P1.4輸出,精品文檔放心下載P2DIR=0XF0;//高4位輸出,低4位輸入。謝謝閱讀(2)PXIN:輸入寄存器,為只讀寄存器。用戶不能對它進(jìn)行寫入,只能通過讀取其寄存器謝謝閱讀的內(nèi)容來知道I/O口的輸入信號。所以其引腳的方向要選為輸入。如再鍵盤鍵盤掃描程序中謝謝閱讀經(jīng)常要讀取行線或者列線的端口寄存器值來判斷案件情況。例如:精品文檔放心下載unsignedcharkey;P1DIR&=~BIT4;//P1.4輸入……精品文檔放心下載key=P1IN&0X10;//輸出端口P1.4的值……精品文檔放心下載(3)PXOUTI/O端口的輸出緩沖寄存器,再讀取時(shí)輸出緩存的內(nèi)精品文檔放心下載容與引腳方向定義無關(guān)。改變方向寄存器的內(nèi)容,輸出緩存的內(nèi)容不受影響。如:感謝閱讀PIOUT|=0X01;//P1.0輸出1,PIOUT&=~0X01;//P1.0輸出0。謝謝閱讀(4)PXIFG:中斷標(biāo)志寄存器。他的8個(gè)標(biāo)志位標(biāo)志相應(yīng)引腳是否有中斷請求有待處理。:謝謝閱讀無中斷請求,1:有中斷請求。其中斷標(biāo)志分別為PXIFG.0~PXIFG.7。應(yīng)該注意的是:精品文檔放心下載PXIFG.0~PXIFG.7共用一個(gè)中斷向量,為多源中斷。當(dāng)任一事件引起的中斷進(jìn)行處理時(shí),感謝閱讀PXIFG.0~PXIFG.7謝謝閱讀另外,外部中斷事件的時(shí)間必須保持不低于1.5倍的MCLK時(shí)間,以保證中斷請求被接受,感謝閱讀且使相應(yīng)中斷標(biāo)志位置位。(5)PXIES:中斷觸發(fā)沿選擇寄存器。如果允許PX口的某個(gè)引腳中斷,還需定義該引腳的謝謝閱讀中斷觸發(fā)方式。0:上升沿觸發(fā)使相應(yīng)標(biāo)志置位,1:下降沿觸發(fā)相應(yīng)標(biāo)志置位。如:精品文檔放心下載MOV.B#07H,&P1IES;p1低3位下降沿觸發(fā)中斷。謝謝閱讀(6)PXIE:中斷使能寄存器。PX口的每一個(gè)引腳都有一位用以控制該引腳是否允許中斷。感謝閱讀0:禁止中斷,1:允許中斷。MOV.B#0E0H,&P2IE;P2高3位允許中斷。謝謝閱讀(7)PXSEL:功能選擇寄存器。P1,P2兩端口還具有其他片內(nèi)外設(shè)功能,將這些功能與芯片感謝閱讀外的聯(lián)系通過復(fù)用P1,P2引腳的方式來實(shí)現(xiàn)。PXSEL用來選擇引腳的I/O端口功能與外圍模精品文檔放心下載塊功能。0I/O端口,1P1SEL|=0X10;//P1.4感謝閱讀為外圍模塊功能。端口P3P4P5P6PI,P2P1,P2與中斷相關(guān)的3個(gè)謝謝閱讀P3,P4,P5,P6的4P1P2PXDIRPXINPXOUTPXSEL謝謝閱讀可供用戶使用。端口COM和SCOM為液晶片的公共端,S為液晶片的段碼端。謝謝閱讀液晶片輸出端也可經(jīng)軟件配置為數(shù)字輸出端口。3.2電源模塊:5v12v佰嘉達(dá)D-120A雙組電源謝謝閱讀佰嘉達(dá)D-120A雙組電源是開關(guān)電源(英文:SwitchingModePowerSupply),又稱交換謝謝閱讀式電源、開關(guān)變換器,是一種高頻化電能轉(zhuǎn)換裝置。其功能是將一個(gè)位準(zhǔn)的電壓,透過不同精品文檔放心下載形式的架構(gòu)轉(zhuǎn)換為用戶端所需求的電壓或電流。20~感謝閱讀30%。功耗小、效率高:功率晶體管工作在開關(guān)狀態(tài),所以晶體管上的功耗小,轉(zhuǎn)化效率高,感謝閱讀一般為60~70%30~40%12V和5V電壓。精品文檔放心下載第四章DA模塊因?yàn)镸SP430F149單片機(jī)內(nèi)部并沒有內(nèi)置DAC12模塊,所以必須外接DAC芯片進(jìn)行DA轉(zhuǎn)換。精品文檔放心下載考慮到恒流源的精度和步進(jìn)的大小,我們決定使用12位的DAC芯片來進(jìn)行DA精品文檔放心下載選,我們使用12位的TLV5618。其連接圖如下感謝閱讀DA模塊電路圖特性雙通道12位電壓輸出型DAC可編程設(shè)置時(shí)間:3uS—10uS兼容TMS320和SPI接口可直接代替TLC5618應(yīng)用數(shù)字電路控制數(shù)字偏移及增益控制工業(yè)生產(chǎn)控制機(jī)器和自動控制裝第五章AD模塊這里采用的是MSP430F149單片機(jī)內(nèi)部的ADC12模塊,需在單片機(jī)外接如圖所示的一些元件輔助芯片。ADC12提供4種轉(zhuǎn)換模式:單通道單次轉(zhuǎn)換序列通道單次轉(zhuǎn)換單通道多次轉(zhuǎn)換序列通道多次轉(zhuǎn)換這里我們只用單通道單次轉(zhuǎn)換對選定的通道進(jìn)行單次轉(zhuǎn)換要進(jìn)行如下設(shè)置:x=CSStartAdd,指向轉(zhuǎn)換開始地址ADC12MEMx存放轉(zhuǎn)換結(jié)果ADC12IFG.x為對應(yīng)的中斷標(biāo)志ADC12MCTLx寄存器中定義了通道和參考電壓轉(zhuǎn)換完成時(shí)必須使ENC再次復(fù)位并置位(上升沿),以準(zhǔn)備下一次轉(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)換時(shí)間溢出中斷允許位(當(dāng)前轉(zhuǎn)換還沒完成時(shí),又發(fā)生一次采樣請求,則謝謝閱讀會發(fā)生轉(zhuǎn)換時(shí)間溢出)0:沒發(fā)生轉(zhuǎn)換時(shí)間溢出1:發(fā)生轉(zhuǎn)換時(shí)間溢出ADC12OVIE——溢出中斷允許位(當(dāng)ADC12MEMx中原有數(shù)據(jù)還沒有讀出,而又有新的轉(zhuǎn)換結(jié)感謝閱讀果數(shù)據(jù)要寫入時(shí),則發(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——采樣保持定時(shí)器1,采樣保持定時(shí)器0精品文檔放心下載分別定義保存在轉(zhuǎn)換結(jié)果寄存器ADC12MEM8~ADC12MEM15和ADC12MEM0~ADC12MEM7中的轉(zhuǎn)謝謝閱讀換采樣時(shí)序與采樣時(shí)鐘ADC12CLK的關(guān)系。采樣周期是ADC12CLK周期乘4的整數(shù)倍。謝謝閱讀2.ADC12CTL1轉(zhuǎn)換控制寄存器1(大多數(shù)3~15位,只有在ENC=0感謝閱讀義:15~1211~10987~54、32、10精品文檔放心下載CSSTARTADDSHSSHPISSHADC12DIVADC12SSELCONSEQADC12BUSYCSSTARTADD——4位所表示的二進(jìn)制數(shù)0~15分別對應(yīng)ADC12MEM0~15。謝謝閱讀可以定義單次轉(zhuǎn)換地址或序列轉(zhuǎn)換的首地址。SHS——采樣觸發(fā)輸入源選擇位。SHP——采樣信號(SAMPCON)選擇控制位。ISSH——采樣輸入信號方向控制位ADC12DIV——ADC12時(shí)鐘源分頻因子選擇位。分頻因子為該3位二進(jìn)制數(shù)加1精品文檔放心下載ADC12SSEL——ADC12內(nèi)核時(shí)鐘源選擇CONSEQ——轉(zhuǎn)換模式選擇位ADC12BUSY——ADC12忙標(biāo)志(只用于單通道單次轉(zhuǎn)換模式,在其它轉(zhuǎn)換模式下,該位無效)謝謝閱讀3.ADC12MEM0~ADC12MEM15轉(zhuǎn)換存儲寄存器謝謝閱讀該組寄存器均為16位寄存器,用來存放A/D轉(zhuǎn)換結(jié)果。中用其中低124位在讀出時(shí)謝謝閱讀為04.ADC12MCTLx轉(zhuǎn)換存儲控制寄存器(所有位只有在ENC為低電平時(shí)可修改,在POR時(shí)各位謝謝閱讀被復(fù)位)對于每個(gè)轉(zhuǎn)換存儲器有一個(gè)對應(yīng)的轉(zhuǎn)換存儲器控制寄存器,所以在進(jìn)行CSSTARTADD轉(zhuǎn)換存謝謝閱讀儲器地址位設(shè)置的同時(shí),也確定了ADC12MCTLx。精品文檔放心下載5.ADC12IFG中斷標(biāo)志寄存器為16位,其中中斷標(biāo)志位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)的中斷標(biāo)志位ADC12IFG.x在置位時(shí)發(fā)生的中斷請求服務(wù)。謝謝閱讀ADC12IE.x=0:禁止相應(yīng)的中斷標(biāo)志位ADC12IFG.x在置位時(shí)發(fā)生的中斷請求服務(wù)。精品文檔放心下載7.ADC12IV中斷向量寄存器ADC12是一個(gè)18ADC12IFG.0~ADC12IFG.15與ADC12TOVADC12OV感謝閱讀但只有一個(gè)中斷向量。所以需要設(shè)置這18個(gè)標(biāo)志的優(yōu)先級順序,按照優(yōu)先級順序安排中斷精品文檔放心下載標(biāo)志的響應(yīng),高優(yōu)先級的請求可以中斷正在服務(wù)的低優(yōu)先級。各中斷標(biāo)志會產(chǎn)生一個(gè)0~36感謝閱讀的偶數(shù)。ADC12OV和ADC12TOV會在訪問ADC12IV后自動復(fù)位。但在響應(yīng)了ADC12IFG.x標(biāo)志對應(yīng)的中謝謝閱讀斷服務(wù)之后,相應(yīng)的標(biāo)志不自動復(fù)位,用以保證能處理發(fā)生溢出的情況。謝謝閱讀第六章鍵盤模塊和顯示器模塊6.1鍵盤模塊4X4鍵盤電路圖鍵盤在單片機(jī)系統(tǒng)中用得非常廣泛。當(dāng)按鍵多而且單片機(jī)的I/O口有限時(shí),往往要考慮的是感謝閱讀矩陣式鍵盤。其中有兩種方式可以實(shí)現(xiàn)矩陣式鍵盤:一種是利用純硬件完成解碼的稱為“編感謝閱讀碼鍵盤”;另外一種是利用軟件實(shí)現(xiàn)解碼的稱為“非編碼鍵盤”。精品文檔放心下載在單片機(jī)系統(tǒng)中,只要單片機(jī)有空余的時(shí)間來解碼時(shí),我們往往利用的是軟件解碼的形謝謝閱讀式,即“非編碼鍵盤”來實(shí)現(xiàn)矩陣鍵盤。這樣可以節(jié)約成本。謝謝閱讀謝謝閱讀去讀那些列的電平。;被拉低的行上,按下的鍵對應(yīng)的列的電平為0,其它為1.用左移位的感謝閱讀CY里就可以檢測出是0還是1.為1;為0謝謝閱讀描按鍵時(shí),如無按下,則取碼指針R1加1后,繼續(xù)掃描。如有鍵按下,轉(zhuǎn)按鍵處理子程序,感謝閱讀按鍵按下標(biāo)志位;F0清0(表示按下)。此時(shí),取碼指針的值,就是按鍵的鍵名。隨后繼續(xù)進(jìn)感謝閱讀入按鍵檢測子程序重新掃描。每個(gè)按鍵有它的行值和列值,行值和列值的組合就是識別這個(gè)感謝閱讀按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。每個(gè)按鍵的狀態(tài)同樣需變精品文檔放心下載成數(shù)字量“0”和“1”,開關(guān)的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字精品文檔放心下載“0”實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個(gè)鍵按下,鍵的功能是謝謝閱讀什么;還要消除按鍵在閉合或斷開時(shí)的抖動。兩個(gè)并行口中,一個(gè)輸出掃描碼,使按鍵逐行謝謝閱讀感謝閱讀通過軟件查表,查出該鍵的功能。鍵盤連接成4×4的矩陣形式,占用單片機(jī)P1口的8根線,精品文檔放心下載行信號是P5.0-5.3,列信號是P5.4-5.7。謝謝閱讀789復(fù)位456小數(shù)點(diǎn)123清除一位0輸出暫停確認(rèn)按鍵對應(yīng)功能圖6.21602液晶顯示模塊工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。(16列2行)謝謝閱讀注:為了表示的方便,后文皆以1表示高電平,0表示低電平。謝謝閱讀1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點(diǎn)陣型感謝閱讀液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)精品文檔放心下載字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,謝謝閱讀正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用自定義CGRAM,顯示效果也不好)。謝謝閱讀1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符謝謝閱讀和數(shù)字)。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因謝謝閱讀此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。精品文檔放心下載⑵管腳功能1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為電源地第2腳:VCC接5V電源正極第3V0為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地電源時(shí)對比度最謝謝閱讀高。第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。精品文檔放心下載第5腳:RW為讀寫信號線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。謝謝閱讀第6腳:E(或EN)端為使能(enable)端,高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。感謝閱讀第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。精品文檔放心下載第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。精品文檔放心下載⑶特性3.3V或5V工作電壓,對比度可調(diào)內(nèi)含復(fù)位電路提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能謝謝閱讀有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM內(nèi)建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM感謝閱讀8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM感謝閱讀指令集1602通過D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。謝謝閱讀顯示模式設(shè)置:(初始化)0[0x38]設(shè)置16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口;感謝閱讀顯示開關(guān)及光標(biāo)設(shè)置:(初始化)00001DCBD顯示(1有效)、C光標(biāo)顯示(1有效)、B光標(biāo)閃爍(1有效)感謝閱讀000001NSN=1(讀或?qū)懸粋€(gè)字符后地址指針加1&光標(biāo)加1),精品文檔放心下載N=0(讀或?qū)懸粋€(gè)字符后地址指針減1&光標(biāo)減1),精品文檔放心下載S=1且N=1(當(dāng)寫一個(gè)字符后,整屏顯示左移)s=0當(dāng)寫一個(gè)字符后,整屏顯示不移動數(shù)據(jù)指針設(shè)置:數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(0-27H,40-67H)謝謝閱讀其他設(shè)置:01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針=0)。謝謝閱讀第七章軟件設(shè)計(jì)第八章實(shí)驗(yàn)總結(jié)0~100mA時(shí)可適用負(fù)載的電阻范圍為0~69.50mA時(shí)相對誤差謝謝閱讀為0,在10mA時(shí)顯示電流比電流表小1.5mA,在100mA時(shí)顯示電流比電流表大1.5mA。并且謝謝閱讀其誤差值近視拋物線。經(jīng)分析,我們認(rèn)為是一方面因?yàn)镈A采樣信號經(jīng)過LM358放大10倍時(shí)精品文檔放心下載誤有一定的誤差,并不是絕對的十倍,故造成其輸出值不是理想狀態(tài)。另一方面是因?yàn)閱纹肺臋n放心下載機(jī)的ADC模塊的參考電壓不是很準(zhǔn)確,也造成一定影響。謝謝閱讀附錄1:實(shí)物圖附錄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謝謝閱讀實(shí)際輸出的電流,dianliu1鍵入的電流uintz,y,h,q,j,k,a;uintn,nn,m,mm;//電流值的位數(shù)(整數(shù)部分,小數(shù)部分)感謝閱讀uintd,dd;//小數(shù)點(diǎn)標(biāo)志1為有小數(shù)//0為沒小數(shù)voidmain(void){z=1;//按鍵后清除,重新輸入標(biāo)志y=0;//y字符數(shù)字轉(zhuǎn)整型數(shù)字(使用后歸零)h=0;//0,1確認(rèn)鍵標(biāo)志符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();//電流實(shí)時(shí)檢測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的輸出,注意是否接入負(fù)載,有電流/*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清屏標(biāo)志)}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ù)點(diǎn)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ù)點(diǎn)謝謝閱讀{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;//確認(rèn)標(biāo)志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)換輸出確認(rè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)換輸出確認(rè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進(jìn)制ADC轉(zhuǎn)換數(shù)據(jù)變換成三位10進(jìn)制精品文檔放心下載真實(shí)的模擬電壓數(shù)據(jù),并在液晶上顯示參數(shù):Hex_Val--16進(jìn)制數(shù)據(jù)n--變換時(shí)的分母等于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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論