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

正文內(nèi)容

單片機(jī)實(shí)現(xiàn)數(shù)字式可調(diào)穩(wěn)壓電源(編輯修改稿)

2025-07-23 12:24 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 因此對(duì)穩(wěn)壓管要外加散熱片。  電源供電部分電路 輸出電壓控制單元電路系統(tǒng)中,矩陣鍵盤(pán)輸入數(shù)字信號(hào)經(jīng)AT89S52處理后輸出給DAC0832,數(shù)字信號(hào)經(jīng)過(guò)數(shù)模轉(zhuǎn)換后輸出的是電流量,因此必須將電流量接電阻后接反饋放大電路以實(shí)現(xiàn)穩(wěn)壓輸出。本設(shè)計(jì)的模擬部分利用了LM324作為放大器,采用二級(jí)放大電路,第一級(jí)為同相比例放大電路,第二級(jí)為閉環(huán)反饋放大電路。下面就將二級(jí)放大電路做詳細(xì)的介紹。 同相比例放大電路原理。同相比例運(yùn)算放大電路[12],根據(jù)集成運(yùn)放的虛短和虛斷2個(gè)重要概可得式()、(),又由式()、()、()可推出式(),式()即為同相比例放大器增益的計(jì)算公式。U+=U                       ()UI=U+ ()U/Uo=R/(R+Rf) ()Uo=(1+Rf/R)UI ()Uo=R∑i(1+Rf/R1) ()  同相比例運(yùn)算電路在本系統(tǒng)設(shè)計(jì)中,需要數(shù)模轉(zhuǎn)換輸出一個(gè)電壓范圍為0~10V的基準(zhǔn)電壓Ur,即數(shù)模轉(zhuǎn)換輸出的電壓值,由于DA轉(zhuǎn)換芯片DAC0832輸出的是電流信號(hào),將它作用在電阻R上變成電壓,然后用同相比例放大器放大電壓到0~10V作為基準(zhǔn)電壓,同相比例放大器滿(mǎn)足式(),其中∑i是DAC0832的IO1腳輸出的電流,R1為同相端的接地電阻,Rf為反饋電阻,Rf選用5k的微調(diào)電阻,R1選用100的電阻,R選用1K,將各值代入式(),這時(shí)同相比例放大器的最大放大系數(shù)為: A=51,滿(mǎn)足輸出基準(zhǔn)電壓Ur的要求。 第一級(jí)放大電路 反饋穩(wěn)壓放大電路。: 反饋穩(wěn)壓放大電路圖中DA端是單片機(jī)數(shù)模轉(zhuǎn)換得到的基準(zhǔn)電壓Ur,這里采用運(yùn)放構(gòu)成積分器對(duì)R2和R3進(jìn)行采樣,采樣電壓U1和基準(zhǔn)電壓Ur進(jìn)行比較,比較其差值進(jìn)行放大得到Uo,通過(guò)Uo控制處于放大區(qū)Q1的Uce,又由式()可知,進(jìn)而控制輸出電壓Vo[13]。分析積分器,它滿(mǎn)足式(),由運(yùn)放的虛短與虛斷可得式(),將式()代入式()整理可得式()。在很短的時(shí)間內(nèi),U1保持不變,即UrU1=C (C是常數(shù)) ,這時(shí)有式(),由式()可知在短時(shí)間內(nèi),Uo隨時(shí)間成線(xiàn)性變化,它的斜率與CR1有關(guān)(、R1為10k)。U rU1越大,即輸出端的電壓波動(dòng)越大,那么,Uo增大得越快,于是Uce就越大,由式()可知 Vo馬上降下來(lái),從而達(dá)到穩(wěn)壓的目的。設(shè)計(jì)中選擇RR3的分壓比為:N≈,采樣電阻不能取太大,這里選擇R2=300,R3=500,分壓比為:n=。Vo=25vUce                 ()Uo=(1/C1*R1)∫(U2U1)dt+U2                ()U2=Ur   ()Uo=(1/C1*R1)∫(UrU1)dt+Ur   () Uo=(UrU1)*t/(C1*R1)+Ur   (),其中用電位器R3和微調(diào)電阻Rf作為校準(zhǔn)電壓值硬件補(bǔ)償;用達(dá)林管TIP127作為調(diào)整管,由于其工作時(shí)發(fā)熱量較大,須外加散熱裝置。   輸出電壓控制單元電路4 數(shù)字式可調(diào)穩(wěn)壓電源軟件設(shè)計(jì)本系統(tǒng)軟件設(shè)計(jì)要實(shí)現(xiàn)的功能是:鍵盤(pán)對(duì)單片機(jī)輸入數(shù)據(jù),單片機(jī)對(duì)獲得的數(shù)據(jù)進(jìn)行處理,處理后的數(shù)據(jù)送4位共陽(yáng)數(shù)碼管,再送到8位數(shù)模轉(zhuǎn)換芯片(DAC0832),以實(shí)現(xiàn)數(shù)字量對(duì)電壓的控制。系統(tǒng)中的主程序主要完成鍵盤(pán)掃描、判斷、處理和數(shù)碼顯示。而電壓值輸出顯示和輸出音響提示在中斷處理程序中完成。, 程序一開(kāi)始對(duì)硬件進(jìn)行初始化,例如系統(tǒng)對(duì)AT89S52單片機(jī)端口進(jìn)行定義;對(duì)定時(shí)器0,定時(shí)器1置初值及開(kāi)中斷等。然后進(jìn)入鍵盤(pán)判斷處理程序,首先通過(guò)鍵盤(pán)掃描判斷是否有鍵盤(pán)按下:按下,進(jìn)入鍵盤(pán)服務(wù)程序,否則繼續(xù)讀鍵盤(pán)狀態(tài)。初始化硬件有鍵按下?鍵盤(pán)服務(wù)程序主程序流程:是否 系統(tǒng)主程序流程圖   44矩陣鍵盤(pán)功能表,軟件設(shè)計(jì)部分中鍵盤(pán)實(shí)現(xiàn)的功能如下:  按“設(shè)定”鍵開(kāi)始設(shè)定電壓,超過(guò)0~24V視為無(wú)效操作,十位、個(gè)位、十分位循環(huán)輸入,設(shè)定完十分位后LED數(shù)碼開(kāi)始閃動(dòng),按“確認(rèn)”鍵確認(rèn),音響提示,電壓輸出。在正常情況下,按“儲(chǔ)存”鍵,當(dāng)前數(shù)碼開(kāi)始閃動(dòng),提示準(zhǔn)備存入當(dāng)前數(shù)值到EEPROM中保存,再按數(shù)字鍵,音響提示,表示存到該鍵中。在正常情況下,按數(shù)字鍵,讀取該鍵存儲(chǔ)數(shù)值,閃動(dòng),按“確認(rèn)”鍵確認(rèn),音響提示,電壓輸出。按“-”,按“+”。去抖動(dòng),確有按鍵按下判斷鍵值讀EEPROM送DA寫(xiě)EEPROM設(shè)定數(shù)值置位設(shè)定標(biāo)志位,清顯示清所有標(biāo)志位開(kāi)音響,送數(shù)值至DA加減數(shù)值送DA置位存儲(chǔ)標(biāo)志位死循環(huán),看門(mén)狗復(fù)位是數(shù)字鍵嗎?是設(shè)定鍵嗎?是確認(rèn)鍵嗎?是-+嗎?有鍵按下嗎?是存儲(chǔ)鍵嗎?是復(fù)位鍵嗎?鍵盤(pán)服務(wù)程序:注:所有未加標(biāo)注的判斷框均是下行為“否”,側(cè)向?yàn)椤笆恰笔欠袷谴鎯?chǔ)鍵按了?設(shè)定鍵按了? 因此,鍵盤(pán)服務(wù)程序根據(jù)鍵盤(pán)的不同輸入,通過(guò)鍵值散轉(zhuǎn)方式轉(zhuǎn)入相應(yīng)的處理程序,執(zhí)行。例如:若用戶(hù)按下S4(復(fù)位鍵),鍵盤(pán)服務(wù)程序通過(guò)鍵值散轉(zhuǎn)方式進(jìn)入看門(mén)狗復(fù)位程序,輸出為“0”,返回初始狀態(tài),等待下一次按鍵。   鍵盤(pán)服務(wù)程序 系統(tǒng)程序介紹C語(yǔ)言在單片機(jī)的應(yīng)用中,由于其邏輯性強(qiáng),可讀性好,比匯編語(yǔ)言靈活,簡(jiǎn)練,目前越來(lái)越多的人從普遍使用匯編語(yǔ)言到逐漸使用C語(yǔ)言開(kāi)發(fā),市場(chǎng)上幾種常見(jiàn)的單片機(jī)均有其C 語(yǔ)言開(kāi)發(fā)環(huán)境。因此,在本系統(tǒng)中,考慮到匯編語(yǔ)言的這些缺點(diǎn),采用了C語(yǔ)言作為軟件設(shè)計(jì)語(yǔ)言。在本文前面各章節(jié)介紹了系統(tǒng)原理圖及硬件設(shè)計(jì)的基礎(chǔ)上,進(jìn)行軟件部分的設(shè)計(jì)。系統(tǒng)編程分為主程序和鍵盤(pán)處理程序兩個(gè)部分,每個(gè)部分由若干模塊組成,下面就如何通過(guò)C語(yǔ)言編程實(shí)現(xiàn)數(shù)控調(diào)壓作簡(jiǎn)要的說(shuō)明。 輸入、控制、轉(zhuǎn)換顯示模塊的編程。系統(tǒng)采用44矩陣鍵盤(pán)作為輸入模塊,因此在編程中必須通過(guò)掃描鍵盤(pán)的行和列,讀出其值,然后通過(guò)AT89S52單片機(jī)控制鍵盤(pán)值散轉(zhuǎn),給各個(gè)鍵盤(pán)編寫(xiě)相應(yīng)的處理程序?qū)崿F(xiàn)其相應(yīng)的功能,在此過(guò)程中用AT89S52單片機(jī)/定時(shí)器TR0作為中斷處理顯示,用定時(shí)器TR1作為中斷處理提醒,開(kāi)音響。(1)初始化硬件。例如對(duì)P3口作為鍵盤(pán)輸入口的定義:define key_point P3;對(duì)標(biāo)志位的定義:static bit select=0,即在開(kāi)始還沒(méi)按下“設(shè)定鍵”時(shí),標(biāo)志位select為“0”;在主程序中,初始化部分程序如下:void main(void){  speaker=1。              //蜂鳴器不響   WDTRST=0x1E。   WDTRST=0xE1。             //初始化看門(mén)狗   TMOD=0x11。             //初始化定時(shí)器 TH0=(655365000)/256?!             ?//T0置初值   TL0=(655365000)%256。   TH1=(6553650000)/256?!             ?/T1置初值   TL1=(6553650000)%256。   EA=1?!                     ?/開(kāi)總中斷   ET0=1?!                    ?/開(kāi)T0中斷   ET1=1?!                    ?/開(kāi)T1中斷   TR0=1?!                    ?/啟動(dòng)T0TR1=0。 //關(guān)閉T1   DA=0。             //初始化DA轉(zhuǎn)化當(dāng)中用到了看門(mén)狗定時(shí)器(WDT)、定時(shí)器0和定時(shí)器1。為了激活WDT,用戶(hù)必須向WDTRST寄存器(地址為0A6H的SFR)依次寫(xiě)入01EH和0E1H。當(dāng)WDT激活后,用戶(hù)必須一定時(shí)間內(nèi)周期性地向WDTRST寫(xiě)入01EH和0E1H喂狗來(lái)避免WDT溢出。因?yàn)楫?dāng)計(jì)數(shù)達(dá)到8191(1FFFH)時(shí),13 位計(jì)數(shù)器將會(huì)溢出,這將會(huì)復(fù)位器件。定時(shí)器0計(jì)時(shí)滿(mǎn)5毫秒時(shí)產(chǎn)生定時(shí)中斷,進(jìn)入中斷處理顯示子程序;同理定時(shí)器1計(jì)時(shí)滿(mǎn)50毫秒產(chǎn)生定時(shí)中斷,進(jìn)入相應(yīng)的中斷處理程序。定時(shí)器0中斷處理程序如下:      void disp(void) interrupt 1{ TH0=(655365000)/256?!         ?/對(duì)T0重置初值         TL0=(655365000)%256。         dispbuf[0]=num1?!           ?/數(shù)碼值送顯示緩沖區(qū)    dispbuf[1]=num2。         dispbuf[2]=num3。         ledwork()?!               ?/顯示函數(shù)} 顯然,進(jìn)入中斷處理程序時(shí),須對(duì)定時(shí)器0重置初值,然后數(shù)碼值送輸出顯示緩沖區(qū),最后通過(guò)顯示程序部分將數(shù)碼轉(zhuǎn)換成數(shù)碼代碼輸出顯示。(2)單片機(jī)執(zhí)行控制功能,判斷鍵盤(pán)值,轉(zhuǎn)入鍵盤(pán)處理程序。其中判斷有鍵按下后須緊跟著延時(shí)程序,以去掉鍵盤(pán)的機(jī)械抖動(dòng),鍵盤(pán)延時(shí)時(shí)間約10毫秒:void delay10ms(void)                   //延時(shí)程序{ unsigned char i,j。  for(i=10。i0。i)    for(j=248。j0。j)。}  具體的鍵盤(pán)判斷處理程序在這里就不做一一介紹了,詳情可以參考附錄程序清單。(3)輸出顯示并將數(shù)字量送DA。數(shù)碼的輸出顯示部分程序主要圍繞著十位、個(gè)位、十分位何時(shí)選通,送數(shù)字代碼顯示來(lái)進(jìn)行編程(程序可參考附錄程序清單)。將數(shù)字量送DA顯示是通過(guò)按“確定鍵來(lái)最終實(shí)現(xiàn)的,其“確定”部分程序如下:    case 0x7b: { select=0。     //確定鍵    read_bit=0。    if(num13)    if(num1!=2||num25)    {temp=num1。     num=temp*100。     temp=num2。     num+=temp*10。     temp=num3。     num+=temp。    temp=num。    DA=buchang(temp)?!     ?/整體數(shù)碼值送DA    speaker=0。      fengmin=1。}       cancel()。}break。 其中DA=buchang(temp)指令即數(shù)字量送DA。 存儲(chǔ)模塊編程。在本系統(tǒng)中實(shí)現(xiàn)一個(gè)存儲(chǔ)電壓值,掉電永久保存的功能,需要一個(gè)外部存儲(chǔ)芯片(24C01),因此在編程中運(yùn)用到了I2C總線(xiàn)技術(shù)。I2C總線(xiàn)是一種用于IC(Integrated Circuit)器件之間連接的二進(jìn)制總線(xiàn)。它通過(guò)SDA(串行數(shù)據(jù)線(xiàn))及SCL(串行時(shí)鐘線(xiàn))在連至總線(xiàn)的器件之間傳送信息,并根據(jù)地址識(shí)別每個(gè)器件。,SDA為高電平時(shí),SCL由高電平向低電平跳變,開(kāi)始傳送數(shù)據(jù);SDA為低電平時(shí),SCL由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。SDA 線(xiàn)上的數(shù)據(jù)必須在時(shí)鐘的高電平周期保持穩(wěn)定數(shù)據(jù)線(xiàn)的高或低電平狀態(tài)(數(shù)據(jù)有效),只有在SCL 線(xiàn)的時(shí)鐘信號(hào)是低電平時(shí)才能改變[14],。系統(tǒng)先通過(guò)發(fā)送開(kāi)始信號(hào)開(kāi)始數(shù)據(jù)轉(zhuǎn)送,然后傳送寫(xiě)從地址信號(hào),最后從外部存儲(chǔ)器地址讀數(shù)據(jù)到單片機(jī)或?qū)憯?shù)據(jù)到外部存儲(chǔ)器。系統(tǒng)對(duì)SCL時(shí)鐘的編程如下:void clock() //I2C總線(xiàn)時(shí)鐘{ unsigned char i=0。 scl=1。 somenop()。 while ((sda==1)amp。amp。(i255))i++。 scl=0。 somenop()。}其中somenop()函數(shù)為延時(shí)函數(shù),其余部分的程序可以參照附錄程序清單?!          ? 開(kāi)始/結(jié)束定時(shí)信號(hào)              數(shù)據(jù)線(xiàn)的變化示意圖軟件補(bǔ)償編程。系統(tǒng)如果通過(guò)ADC0809進(jìn)行模數(shù)轉(zhuǎn)換,間接用單片機(jī)實(shí)時(shí)對(duì)輸出電壓進(jìn)行采樣,然后進(jìn)行數(shù)據(jù)處理及顯示,可以讓實(shí)際輸出電壓值與輸出顯示值一致。由于系統(tǒng)中沒(méi)有用到ADC0809模數(shù)轉(zhuǎn)換,并且DAC0832的線(xiàn)性穩(wěn)定度不夠好,因此系統(tǒng)實(shí)際輸出電壓值與輸出顯示值存在誤差,必須用軟件補(bǔ)償?shù)霓k
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1