freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)控制的三相全控整流電源的設(shè)計(jì)論文-資料下載頁(yè)

2024-11-12 14:58本頁(yè)面

【導(dǎo)讀】隨著電力電子技術(shù)的迅速發(fā)展,三相全控整流電源應(yīng)用非常廣泛,其好壞直接影響著電氣設(shè)備或控制系統(tǒng)的工作性能。目前,市場(chǎng)上各種三相全控整流電源的基本環(huán)節(jié)大致相同,都包括交流電源、交流變壓器、整流電路、濾波穩(wěn)壓電路等。文章介紹了單片機(jī)控制系統(tǒng)應(yīng)用于直流穩(wěn)壓電源的方法和原理,實(shí)現(xiàn)了穩(wěn)壓電源的數(shù)控調(diào)節(jié),,并分析了穩(wěn)壓工作原理和電壓調(diào)節(jié)方法。該電源具有電壓調(diào)整簡(jiǎn)便、電壓輸出穩(wěn)定、便于智能化管理等特點(diǎn)。將單片機(jī)數(shù)字控制技術(shù),有機(jī)地融入直流穩(wěn)壓電源設(shè)計(jì)中,設(shè)計(jì)并制作出一款數(shù)字化直流穩(wěn)壓電源。該電源采用數(shù)字調(diào)節(jié)、輸出精度高,且兼?zhèn)涠搪泛瓦^(guò)流保護(hù)及報(bào)警功能,特別適用于各種有較高精度要求的場(chǎng)合。利用單片機(jī)對(duì)直流穩(wěn)壓電源進(jìn)行控制,改善了電源的性能,使用方便靈活,并且成本較低,同時(shí)控制系統(tǒng)在軟件上還可進(jìn)一步改進(jìn),以擴(kuò)展其功能,而且并不需要增加硬件開(kāi)銷(xiāo),從而提高電源的性能價(jià)格比。

  

【正文】 器寄存器配置為13位寄存器,當(dāng)計(jì)數(shù)從全為1翻轉(zhuǎn)為全為0時(shí)定時(shí)器中斷標(biāo)志位TFn置位。當(dāng)TRn=1 同時(shí)GATE=0 或INTn=1 時(shí)定時(shí)器計(jì)數(shù)置位GATE 時(shí)允許由外部輸入。INTn控制定時(shí)器,這樣可實(shí)現(xiàn)脈寬測(cè)量,TRn為T(mén)CON 寄存器內(nèi)的控制位。模式0的操作對(duì)于定時(shí)器0及定時(shí)器1都是相同的兩個(gè)不同的GATE位。 圖43 定時(shí)器/計(jì)數(shù)器/0/1的模式0:13定時(shí)器/計(jì)數(shù)器模式1模式1 除了使用了THn 及TLn 全部16位元外其它與模式0 相同。模式2此模式下定時(shí)器寄存器作為可自動(dòng)重裝的8位計(jì)數(shù)器TLn。 如圖44所示,TLn的溢出不僅置位TFn,而且將THn內(nèi)容重新裝入TLn THn 。內(nèi)容由軟件預(yù)置重裝時(shí),THn內(nèi)容不變。模式2的操作對(duì)于定時(shí)器0及定時(shí)器1是相同的。 圖44 定時(shí)器寄存器4)模式3此模式下定時(shí)器0的TL0及TH0作為兩個(gè)獨(dú)立的8位計(jì)數(shù)器,圖45為模式3時(shí)的定時(shí)器0邏輯圖。TL0占用定時(shí)器0的控制位C/T、GATE、TR0、INT0及TF0。TH0限定為定時(shí)器功能計(jì)數(shù)器周期占用定時(shí)器1的TR1及TF1。此時(shí)TH0控制定時(shí)器1中斷。模式3可用于需要一個(gè)額外的8位定時(shí)器的場(chǎng)合。當(dāng)定時(shí)器0工作于模式3時(shí),定時(shí)器1可通過(guò)開(kāi)關(guān)進(jìn)入/退出模式3,它仍可用作串行端口的波特率發(fā)生器或者應(yīng)用于任何不要求中斷的場(chǎng)合。圖45 定時(shí)器/計(jì)數(shù)器/0/1的模式3:雙8位計(jì)數(shù)器 T0中斷服務(wù)子程序(晶閘管觸發(fā)脈沖的形成)本設(shè)計(jì)采用定時(shí)/計(jì)數(shù)器0來(lái)完成晶閘管觸發(fā)脈沖序列的形成和輸出,工作模式設(shè)定為模式1。T0中斷服務(wù)程序的流程圖如下圖。 YN啟動(dòng)T0中斷返回計(jì)時(shí)周期20ms/6,T0賦初值n+1,準(zhǔn)備觸發(fā)下一組晶閘管一個(gè)周期內(nèi)觸發(fā)輸出完畢停T0,并清nn=6 ?若n=5,觸發(fā)晶閘管5若n=4,觸發(fā)晶閘管4若n=3,觸發(fā)晶閘管3若n=6,觸發(fā)晶閘管6若n=2,觸發(fā)晶閘管2若n=1,觸發(fā)晶閘管6進(jìn)入T0中斷圖46 定時(shí)器0中斷服務(wù)程序前面已經(jīng)介紹過(guò),由外部中斷INT1服務(wù)程序判斷同步脈沖的輸入、計(jì)算延時(shí)觸發(fā)的時(shí)間并啟動(dòng)了T0,當(dāng)T0計(jì)時(shí)溢出時(shí),進(jìn)入T0中斷服務(wù)程序,由于外部中斷服務(wù)程序中已經(jīng)將準(zhǔn)備輸出第1組觸發(fā)脈沖,也就是n=1。這里T0中斷服務(wù)程序通過(guò)switch語(yǔ)句判斷n=1則觸發(fā)晶閘管T1和晶閘管T6,從而實(shí)現(xiàn)第1組脈沖序列的輸出。此后程序?qū)+1,準(zhǔn)備下一組觸發(fā)脈沖的輸出,并以20ms/6為計(jì)時(shí)周期再次給定時(shí)器T0賦初值(因?yàn)閮山M脈沖之間相位相差60度,也就是一個(gè)正弦周期20ms的1/6)并啟動(dòng)定時(shí)器T0。當(dāng)定時(shí)器溢出時(shí),再次進(jìn)入T0中斷服務(wù)程序,此時(shí)程序判斷n=2則輸出觸發(fā)脈沖觸發(fā)晶閘管T1和T2。以此類(lèi)推,程序每進(jìn)入一次T0中斷完成一組觸發(fā)脈沖的輸出,依次完成T2和TT3和TT4和TT5和T6各組晶閘管的觸發(fā),此時(shí)n已累加到了6,程序判斷n=6后,則一個(gè)工頻正弦周期內(nèi)的晶閘管觸發(fā)脈沖序列輸出結(jié)束,此時(shí)程序停止T0工作,并將n清零,準(zhǔn)備下一周期脈沖序列的輸出。完成上述工作后T0中斷程序返回。這部分程序源代碼如下:time_js()interrupt 1 { switch (n) { case 1: OUT6=1。OUT1=1。delay(5)。OUT6=0。OUT1=0。 break。 //如果n=1,觸發(fā)晶閘管1 case 2: OUT1=1。OUT2=1。delay(5)。OUT1=0。OUT2=0。 break。 //如果n=2,觸發(fā)晶閘管2 case 3: OUT2=1。OUT3=1。delay(5)。OUT2=0。OUT3=0。 break。 //如果n=3,觸發(fā)晶閘管3 case 4: OUT3=1。OUT4=1。delay(5)。OUT3=0。OUT4=0。 break。 //如果n=4,觸發(fā)晶閘管4 case 5: OUT4=1。OUT5=1。delay(5)。OUT4=0。OUT5=0。 break。 //如果n=5,觸發(fā)晶閘管5 case 6: OUT5=1。OUT6=1。delay(5)。OUT5=0。OUT6=0。 break。 //如果n=6,觸發(fā)晶閘管6 } if(n6) { n++。 //準(zhǔn)備觸發(fā)下一組晶閘管 TH0=(25620000/6/256)。 //T0賦初值,定時(shí)時(shí)間為60度對(duì)應(yīng)的時(shí)長(zhǎng) TL0=(25620000/6%256)。 TR0=1。 } if(n==6) {TR0=0。n=0。} //一個(gè)周期的觸發(fā)結(jié)束 } A/D轉(zhuǎn)換芯片的編程ADC0809的編程主要指AD轉(zhuǎn)換芯片的控制,包括啟動(dòng)AD轉(zhuǎn)換、AD轉(zhuǎn)換結(jié)束轉(zhuǎn)態(tài)的判斷,AD轉(zhuǎn)換數(shù)據(jù)的讀取等。程序通過(guò)外部數(shù)據(jù)讀寫(xiě)指令把ADC0809作為外部數(shù)據(jù)存儲(chǔ)器訪問(wèn),在執(zhí)行向外部寫(xiě)入數(shù)據(jù)時(shí),WR有效,復(fù)位ADC0809同時(shí)A、B、C地址狀態(tài)送入地址鎖存器中(本設(shè)計(jì)中固定選擇通道0)。下降沿時(shí)啟動(dòng)芯片,開(kāi)始進(jìn)行A/D轉(zhuǎn)換;在A/D轉(zhuǎn)換期間,保持低電平。當(dāng)一個(gè)周期的AD轉(zhuǎn)換結(jié)束時(shí),轉(zhuǎn)換結(jié)束信號(hào)EOC輸出高電平。當(dāng)AD轉(zhuǎn)換已經(jīng)結(jié)束時(shí),單片機(jī)從外部讀入數(shù)據(jù),此時(shí)WR有效,輸出一個(gè)低電平的脈沖送給輸出允許信號(hào)OE,OE=1時(shí)輸出轉(zhuǎn)換得到的數(shù)據(jù),單片機(jī)通過(guò)讀取P0上的數(shù)據(jù)獲得AD轉(zhuǎn)換的結(jié)果。這樣就完成了一次采樣周期。系統(tǒng)ADC0809的編程部分相關(guān)源代碼如下:AD_ZH() { uchar I。 ADC0809ADD=0。 //寫(xiě)數(shù)據(jù)到0809,WR有效,啟動(dòng)第0通道AD轉(zhuǎn)換 while(AD_END==0) { } //如果轉(zhuǎn)換沒(méi)有結(jié)束,則等待 I=ADC0809ADD。 //讀取AD轉(zhuǎn)換結(jié)果 I=a*100/256。 //轉(zhuǎn)換結(jié)果換算成電電流值 量程范圍按0100A設(shè)計(jì) return I。 //返回電流值 } 第五章 中斷系統(tǒng)中斷是指計(jì)算機(jī)(MCU)自動(dòng)響應(yīng)一個(gè)“中斷請(qǐng)求”信號(hào),暫時(shí)停止(中斷)了當(dāng)前程序的執(zhí)行,轉(zhuǎn)而執(zhí)行為外部設(shè)備服務(wù)的程序(中斷服務(wù)程序),并在執(zhí)行完服務(wù)程序后自動(dòng)返回原程序執(zhí)行的過(guò)程。中斷系統(tǒng)的優(yōu)點(diǎn):實(shí)現(xiàn)實(shí)時(shí)處理。利用中斷技術(shù),MCU 可以及時(shí)響應(yīng)和處理來(lái)自?xún)?nèi)部功能模塊或外部設(shè)備的中斷請(qǐng)求,并為其服務(wù),以滿足實(shí)時(shí)處理和控制的要求。實(shí)現(xiàn)分時(shí)操作,提高了 MCU 的效率。在嵌入式系統(tǒng)的應(yīng)用中可以通過(guò)分時(shí)操作的方式啟動(dòng)多個(gè)功能部件和外設(shè)同時(shí)工作。當(dāng)外設(shè)或內(nèi)部功能部件向 MCU 發(fā)出中斷申請(qǐng)時(shí),MCU 才轉(zhuǎn)去為它服務(wù)。這樣,利用中斷功能,MCU 就可以“同時(shí)”執(zhí)行多個(gè)服務(wù)程序,提高了 MCU 的效率。進(jìn)行故障處理。對(duì)系統(tǒng)在運(yùn)行過(guò)程中出現(xiàn)的難以預(yù)料的情況或故障,如掉電,可以通過(guò)中斷系統(tǒng)及時(shí)向 MCU 請(qǐng)求中斷,做緊急故障處理。待機(jī)狀態(tài)的喚醒。在單片機(jī)嵌入式系統(tǒng)的應(yīng)用中,為了減少電源的功耗,當(dāng)系統(tǒng)不處理任何事物,處于待機(jī)狀態(tài)時(shí),可以讓單片機(jī)工作在休眠的低功耗方式。通常,恢復(fù)到正常工作方式往往也是利用中斷信號(hào)來(lái)喚醒。 8051 的中斷源控制 8051 的中斷控制(1) 中斷優(yōu)先級(jí)的確定在8051單片機(jī)中,一個(gè)中斷在中斷向量區(qū)中的位置決定了它的優(yōu)先級(jí),位于低地址的中斷優(yōu)先級(jí)高于位于高地址的中斷。因此,對(duì)于 8051來(lái)說(shuō),復(fù)位中斷 RESET 具有最高優(yōu)先級(jí),外部中斷 INT 次之,而 SPM_RDY 中斷的優(yōu)先級(jí)最低。也就是說(shuō),當(dāng)與其他中斷同時(shí)發(fā)生時(shí),SPM_RDY 將最后得到響應(yīng)[15]。8051單片機(jī)采用固定的硬件優(yōu)先級(jí)方式,不支持通過(guò)軟件對(duì)中斷優(yōu)先級(jí)的重新設(shè)定。因此中斷優(yōu)先級(jí)的作用僅體現(xiàn)在當(dāng)同一時(shí)刻有兩(多)個(gè)中斷源向 MCU 申請(qǐng)中斷的情況中。在這種情況下,MCU 將根據(jù)中斷的優(yōu)先級(jí)的不同,把低優(yōu)先級(jí)的中斷掛起,首先響應(yīng)中斷優(yōu)先級(jí)最高的那個(gè)中斷。待優(yōu)先級(jí)最高的中斷服務(wù)程序執(zhí)行完成返回后,再順序響應(yīng)優(yōu)先級(jí)較低的中斷。(2)中斷標(biāo)志8051有兩種機(jī)制不同的中斷:帶有中斷標(biāo)志的中斷(可掛起)和不帶中斷標(biāo)志的中斷(不能掛起)。在8051中,大多數(shù)的中斷都屬于帶中斷標(biāo)志的中斷。所謂的中斷標(biāo)志,是每個(gè)中斷源在其 I/O 空間寄存器中具有自己的一個(gè)中斷標(biāo)志位。8051的硬件系統(tǒng)在每個(gè)時(shí)鐘周期內(nèi)都會(huì)檢測(cè)(接受)外部(內(nèi)部)中斷源的中斷條件。一旦中斷條件滿足,ATmega的硬件就會(huì)將置位相應(yīng)的中斷標(biāo)志位(置為“1”),表示向 MCU 提起中斷請(qǐng)求。中斷標(biāo)志位一般在 MCU 響應(yīng)該中斷時(shí),由硬件自動(dòng)清除,或在中斷服務(wù)程序中通過(guò)讀/寫(xiě)專(zhuān)門(mén)數(shù)據(jù)寄存器的方式自動(dòng)清除。中斷標(biāo)志位除了由硬件自動(dòng)清除外也可以使用軟件指令清除,注意:如用軟件方法清除,清除的方法是對(duì)其寫(xiě)“1”。當(dāng)中斷被禁止,或 MCU 不能馬上響應(yīng)中斷,則該中斷標(biāo)志將會(huì)一直保持,直到中斷允許并得到響應(yīng)之止。已建立的中斷標(biāo)志,實(shí)際就是一個(gè)中斷的請(qǐng)求信號(hào),如果暫時(shí)不能被響應(yīng),該中斷標(biāo)志會(huì)一直保留(除非被用戶軟件清除掉),此時(shí)該中斷被“掛起”。如果有多個(gè)中斷被掛起,一旦中斷允許后,各個(gè)被掛起的中斷將按優(yōu)先級(jí)依次得到中斷響應(yīng)服務(wù)。應(yīng)該注意的是,AVR 在退出中斷后至少要再執(zhí)行一條指令才能去響應(yīng)其它被掛起的中斷。在8051中,還有個(gè)別的中斷不帶(不設(shè)置)中斷標(biāo)志,如配置為低電平觸發(fā)的外部中斷即為此類(lèi)型的中斷。這類(lèi)中斷只要中斷條件滿足(外部輸入低電平),便會(huì)一直向 MCU 發(fā)出中斷申請(qǐng)。這種外部低電平中斷有其特殊性,它不產(chǎn)生中斷標(biāo)志,因此不能懸掛記憶。如果由于等待時(shí)間過(guò)長(zhǎng)而得不到響應(yīng),可能會(huì)因中斷條件結(jié)束(低電平取消)而失去一次服務(wù)機(jī)會(huì)。另一方面,如果這個(gè)低電平維持時(shí)間過(guò)長(zhǎng),則會(huì)使中斷服務(wù)完成返回后再次響應(yīng),使MCU 重復(fù)響應(yīng)同一中斷的請(qǐng)求,進(jìn)行重復(fù)服務(wù)。因此,在這在類(lèi)中斷的服務(wù)程序中,應(yīng)該有破壞中斷條件產(chǎn)生的操作,例如,在低電平中斷的服務(wù)程序中,使用相應(yīng)的操作以釋放外部器件加在 INT 引腳上低電平。低電平中斷的重要應(yīng)用是喚醒處于休眠工作模式的 MCU。因?yàn)楫?dāng) MCU 休眠時(shí),其系統(tǒng)時(shí)鐘往往處于停止工作狀態(tài),使用低電平中斷可以將 MCU 喚醒。而這一功能邊沿中斷是不能代替的,因?yàn)檫呇匦盘?hào)的檢測(cè)需要系統(tǒng)時(shí)鐘(3)中斷屏蔽與管理為了能夠靈活地管理中斷,8051對(duì)中斷采用兩級(jí)控制方式。所謂兩級(jí)控制是指8051有一個(gè)中斷允許的總控制位 I(既 AVR 標(biāo)志寄存器 SREG 中的 I 標(biāo)志位“”),通常稱(chēng)為全局中斷允許控制位。同時(shí) AVR 為每一個(gè)中斷源都設(shè)置了獨(dú)立的中斷允許位,這些中斷允許位分散位于各中斷源所屬模塊的控制寄存器中。AVR 指令中 SEI 和 CLI 指令專(zhuān)門(mén)用于對(duì)全局中斷允許位進(jìn)行置位和清零。當(dāng)設(shè)置 I = 0,表示關(guān)閉全局中斷,此時(shí) AVR 所有的中斷源(除 RESET 外)的中斷請(qǐng)求全部被屏蔽,MCU 不響應(yīng)任何的中斷,因此 CLI 也稱(chēng)為關(guān)中斷指令。當(dāng)設(shè)置 I = 1,表示允許全局中斷,此時(shí) AVR總的中斷請(qǐng)求被開(kāi)放,MCU 可以響應(yīng)任何的中斷請(qǐng)求,但中斷請(qǐng)求最終是否能為 MCU 響應(yīng),還要取決各個(gè)中斷源相應(yīng)的中斷允許位的設(shè)置。需要注意的是,當(dāng)使用 CLI 指令關(guān)閉全局中斷時(shí),中斷禁止將立即生效,沒(méi)有中斷可以在執(zhí)行 CLI 指令再之后發(fā)生,即便中斷請(qǐng)求是在執(zhí)行 CLI 指令時(shí)產(chǎn)生的也不會(huì)得到響應(yīng)。而在使用 SEI 指令開(kāi)放全局中斷后,要等 CPU 再執(zhí)行一條指令之后,中斷允許才會(huì)有效。也就是說(shuō),緊跟 SEI 之后的第一條指令一定會(huì)先于任何中斷而被首先執(zhí)行。(4) 中斷嵌套由于8051在響應(yīng)一個(gè)中斷的過(guò)程中通過(guò)硬件將 I 標(biāo)志位自動(dòng)清零,這樣就阻止了 MCU響應(yīng)其它中斷。因此通常情況下,AVR 是不能自動(dòng)實(shí)現(xiàn)中斷嵌套的。如要系統(tǒng)中必須要實(shí)現(xiàn)中斷嵌套的應(yīng)用,用戶可在中斷服務(wù)程序中使用指令將全局中斷允許位開(kāi)放,通過(guò)間接的方式實(shí)現(xiàn)中斷的嵌套處理。請(qǐng)讀者注意,濫用中斷嵌套會(huì)造成程序流程的不確定性。因此建議只有當(dāng)某中斷確實(shí)需要得到實(shí)時(shí)響應(yīng)時(shí)才考慮使用中斷嵌套處理,一般情況下盡量不要采用中斷嵌套,因?yàn)?AVR本身是高速單片機(jī),它運(yùn)行速度是能足夠快速的將中斷服務(wù)程序執(zhí)行完的。當(dāng)然,用戶編寫(xiě)中斷服務(wù)程序時(shí),應(yīng)遵循盡量短小的原則。 8051中斷響應(yīng)過(guò)程 中斷響應(yīng)的過(guò)程8051在響應(yīng)中斷請(qǐng)求時(shí),MCU 會(huì)使用4個(gè)時(shí)鐘周期自動(dòng)順序的完成以下任務(wù):清零狀態(tài)寄存器 SREG中的全局中斷允許標(biāo)志位 I,禁止響應(yīng)其他中斷。將被響應(yīng)中斷的標(biāo)志位清零(注意:僅對(duì)于部分中斷有此操作)。將中斷斷點(diǎn)的地址(即當(dāng)前程序計(jì)數(shù)器 PC 的值)壓入堆棧,并將 SP 寄存器中的堆棧指針減二。自動(dòng)將相應(yīng)的中斷向量地址壓入程序計(jì)數(shù)器 PC,即強(qiáng)行轉(zhuǎn)入執(zhí)行中斷入口地址處的指令。因此,AVR 中斷響應(yīng)時(shí)間最少為4個(gè)時(shí)鐘周期,就是說(shuō)4個(gè)時(shí)鐘周期后,CPU 便會(huì)跳到中斷向量處開(kāi)始執(zhí)行中斷入口的指令,這個(gè)中斷響應(yīng)的過(guò)程全部由硬件自己實(shí)現(xiàn)的,不需要用戶程序的干預(yù)(當(dāng)然,中斷入口處的指令是用戶放置的)。從執(zhí)行中斷入口的指令開(kāi)始,便進(jìn)入了用戶編寫(xiě)的中斷服務(wù)程序的執(zhí)行了。所以,中斷服務(wù)要完成什么任務(wù),是由用戶的程序決定的。我們已經(jīng)知道,在中斷入口處通常放置的是一條轉(zhuǎn)移指令,這條轉(zhuǎn)移指令應(yīng)該使 MCU 再次跳到真
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1