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

正文內(nèi)容

基于單片機的數(shù)字直流穩(wěn)壓電源的設計畢業(yè)論文(編輯修改稿)

2025-07-24 19:33 本頁面
 

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