電子科技大學(xué)單片機(jī)創(chuàng)新學(xué)分報(bào)告_第1頁(yè)
電子科技大學(xué)單片機(jī)創(chuàng)新學(xué)分報(bào)告_第2頁(yè)
電子科技大學(xué)單片機(jī)創(chuàng)新學(xué)分報(bào)告_第3頁(yè)
電子科技大學(xué)單片機(jī)創(chuàng)新學(xué)分報(bào)告_第4頁(yè)
電子科技大學(xué)單片機(jī)創(chuàng)新學(xué)分報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、電子科技大學(xué) 電子工程 學(xué)院標(biāo) 準(zhǔn) 實(shí) 驗(yàn) 報(bào) 告 實(shí)驗(yàn)名稱 單片機(jī)系統(tǒng)開(kāi)發(fā)實(shí)驗(yàn)電子科技大學(xué)教務(wù)處制表電 子 科 技 大 學(xué)實(shí) 驗(yàn) 報(bào) 告學(xué)生姓名: 學(xué) 號(hào): 指導(dǎo)教師:實(shí)驗(yàn)地點(diǎn): 科 B459 實(shí)驗(yàn)時(shí)間:2012一、實(shí)驗(yàn)室名稱:電子信息工程 二、實(shí)驗(yàn)項(xiàng)目名稱:?jiǎn)纹瑱C(jī)系統(tǒng)及應(yīng)用三、實(shí)驗(yàn)學(xué)時(shí):16四、實(shí)驗(yàn)任務(wù):實(shí)驗(yàn)的設(shè)計(jì)目標(biāo)是完成一個(gè)基于單片機(jī)的數(shù)字時(shí)鐘外部接口的原理樣機(jī)的開(kāi)發(fā)。具體的功能指標(biāo)要求如下:時(shí)鐘部分時(shí)鐘的計(jì)時(shí)功能由單片機(jī)程序?qū)崿F(xiàn);4位LED數(shù)碼顯示模塊,分別用于時(shí)分秒; 24時(shí)制顯示;還可進(jìn)行計(jì)時(shí)報(bào)警。外部接口部分包括LED顯示,鍵盤接口,LED燈,蜂鳴器播放音樂(lè),LCD液晶顯示,1

2、8B20測(cè)試溫度。;鍵盤采用4x4結(jié)構(gòu),鍵值分配應(yīng)合理。五、實(shí)驗(yàn)?zāi)康模簩?shí)驗(yàn)開(kāi)設(shè)的目的是使參加實(shí)驗(yàn)的學(xué)生充分體驗(yàn)電子產(chǎn)品的開(kāi)發(fā)、設(shè)計(jì)、裝配、調(diào)試的全過(guò)程;通過(guò)實(shí)驗(yàn)達(dá)到對(duì)單片機(jī)的全面了解并初步掌握單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)技能。六、實(shí)驗(yàn)內(nèi)容:系統(tǒng)框圖設(shè)計(jì);系統(tǒng)原理圖設(shè)計(jì);PCB圖設(shè)計(jì)電路板裝配焊接與調(diào)試系統(tǒng)應(yīng)用程序編寫(xiě)與調(diào)試7、 實(shí)驗(yàn)步驟:閱讀實(shí)驗(yàn)指導(dǎo)書(shū),理解設(shè)計(jì)任務(wù)與要求;熟悉器件的功能及應(yīng)用方法;根據(jù)任務(wù)要求進(jìn)行系統(tǒng)框圖設(shè)計(jì);對(duì)系統(tǒng)框圖逐步細(xì)化,完成原理圖設(shè)計(jì);使用Altium designer軟件人工布線完成印制電路板圖的設(shè)計(jì);用MCS-51c語(yǔ)言編寫(xiě)系統(tǒng)應(yīng)用程序;元器件焊裝與靜態(tài)調(diào)試;調(diào)試完成的

3、程序下載到MCU芯片,系統(tǒng)脫機(jī)調(diào)試;系統(tǒng)功能、性能的簡(jiǎn)單測(cè)試;實(shí)驗(yàn)總結(jié),填寫(xiě)實(shí)驗(yàn)報(bào)告。8、 各個(gè)部分的分析(1) 顯示電路:通過(guò)4個(gè)LED顯示屏顯示分鐘和小時(shí)兩個(gè)兩聯(lián)的LED顯示器,通過(guò)與單片機(jī)P1接口連接實(shí)現(xiàn)顯示功能。而實(shí)現(xiàn)4個(gè)LED燈動(dòng)態(tài)顯示,靠的是位選電路(2) 位選電路 四位共陽(yáng)LED數(shù)碼管,其標(biāo)號(hào)分別為HourH,HourL,MinL,MinH,低電平選通,且任何時(shí)候僅有一位輸出低電平,顯示時(shí)對(duì)各顯示器進(jìn)行動(dòng)態(tài)掃描,顯示器分時(shí)輪流工作。雖然每次只有一個(gè)顯示器顯示,但是由于人的視覺(jué)暫留現(xiàn)象我們?nèi)詴?huì)感覺(jué)所有的顯示器都在同時(shí)顯示。P0口作為輸出口控制8個(gè)發(fā)光二極管的亮滅,控制數(shù)碼管的顯示。

4、因此,可以實(shí)現(xiàn)4個(gè)LED在我們看來(lái)同時(shí)亮,顯示時(shí)間。(3) 鬧鈴部分:使用蜂鳴器實(shí)現(xiàn)鬧鐘功能其中,buzzer端口接到單片機(jī)的P1.7輸出。(端口連接在最后介紹)(4) 開(kāi)關(guān)部分:使用了5個(gè)開(kāi)關(guān)控制整個(gè)電路的啟動(dòng),修改時(shí)間,設(shè)置鬧鐘,關(guān)閉電路等功能為查詢方式典型電路。其中Setbutton為復(fù)位開(kāi)關(guān),swtich為轉(zhuǎn)換模式開(kāi)關(guān),即工作模式和調(diào)時(shí)間模式,Increase為調(diào)時(shí)間模式中控制時(shí)間變化的按鈕,STRAT和STOP分別為開(kāi)啟和結(jié)束按鈕,這5個(gè)開(kāi)關(guān)分別接到P2.0-P2.5端口,以控制其輸入。(5) 串轉(zhuǎn)并電路為了進(jìn)一步節(jié)省I/O口,有添加了一個(gè)額外的串轉(zhuǎn)并電路由以上電路,我們將P1.0-

5、P1.2擴(kuò)展到7個(gè)I/O口,我們采用的是74HC595芯片,管腳圖如下:(6) 復(fù)位電路整體電路圖如下:9、 軟件設(shè)計(jì)由于匯編語(yǔ)言繁瑣,我們采用的是C語(yǔ)言編程,源程序及注釋如下:#include #include /時(shí)分#define TYPE unsigned char#define HOUR 0#define MIN 1/顯示狀態(tài)#define NORMAL 0#define BELLTIME 1#define SETTING_N 2#define SETTING_C 3/閃爍顯示#define NoMask 0#define MaskHour 1#define MaskMin 2#def

6、ine MaskAll 3#define uchar unsigned char#define uint unsigned int/Bit Definition/數(shù)碼管sbit HourH = P13; /低電平,數(shù)碼管使能sbit HourL = P14;sbit MinH = P15;sbit MinL = P16;/蜂鳴器sbit Buzzer = P17; /低電平,蜂鳴器響/鍵盤sbit SetButton = P20;/按鍵定義,設(shè)置(正常,定時(shí)顯示切換)鍵,時(shí)位分位轉(zhuǎn)換鍵,增加鍵sbit Switch =P21;sbit Increase = P22; sbit Start =

7、P23;sbit Stop = P24;/LEDsbit SecLed = P25; /秒顯示,低電平點(diǎn)亮sbit ClockStartLED = P26; /鬧鐘定鬧開(kāi)始/74HC595 輸入管腳定義sbit SH_CP = P10;sbit DS = P11;sbit ST_CP = P12;/Function Definitionvoid delay5ms(void);void Clock();void Display();void Set();void Ring();void StopRing();void ShowANum(uchar i);void StartRing();void

8、 delaykey(void);void MaskShow(uchar Num,TYPE t);/Variable Definition/正常時(shí)間uchar hour=8;uchar min=0;uchar sec=0;uint count=0;/鬧鐘定時(shí)uchar mp=1;uchar st=0;uchar cHour=8;uchar cMin=0;/模式標(biāo)示uchar displayMode=NORMAL;uchar currentSelect=HOUR;/數(shù)碼管數(shù)字顯示編碼uchar H1;uchar H2;uchar M1;uchar M2;uchar temp;uchar code

9、DSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;/閃爍顯示uchar MaskType=NoMask;uint blinkcount=0;/音樂(lè)uchar p=0;uchar temp=0;uchar jiepai=0;uchar yindiao=0;uchar Pai1_4=20;uchar jpLength=0;/音調(diào)數(shù)組unsigned char code music=0xFF,0xFF,0xF8,0x89,0xf9,0x59,0xfa,0x13,0xfa,0x68,0xfb,0x04,0xfb,0x90,0

10、xfc,0x0c, 0xfc,0x44,0xfc,0xad,0xfd,0x0a,0xfd,0x34,0xfd,0X82,0xfd,0xc8,0xfe,0x06, 0xfe,0x22,0xfe,0x56,0xfe,0x85,0xfe,0x9a,0xfe,0xc1,0xfe,0xe4,0xff,0x03, 0xff,0x11;/音樂(lè)編碼unsigned char code Mmusic=/音階測(cè)試/1,4,2,4,3,4,4,4,5,4,6,4,7,4,8,4,/9,4,10,4,11,4,12,4,13,4,14,4,15,4,/16,4,17,4,18,4,19,4,20,4,21,4,22,

11、4,/兩只老虎1,4,2,4,3,4,1,8,1,4,2,4,3,4,1,8,3,2,4,8,5,5,3,2,4,8,5,5,5,5,6,2,5,5,4,4,3,4,1,8,5,5,6,2,5,5,4,4,3,4,1,8,3,4,1,4,2,8,3,4,1,4,2,8,0xff,0x00/結(jié)束標(biāo)記;void main()/設(shè)置T0,T1TMOD = 0x11; TH0 = 0x0EC; TL0 = 0x78; TH1 = 0x0F0; TL1 = 0x60;ET0=1;ET1=1;EA=1;TR0=1;/設(shè)置定時(shí)器的優(yōu)先級(jí)PT0=1; /5ms標(biāo)準(zhǔn)時(shí)鐘設(shè)為高優(yōu)先級(jí),保證計(jì)時(shí)的準(zhǔn)確性PT1=0;

12、/順序執(zhí)行(主循環(huán))while(1)/設(shè)置何時(shí)開(kāi)啟T1定時(shí)器if(displayMode!=NORMAL|mp=0)TR1=1;elseTR1=0;MaskType=NoMask;/方法并行Display();Display();Set();StartRing();Ring();StopRing();void Clock() interrupt 1TH0 = 0x0EC; TL0 = 0x78;count+;if(mp=0) /控制音樂(lè)節(jié)拍if(jpLength-=100)blinkcount=0;if(displayMode=BELLTIME)if(MaskType=NoMask)MaskT

13、ype=MaskAll;elseMaskType=NoMask;else if(displayMode=SETTING_C|displayMode=SETTING_N)if(currentSelect=HOUR)if(MaskType=NoMask)MaskType=MaskHour;elseMaskType=NoMask;if(currentSelect=MIN)if(MaskType=NoMask)MaskType=MaskMin;elseMaskType=NoMask;void StartRing()if(Start=0)ClockStartLED=0;st=1;Start=1;void

14、 Ring()if(st=1&cHour=hour&cMin=min)/Buzzer=0;mp=0;void StopRing()if(Stop=0)Buzzer=1;mp=1;p=0;ClockStartLED=1;st=0;MaskType=NoMask;void Display()/分析COUNT,合成HOUR,MINif(count=200)count=count-200;sec+;if(sec=60)sec=0;min+;if(min=60)min=0;hour+;if(hour=25)hour=0;/顯示時(shí)間if(displayMode=NORMAL|displayMode=SET

15、TING_N) HourH=1;HourL=1; MinH=1;MinL=1; H1=hour/10;H2=hour%10; M1=min/10;M2=min%10; MaskShow(H1,HOUR);HourH=0;delay5ms();HourH=1; MaskShow(H2,HOUR); HourL=0; delay5ms(); HourL=1;MaskShow(M1,MIN);MinH=0;delay5ms();MinH=1; MaskShow(M2,MIN); MinL=0;delay5ms(); MinL=1; if(displayMode=BELLTIME|displayMod

16、e=SETTING_C) H1=cHour/10; H2=cHour%10; M1=cMin/10; M2=cMin%10; MaskShow(H1,HOUR); HourH=0; delay5ms(); HourH=1; MaskShow(H2,HOUR); HourL=0; delay5ms(); HourL=1; MaskShow(M1,MIN); MinH=0; delay5ms(); MinH=1; MaskShow(M2,MIN); MinL=0; delay5ms(); MinL=1;void MaskShow(uchar Num,TYPE t)if(MaskType=MaskH

17、our)if(t=HOUR)ShowANum(10);elseShowANum(Num);else if(MaskType=MaskMin)if(t=MIN)ShowANum(10);elseShowANum(Num);else if(MaskType=MaskAll)ShowANum(10);elseShowANum(Num);void ShowANum(uchar Num)uchar i;temp=DSY_CODENum;/串行輸入74HC595for(i=0;i8;i+)temp=4)displayMode=0;/設(shè)置模式下,時(shí)分轉(zhuǎn)換鍵作用if(Switch=0&(displayMode

18、=SETTING_C|displayMode=SETTING_N)delaykey();if(Switch=0)currentSelect=!currentSelect;/設(shè)置模式下,數(shù)值增加鍵作用if(Increase=0&displayMode=SETTING_C)delaykey();if(Increase=0)if(currentSelect=HOUR)cHour+;if(cHour=25)cHour=0;elsecMin+;if(cMin=60)cMin=0;if(Increase=0&displayMode=SETTING_N)delaykey();if(Increase=0)if(currentSelect=HOUR)hour+;if(hour=25)hour=0;elsemin+;if(min=60)min=0;void delay5ms(void) /精確

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論