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

正文內(nèi)容

基于at89s52單片機(jī)的頻率計(jì)設(shè)計(jì)_畢業(yè)設(shè)計(jì)論文-資料下載頁(yè)

2024-08-31 18:26本頁(yè)面

【導(dǎo)讀】頻率測(cè)量是電子學(xué)測(cè)量中最為基本的測(cè)量之一。頻率計(jì)主要是由信號(hào)輸入和放大電路、單片機(jī)模塊、分頻模塊及顯示電路模塊組成。AT89S52單片機(jī)是頻率計(jì)的控制核心,來(lái)完成??梢詫?shí)現(xiàn)量程自動(dòng)切換流程。以AT89S52單片機(jī)為核心,通過(guò)單片機(jī)內(nèi)部定時(shí)/計(jì)數(shù)器的門控。時(shí)間,方便對(duì)頻率計(jì)的測(cè)量。其待測(cè)頻率值使用四位共陽(yáng)極數(shù)碼管顯示,并可以自動(dòng)切換量。程,單位分別由紅、黃、綠3個(gè)LED指示。本次采用單片機(jī)技術(shù)設(shè)計(jì)一種數(shù)字顯示的頻率計(jì),具有測(cè)量準(zhǔn)確度高,響應(yīng)速度快,體積小等優(yōu)點(diǎn)。

  

【正文】 23 系統(tǒng)軟硬件調(diào)試 軟件系統(tǒng)測(cè)試只能測(cè)試方波信號(hào),外加硬件整形電路,可以測(cè)試正弦波、三角波等各種波形的頻率值,把各模塊組合在一起,做成完整的頻率計(jì),實(shí)物圖如圖 33 所示。經(jīng)過(guò)不斷的軟硬件聯(lián)合調(diào)試,修改程序和硬件,最終符合設(shè)計(jì)功能要求。 圖 33 頻率計(jì)實(shí)物圖 為了衡量這次設(shè)計(jì)的頻率計(jì)的工作情況和測(cè)量精度,我們對(duì)系統(tǒng)進(jìn)行了調(diào)試。用這次設(shè)計(jì)的頻率計(jì)對(duì)信號(hào)進(jìn)行了測(cè)量, 使用函數(shù)發(fā)生器輸出各種波形,由實(shí)物頻率計(jì)測(cè)得頻率,記錄數(shù)據(jù)。實(shí)際測(cè)得頻率范圍沒(méi)有仿真結(jié)果那么高,只能稍微超過(guò) 2MHz。實(shí)際 記錄數(shù)據(jù)如下表911所示。 表 9: HZ檔的數(shù)據(jù)記錄表 待測(cè)值( Hz) 測(cè)量值( Hz) 10 29 269 325 491 678 979 表 10: KHZ檔的數(shù)據(jù)記錄表 待測(cè)值( KHz) 測(cè)量值( KHz) 表 11: MHZ檔的數(shù)據(jù)記錄表 待測(cè)信( MHz) 測(cè)量值( MHz) 測(cè)不出 誤差分析 從記錄的數(shù)據(jù)可以看出,系統(tǒng)軟件仿真誤差很小,在 10Hz2MHz 范圍內(nèi)測(cè)量出來(lái)的頻率基本上就是輸入信號(hào)的頻率,在超出這個(gè)范圍后,才出現(xiàn)很小的誤差。但是在硬件調(diào)試中,可能是由于 標(biāo)準(zhǔn)元器件本身誤差,如隨著時(shí)間的延長(zhǎng),其值相比出廠時(shí)產(chǎn)生誤差; 造成測(cè)量結(jié)果沒(méi)有軟件仿真精確 。同時(shí)手工焊接單片機(jī)最小系統(tǒng)、分頻整形電路等也會(huì)帶 來(lái)一定的干擾,造成信號(hào)的失真,從而導(dǎo)致測(cè)量精度下降, 測(cè)量范圍有所縮小,但是可以看出,誤差在 24 允許范圍內(nèi),所設(shè)計(jì)的電路基本符合要求。 23 第六章 總結(jié) 畢業(yè)設(shè)計(jì)已經(jīng)結(jié)束,通過(guò)這次設(shè)計(jì),我受益匪淺。 畢業(yè)設(shè)計(jì)是一次綜合性的實(shí)踐,它將各種知識(shí)結(jié)合到一起綜合運(yùn)用到實(shí)踐上來(lái)擴(kuò)展、彌補(bǔ)、串聯(lián)所學(xué)的知識(shí)。通過(guò)本次畢業(yè)設(shè)計(jì)我得到了很多收獲。首先,了解了單片機(jī)的基本知識(shí)和在控制領(lǐng)域的作用和地位。其次 掌握了 C語(yǔ)言的編寫程序,學(xué)會(huì)了使用 PROTUTES 和 KEIL 的仿真來(lái)實(shí)現(xiàn) ,同時(shí)掌握了如何收集、查閱、應(yīng)用文獻(xiàn)資料,如何根據(jù)實(shí)際 需要有選擇的閱讀書籍和正確確定系統(tǒng)所要使用的元器件的類型。再次,在精神方面鍛煉了思想、磨練了意志。面對(duì)存在的困難首先分析問(wèn)題根據(jù)目的要求確定可實(shí)現(xiàn)的部分,定出那不準(zhǔn)的方面找同學(xué)和老師討論研究,再完善、再修改、再發(fā)現(xiàn)問(wèn)題、再解決培養(yǎng)了自己的耐心、恒心及遇事不亂的精神??傊颐靼琢死碚摵蛯?shí)踐之間存在的距離只有靠不斷的思考不斷的動(dòng)手才能將所學(xué)的知識(shí)真正運(yùn)用到實(shí)踐上來(lái)。在畢業(yè)設(shè)計(jì)中我的很多方面的能力都得到了提高,尤其在單片機(jī)軟件編程方面讓我感觸頗深。我個(gè)人認(rèn)為軟件設(shè)計(jì)是個(gè)即靈活又細(xì)膩的工作,它要求耐心和細(xì)心去不斷 完善,同時(shí)還需要有良好的邏輯思維能力。通過(guò)這次畢業(yè)設(shè)計(jì),我分析問(wèn)題和解決問(wèn)題的能力有所提高,也鞏固了所學(xué)的知識(shí),加深了對(duì)理論知識(shí)的理解,更重要的是鍛煉自己的獨(dú)立性,為我今后的工作和學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。 24 附件 3:頻率計(jì)源程序 include define Segment P2 define sl P0 unsigned char t。 //定時(shí) 1s 計(jì)數(shù) unsigned char d[4]。 //對(duì)應(yīng)數(shù)碼管的各位 unsigned char level。 //檔位 unsigned int tN。 //不同檔位計(jì)時(shí)值 unsigned int fCnt。 //脈沖下降沿次數(shù) unsigned int regCnt。 //脈沖次數(shù)暫存 unsigned int pCnt。 //頻率顯示 unsigned char Num[10]={00x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 void Delay(unsigned int DelayTime) { while(DelayTime)。 } void disp() { if(level==0) //B 位檔 { d[3]=0。 d[2]=pCnt/100。 d[1]=(pCnt%100)/10。 d[0]=pCnt%10。 sl=0xfe。Delay(1)。Segment=Num[d[3]]。Delay(300)。 sl=0xfd。Delay(1)。Segment=Num[d[2]]。Delay(300)。 sl=0xfb。Delay(1)。Segment=Num[d[1]]。Delay(300)。 sl=0xf7。Delay(1)。Segment=Num[d[0]]。Delay(300)。 } else if(level==1) { d[3]=pCnt/1000。 d[2]=(pCnt%1000)/100。 d[1]=(pCnt%100)/10。 d[0]=pCnt%10。 sl=0xfe。Delay(1)。Segment=Num[d[3]]。Delay(300)。 sl=0xfd。Delay(1)。Segment=Num[d[2]]。Delay(300)。 sl=0xfb。Delay(1)。Segment=Num[d[1]]+0x80。Delay(300)。 //帶小數(shù)點(diǎn) 25 sl=0xf7。Delay(1)。Segment=Num[d[0]]。Delay(300)。 } else if(level==2) { d[3]=pCnt/1000。 d[2]=(pCnt%1000)/100。 d[1]=(pCnt%100)/10。 d[0]=pCnt%10。 0)。 } else { d[3]=0。 d[2]=0。 d[1]=0。 d[0]=0。 } } void intial() { clear=1。 //分頻器初始化 a tN=20。 //檔位初始化為 Hz 檔 level=0。 ledM=1。 //顯示 Hz 檔 ledK=1。 ledB=0。 TMOD=0x61。 //定時(shí)器 0,工作方式 1,計(jì)數(shù)器 1,工作方式 2(8 位自動(dòng)重裝 ) //開定時(shí)器 0 中斷 ET0=1。 //定時(shí)器 0 允許 TR1=1。 //開計(jì)數(shù)器 1 中斷 ET1=1。 //允許計(jì)數(shù)器 1 中斷 EA=1。 //總中斷允許 } void main() { intial()。 while(1) 26 { disp()。 } } void timer0() interrupt 1 { t++。 if(t==tN) { regCnt=fCnt。 //更新顯示 fCnt=0。 //頻率計(jì)數(shù)清零 clear=0。 //硬件分頻器清零 clear=1。 if(level==0) //檔位切換 { pCnt=regCnt。 if(regCnt999) { pCnt=0。 //顯示清零 } } else if(level==1) { if(regCnt1) { level=0。 tN=20。 //定時(shí) 1s addr2=1。 //不分頻 } else if(regCnt1000) //KHz 檔 { level=1。 tN=1。 //定時(shí) 50ms addr2=0。 //硬件分頻處理 TH1=0xfb。 //50 分頻 2565 TL1=0xfb。 //2565 pCnt=regCnt*10。 //換算成相應(yīng)的顯示: f=regCnt*100 27 ledM=1。 //顯示 KHz 檔 ledK=0。 ledB=1。 } else { level=2。 //顯示 MHz 檔 ledK=1。 ledB=1。 } } else if(level==2) { if(regCnt500) //KHz 檔 { level=1。 tN=1。 //定時(shí) 50ms addr2=0。 //分頻 //顯示 KHz 檔 ledK=0。 ledB=1。 } else if(regCnt5000) { level=2。 tN=1。 //定時(shí) 50ms addr2=0。 //分頻 TH1=0xf6。 //100 分頻 25610 TL1=0xf6。 //25610 ledB=1。 } else { level=3。 //超出范圍 ledM=1。 //全滅 ledK=1。 ledB=1。 } } ET1=1。 //恢復(fù)外部計(jì)數(shù) 1 TR1=1。 } TH0=0x3c。 //(6553650000)/256。 28 TL0=0xb0。 //(6553650000)%256。 } void enterFre() interrupt 3 //外部頻率輸入 { fCnt++。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1