《電子工建訓(xùn)練》報告_第1頁
《電子工建訓(xùn)練》報告_第2頁
《電子工建訓(xùn)練》報告_第3頁
《電子工建訓(xùn)練》報告_第4頁
《電子工建訓(xùn)練》報告_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、大連理工大學(xué)本科實驗報告題目:基于51單片機的數(shù)碼管顯示及直流電機控制課程名稱: 電子工程訓(xùn)練 學(xué)院(系):電子信息與電氣工程學(xué)部 專 業(yè): 自動化 班 級: 電自1102 學(xué) 號: 201155093 實驗序號: 06 學(xué)生姓名: 鄧成米 成 績: 2013 年 11 月 17 日題目:基于51單片機的數(shù)碼管顯示及直流電機控制1 設(shè)計要求以51單片機為核心,設(shè)計、焊接并調(diào)試一個實際單片機控制系統(tǒng),實現(xiàn)數(shù)碼管顯示直流電流電機轉(zhuǎn)速,并利用系統(tǒng)實現(xiàn)驅(qū)動直流電機控制玩具挖掘機。系統(tǒng)設(shè)計具體要求:(1)電源電路(交、直流供電)。(2)51單片機最小系統(tǒng)。(3)單個LED燈閃爍。(4)數(shù)碼管顯示電路(5

2、)三路直流電機驅(qū)動電路。(6)按鍵控制電機轉(zhuǎn)動并在點陣同步顯示。2 設(shè)計分析及系統(tǒng)方案設(shè)計基于51單片機最小系統(tǒng)實現(xiàn),這里分為硬件和軟件倆部分進(jìn)行設(shè)計。(1) 硬件部分:a設(shè)計繪制電路原理圖b焊接實物電路c電路測試硬件系統(tǒng)框圖如下:電源電路51最小系統(tǒng)復(fù)位電路晶振電路單個LED燈數(shù)碼管直流電機音頻電路(2)軟件部分:a編寫系統(tǒng)源程序b系統(tǒng)程序調(diào)試(結(jié)合硬件電路)3 各功能模塊硬件電路設(shè)計(1)電源電路a直流供電b交流供電(2)51單片機最小系統(tǒng)(3)數(shù)碼管驅(qū)動電路(4)直流電機驅(qū)動電路(H橋電路)(4)lm386音樂播放電路4 系統(tǒng)軟件設(shè)計(1)流程圖為:開始程序初始化,包括單片機IO口分配、

3、位定義,開啟中斷、初始化顯示等。定時器0中斷實現(xiàn)數(shù)碼管顯示定時器0中斷實現(xiàn)LED燈閃爍按鍵檢測,實現(xiàn)電機控制及點陣同步顯示YN(2)程序源代碼為:#include "reg51.h"/#include "123.h"#define uint unsigned int#define uchar unsigned char/以下是C調(diào)低音的音頻宏定義#define l_dao 262 /將“l(fā)_dao”宏定義為低音“1”的頻率262Hz#define l_re 286 /將“l(fā)_re”宏定義為低音“2”的頻率286Hz#define l_mi 311 /將“

4、l_mi”宏定義為低音“3”的頻率311Hz#define l_fa 349 /將“l(fā)_fa”宏定義為低音“4”的頻率349Hz#define l_sao 392 /將“l(fā)_sao”宏定義為低音“5”的頻率392Hz#define l_la 440 /將“l(fā)_a”宏定義為低音“6”的頻率440Hz#define l_xi 494 /將“l(fā)_xi”宏定義為低音“7”的頻率494Hz/以下是C調(diào)中音的音頻宏定義#define dao 523 /將“dao”宏定義為中音“1”的頻率523Hz#define re 587 /將“re”宏定義為中音“2”的頻率587Hz#define mi 659 /將

5、“mi”宏定義為中音“3”的頻率659Hz#define fa 698 /將“fa”宏定義為中音“4”的頻率698Hz#define sao 784 /將“sao”宏定義為中音“5”的頻率784Hz#define la 880 /將“l(fā)a”宏定義為中音“6”的頻率880Hz#define xi 987 /將“xi”宏定義為中音“7”的頻率523H /以下是C調(diào)高音的音頻宏定義#define h_dao 1046 /將“h_dao”宏定義為高音“1”的頻率1046Hz#define h_re 1174 /將“h_re”宏定義為高音“2”的頻率1174Hz#define h_mi 1318 /將“

6、h_mi”宏定義為高音“3”的頻率1318Hz#define h_fa 1396 /將“h_fa”宏定義為高音“4”的頻率1396Hz#define h_sao 1567 /將“h_sao”宏定義為高音“5”的頻率1567Hz#define h_la 1760 /將“h_la”宏定義為高音“6”的頻率1760Hz#define h_xi 1975 /將“h_xi”宏定義為高音“7”的頻率1975Hzsbit sound=P27; /將sound位定義為P2.7uint Z; /儲存定時器的定時常數(shù)sbit led=P20;sbit wela1=P24;sbit wela2=P23;sbit w

7、ela3=P22;sbit wela4=P21;sbit pwm1=P25;sbit pwm2=P26;sbit sw1=P10;sbit sw2=P11;sbit sw3=P12;sbit sw4=P13;/sbit switch_stop=P37;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar code table1=0,20,40,60,80,100,120,140,160,180;uchar code table2=180,160,140,120,100,80,60,40,20,0;uin

8、t a=0;uint b=0;uint c=0;uint d=0;uint e=0;void delayms(uint xms) uint i,j; for(i=xms;i>0;i-) for(j=110;j>0;j-);void swtest() if(!sw1) delayms(10);if(!sw1) while(!sw1); a+; if(!sw2) delayms(10); if(!sw2) while(!sw2); b+; if(b=10) b=0; if(!sw3) delayms(10); if(!sw3) while(!sw3); b-; if(b=-1) b=9

9、; if(!sw4) delayms(10);if(!sw4) while(!sw4); d=10; void xianshi() switch (c) case 0:P0=tableb;wela1=1;wela2=1;wela3=0;wela4=0;break; case 1:P0=tableb;wela1=0;wela2=0;wela3=1;wela4=1;break;void dianji()switch (c)case 0:pwm1=1;pwm2=0;delayms(table1b);pwm1=0;delayms(table2b);break;case 1:pwm2=1;pwm1=0;

10、delayms(table1b);pwm2=0;delayms(table2b);break; void Timer0(void) interrupt 1 using 1 sound=!sound; /將P3.7引腳輸出電平取反,形成方波 TH0=(8192-Z)/32; /可證明這是13位計數(shù)器TH0高8位的賦初值方法 TL0=(8192-Z)%32; /可證明這是13位計數(shù)器TL0低5位的賦初值方法 void delay200ms() unsigned char i,j; for(i=0;i<250;i+) for(j=0;j<250;j+) ; void music(void

11、) unsigned char i,j; /以下是渴望片頭曲的一段簡譜unsigned int code f=re,mi,re,dao,l_la,dao,l_la, /每行對應(yīng)一小節(jié)音符 l_sao,l_mi,l_sao,l_la,dao,0xff; /以0xff作為音符的結(jié)束標(biāo)志/以下是簡譜中每個音符的節(jié)拍/"4"對應(yīng)4個延時單位,"2"對應(yīng)2個延時單位,"1"對應(yīng)1個延時單位 unsigned char code JP =4,1,1,4,1,1,2, 2,2,2,2,8,;/time1_init();TMOD=0x00; / 使用

12、定時器T1的模式1(13位計數(shù)器) EA=1; /開總中斷 ET0=1; /定時器T1中斷允許 TR0=0;i=0; /從第1個音符f0開始播放while(fi!=0xff) /只要沒有讀到結(jié)束標(biāo)志就繼續(xù)播放 Z=460830/fi; TH0=(8192-Z)/32; /可證明這是13位計數(shù)器TH1高8位的賦初值方法 TL0=(8192-Z)%32; /可證明這是13位計數(shù)器TL1低5位的賦初值方法 TR0=1; /啟動定時器T1for(j=0;j<JPi;j+) /控制節(jié)拍數(shù) delay200ms(); /延時1個節(jié)拍單位TR0=0; /關(guān)閉定時器T1 i+; /播放下一個音符d=0;

13、/void time1_init(void)/ TMOD=0x00; / 使用定時器T1的模式1(13位計數(shù)器)/ EA=1; /開總中斷/ ET1=1; /定時器T1中斷允許/ TR1=0;/void main()while(1)c=a%2; swtest();xianshi();dianji(); if(d)music();5 系統(tǒng)調(diào)試運行結(jié)果說明計分析(1)系統(tǒng)運行的硬件環(huán)境:winXP電腦一臺(2)系統(tǒng)運行的軟件環(huán)境:MedWin(集成開發(fā)環(huán)境),SuperPro/Z(編程器),軟件仿真Keil C51 (C51編譯器)。(3)系統(tǒng)運行結(jié)果:a當(dāng)正轉(zhuǎn)時,數(shù)碼管左邊兩位顯示轉(zhuǎn)速,當(dāng)電機反轉(zhuǎn)時,數(shù)碼管右邊兩位顯示轉(zhuǎn)速。b.直流電機控制部分,三個按鍵分別控制三個電機轉(zhuǎn)動方向,每按下一次按鍵,相對應(yīng)的電機實現(xiàn)反轉(zhuǎn),實現(xiàn)控制挖掘機工作。c.當(dāng)按下第四個按鍵式,播放音樂。d.注:上述所付源程序為綜合各個模塊功能后的控制程序,這里略去各個獨立模塊的單獨源程序。6 結(jié)論本次實踐電子電路系統(tǒng)基本成功實現(xiàn)題目設(shè)計要求功能。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論