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

正文內(nèi)容

基于at89s52單片機(jī)的數(shù)控穩(wěn)壓電源設(shè)計(jì)論文(編輯修改稿)

2024-08-16 09:34 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 國(guó) Keil Software 公司出品的 51 系列兼容單片機(jī) C 語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比, C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用 C來(lái)開(kāi)發(fā),體會(huì)更加深刻。 Keil C51 軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows 界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到 Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。 仿真結(jié)果 先按復(fù)位鍵,系統(tǒng)初始化,再輸入數(shù)字 12(預(yù)設(shè)電壓值為 ),按下 鍵(確定鍵),則數(shù)碼管顯示 12,數(shù)字電壓表顯示實(shí)際輸出電壓值 。圖 11分別為數(shù)碼管和電壓顯示仿真,其中 圖 10 中數(shù)碼管顯示 ,圖 11 中數(shù)字電壓表顯示 。 圖 10 預(yù)設(shè)電壓( )數(shù)碼管顯示仿真圖 圖 11 預(yù)設(shè)電壓( ) 數(shù)字電壓表顯示仿真圖 若需要重新設(shè)定,則按下 *號(hào)鍵(復(fù)位鍵)。此時(shí)數(shù)碼管熄滅,數(shù)字電壓表讀數(shù)為 0。此時(shí)可重新設(shè)定。仿真結(jié)果如圖 1 13 所示。 圖 12 重設(shè)定數(shù)碼管顯示仿真圖 圖 13 重設(shè)定數(shù)字電壓表顯示仿真圖 系統(tǒng)調(diào)試 在調(diào)試過(guò)程中主要是對(duì)程序的修改,特別是延時(shí)子程序。開(kāi)始延時(shí)較短時(shí),當(dāng)按下數(shù)字鍵時(shí),兩個(gè)數(shù)碼管同時(shí)顯示按下的數(shù)字。如果延時(shí)較長(zhǎng)則數(shù)字會(huì)緩慢的顯示出來(lái)。通過(guò)修改程序,將延時(shí)調(diào)到適中,系統(tǒng)正常工作。 誤差分析 設(shè)定預(yù)設(shè)值后,讀取數(shù)字電壓表電壓值,共記錄 10 組數(shù)據(jù)如表 3 所示。通過(guò)預(yù)設(shè)值和實(shí)際值的比較進(jìn)行誤差分析。 表 3 預(yù)設(shè)值和實(shí)際值的比較(單位: V) 預(yù)設(shè)值 2. 2 實(shí)際值 差值 0 誤差 % 0 % % % %. % % % % 誤差平均值 =(%+%+%+%+%+%+%+ %+%) %?? 從數(shù)據(jù)中可看出 %1%,誤差較小。 產(chǎn)生誤差的因素主要有一下幾點(diǎn): ( 1)在參數(shù)選擇的時(shí)候沒(méi)有完全匹配; ( 2)數(shù)字電壓表只能讀出 3位有效數(shù)字; ( 3)基準(zhǔn)電壓設(shè)定不適中; ( 4)轉(zhuǎn)換位數(shù)不高。 附錄:程序清單 define _PWLOCK_H // 防止 被重復(fù)引用 define _PWLOCK_H include include include include define uchar unsigned char define uint unsigned int uchar px。 uint a。 uint b。 uint c。 //為 0XFF uint i。 uchar digbit。 // 字位 uchar dy。 uchar wordbuf[2]。 // 字型碼緩沖區(qū) uchar count。 // 位計(jì)數(shù) uchar pwbuf[2]。 // 輸入數(shù)字存儲(chǔ)區(qū) bit enterflag。 // 確認(rèn)鍵按下與否標(biāo)志 bit lh。 bit pwflag。 // 密碼正確與否標(biāo)志 bit showflag。 // 數(shù)碼管顯示與否標(biāo)志 sbit P20=P2^0。 sbit P21=P2^1。 void display(void)。 // 顯示函數(shù) endif //include /* 鍵消抖延時(shí)函數(shù) */ void delay(void) { uint i。 for (i=120xx。i0。i)。 } /* 鍵掃描函數(shù) */ uchar keyscan(void) { uchar scancode,tmpcode。 P1 = 0xf0。 // 發(fā)全 0行掃描碼 if ((P1amp。0xf0)!=0xf0) // 若有鍵按下 { delay()。 // 延時(shí)去抖動(dòng) if ((P1amp。0xf0)!=0xf0) // 延時(shí)后再判斷一次,去除抖動(dòng)影響 { scancode = 0xfe。 while((scancodeamp。0x10)!=0) // 逐行掃描 { P1 = scancode。 // 輸出行掃描碼 if ((P1amp。0xf0)!=0xf0) // 本行有鍵按下 { tmpcode = (P1amp。0xf0)|0x0f。 /* 返回特征字節(jié)碼,為 1的位即對(duì)應(yīng)于行和列 */ return((~scancode)+(~tmpcode))。 } else scancode = (scancode1)|0x01。//行掃 描碼左移一位 } } } return(0)。 // 無(wú)鍵按下,返回值為0 } /* 定時(shí)器 0 中斷服務(wù)子程序, 2ms 定時(shí)動(dòng)態(tài)掃描顯示 */ void time0_int(void) interrupt 1 { /* 重置 2ms 定時(shí) */ TH0 = 20xx/256。 TL0 = 20xx%256。 px++。 //片選 if (showflag==1) display()。 // 調(diào)用顯示函數(shù) } /* 根據(jù)共陰極字型編 碼表獲取 0~9, A~B 字型代碼 */ uchar getcode(uchar i) { uchar p。 switch (i) { case 0: p=0x3f。 break。 /* 0 */ case 1: p=0x06。 break。 /* 1 */ case 2: p=0x5B。 break。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1