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

正文內(nèi)容

基于單片機(jī)的數(shù)字電流表的設(shè)計(jì)本科生畢業(yè)論文(文件)

 

【正文】 文進(jìn)行總結(jié)和展望。本次課題設(shè)計(jì)是基于一個(gè)內(nèi)阻為無(wú)窮大數(shù)字電壓表的基礎(chǔ)上,并聯(lián)上一個(gè)分流電阻來(lái)構(gòu)成的數(shù)字電流表,其工作原理如圖 22 所示,電路圖用 G 表示。模數(shù)轉(zhuǎn)換器中一般都要用到數(shù)模轉(zhuǎn)換器,模數(shù)轉(zhuǎn)換器即 A/D 轉(zhuǎn)換器 ,簡(jiǎn)稱(chēng) ADC,它的主要功能是 把連續(xù)的 模擬信號(hào) 轉(zhuǎn)變?yōu)殡x散的 數(shù)字信號(hào) [2]。 PCF8591復(fù)位電路 主控模塊AT89C51 晶振電路 A/D 轉(zhuǎn)換器 驅(qū)動(dòng)電路 電壓信號(hào) 顯示模塊 20xx 屆本科生畢業(yè)論文(設(shè)計(jì)) 4 的地址引腳有 3 個(gè),分別為 A0、 A1 和 A2,可用來(lái)進(jìn)行硬件地址的編程,可以在不添加額外硬件的情況下,在同一個(gè) I2C 總線上接入 8 個(gè) PCF8591 器件。 A0~ A2:引腳地址端。 EXT:內(nèi)部、外部時(shí)鐘的選擇線, EXT 接地時(shí)使用內(nèi)部時(shí)鐘。 AT89C51 單片機(jī) 單片機(jī)( Microcontrollers)是一種 集成電路 芯片 , 通過(guò) 超大規(guī)模集成電路 技術(shù)把具有數(shù)據(jù)處理能力的 中央處理器 CPU、 隨機(jī)存儲(chǔ)器 RAM、 只讀存儲(chǔ)器 ROM、多種 I/O 口和 中斷系統(tǒng) 、 定時(shí)器 /計(jì)數(shù)器等功能(可能還包括顯示驅(qū)動(dòng)電路、 脈寬調(diào)制 電路、模擬多路 轉(zhuǎn)換器 、 A/D 轉(zhuǎn)換器 等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的 微型計(jì)算機(jī)系統(tǒng) ,在 工業(yè) 控制領(lǐng)域 得到 廣泛應(yīng)用 [5]。 引腳功能介紹 : [1]VCC—— 接電源引腳。 P0 口能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù) /地址的第八位。在 FLASH 進(jìn)行編程和校驗(yàn)時(shí),P1 口作為第八位地址接收。當(dāng) P2口用于外部程序存儲(chǔ)器或 16 位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí), P2 口輸出地址的高八位。當(dāng) P3 口寫(xiě)入 “ 1” 后,它被內(nèi)部上拉為高電平,并用作輸入。當(dāng)振蕩器處于復(fù)位器件時(shí),要保持 RST腳的兩個(gè)機(jī)器周期的高電平時(shí)間。但要注意的是:當(dāng)作為外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè) ALE 脈沖。微處理器在外部執(zhí)行狀態(tài)如果 ALE被禁止,則置位無(wú)效。 [10] EA /VPP—— 當(dāng) EA 保持 低電平時(shí),則在此期間外部程序存儲(chǔ) 器( 0000HFFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。液晶顯示器不僅具有顯示圖像質(zhì)量高,而且采用數(shù)字式接口、體積小、質(zhì)量輕、功耗低等優(yōu)點(diǎn),所以在生活中得到廣泛應(yīng)用。常見(jiàn)的 1602字符型液晶顯示器引腳如圖 26 所示 : 圖 26 LCD1602 引腳 LCD1602 引腳采用的是標(biāo)準(zhǔn) 16 腳接口,其各引腳的功能如下 [9]: 引腳 1: GND 為接地電源。 引腳 5: RW 是讀寫(xiě)信號(hào)線,當(dāng)其是高電平 1 時(shí),進(jìn)行讀操作;當(dāng)其處于低電平時(shí),進(jìn)行寫(xiě)操作。 15 引腳是背光正極端口, 16 引腳是背光負(fù)極 [10]端口。 AT89C51 不僅可以按照常規(guī)編程方法進(jìn)行,而且還可以實(shí)現(xiàn)在線編程。在單芯片上, AT89C51 擁有靈巧的 8 位 CPU 和可在系統(tǒng)編程 Flash,眾多的嵌入式控制應(yīng)用系統(tǒng)都采用其作為核心部件,并且得到廣泛應(yīng)用。當(dāng)輸入的電壓在 0V 到 5V 之間變化時(shí),輸出的數(shù)字量會(huì)在 0000 0000 到 1111 1111 之間變化。通過(guò)該設(shè)計(jì)了解 A/D 轉(zhuǎn)換器的原理、 51 系列單片機(jī)的使用和 LCD 液晶顯示器的使用方法、顯示過(guò)程。第二,根據(jù)電路圖編寫(xiě)程序控制單片機(jī)(可以使用 C 語(yǔ)言或者 VB 語(yǔ)言,本課題采用的是 C 語(yǔ)言),使單片機(jī)能夠控制 A/D 轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換,并通過(guò) LCD 顯示屏直接顯示出來(lái)相對(duì)應(yīng)的電流值。它有著廣泛的應(yīng)用范圍,超強(qiáng)的數(shù)據(jù)處理能力,不僅在軟件開(kāi)發(fā)上,而且各類(lèi)科研工作上都需要用到 C 語(yǔ)言,可以用來(lái)編寫(xiě)系統(tǒng)軟件,三維、二維圖形和動(dòng)畫(huà) ,具體應(yīng)用體現(xiàn)在單片機(jī)以及嵌入式系統(tǒng)開(kāi)發(fā)。 C 語(yǔ)言有著廣泛的運(yùn)算符范圍,總共有 34 種運(yùn)算符。能夠?qū)崿F(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的運(yùn)算,同時(shí)引 入指針概念,使其具有更高的程序效率。 ,程序執(zhí)行效率高。 Protel99SE 軟件的介紹 Protel99SE 是澳大 利亞 Protel Technology 公司研制開(kāi)發(fā)的,是一個(gè)全 32 位的電路板設(shè)計(jì)軟件,在電子行業(yè)的 CAD 軟件中,是一款常用的電子電路設(shè)計(jì)軟件,也是電子設(shè)計(jì)者的首選軟件。 ( 2) Advanced PCB 99SE(印刷電路板設(shè)計(jì)系統(tǒng)) 20xx 屆本科生畢業(yè)論文(設(shè)計(jì)) 13 該模塊提供了一 個(gè)功能強(qiáng)大,可以交互友好的 PCB 設(shè)計(jì)環(huán)境,主要用來(lái)進(jìn)行 PCB 設(shè)計(jì)、元器件封裝設(shè)計(jì)、報(bào)表的生成及 PCB 輸出。 ( 6) Advanced PLD 99SE(可編程邏輯器件設(shè)計(jì)系統(tǒng)) 該模塊是一個(gè)集成性 PLD 開(kāi)發(fā)環(huán)境,可通過(guò)原理圖或者 CUPL 硬件描述語(yǔ)言來(lái)作為設(shè)計(jì)前端,能夠提供工業(yè)標(biāo)準(zhǔn)的 JEDEC 輸出。 系統(tǒng)軟件的調(diào)試 在硬件調(diào)試進(jìn)行一切正常之后,接下來(lái)我們需要做的就是軟件調(diào)試。 20xx 屆本科生畢業(yè)論文(設(shè)計(jì)) 14 顯示 模塊。 實(shí)際硬件制作結(jié)果 根據(jù)電路圖自己制作出實(shí)物,其測(cè)試結(jié)果:能正常測(cè)量 0—— 100mA 電流,達(dá)到畢業(yè)設(shè)計(jì)的大部分設(shè)計(jì)要求。 20xx 屆本科生畢業(yè)論文(設(shè)計(jì)) 15 本設(shè)計(jì)是以單片機(jī) AT89C51 芯片為核心的數(shù)字電流表,介紹了 51 單片機(jī)和 A/D 轉(zhuǎn)換器的結(jié)構(gòu),從而更深層次地分析數(shù)字電流表的設(shè)計(jì)原理、軟件仿真及其檢測(cè)調(diào)試等一系列的內(nèi)容。研究出精度高、性能優(yōu)的電流表有重大的實(shí)際價(jià)值和更深遠(yuǎn)的意義。在此特別感謝我的指導(dǎo)老師 王 **老師,她對(duì)我無(wú)私的指導(dǎo)和幫助。 同時(shí)感謝這篇論文所 涉及的各位學(xué)者和研究者。 while(a) { for(i=0。 LCD_RW = 0。 Lcd_Wcmd(0x0c)。 Delayms(1)。 LCD_EN = 0。 Delayms(1)。 LCD_RW = 0。 LCD_EN = 1。 if(hang == 1) a = 0x80。 Delayms(1)。 Lcd_Wdat(*p)。 sbit LCD_RW = P1^1。 //LCD1602 初始化函數(shù) extern void Lcd_Wcmd(uchar cmd)。 //LCD1602 寫(xiě)字符串函數(shù) extern void Lcd_Clear()。 //定時(shí)器 0 初值 20xx 屆本科生畢業(yè)論文(設(shè)計(jì)) 23 EA = 1。 //看門(mén)狗定時(shí)器在 12M 晶振時(shí) 131ms 復(fù)位 } /****************************主函數(shù) ******************************/ void MAIN(void) { uchar display[3]。 Delayms(10)。 // Lcd_String(Vout:)。 // DA_NUM = (uchar)DA_NUM*。 // Lcd_Set_xy(1,13)。 // Lcd_Wdat(display[2])。k) { // Key(KEY_NUM)。 display[1] = D[0]%100/10+0x30。 Lcd_Wdat(display[1])。 // display[0] = D[1]/100+0x30。 // Lcd_Wdat(display[0])。 Ad_Da(2)。 // display[2] = D[2]%10+0x30。 // Lcd_Set_xy(2,10)。 // display[0] = D[3]/100+0x30。 // Lcd_Wdat(display[0])。 } } /////////////////////////////////////////////////////////////主函數(shù)頭文件 ifndef _MAIN_HEADER_ define _MAIN_HEADER_ include include define uchar unsigned char define uint unsigned int //sfr WDT_CONTR = 0XE1。 /******************************************************************* DAC 變換 , 轉(zhuǎn)化函數(shù) *******************************************************************/ bit DACconversion(unsigned char sla,unsigned char c, unsigned char Val) { Start_I2c()。 //發(fā)送控制字節(jié) if(ack==0)return(0)。 //結(jié)束總線 return(1)。 SendByte(c)。 } /******************************************************************* ADC 讀字節(jié)數(shù)據(jù)函數(shù) *******************************************************************/ unsigned char IRcvByte(unsigned char sla) { unsigned char c。 c=RcvByte()。 } //******************************************************************/ void Ad_Da(AD_CHANNEL) { switch(AD_CHANNEL) { case 0: ISendByte(PCF8591,0x41)。 。 //ADC0 模數(shù)轉(zhuǎn)換 1 break。 //發(fā)送非就答位 Stop_I2c()。 //啟動(dòng)總線 SendByte(sla+1)。 Stop_I2c()。 //啟動(dòng)總線 SendByte(sla)。 //發(fā)送 DAC 的數(shù)值 if(ack==0)return(0)。 //發(fā)送器件地址 if(ack==0)return(0)。 uchar DA_NUM = 100。 // Lcd_Set_xy(2,15)。 // display[2] = D[3]%10+0x30。 // // Ad_Da(3)。 // Lcd_Wdat(display[0])。 // display[0] = D[2]/100+0x30。 // Lcd_Wdat(display[1])。 // display[2] = D[1]%10+0x30。 // Ad_Da(1)。 Lcd_Set_xy(1,3)。 D[0] = (uchar)D[0]*。 for(k=10000。 // Lcd_Set_xy(1,15)。 // display[1] = DA_NUM%100/10+0x30。 // Lcd_String(V:)。 Lcd_String(I:000mA)。 Lcd_Init ()。 //定時(shí)器 0 打開(kāi) TR0 = 1。 //定時(shí)器 0 和定時(shí)器 1 設(shè)置工作方式 1 TH0 =55536/256。 //LCD1602 寫(xiě)數(shù)據(jù)函數(shù) extern void Lcd_Set_xy(uchar hang,uchar lie)。 extern void Delayms(uint a)。 Delayms(1)。\039。 a = a + lie 1。 LCD_EN = 0。 P0 = dat。 20xx 屆本科生畢業(yè)論文(設(shè)計(jì)) 20 } /*******************************************************************/ /* */ /*寫(xiě)顯示數(shù)據(jù)到 LCD
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1