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

正文內(nèi)容

基于單片機(jī)的數(shù)字示波器設(shè)計-資料下載頁

2024-11-07 08:35本頁面

【導(dǎo)讀】示波器是電子測量中一種最常用的儀器,被廣泛應(yīng)用于各個領(lǐng)域。隨著微電子技術(shù)和計算機(jī)技術(shù)的飛速發(fā)展,示波器也從模擬示波器向數(shù)字示波器發(fā)展。同模擬示波器相比,數(shù)字示波器具有很多優(yōu)點(diǎn),并開始逐步取代模擬示波器,成為市場上的主流。本文主要完成了簡易數(shù)字示波器的設(shè)計,包括硬件設(shè)計和軟件設(shè)計兩大部分。硬件設(shè)計上,信號波形采集采用的是12位逐次逼近型A/D轉(zhuǎn)換器AD574A,轉(zhuǎn)換時間為時間為25US,%??刂破鬟x用AT89C52及AT89C51兩個單片機(jī),解決了一般示波器使用一片單片機(jī),運(yùn)行速度明顯不足的問題。波形顯示部分采用液晶顯示模塊,具有簡單易實(shí)現(xiàn)、顯示效果好等優(yōu)點(diǎn)。頻率顯示部分采用的是6位數(shù)碼管顯示,簡單易行。Proteus仿真表明,該設(shè)計運(yùn)算速度明顯提高。單片機(jī)體積小、價格低、可靠性高,其非凡的嵌入式應(yīng)用形態(tài)對于滿足嵌入式應(yīng)用需求具有獨(dú)特的優(yōu)勢。

  

【正文】 CERD=P3^7。 void int0initiate() 。 /*初始化INT0程序*/ void caiyang()。 /*采樣子程序*/ void int0serve()。 /*INT0中斷服務(wù)程序*/ void ad574a()。 /*啟動AD574A*/ void BtoD()。 /*采樣值高四位和低八位分離子程序*/ void DDATtoV()。 /*數(shù)字值到模擬值轉(zhuǎn)換 */ void wrtyejing()。 /*液晶顯示子程序*/ void yjinitiate()。 /*液晶顯示初始設(shè)置子程序*/ void wrtDDRAM()。 void prcode()。 /*寫指令代碼子程序*/ void prcwdata()。 /*寫顯示數(shù)據(jù)子程序*/ void prcrdata()。 /*讀顯示數(shù)據(jù)子程序*/ void pbusy()。 /*判忙子程序*/ void main() { int0initiate()。 /*調(diào)用初始化INT0程序*/ ad574a()。 /*啟動AD574A*/ caiyang()。 /*調(diào)采樣子程序*/ BtoD()。 /*采樣值高四位和低八位分 離子程序,數(shù)字值到模擬值轉(zhuǎn)換*/ wrtyejing()。 /*調(diào)液晶顯示程序*/ } void int0initiate() { IT0=1。 EX0=1。 EA=1。 } /*ad啟動*/ void ad574a() {AUXR=0X01。 CEWR=0。 CERD=0。 CS=0。 A0=0。 RC=0。 } /*ad采樣*/ void caiyang() { for(i。i200。) { if(IE0==1) /*采用中斷查詢方式*/ { int0serve()。 } } } /*ad讀取AD采樣值*/ void int0_int interrupt 0 using 1 { CEWR=0。 /*讀取A/D轉(zhuǎn)換值高8位*/ CERD=0。 CS=0。 A0=0。 RC=1。 caiyangdata[i]=P0。 i++。 CEWR=0。 /*讀取A/D轉(zhuǎn)換值高4位*/ CERD=0。 CS=0。 A0=1。 RC=1。 caiyangdata[i]=P0。 /*讀取低4位*/ i++。 } void BtoD() /*采樣值高四位和低八位分離子程序*/ { for(i=0,j=0。i200,j100。i+2,j++) { gao4= caiyangdata[i]amp。0xf0。 gao4=(gao44)。 zhong4=caiyangdata[i]amp。0x0f。 zhong4=zhong44。 di4=caiyangdata[i+1]4。 di8=zhong4+di4。 DDATtoV()。 } } void DDATtoV() /////////////////*數(shù)字值到模擬值轉(zhuǎn)換 */ { int VFS=10。 Vin[j]=((gao4*256+di8)/20481)*VFS/2 。 } void wrtyejing() /*調(diào)液晶顯示程序*/ { yjinitiate()。 for(j=0。j100。j++) { dv=。 /*相鄰兩行的電壓差*/ n=62Vin[j]/dv。 /*顯示點(diǎn)所在行數(shù)*/ p=n/8。 /*顯示點(diǎn)所在頁數(shù)*/ b=n%8。 /*顯示點(diǎn)在第P頁的第J個單元的第B位*/ d=1。 /*第P頁第J個單元的值*/ i=B。 for(i。i0。i) { d*=2。 } wrtDDRAM()。 } } void yjinitiate() /*液晶顯示設(shè)置*/ { CS1=1。 /*左區(qū)設(shè)置*/ CS2=0。 CS3=0。 COM=0xc0。 /*設(shè)置顯示起始行為第一行*/ prcode()。 COM=0x3f。 /*開顯示設(shè)置*/ prcode()。 COM=0x40。 /*列地址設(shè)置為0*/ prcode()。 CS1=0。 /*中區(qū)設(shè)置*/ CS2=1。 CS3=0。 COM=0xc0。 prcode()。 COM=0x3f。 prcode()。 COM=0x40。 prcode()。 } void wrtDDRAM() { if(j64) { CS1=1。 /*左區(qū)顯示數(shù)據(jù)寫入*/ CS2=0。 CS3=0。 COM=P||0xb8 。 /*或頁面地址*/ prcode()。 DAT=d。 prcwdata()。 /*寫入待顯示數(shù)據(jù)*/ } else if((j64)amp。amp。(j100)) { CS1=0。 /*右區(qū)顯示數(shù)據(jù)寫入*/ CS2=1。 CS3=0。 COM=P||0xb8。 /*或頁面地址*/ prcode()。 DAT=d。 prcwdata()。 /*寫入待顯示數(shù)據(jù)*/ } } void prcode() /*寫指令代碼子程序*/ { pbusy()。 RW=0。 P1=COM。 /*寫指令代碼*/ E=1。 E=0。 } void prcwdata() /*寫顯示數(shù)據(jù)子程序*/ { busy()。 RS=1。 RW=0。 P1=DAT。 E=1。 E=0。 } void prcrdata() /*讀顯示數(shù)據(jù)子程序*/ { pbusy()。 RS=1。 P1=0xff。 E=1。 DAT=P1。 E=0; } void pbusy() {RW=1。 while(ACC^7) /*判“忙“標(biāo)志為0否,否再讀*/ { P1=0xff。 E=1。 ACC=P1。 E=0。 } }5
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1