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

正文內容

精品畢業(yè)論文--基于單片機的簡易數控直流電壓源的設計-資料下載頁

2024-11-10 09:41本頁面

【導讀】本設計以AT89S52單片機為核心控制芯片,實現數控直流電源功能的方案。構成穩(wěn)壓源,實現了輸出電壓范圍為+~+,電壓步進的數控穩(wěn)壓電源,最大紋波只有10mV,具有較高的精度與穩(wěn)定性。另外該方案只采用了5個按鍵實現輸。12V和5V電源為系統(tǒng)供電。該電路的原理是通過MCU控制DA的輸出電壓大小,通。利用5個按鈕調整電壓、并且通過共陰極三位一體LED顯示輸出的電壓。設計使用3三位一體數碼管,可以顯示三位數,一個小數位,比如可以顯示,采用動態(tài)掃描驅動方式。與傳統(tǒng)的穩(wěn)壓電源相比具有操作方便,電源穩(wěn)定性高以及其。研究背景及意義··········································································1

  

【正文】 圖 UA741引腳圖 20 第 5 章 數控電壓源的軟件系統(tǒng) 主程序 主程序流程框圖如圖 所示: 主程序的源程序見附錄 2。 圖 主程序流程圖 21 子程序 外中斷 1 子程序 外中斷 1子程序流程框圖如圖 所示 : 外中斷 1子程序的源程序見附錄 3。 圖 外中斷 1子程序流程圖 22 顯示子程序 顯示子程序流程框圖如圖 所示: 顯示子程序的源程序見附錄 4。 圖 顯示子程序流程圖 開 始初始化暫存顯示的電壓值查表取段控碼段控碼送P 2 口位控碼送P 1 口修改位控碼修改段控碼?3 位掃描完 調延時子程序返 回YN 23 鍵掃子程序 鍵掃子程序流程框圖如圖 所示: 鍵掃子程序的源程序見附錄 4。 圖 鍵掃子程序流程圖 24 第 6 章 電路的 調試 硬件的調試 硬件的調試過程 電路調試過程中 遇到的問題和解決辦法: (1).電路線路比較多,容易出現短路現象,數碼顯示由于短路出現顯示不正常顯示,整理線路后能夠正常顯示。 (2).制作和測試- 12V 電源時,由于沒有認真參考整流管的接法和 7912 的芯片資料,出現一次整流電容爆裂。 (3).數碼顯示出現問題,檢查電路發(fā)現 P2 口沒有加上拉電阻,數碼顯示的亮度不夠,加上上拉電阻能正常顯示。 (4).穩(wěn)壓管 7812 的輸出端輸出電壓,檢查電路,發(fā)現輸出端需要增加一個電容,增加后問題得到解決。 (5).由于數碼管顯示的電壓不是從 LM350 輸出的實際電壓值,所以顯示 的電壓與實際的電壓值有一點的差距,為了減少誤差,且從前面的電壓調整電路可知輸出電壓與電阻是成線性關系的,所以首先必須調節(jié)輸出電壓的線性關系。 線性關系主要是這樣調節(jié)的: ① 首先輸入 的電壓,調節(jié)電位器,使輸出也為 的電壓; ② 通過鍵盤設置,使輸入為 的電壓,反復調節(jié)電位器,使輸出為 ? 的電壓; ③ 通過鍵盤設置,使輸入為 的電壓,反復調節(jié)電位器,使輸出為 ? 的電壓; ④ 通過鍵盤設置,使輸入為 的電壓,反復調節(jié)電位器,使輸出為 ? 的電壓; ⑤ 通過鍵盤設置,使輸入為 的電壓,反復調節(jié)電位器,使輸出為 ? 的電壓。 通過調節(jié)輸入輸出電壓的線性關系,確定電位器的阻值。調好了線性關系后,電位器使固定下來了,在以后的操作中不能改變電位器的阻值。隨著電位器阻值的確定,運算放大器的放大倍數也就確定下來了。 25 電路 數據的測試 (1).電壓輸出范圍的測試 主要測試儀器:數字萬用表 ① 設計要求的范圍內 , 通過程序電壓極值 , 先設最低值,再設最高值 , 用數字萬用表測量相 應 的輸出電壓 , 重復測試三次 , 具體測試數據如表 : 表 電壓輸出范圍測試數據 次數 第一次 第二次 第三次 極值 Vmin() Vmax() Vmin Vmax Vmin Vmax 設定值 實測值 試驗誤差 0 ②誤差分析 從上表的數據看出,實際輸出的電壓最低值達不到要求的 0V,主要原因是在設計電路原理的時候考慮到條件不足, 0832的基準電壓只能是 +5V,如果能使 0832的基準電壓能夠是 5V,則可以達到要求。 最低值誤差=( + + ) /3==6mV 最高值誤差=( + + 0) /3==5mV 總體分析 :由以上數據分析可知 , 在兩端點處,系統(tǒng)最大誤差 為 6mV,完全達到題目設計要求。 (2).步進控制測試 : 主要測試儀器:數字萬用表 ① 在規(guī)定的范圍內,先設定一個初始值(若不設定,則系統(tǒng)默認為 )。然后通過功能鍵在初始值的基礎上進行先步進控制,然后再步減。測試五組數據如表 : 表 步進控制測試數據 次數 第一次 第二次 第三次 第四次 第五次 初始值 步進 步減 步進誤差 0 步減 誤差 0 0 26 ②誤差分析 分析上表,在中 間 段誤差較小,兩端誤差變大,這一方面與電源部分影響有關 ,另 外 受運放比較精度及 0832的基準電壓和 0832的量化誤差的影響 。 可通過調節(jié)電位器對數模輸出補償來減小誤差。 總體來說基本上達到設計要求。 軟件調試 (1).主程序的調試 在調試主程序時,由于沒有調啟動 0832 的程序, DA 轉換不能正常進行,調用后能正常進行 DA轉換。 (2).顯示子程序的調試 在調試顯示子程序時,由于調用的延時時間不夠,數字在數碼管上顯示不穩(wěn)定,出現閃爍現 象,且閃爍頻率不一致,通過多次調試,改變延時時間,最終數字能穩(wěn)穩(wěn)地顯示在數碼管上。 (3).中斷子程序的調試 在調試中斷子程序時,開始我采用的是電平觸發(fā)方式,但達不到要求,按下調整按鍵沒有松開,中斷程序一直在執(zhí)行,也就是說中斷程序不只執(zhí)行一次,改為脈沖觸發(fā)方式后,能達到理想的效果。 27 第 7 章 數控電壓源的使用說明 此數控電壓源輸出電壓值在 ~+ 之間。 A 鍵用于電源步進加或調整加; B 鍵用于電源步進減或調整減 ,每按一次分別加或減 ; C、 D鍵用于調整電壓的整數位, C鍵用于調整電壓加 1V, D 鍵用于調整電壓加 1V,每按一次分別加或減 1V。 E鍵用于設置電源的設置狀態(tài)和輸出狀態(tài)。 使用該多功能數控電壓源操作簡單。當上電時, 電源會輸出設置的 , 按E鍵就進入設置狀態(tài),可以設置電壓,若在此時再按一次按下 A 鍵, 電壓加 ,按B鍵 電壓減 ,按 C 鍵 電壓加 1V,按 D 鍵 電壓減 1V,若設置完成,可按 E鍵跳出電壓設置狀態(tài),即可輸出設置的電壓值。在輸出狀態(tài)也可按 A、 B鍵,使電壓步進 。 28 結 論 本次設計過程中,對紋波也沒有提出很嚴格要求,所以常用的穩(wěn)壓集成電路就可以滿足要求。在電路中采用了模擬器件和數字器件所以需要 +5V、和 ? 12V 電源供電。本設計輸出的電壓穩(wěn)壓精度高,可以用在對直流電壓要求較高的設備上,或在科研實驗室中當作實驗電源使用。 在本次設計的過程中,我發(fā)現很多的問題,給我的感覺就是很難,很不順手,看似很簡單的電路,要動手把它給設計出來,是很難的一件事,主要原因是我們沒有經常動手設計過電路以及在設計過程中用到的知識我學得不是很扎實,還有資料的查找也是一大難題,這就要求我們在以后的學習和工作中,應該注意到這一點,更重 要的是我們要學會把從書本中學到的知識和實際的電路聯(lián)系起來,這不論是對我們以后的就業(yè)還是學習,都會起到很大的促進和幫助。 不過本次設計中仍有不足之處,其中主要的不足之處 沒有達到 0V 的設計要求。其主要原因是設計條件不夠,使得 0832 的基準電壓只能為 +5V,所以其只能輸出負電壓。而且 LM350 的輸出端比輸入端高也至少 的電壓,所以在本次設計中不能達到 0V的電壓,但如果在 0832 的其準電壓上再加上一個 5V 的基準電壓便可達到輸出 0V 的要求。 同時,通過本次畢業(yè)設計,鞏固了我們學習過的專業(yè)知識,也使我們把理論 與實踐從真正意義上相結合了起來;考驗了我們借助互聯(lián)網絡搜集、查閱相關文獻資料,和組織材料的綜合能力;從中可以自我測驗,認識到自己哪方面有欠缺、不足,以便于在日后的工作中得以改進、提高;通過使用電路 CAD 軟件 Protel99se,也讓我們了解到計算機輔助設計 (CAD)的智能化,有利于提高工作效率。 29 參考文獻 [1] 李廣弟等 .單片機基礎 .北京:北京航空航天大學出版社, 2020. [2] 何立民 .MCS51系列單片機應用系統(tǒng)設計 .北京:北京航空航天大學出版社, 2020. [3] 李光飛 .51系列單片機設計實例 . 北京:北京航空航天大學出版社, 2020. [4] 張陵山,陳國平,楊子華 .C 語言程序設計 .長沙:湖南大學出版社, 2020. [5] 馬忠梅,張凱 .單片機的 C 語言應用程序設計 .北京:北京航空航天大學出版社,2020. [6] 何立明 .單片機程序設計 .北京: 電子工業(yè)出版社, 2020. [7] 謝維成 .單片機原理與應用及 C51 程序設計 .北京 :清華大學出版社, 2020. [8] 2020 年全國大學生電子設計競賽匯編 .北京: 電子工業(yè)出版社, 2020. 30 致 謝 感謝。 31 附 錄 附錄 1:元器件清單 表 1 元器件清單 名 稱 規(guī) 格 數 量 封 裝 電解電容 2200μ F 2個 22μ F 3個 470μ F 2個 電容 F 3個 30pF 2個 電阻 5個 27Ω 1個 5K 2個 220Ω 1個 2個 1K 1個 排阻 2個 SIP9 電位器 20k 1個 WR1 插針 AC220V IN 1個 SIP2 DC 5V IN 1個 SIP2 DC 15V IN 1個 SIP3 晶振 12MHz 1個 XTAL2 穩(wěn)壓管 78L12 1個 TO220A MC7912T 1個 TO220A 單片機 AT89S52 1塊 DIP40 整流堆 BRIDGE1 1個 TO72 AD轉換芯片 DAC0832 1塊 DIP20 二極管 LED 2個 LED0 數碼管 LED_3 1個 LED_03 運放 LM324 1個 DIP14 UA741 1個 DIP8 調整管 LM350 1個 TO220L 三極管 NPN 3個 TO92A 變壓器 TRANSCT 1個 TRAN5 32 附錄 2: 源程序清單 (1) 主程序的源程序清單 : include include include include define uchar unsigned char define DAC0832 XBYTE[0XEFFF] uchar biaozhi。 float vol。 sbit CS=P3^4。 sbit e=P1^6。 sbit f=P1^5。 sbit g=P1^4。 sbit h=P3^3。 uchar led[3]。 uchar t=0。 void put_on_leds ()。 //顯示輸出函數 char code ledm[]={ 0x3F,/*0*/ 0x06,/*1*/ 0x5B,/*2*/ 0x4F,/*3*/ 0x66,/*4*/ 0x6D,/*5*/ 0x7D,/*6*/ 0x07,/*7*/ 0x7F,/*8*/ 0x6F,/*9*/ 0x80,/*.*/ }。 33 /**********************************主函數 ******************************* * 函數原型: main()。 * 功 能 : 調整電壓 ,調用 put_on_leds()函數顯示電壓 ***********************************************************************/ void main (void) { uchar keyzhiii。 biaozhi=0。 //次數初始化 EA=1。 //開總中斷 EX1=1。 //開外部中斷 1 IT1=1。 //設置外部中斷 1為脈沖觸發(fā)方式 vol=。 //輸出 5伏電壓 adata()。 //啟動 0832 put_on_leds()。 //調顯示函數 delay(100)。 //調延時函數 while(1) { keyzhiii=key()。 //調鍵掃 switch(keyzhiii) //按鍵功能控制 { case 0: //沒鍵按下 ,等待 {put_on_leds()。 //調顯示函數 delay(10)。}break。 //調延時函數 case 1: //A鍵按下處理程序 {t=t+3。 //P0口數據加 3 if(vol==) vol=。 else vol=vol+。 //輸出電壓增加 adata()。}break。 case 2: //B鍵按下處理程序 {t=t3。 //P0口數據減 3 if(vol==) vol=。 34 else vol=。 //B鍵按下 adata()。}break。 case 4: //C鍵按下處理程序 {if(biaozhi==0)break。 //若不在調整狀態(tài) ,不能加 1 else {t=t+30。 //P0口數據增加 30 vol=vol+1。 //C鍵按下 +1V adata()。}}break。 case 8: //D鍵按下處理程序 {if(biaozhi==0)break。 //若不在調整狀態(tài) ,不能減 1 else {t=t30。 //P0口數據減少 30 vol=vol1。 //D鍵按下 1V adata()。}}break。 } put_on_leds()。 //調顯示函數 delay(10)。 //調延時 } } (2) 外中斷 1子程序的源程序清單 : /********************************************************************* * 函數原型: service_int1()interrupt 2 using 2。 * 功 能 : 記錄調整鍵按下的次數 ,啟動 0832 ************************************************************************/ void service_int1()interrupt 2 using 2//中斷模塊 { biaozhi++。 //調整鍵按鍵次數加 1 if (biaozhi%2==0) biaozhi=0。 //標志位置 1 else { adata()。} //標志位為 0,啟動 0832 } 35 (3) 顯示子程序的源程序清單 : /************************************************************************ * 函數原型: put_on_leds ()。 * 功 能 : 顯示輸出函數 . ************************************************************************/ void put_on_leds () { uchar i。 int k。 k=vol*100。 //電壓值 *100 led[0]=k%1
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1