




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)開發(fā)與設(shè)計(jì)工程師考試文檔題目:電子跑表學(xué) 校: 湖南人文科技學(xué)院 學(xué)生姓名: 朱亞錕 龍新茂 起止日期: 2010年6月12日 2010年6月22日摘 要本設(shè)計(jì)利用單片機(jī)實(shí)現(xiàn)的電子跑表具有編程靈活,精確度高等特點(diǎn),便于其他功能的擴(kuò)充,即可為該電子跑表實(shí)現(xiàn)更多的顯示功能。由單片機(jī)AT89C52芯片和LED數(shù)碼管以及按鍵電路為核心,輔以必要的電路,構(gòu)成了一個(gè)單片機(jī)電子跑表。利用C語言進(jìn)行軟件設(shè)計(jì),增加了程序的可讀性和可移植性,利用AT89C52單片機(jī)制成電子跑表電路,采用軟件和硬件結(jié)合的方法,控制LED數(shù)碼管輸出。利用按鍵實(shí)現(xiàn)時(shí)鐘顯示和秒表顯示兩大功能,其中秒表還可以利用按鍵來進(jìn)行暫停、復(fù)位
2、功能。利用C51系列單片機(jī)的最大特點(diǎn)是:硬件電路簡單,安裝方便易于實(shí)現(xiàn),顯示直觀,功能多樣,成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。關(guān)鍵詞:電子跑表;AT89C52單片機(jī);LED數(shù)碼管;按鍵電路;C語言目 錄設(shè)計(jì)要求11 方案論證與對比11.1 方案一11.2 方案二21.3 方案對比與選擇22 單元電路設(shè)計(jì)與計(jì)算32.1 按鍵電路的設(shè)計(jì)32.2 計(jì)時(shí)模塊的設(shè)計(jì)42.3 可編程并行口I/O芯片擴(kuò)展設(shè)計(jì)42.4 顯示電路的設(shè)計(jì)53 系統(tǒng)軟件設(shè)計(jì)流程圖63.1 主函數(shù)設(shè)計(jì)63.2 時(shí)鐘函數(shù)的設(shè)計(jì)83.3 秒表函數(shù)的設(shè)計(jì)94 詳細(xì)儀器清單11參考文獻(xiàn)12附錄一:程序13電
3、子跑表設(shè)計(jì)要求利用單片機(jī)作為控制核心,設(shè)計(jì)一個(gè)電子跑表。具體要求如下:基本部分:1、具有電時(shí)鐘和跑表功能;2、做時(shí)鐘時(shí)在4位LED 顯示器上顯示分、秒;3、做跑表時(shí)顯示范圍000.0秒999.9秒;4、當(dāng)按下啟動(dòng)按鈕跑表開始計(jì)時(shí),按下停止按鈕停止計(jì)時(shí),當(dāng)按下復(fù)位按鈕跑表回零。1 方案論證與對比1.1 方案一此方案以MCS-51系列單片機(jī)為核心,計(jì)時(shí)單元由單片機(jī)內(nèi)部的定時(shí)器/記數(shù)器來實(shí)現(xiàn),時(shí)間顯示功能通過LED數(shù)碼管動(dòng)態(tài)掃描來實(shí)現(xiàn),表的模式轉(zhuǎn)換、復(fù)位/清零功能由三個(gè)按鍵來實(shí)現(xiàn)。原理框圖如圖1所示:圖 1方案一系統(tǒng)方框圖1.2 方案二此方案也是以MCS-51系列單片機(jī)為核心,計(jì)時(shí)單元由單片機(jī)編程軟
4、件延時(shí)來實(shí)現(xiàn),時(shí)間顯示功能通過LED數(shù)碼管動(dòng)態(tài)掃描來實(shí)現(xiàn),表的啟動(dòng)/復(fù)位/清零功能由PC機(jī)通過串口輸入命令來實(shí)現(xiàn)。原理框圖如圖2所示:圖 2 方案二系統(tǒng)方框圖該方案有以下兩個(gè)缺點(diǎn):1. 需要一個(gè)大型外部設(shè)備:PC機(jī)。2. 軟件延時(shí)計(jì)時(shí)不精確。1.3 方案對比與選擇以上方案大致思路是一樣的,都是以MCS-51系列單片機(jī)為核心,加上計(jì)時(shí)模塊、選擇模塊和顯示模塊。方案一:通過單片機(jī)內(nèi)部的定時(shí)器/記數(shù)器來實(shí)現(xiàn)方案一的計(jì)時(shí)單元,外部中斷0來實(shí)現(xiàn)方案一的選擇單元,按鍵電路實(shí)現(xiàn)電子跑表的暫停、清零功能。方案二:通過單片機(jī)編程軟件利用循環(huán)限時(shí)來實(shí)現(xiàn)方案二的計(jì)時(shí)單元,PC機(jī)由串口輸出命令來實(shí)現(xiàn)方案二的選擇單元。
5、顯然由于方案一的計(jì)時(shí)模塊相對于方案二計(jì)時(shí)模塊更為精確,而選擇方式更加靈活、方便。故選用方案一作為本次設(shè)計(jì)的方案。2 單元電路設(shè)計(jì)與計(jì)算2.1 按鍵電路的設(shè)計(jì)根據(jù)設(shè)計(jì)要求,采用矩陣式鍵盤,這樣可以更合理地利用硬件資源。矩陣式鍵盤是只有若干個(gè)按鍵組成的開關(guān)矩陣。4行4列矩陣式鍵盤由圖3所示。這種鍵盤適合采取動(dòng)態(tài)掃描的方式進(jìn)行識(shí)別,即如果采取低電平掃描,回送線必須被上拉為高電平;如果采取高電平掃描,回送線必須被下拉為低電平。圖3給出了低電平掃描的電路。這種鍵盤的優(yōu)點(diǎn)是使用較少的I/O口線可以實(shí)現(xiàn)對較多鍵的控制。實(shí)際上,我們是利用此原理,但只是設(shè)置了3個(gè)開關(guān),開始和暫停由一個(gè)開關(guān)控制。當(dāng)鍵盤上的某一鍵
6、閉合時(shí),則該鍵所對應(yīng)的掃描線和回送線被短路。若X0X3均為高電平,說明無鍵閉合;任一條回送線變?yōu)榈碗娖?,則說明該回送線上有鍵閉合。與此鍵相連的掃描線也一定處于低電平(正在掃描)。由此可以確定掃描線與回送線的編號,這樣閉合按鍵的位置就確定了。圖 3 4行4列矩陣式鍵盤的連接圖CPU對鍵盤掃描可以采用以下方式:a) 程序控制隨機(jī)方式,CPU空閑時(shí)掃描鍵盤。b) 定時(shí)控制方式,每隔一段時(shí)間,CPU對鍵盤掃描一次,CPU可以定時(shí)響應(yīng)鍵輸入情況c) 中斷方式,當(dāng)鍵盤上有間閉合時(shí),向CPU請求中斷,CPU響應(yīng)鍵盤輸入中斷,對鍵盤掃描,以識(shí)別哪一個(gè)鍵處于閉合狀態(tài),并對輸入的信息的進(jìn)行處理。CPU對鍵盤上閉合
7、鍵的鍵號的確定,可以根據(jù)掃描線和回送線的狀態(tài)計(jì)算求得也可以根據(jù)行線和列線的狀態(tài)查表求得。2.2 計(jì)時(shí)模塊的設(shè)計(jì)由單片機(jī)內(nèi)部的定時(shí)器/記數(shù)器來實(shí)現(xiàn)。若設(shè)單片機(jī)系統(tǒng)主頻為12MHz,則各種工作防守定時(shí)器的最大定時(shí)時(shí)間為:工作方式0:Tmax=213×1s=8.192ms工作方式1:Tmax=216×1s=65.536ms工作方式2和工作方式3:Tmax=28×1s=0.256ms本次設(shè)計(jì)使用了計(jì)時(shí)器T0、T1,工作方式為方式均為1,計(jì)時(shí)基本單位是50ms,其初始值的設(shè)定是:TH0 = (6553650000)256; TL0 = (6553650000)%256;TH
8、1 = (6553650000)256; TL1 = (6553650000)%256;2.3 可編程并行口I/O芯片擴(kuò)展設(shè)計(jì)單片機(jī)系統(tǒng)常用的8255A芯片是一個(gè)典型的可編程通用并行接口芯片,用來擴(kuò)展單片機(jī)的端口,它具有三個(gè)八位的并行口,有三種工作方式,可作為單片機(jī)與各種外部設(shè)備連接的接口電路。在本次設(shè)計(jì)中,共陽極七段數(shù)碼管和4行4列矩陣開關(guān)就是由這個(gè)芯片連接的。其操作狀態(tài)表如表1示:表 1 8255A的操作狀態(tài)A1A0操 作說明00010A口 數(shù)據(jù)總線輸入操作(讀)01010B口 數(shù)據(jù)總線10010C口 數(shù)據(jù)總線00100數(shù)據(jù)總線 A口輸出操作(寫)01100數(shù)據(jù)總線 B口10100數(shù)據(jù)總線
9、 C口11100數(shù)據(jù)總線 控制寄存器XXXX1數(shù)據(jù)總線三態(tài)禁止操作11110非法操作XX110數(shù)據(jù)總線三態(tài)8255A有三種工作方式:方式0(基本輸入輸出方式):這種方式不需要任何選通信號,適合無條件傳輸數(shù)據(jù)的設(shè)備,數(shù)據(jù)輸出有鎖存功能,數(shù)據(jù)輸入有緩沖功能。方式1(選通輸入/輸出方式):這種方式A組包括A口和C口的高四位(PC7PC4),A口可由程序設(shè)定為輸入口和輸出口,C口的高四位則用來作為輸入/輸出操作的控制和同步信號;B組包括B口和C口的第四位(PC3PC0),功能和A組相同。方式2(雙向I/O口方式):僅有A口有這種工作方式,B口無這種工作方式。此方式下,A口為8位雙向I/O口,C口的PC
10、7PC3用來作為輸入輸出的控制和同步信號。此時(shí)B口可工作在方式0或方式1。2.4 顯示電路的設(shè)計(jì)在本次設(shè)計(jì)中,使用了6個(gè)共陽極八段數(shù)碼管作為顯示部分,每個(gè)數(shù)碼管的八段是由芯片8255的PB口控制亮滅,每個(gè)數(shù)碼管的公共腳是由8255的PA0PA5經(jīng)三極管擴(kuò)流后進(jìn)行控制。采用動(dòng)態(tài)掃描,可以同時(shí)顯示多個(gè)數(shù)碼管顯示時(shí)鐘和電子跑表中的不同部分。使共陽極七段數(shù)碼管時(shí),要注意他的接法。為了顯示數(shù)字或字符,必須對數(shù)字或字符進(jìn)行編碼。七段數(shù)碼管加上一個(gè)小數(shù)點(diǎn),共計(jì)8段。以下是顯示16進(jìn)制數(shù)的編碼:3 0xA0, /*0*/;0xBB, /*1*/;0x62, /*2*/;0x2A, /*3*/;0x39, /*
11、4*/4 0x2C, /*5*/;0x24, /*6*/;0xBA, /*7*/;0x20, /*8*/;0x28, /*9*/共陽極七段數(shù)碼管原理圖如圖6示:圖 3 共陽極七段數(shù)碼管原理圖動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。在本次設(shè)計(jì)中我們選擇了1K的限流電阻。3 系統(tǒng)軟件設(shè)計(jì)流程圖3.1 主函數(shù)設(shè)計(jì)1主程序開始后,經(jīng)過一輪按鍵掃描,執(zhí)行
12、標(biāo)志位flag判斷,在返回到主程序,接著對flag進(jìn)行一個(gè)判斷,若flag=1,進(jìn)入秒表模式;若flag!=1,則進(jìn)入時(shí)鐘模式。其原理框圖如圖4所示。圖 4 主函數(shù)的原理框圖2計(jì)時(shí)器初始化,先將計(jì)數(shù)器T0初始化:TMOD |= 0x01、EA = 1、ET0 = 1,TR0 = 1,并設(shè)定計(jì)時(shí)器T0的初始值:TH0 = (65536-50000)/256、TL0 = (65536-50000)%256。計(jì)數(shù)器T1初始化:TMOD |= 0x10、EA = 1、ET1 = 1,TR1 = 0(一開始秒表不用工作,故將TR1=0,即計(jì)時(shí)器1停止工作),并設(shè)定計(jì)時(shí)器T1的初始值:TH1 = (655
13、36-50000)/256、TL1 = (65536-50000)%256。3鍵盤掃描子函數(shù)。令8255芯片PA=0x01,再一次掃描PC上的電平。當(dāng)PC=0x01時(shí),進(jìn)行時(shí)鐘與秒表的切換;當(dāng)PC=0x02,暫停與開始秒表;當(dāng)PC=0x04,秒表清零。程序如下,其原理框圖如圖5所示。void scan_keyboard() /鍵盤子函數(shù)uchar kdata; PA=0x01;kdata=PC;if(kdata=0x01) /秒表與時(shí)鐘切換鍵delay(5);kdata=PC;if(kdata=0x01)while(PC)PB=0xff;flag=!flag;if(kdata=0x02) /開
14、始和暫停秒表delay(5);kdata=PC;if(kdata=0x02)while(PC)display(miao4,miao3,miao2,miao1);TR1=!TR1;if(kdata=0x04)delay(5);kdata=PC;if(kdata=0x04) /清零秒表while(PC)display(miao4,miao3,miao2,miao1);TR1=0;miao1=0;miao2=0;miao3=0;miao4=0; 圖5 鍵盤掃描子函數(shù)的原理框圖4顯示子函數(shù)服務(wù)程序。void display(uchar a,uchar b,uchar c,uchar d)PA=0xff
15、;PB=0xff;PA=0xfb;PB=tablea;delay(5);PB=0xff; / 最低位顯示PA=0xf7;PB=tableb;delay(5);PB=0xff; / 第二位顯示PA=0xef;PB=tablec;delay(5);PB=0xff; / 第三位顯示PA=0xdf;PB=tabled;delay(5);PB=0xff; / 最高位顯示3.2 時(shí)鐘函數(shù)的設(shè)計(jì)1計(jì)時(shí)器T0中斷服務(wù)程序,再次設(shè)置計(jì)數(shù)器T0的初始值:TH0 = (65536-50000)/256、TL0 = (65536-50000)%256;設(shè)立標(biāo)志位temp,執(zhí)行temp+,每當(dāng)特,temp執(zhí)行20次,即
16、過1秒,temp=0,為時(shí)鐘顯示函數(shù)服務(wù)的標(biāo)志位miao+。程序如下,其原理框圖如圖6所示。void time0() interrupt 1uchar temp;TH0=(65535-50000)/256; TL0=(65535-50000)%256; / 計(jì)時(shí)器設(shè)初值,0.05s為一個(gè)單元temp+;if(temp=20)/ temp自加20次為一秒temp=0; miao+;/ temp 置零,為顯示準(zhǔn)備標(biāo)志位miaoif(miao=60)/ miao 大于60,進(jìn)位miao=0;fen+;/ miao 置零,為顯示準(zhǔn)備標(biāo)志位fenif(fen=60)fen=0;/ fen 大于60,置零
17、 圖 6 T0中斷服務(wù)程序原理框圖2顯示部分。對標(biāo)志位miao 取余、miao取商分別賦給形參uchar a和uchar b;對標(biāo)志位fen 取余、fen取商分別賦給形參uchar c和uchar d。即調(diào)用顯示子函數(shù)的時(shí)候,使用如下形式:display(a,b,c,d),其中a=fen/10,b=fen%10,c=miao/10,d=miao%10。3.3 秒表函數(shù)的設(shè)計(jì)1計(jì)時(shí)器T1中斷服務(wù)程序,再次設(shè)置計(jì)數(shù)器T1的初始值:TH1 = (65536-50000)/256、TL1 = (65536-50000)%256;設(shè)立標(biāo)志位temp1,執(zhí)行temp1+,每當(dāng)temp執(zhí)行20次,即過1秒,
18、temp1=0,為秒表顯示函數(shù)服務(wù)的標(biāo)志位s+。程序如下,其原理框圖如圖7所示。void time1() interrupt 3uchar temp;TH1=(65535-50000)/256;TL1=(65535-50000)%256; / 計(jì)時(shí)器設(shè)初值,0.5s為一個(gè)計(jì)時(shí)單元temp+;if(temp=2) / temp每自加2次為0.1秒temp=0;miao1+;if(miao1=10)miao1=0;miao2+;if(miao2=10)miao2=0;miao3+;if(miao3=10)miao3=0;miao4+;/ 以上均逢十進(jìn)一,且把原位置零if(miao4=10)miao
19、4=0;/ 當(dāng)最高位大于10,全部歸零 圖 9 計(jì)時(shí)器T1中斷服務(wù)程序原理框圖2顯示部分。miao4,miao3,miao2,miao1分別賦給形參uchar a,uchar b,uchar c,uchar d。4 詳細(xì)儀器清單表格 1 儀器清單儀器名稱數(shù)量 STC89C52RC芯片1個(gè) 11.0592M晶振1個(gè)輕觸開關(guān)4個(gè)8255A芯片1個(gè)共陽極八段數(shù)碼管6個(gè)電阻 1K18個(gè)電容30pF2個(gè)參考文獻(xiàn)1 張鑫.單片機(jī)原理及應(yīng)用.M 北京:電子工業(yè)出版社,2008 2 樓然苗,李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo).M 北京:北京航天航空大學(xué)出版社,20073 朱定華,戴汝平.單片微機(jī)原理與應(yīng)用.(M) 北
20、京:清華大學(xué)出版社,20034 田立.田清.代方震.51單片機(jī)C語言程序設(shè)計(jì)快速入門.M 北京:人民郵電出版社,20075 譚浩強(qiáng).C程序設(shè)計(jì).M 北京:清華大學(xué)出版社,20066 林銳.高質(zhì)量C編程指南. Z 北京:電子工業(yè)出版社,20017 何立民.MCS-51 系列單片機(jī)應(yīng)用設(shè)計(jì).M 北京:航空航天大學(xué)出版社,1990 附錄一:程序#include<reg52.h>#include"ABSACC.H"#define uchar unsigned char#define uint unsigned int#define PA XBYTE0xD1FF /*PA
21、口地址*/#define PB XBYTE0xD2FF /*PB口地址*/#define PC XBYTE0xD5FF /*PC口地址*/#define CON XBYTE0xD7FF /*控制字地址*/ uchar fen,miao,miao1,miao2,miao3,miao4,a,b,c,d,flag;void delay(uchar z);uchar const table16= 0xA0, /*0*/ 0xBB, /*1*/ 0x62, /*2*/ 0x2A, /*3*/ 0x39, /*4*/ 0x2C, /*5*/ 0x24, /*6*/ 0xBA, /*7*/ 0x20, /*
22、8*/ 0x28, /*9*/ ; void delay(uchar z) /延時(shí)約Zmsuchar x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void init()/ 初始化CON=0x89;TMOD|=0X01;TMOD|=0x10;TR0=1;TR1=0; / 初始化先關(guān)閉定時(shí)器1(秒表)ET0=1;ET1=1;TH0=(65535-50000)/256;TL0=(65535-50000)%256;TH1=(65535-50000)/256;TL1=(65535-50000)%256;EA=1;void display(uchar a,ucha
23、r b,uchar c,uchar d) / 顯示子函數(shù)PA=0xff;PB=0xff;PA=0xfb;PB=tablea;delay(5);PB=0xff;PA=0xf7;PB=tableb;delay(5);PB=0xff;PA=0xef;PB=tablec;delay(5);PB=0xff;PA=0xdf;PB=tabled;delay(5);PB=0xff;void scan_keyboard() /鍵盤子函數(shù)uchar kdata;PA=0x01;kdata=PC;if(kdata=0x01) /秒表與時(shí)鐘切換鍵delay(5);kdata=PC;if(kdata=0x01)while(PC)PB=0xff;flag=!flag;if(kdata=0x02) /開始和暫停秒表delay(5);kdata=PC;if(kdata=0x02)while(PC)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年網(wǎng)絡(luò)營銷與傳播策略能力測評試卷及答案
- 2025年數(shù)字營銷策略與實(shí)施考試試題及答案
- Hydroxymycotrienin-A-生命科學(xué)試劑-MCE
- 2025年高中物理高考模擬試卷及答案
- 《地理地形地貌介紹與自然環(huán)境保護(hù)教案》
- 從詩文中找尋真我:高一語文美文賞析教學(xué)教案
- 夏日絕句賞析:五年級語文閱讀理解教案
- 食品購銷合同框架協(xié)議
- 2024年上海格致中學(xué)高一(下)5月月考英語試題及答案
- 羽潞歆晗完美魔女殿下Ⅰ1500字12篇
- 管道焊接及焊縫外觀檢查記錄表
- GB∕T 24508-2020 木塑地板-行業(yè)標(biāo)準(zhǔn)
- 校園環(huán)境衛(wèi)生管理制度
- 回油管夾片的沖壓工藝與模具設(shè)計(jì)
- 個(gè)體化健康教育
- 《白內(nèi)障》ppt課件
- Resume(簡歷英文版)
- 報(bào)價(jià)單模板(中英文
- 股骨頸骨折中醫(yī)診療方案
- 房產(chǎn)證英文翻譯件模板
- 苯甲苯連續(xù)精餾裝置工藝設(shè)計(jì) 精餾塔設(shè)計(jì)說明書 化工設(shè)計(jì)
評論
0/150
提交評論