版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C單片機(jī)秒表計(jì)時(shí)最新文檔(可以直接使用,可編輯最新文檔,歡迎下載)
C單片機(jī)秒表計(jì)時(shí)最新文檔(可以直接使用,可編輯最新文檔,歡迎下載)南開(kāi)大學(xué)濱海學(xué)院C51嵌入式軟件設(shè)計(jì)(C語(yǔ)言)題目:計(jì)時(shí)秒表功能描述:本設(shè)計(jì)實(shí)現(xiàn)在99秒內(nèi)的秒表計(jì)時(shí),一個(gè)按鍵實(shí)現(xiàn)開(kāi)始、暫停、復(fù)位。原理概述:P1接四位七段數(shù)碼管,P3.2接一按鍵產(chǎn)生外部中斷0,P3.4-P3.7控制掃描顯示。計(jì)時(shí)使用定時(shí)器0產(chǎn)生10ms中斷累計(jì)。按鍵不同次序決定了對(duì)應(yīng)的控制功能,因?yàn)榈谝淮伟存I必定為開(kāi)始計(jì)時(shí),所以第二次按鍵判斷為暫停,依次第三次為置零。主程序調(diào)用顯示程序,顯示程序?qū)崟r(shí)顯示計(jì)時(shí)時(shí)間。效果顯示圖一(電路總圖)圖二(效果顯示)注:第四位顯示為單位:S程序清單#include<reg51.h>#include<stdio.h>unsignedcharTab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};sbitP37=P3^7;sbitP36=P3^6;sbitP35=P3^5;sbitP34=P3^4;unsignedinta=0,cout=0,mm=0;x,y,p,q;/*********延時(shí)*********************/voiddelay(){intg;for(g=70;g>0;g--);}/*********顯示程序*****************/voiddisplay(){x=cout/10;//秒十位P34=0;P1=Tab[x];delay();P34=1;y=cout-x*10;//秒各位P35=0;P1=Tab[y];delay();P1=0x80;delay();P35=1;p=mm/10;//ms的高位P36=0;P1=Tab[p];delay();P36=1;P37=0;//顯示單位:SP1=Tab[5];delay();P37=1;}/*********主程序********************/voidmain(){IT0=1;EX0=1;ET0=1;TMOD=0x01;TH0=0xD8;//裝初值,10msTL0=0xF0;EA=1;while(1){display();};}/*********外部按鍵中斷子程序*********/voidint0()interrupt0{if(a==0)//開(kāi)始計(jì)時(shí){TR0=1;mm=0;a++;}elseif(a==1)//暫停計(jì)時(shí){TR0=0;a++;}else//置零{a=0;mm=0;cout=0;}}/*********定時(shí)器子程序****************/voidtime0()interrupt1{TH0=0xD8;TL0=0xF0;mm++;if(mm==80)//考慮其它損耗,調(diào)整后約為1S{cout++;mm=0;}}單片機(jī)課程設(shè)計(jì)課程設(shè)計(jì)任務(wù)書(shū)2017-2018學(xué)年第一學(xué)期第17周-18周題目基于51單片機(jī)控制的多功能秒表系統(tǒng)內(nèi)容及要求1.設(shè)計(jì)制作一個(gè)秒表系統(tǒng),可用多位數(shù)碼管顯示時(shí)間。2.可用開(kāi)關(guān)控制并用多位數(shù)碼管顯示當(dāng)前時(shí)間。3.可以進(jìn)行計(jì)時(shí)并能清零重新計(jì)時(shí)。進(jìn)度安排1.布置任務(wù)、方案論證1天2.硬件制作、程序編寫(xiě)、仿真調(diào)試3天3.檢查、整理、寫(xiě)設(shè)計(jì)報(bào)告、小結(jié)2天4.答辯1天學(xué)生姓名:許樂(lè)郭利鉑指導(dǎo)時(shí)間:12月23日-12月29日指導(dǎo)地點(diǎn):F樓403室任務(wù)下達(dá)2021年12月23日任務(wù)完成2021年12月29日考核方式1.評(píng)閱√2.答辯√3.實(shí)際操作√4.其它□指導(dǎo)教師蔣沅系(部)主任王長(zhǎng)坤注:1、此表一組一表二份,課程設(shè)計(jì)小組組長(zhǎng)一份;任課教師授課時(shí)自帶一份備查。2、課程設(shè)計(jì)結(jié)束后與“課程設(shè)計(jì)小結(jié)”、“學(xué)生成績(jī)單”一并交院教務(wù)存檔。摘要本設(shè)計(jì)是設(shè)計(jì)一個(gè)單片機(jī)控制的多功能秒表系統(tǒng)。近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)著傳統(tǒng)控制檢測(cè)日新月異的更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面的知識(shí)是不夠的,還要根據(jù)具體的硬件結(jié)構(gòu),以及針對(duì)具體的應(yīng)用對(duì)象的軟件結(jié)合,加以完善。秒表的出現(xiàn),解決了傳統(tǒng)的由于人為因素造成的誤差和不公平性。本設(shè)計(jì)的多功能秒表系統(tǒng)采用AT89C51單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、電源電路、LED數(shù)碼管以及按鍵電路來(lái)設(shè)計(jì)計(jì)時(shí)器。將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)數(shù),并且結(jié)合相應(yīng)的顯示驅(qū)動(dòng)程序,使數(shù)碼管能夠正確地顯示時(shí)間,暫停和中斷。我們?cè)O(shè)計(jì)的秒表可以同時(shí)記錄八個(gè)相對(duì)獨(dú)立的時(shí)間,通過(guò)上翻下翻來(lái)查看這八個(gè)不同的計(jì)時(shí)值,可謂功能強(qiáng)大。其中軟件系統(tǒng)采用匯編語(yǔ)言編寫(xiě)程序,包括顯示程序,計(jì)數(shù)程序,中斷,延時(shí)程序,按鍵消抖程序等,硬件系統(tǒng)利用PROTEUS強(qiáng)大的功能來(lái)實(shí)現(xiàn),簡(jiǎn)單且易于觀察,在仿真中就可以觀察到實(shí)際的工作狀態(tài)。關(guān)鍵字:?jiǎn)纹瑱C(jī),多功能秒表小組成員:許樂(lè),郭利鉑小組分工:小組成員:討論并確定秒表要實(shí)現(xiàn)哪些功能許樂(lè):硬件電路的設(shè)計(jì)仿真,查閱資料郭利鉑:編寫(xiě)程序,撰寫(xiě)實(shí)驗(yàn)報(bào)告目錄5.元器件清單………………………167.參考文獻(xiàn)…………………….….18設(shè)計(jì)一個(gè)單片機(jī)控制的秒表系統(tǒng)。利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及按鍵來(lái)設(shè)計(jì)秒表。將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)具有開(kāi)始/暫停,記錄,上翻下翻,清零等功能。(1)共四位LED顯示,顯示時(shí)間為00:00~59.99(2)共五個(gè)按鍵,分別是開(kāi)始/暫停,記錄,上翻,下翻,清零鍵;(3)能同時(shí)記錄多個(gè)相對(duì)獨(dú)立的時(shí)間并分別顯示;(4)翻頁(yè)按鈕查看多個(gè)不同的計(jì)時(shí)值;(1)通過(guò)本次課程設(shè)計(jì)可以使我們進(jìn)一步熟悉和掌握單片機(jī)內(nèi)部結(jié)構(gòu)和工作原理,了解單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本步驟和方法。(2)通過(guò)利用AT89C51單片機(jī),理解單片機(jī)在自動(dòng)化儀表中的作用以及掌握單片機(jī)的編程方法。(3)通過(guò)設(shè)計(jì)一個(gè)簡(jiǎn)單的實(shí)際應(yīng)用輸入及顯示模擬系統(tǒng),掌握單片機(jī)仿真軟件PROTEUS的使用方法。(4)該實(shí)驗(yàn)通過(guò)單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和計(jì)數(shù)原理,設(shè)計(jì)簡(jiǎn)單的計(jì)時(shí)器系統(tǒng),擁有正確的計(jì)時(shí)、暫停、清零、功能,并能同時(shí)記錄多個(gè)相對(duì)獨(dú)立的時(shí)間利用翻頁(yè)按鈕查看多個(gè)不同的計(jì)時(shí)值,該種秒表在現(xiàn)實(shí)生活中應(yīng)用廣泛,具有現(xiàn)實(shí)意義。本系統(tǒng)采用AT89C51單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合硬件電路如電源電路,晶振電路,復(fù)位電路,顯示電路,以及一些按鍵電路等來(lái)設(shè)計(jì)計(jì)時(shí)器,將軟、硬件有機(jī)地結(jié)合起來(lái)。其中軟件系統(tǒng)采用匯編語(yǔ)言編寫(xiě)程序,包括顯示,計(jì)數(shù),中斷,延時(shí),按鍵消抖程序等,并在編程軟件中調(diào)試運(yùn)行,硬件系統(tǒng)利用PROTEUS強(qiáng)大的功能來(lái)實(shí)現(xiàn),簡(jiǎn)單且易于觀察,在仿真中就可以觀察到實(shí)際的工作狀態(tài)。單片機(jī)外圍電路電路電源電路電路顯示電路鍵盤(pán)電路圖1系統(tǒng)電路原理MCS-51系列單片機(jī)是8位單片機(jī)產(chǎn)品,89C51是其中的典型代表,基本模塊包括以下幾個(gè)部分:(1)CPU:89C51的CPU是8位的,另外89C51內(nèi)部有1個(gè)位處理器(2)R0M:4KB的片內(nèi)程序存儲(chǔ)器,存放開(kāi)發(fā)調(diào)試完成的應(yīng)用程序(3)RAM:256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器,容量小,但作用大(4)I/O口:P0-P3,共4個(gè)口32條雙向且可位尋址的I/O口線(xiàn)(5)中斷系統(tǒng):共5個(gè)中斷源,3個(gè)內(nèi)部中斷,2個(gè)外部中斷(6)定時(shí)器/計(jì)數(shù)器:2個(gè)16位的可編程定時(shí)器/計(jì)數(shù)器(7)通用串行口:全雙工通用異步接收器/發(fā)送器(8)振蕩器:89C51的外接晶振與內(nèi)部時(shí)鐘振蕩器為CPU提供時(shí)鐘信號(hào)(9)總線(xiàn)控制:89C51對(duì)外提供若干控制總線(xiàn),便于系統(tǒng)擴(kuò)展89C51的引腳圖如下:89C51單片機(jī)引腳圖89C51芯片內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器。引線(xiàn)XTAL1和XTAL2分別為反向放大器的輸入和輸出,兩端跨接石英晶體及兩個(gè)電容就可構(gòu)成穩(wěn)定的自激振蕩器。這里,我們選用51單片機(jī)12MHZ的內(nèi)部振蕩方式,電容器C1,C2起穩(wěn)定振蕩頻率,并對(duì)振蕩頻率有微調(diào)作用,C1和C2可在20-100PF之間取值,這里取33PF。采用上電加按鍵復(fù)位電路,上電后,由于電容充電,使RST持續(xù)一段高電平時(shí)間。當(dāng)單片機(jī)已在運(yùn)行之中時(shí),按下復(fù)位鍵也能使RST持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電加按鍵復(fù)位的操作。按鍵電路在按鍵電路中,我們可以在I/O口上直接接按鍵,或者通過(guò)I/O口設(shè)計(jì)一個(gè)鍵盤(pán),然后通過(guò)鍵盤(pán)掃描程序判斷是否有鍵按下等。鍵盤(pán)掃描電路節(jié)省I/O口,但編程有些復(fù)雜,在這里,由于我們所用的按鍵較少,且系統(tǒng)是一個(gè)小系統(tǒng),有足夠的I/O口可以使用,為了使程序簡(jiǎn)化,我們采用按鍵電路,用部分P1口做開(kāi)關(guān),P1.0開(kāi)始/暫停,P1.1記錄,P1.2上翻,P1.3下翻,P1.4清零。對(duì)于按鍵的設(shè)計(jì),采用了防抖動(dòng)的程序設(shè)計(jì),使系統(tǒng)的性能得到進(jìn)一步的提升。當(dāng)按鍵被按下時(shí),相應(yīng)的引腳被拉低,經(jīng)掃描后,獲得鍵值,并執(zhí)行鍵功能程序,因此按下不同的按鍵,將執(zhí)行不同的功能程序。顯示電路既可以選用液晶顯示器,也可以選用數(shù)碼管顯示。我們采用的是數(shù)碼管顯示電路。用四個(gè)共陰極LED顯示,LED是七段式顯示器,內(nèi)部有7個(gè)條形發(fā)光二極管和1個(gè)小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的亮暗組合成字符。在用數(shù)碼管顯示時(shí),我們有靜態(tài)和動(dòng)態(tài)兩種選擇,靜態(tài)顯示程序簡(jiǎn)單,顯示穩(wěn)定,但是占用端口比較多;動(dòng)態(tài)顯示所使用的端口比較少,可以節(jié)省單片機(jī)的I/O口。在設(shè)計(jì)中,我們采用LED動(dòng)態(tài)顯示,用P0口驅(qū)動(dòng)顯示。由于P0口的輸出級(jí)是開(kāi)漏電路,用它驅(qū)動(dòng)時(shí)需要外接上拉電阻才能輸出高電平。在軟件設(shè)計(jì)中,一般采用模塊化的程序設(shè)計(jì)方法,它具有明顯的優(yōu)點(diǎn)。把一個(gè)多功能的復(fù)雜的程序劃分為若干個(gè)簡(jiǎn)單的、功能單一的程序模塊,有利于程序的設(shè)計(jì)和調(diào)試,優(yōu)化和分工,提高了程序的閱讀性和可靠性,使程序的結(jié)構(gòu)層次一目了然。應(yīng)用系統(tǒng)的程序由包含多個(gè)模塊的主程序和各種子程序組成。各程序模塊都要完成一個(gè)明確的任務(wù),實(shí)現(xiàn)某個(gè)具體的功能,如:計(jì)數(shù)、延時(shí)、和顯示等,在具體需要時(shí)調(diào)用相應(yīng)的模塊即可。功能描述:用四位LED數(shù)碼管顯示時(shí)間。一個(gè)"開(kāi)始/暫停"鍵,一個(gè)"復(fù)位"鍵,一個(gè)“記錄”鍵,可同時(shí)記錄八個(gè)相對(duì)獨(dú)立的時(shí)間;一個(gè)“上翻”鍵,一個(gè)“下翻”鍵,查看八個(gè)不同的計(jì)時(shí)值。五個(gè)按鍵分別通過(guò)五個(gè)端口控制秒表的五個(gè)功能。開(kāi)始開(kāi)始初始化化P1.0=0??P1.1=0??P1.2=0??P1.3=0??P1.4=0??停止下翻上翻夠8個(gè)個(gè)?NY記錄NNNNNYYYYY清零開(kāi)始開(kāi)始初始化P1.0=0?P1.1=0?P1.2=0?P1.3=0?P1.4=0?停止下翻上翻夠8個(gè)?NY暫停記錄NNNNNYYYYY清零程序如下:/*1、程序目的:使用定時(shí)器學(xué)習(xí)秒表計(jì)時(shí),記錄8組數(shù)據(jù),通過(guò)上翻、下翻鍵查看記錄的數(shù)據(jù)2、硬件要求:數(shù)碼管、晶振12M*/#include<reg52.h>codeunsignedchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共陰數(shù)碼管0-9codeunsignedchartab1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//共陰數(shù)碼管0-9帶小數(shù)點(diǎn)sbitkey1=P1^0; //開(kāi)始、暫停sbitkey2=P1^1; //記數(shù)sbitkey3=P1^2; //上翻sbitkey4=P1^3; //下翻sbitkey5=P1^4; //清零staticunsignedchar ms,sec;staticunsignedcharSec[8],Ms[8];staticinti,j;voiddelay(unsignedintcnt)//延時(shí)程序{while(--cnt);} voidmain(){ unsignedcharkey3_flag=0,key4_flag=0;TMOD|=0x01;//定時(shí)器010msin12Mcrystal用于計(jì)時(shí) TH0=0xd8; TL0=0xf0; ET0=1; TR0=1;TMOD|=0x10;//定時(shí)器1用于動(dòng)態(tài)掃描 TH1=0xF8; TL1=0xf0; ET1=1; TR1=1;EA=1; sec=0;//初始化 ms=0;P1=0xff; i=0; j=0; while(1){ if(i>=8)i=0; start://開(kāi)始、暫停 if(!key1) //判斷是否按下 { delay(50); //去抖 if(!key1) { while(!key1) //等待按鍵釋放 {;} TR0=!TR0; } } //記錄if(!key2) //判斷是否按下 { delay(50); //去抖 if(!key2) { while(!key2)//等待按鍵釋放 {;} if(i>=8) //8組數(shù)據(jù)記錄完畢 {TR0=0;gotostart;} Sec[i]= sec; //將數(shù)據(jù)存入數(shù)組 Ms[i]=ms; i++; } }//上翻 if(!key3) { delay(50); if(!key3) { while(!key3) {;} TR0=0; key3_flag=1; //按鍵3標(biāo)志 if(j==i) gotostart; else if(key4_flag) j+=2; key4_flag=0; sec=Sec[j];ms=Ms[j]; j++; } }//下翻 if(!key4) { delay(50); if(!key4) { while(!key4) {;} TR0=0; key4_flag=1; //按鍵4標(biāo)志 if(j<0) gotostart; else if(key3_flag) j-=2; key3_flag=0; sec=Sec[j];ms=Ms[j]; //顯示數(shù)組里的內(nèi)容 j--; } }//清零 if(!key5) { delay(50); if(!key5) while(!key5) {;} TR0=0; ms=0; sec=0; for(i=0;i<8;i++) { Sec[i]=0;Ms[i]=0; } i=0; }} }/********************************//*定時(shí)中斷1*//********************************/voidtime1_isr(void)interrupt3using0//定時(shí)器1用來(lái)動(dòng)態(tài)掃描{staticunsignedcharnum;TH1=0xF8;//重入初值 TL1=0xf0; switch(num) { case0: P2=0xfe;P0=tab[sec/10];break;//顯示秒十位 case1: P2=0xfd;P0=tab1[sec%10];break;//顯示秒個(gè)位 case2: P2=0xfb;P0=tab[ms/10];break;//顯示十位 case3:P2=0xf7;P0=tab[ms%10];break;//顯示個(gè)位 default:break; } num++; if(num==4) num=0;}/********************************//*定時(shí)中斷0*//********************************/voidtim(void)interrupt1using1{TH0=0xd8;//重新賦值TL0=0xf0;ms++;//毫秒單元加1 if(ms>=100) { ms=0;//等于100時(shí)歸零 sec++;//秒加1 if(sec>=60) { sec=0;//秒等于60時(shí)歸零 } }}將以上程序清單導(dǎo)入先前做好的Proteus仿真電路,匯編之后,開(kāi)始進(jìn)行仿真。仿真結(jié)果如下:顯示清零功能:按下開(kāi)始鍵后顯示按下清零鍵后顯示按“開(kāi)始”鍵,秒表開(kāi)始計(jì)時(shí);按“暫?!辨I,秒表暫停計(jì)時(shí);按記錄鍵,秒表記錄時(shí)間,共可記錄八個(gè)數(shù)值;按上翻下翻鍵,可查看這八個(gè)不同的計(jì)時(shí)值。根據(jù)實(shí)驗(yàn)要求,本次課設(shè)基本完成了設(shè)計(jì)要求,由于秒表系統(tǒng)并不一定僅僅局限于計(jì)時(shí),定時(shí)等功能,還可以進(jìn)行多項(xiàng)的擴(kuò)展,可以利用AT89C51強(qiáng)大的擴(kuò)展功能,進(jìn)一步豐富秒表的功能,例如可設(shè)定計(jì)時(shí)時(shí)間,倒計(jì)時(shí)等等眾多功能。單片機(jī)以其強(qiáng)大的功能和良好的兼容性可以更好地為我們服務(wù),通過(guò)查閱各種資料,多了解一些單片機(jī)有關(guān)知識(shí),可以為以后的工作和學(xué)習(xí)生活創(chuàng)造更多的便利條件。5.元器件清單元件名稱(chēng)型號(hào)數(shù)量/個(gè)單片機(jī)AT89C521晶振12MHZ1電容22pF2電解電容10uF1電源5V1數(shù)碼管HS-3461AS1電阻1K/10K5/8按鍵開(kāi)關(guān)6通過(guò)本次課程設(shè)計(jì),我們深刻地認(rèn)識(shí)到自己有很多不足之處,比如在自主學(xué)習(xí)能力方面的不足,實(shí)際動(dòng)手操作能力的不足等。這次的單片機(jī)課程設(shè)計(jì)是理論與實(shí)踐相結(jié)合的范例。該設(shè)計(jì)從頭到尾都要自己參與進(jìn)來(lái),熟悉了整個(gè)設(shè)計(jì)流程才能更快地設(shè)計(jì)出方案并完成設(shè)計(jì)。本次課程設(shè)計(jì)我主要負(fù)責(zé)硬件電路的焊接,寫(xiě)程序和查閱相關(guān)資料。單片機(jī)課程早已結(jié)束,相關(guān)的知識(shí)已經(jīng)很模糊,導(dǎo)致我們?cè)谠O(shè)計(jì)硬件電路中遇到了不少麻煩。首先是不知從何入手。雖然小組討論后確定了秒表要實(shí)現(xiàn)的功能,可是沒(méi)有相關(guān)理論知識(shí)的熟知和實(shí)踐操作。查閱了與89C51單片機(jī)相關(guān)的資料也閱讀了其他人單片機(jī)數(shù)字秒表的設(shè)計(jì),慢慢地我們開(kāi)始了解其中原理,一步步設(shè)計(jì)出了硬件電路的各個(gè)部分,如晶體振蕩電路,復(fù)位電路,按鍵電路,顯示電路。完成設(shè)計(jì)后需要運(yùn)用PROTEUS軟件進(jìn)行設(shè)計(jì)仿真。這次的課程設(shè)計(jì)同學(xué)進(jìn)行了交流和討論,我們分工進(jìn)行設(shè)計(jì),從搜索資料到硬件、軟件的調(diào)試,每一步、每一個(gè)細(xì)節(jié)都經(jīng)過(guò)我們自己的思考,我們共同討論各方案的比較選擇、硬件、軟件的設(shè)計(jì)和調(diào)試,最終拿出了我們的成果。在做的過(guò)程中不但加深了我們對(duì)單片機(jī)理論知識(shí)的認(rèn)識(shí)和理解還認(rèn)識(shí)到了這門(mén)學(xué)科在應(yīng)用方面的廣闊前景。實(shí)踐是最有高度也是最能體現(xiàn)整體水平的整個(gè)設(shè)計(jì)過(guò)程中,我們不斷地探索,設(shè)計(jì)出了不一樣的硬件電路圖,寫(xiě)過(guò)了不一樣的程序,正如設(shè)計(jì)中如何能使硬件電路圖簡(jiǎn)單明了,程序簡(jiǎn)單而準(zhǔn)確,如何能準(zhǔn)確的運(yùn)行,都是通過(guò)與同學(xué)老師的交流,慢慢摸索出來(lái)的。以上的不斷探索,使我們進(jìn)一步熟悉和掌握單片機(jī)內(nèi)部結(jié)構(gòu)和工作原理,了解單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本步驟和方法。通過(guò)利用AT89C51單片機(jī),理解單片機(jī)在自動(dòng)化儀表中的作用以及掌握單片機(jī)的編程方法。通過(guò)設(shè)計(jì)一個(gè)簡(jiǎn)單的實(shí)際應(yīng)用輸入及顯示模擬系統(tǒng),掌握單片機(jī)仿真軟件PROTEUS的使用方法。我們?cè)O(shè)計(jì)的這種具有記錄,上翻下翻功能的秒表在現(xiàn)實(shí)生活中應(yīng)用廣泛,如體育項(xiàng)目,因此本次課程設(shè)計(jì)具有現(xiàn)實(shí)意義,我很開(kāi)心能將知識(shí)運(yùn)用到實(shí)踐中并在自主學(xué)習(xí)中收獲到那么多。7.參考文獻(xiàn)[1]萬(wàn)福君.
單片微機(jī)原理系統(tǒng)設(shè)計(jì)與應(yīng)用.合肥:中國(guó)科技大學(xué)出版社,2005[2]楊光友.單片微型計(jì)算機(jī)原理與接口技術(shù).北京:水利水電出版社,2002[3]胡耀輝.
單片機(jī)系統(tǒng)開(kāi)發(fā)實(shí)例經(jīng)典.
北京:冶金工業(yè)出版社,2006[4]劉守義、楊宏麗.單片機(jī)應(yīng)用技術(shù).西安:西安電子科技大學(xué)出版社,2003[5]姜武中、姜春霞.
片機(jī)原理與接口技術(shù).
大連:大連理工大學(xué)出版社,2002[6]李朝青.
單片機(jī)原理及其接口技術(shù).
北京:北京航空大學(xué)出版社,1998[7]肖玲妮.
Protel99SE印刷電路板設(shè)計(jì)教程.
北京:清華大學(xué)出版社,2003沈陽(yáng)理工大學(xué)應(yīng)用技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)題目:基于單片機(jī)的數(shù)字電子秒表的設(shè)計(jì)與實(shí)現(xiàn)系別:信息工程系專(zhuān)業(yè):自動(dòng)化學(xué)生姓名:胡培指導(dǎo)教師:唐朝仁年月日摘要近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷的走向深入.本文闡述了基于單片機(jī)的數(shù)字電子秒表設(shè)計(jì).本設(shè)計(jì)主要特點(diǎn)是計(jì)時(shí)精度達(dá)到0.001s,解決了傳統(tǒng)的由于計(jì)時(shí)精度不夠造成的誤差和不公平性,是各種體育競(jìng)賽的必備設(shè)備之一。另外硬件部分設(shè)置了查看按鍵,可以對(duì)秒表上一次計(jì)時(shí)時(shí)間進(jìn)行保存,供使用者查詢(xún)。本設(shè)計(jì)的數(shù)字電子秒表系統(tǒng)采用AT89C52單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及外部中斷電路來(lái)設(shè)計(jì)計(jì)時(shí)器。將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠?qū)崿F(xiàn)五位LED顯示,顯示時(shí)間為0~99。999秒,計(jì)時(shí)精度為0.001秒,能正確地進(jìn)行計(jì)時(shí),同時(shí)能記錄一次時(shí)間,并在下一次計(jì)時(shí)后對(duì)上一次計(jì)時(shí)時(shí)間進(jìn)行查詢(xún)。其中軟件系統(tǒng)采用匯編語(yǔ)言編寫(xiě)程序,包括顯示程序,定時(shí)中斷服務(wù),外部中斷服務(wù)程序,延時(shí)程序等,并在WAVE中調(diào)試運(yùn)行,硬件系統(tǒng)利用PROTEUS強(qiáng)大的功能來(lái)實(shí)現(xiàn),簡(jiǎn)單切易于觀察,在仿真中就可以觀察到實(shí)際的工作狀態(tài)。關(guān)鍵字:?jiǎn)纹瑱C(jī);數(shù)字電子秒表;仿真AbstractWiththerapiddevelopmentofscienceandtechnologyinrecentyears,SCMapplicationsareconstant-depthmanner.Inthispaper,basedonsinglechipdesignofdigitalelectronicstopwatch.Themaincharacteristicsofthisdesigntimingaccuracyof0。001s,tosolvethetraditionalresultofalackaccuracyduetotimingerrorsandunfair,andisavarietyofsportscompetitions,oneoftheessentialequipment。InadditionthehardwarepartofthesetViewbuttononthestopwat(yī)chcanbethelasttimetosavetimeforuserqueries.Thedesignofthemulti—functionstopwatchsystemusesSTC89C52microcontrollerasthecentraldevice,anduseitstimer/countertimingandthecountprinciples,combinedwithdisplaycircuit,LEDdigitaltube,aswellastheexternalinterruptcircuittodesignatimer。Thesoftwareandhardwaretogetherorganically,allowingthesystemtoachievetwoL(fēng)EDdisplayshowsthetimefrom0to99.999seconds,Timingaccuracyof0.001seconds,Beabletocorrectlytimeatthesametimetorecordatime,andthenexttimeafterthelasttimethetimetosearch.automaticallyaddedasecondinwhichsoftwaresystemsusingassemblylanguageprogramming,includingthedisplayprogram,timing,interruptservice,externalinterruptserviceroutine,delayprocedures,keyconsumershakingprocedures,andWAVEinthecommissioning,operation,hardwaresystemusestoachievePROTEUSpowerful,simpleandeasytoobservethecutinthesimulat(yī)ioncanbeobservedontheactualworkingcondition.Keyword:LEDdisplay;High—precisionstopwatch;STC89C52目錄秒表計(jì)時(shí)器是電器制造,工業(yè)自動(dòng)化控制、國(guó)防、實(shí)驗(yàn)室及科研單位理想的計(jì)時(shí)儀器,它廣泛應(yīng)用于各種繼電器、電磁開(kāi)關(guān),控制器、延時(shí)器、定時(shí)器等的時(shí)間測(cè)試。奧運(yùn)男子百米飛人大戰(zhàn)中,牙買(mǎi)加飛人博爾特以9秒69的成績(jī)奪得冠軍。而博爾特沖過(guò)終點(diǎn)的瞬間,熒屏顯示其成績(jī)?yōu)?秒68。相差的這個(gè)0.01秒,系由電子計(jì)時(shí)系統(tǒng)確認(rèn).奧運(yùn)會(huì)男子100米蝶泳決賽上,美國(guó)選手菲爾普斯以50秒58的成績(jī)驚險(xiǎn)奪冠,距離“八金夢(mèng)想”僅一步之遙。塞爾維亞選手查維奇以50。59秒獲得銀牌,只比菲爾普斯慢0.01秒。這種細(xì)微的差距,即使是現(xiàn)場(chǎng)大屏幕用經(jīng)典超慢鏡頭回放,也無(wú)法分辨.2004年8月28日15點(diǎn)15分,中國(guó)選手孟關(guān)良/楊文軍在雅典奧運(yùn)會(huì)男子500米劃艇決賽中,以1分40秒278的成績(jī)獲得中國(guó)在雅典奧運(yùn)會(huì)的第28金.這是中國(guó)皮劃艇項(xiàng)目的第一枚奧運(yùn)金牌,也是中國(guó)水上項(xiàng)目在歷屆奧運(yùn)會(huì)上所獲得的第一枚金牌。孟關(guān)良/楊文軍的成績(jī)比獲得銀牌的古巴選手只快了0.072秒,以至于兩人在奪冠之后還不敢相信。自首屆現(xiàn)代奧運(yùn)會(huì)在希臘雅典舉辦以來(lái),奧運(yùn)計(jì)時(shí)技術(shù)一直在不斷地向前發(fā)展。一百多年過(guò)去了,首屆現(xiàn)代奧運(yùn)會(huì)上計(jì)時(shí)所用的跑表如今換成了一系列高科技計(jì)時(shí)裝置,如高速數(shù)碼攝像機(jī)、電子觸摸墊、紅外光束、無(wú)線(xiàn)應(yīng)答器等等。鑒于當(dāng)今計(jì)時(shí)技術(shù)的快速發(fā)展,即便千分之一秒(為眨眼的40倍)的毫微差距,也決定著冠軍的歸屬。在現(xiàn)在的體育競(jìng)技比賽中,隨著運(yùn)動(dòng)員的水平不斷提高,差距也在不斷縮小。有些運(yùn)動(dòng)對(duì)時(shí)間精度的要求也越來(lái)越高,有時(shí)比賽冠亞軍之間的差距只有幾毫秒,因此就需要高精度的秒表來(lái)記錄成績(jī)。有關(guān)計(jì)時(shí)鐘表的發(fā)展歷史,大致可以分為三個(gè)演變階段。一、從大型鐘向小型鐘演變.二、從小型鐘向袋表過(guò)渡。三、從袋表向腕表發(fā)展.每一階段的發(fā)展都是和當(dāng)時(shí)的技術(shù)發(fā)明分不開(kāi)的。1088年,當(dāng)時(shí)我國(guó)宋朝的科學(xué)家蘇頌和韓工廉等人制造了水運(yùn)儀象臺(tái),它是把渾儀、渾象和機(jī)械計(jì)時(shí)器組合起來(lái)的裝置.它以水力作為動(dòng)力來(lái)源,具有科學(xué)的擒縱機(jī)構(gòu),雖然幾十年后毀于戰(zhàn)亂,但它在世界鐘表史上具有極其重要的意義.1656年,荷蘭的科學(xué)家惠更斯應(yīng)用伽利略的理論設(shè)計(jì)了鐘擺,第二年,在他的指導(dǎo)下年輕鐘匠S.Coster制造成功了第一個(gè)擺鐘。1675年,他又用游絲取代了原始的鐘擺,這樣就形成了以發(fā)條為動(dòng)力、以游絲為調(diào)速機(jī)構(gòu)的小型鐘,同時(shí)也為制造便于攜帶的袋表提供了條件.18世紀(jì)期間發(fā)明了各種各樣的擒縱機(jī)構(gòu),為袋表的進(jìn)一步產(chǎn)生與發(fā)展奠定了基礎(chǔ).英國(guó)人GeorgeGraham在1726年完善了工字輪擒縱機(jī)構(gòu),它和之前發(fā)明的垂直放置的機(jī)軸擒縱機(jī)構(gòu)不同,所以使得袋表機(jī)芯相對(duì)變薄。20世紀(jì)初,尤其是第一次世界大戰(zhàn)的爆發(fā),袋表已經(jīng)不能適應(yīng)作戰(zhàn)軍人的需要,腕表的生產(chǎn)成為大勢(shì)所趨.許多新的設(shè)計(jì)和技術(shù)也被應(yīng)用在腕表上,成為真正意義上的帶在手腕上的計(jì)時(shí)工具。緊接著的二戰(zhàn)使腕表的生產(chǎn)量大幅度增加,價(jià)格也隨之下降,使普通大眾也可以擁有它。腕表的年代到來(lái)了?。?98年:建立超冷銫原子鐘,比微微秒又要精確10萬(wàn)倍。從我國(guó)水運(yùn)儀像臺(tái)的發(fā)明到現(xiàn)在各國(guó)都在研制的原子鐘這幾百年的鐘表演變過(guò)程中,我們可以看到,各個(gè)不同時(shí)期的科學(xué)家和鐘表工匠用他們的聰明的智慧和不斷的實(shí)踐融合成了一座時(shí)間的隧道,同時(shí)也為我們勾勒了一條鐘表文化和科技發(fā)展的軌跡。本設(shè)計(jì)利用AT89C52單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,使其能精確計(jì)時(shí)。利用中斷系統(tǒng)使其能實(shí)現(xiàn)開(kāi)始暫停的功能.P0口輸出段碼數(shù)據(jù),P2.0—P2.4口作列掃描輸出,P1.1、P3.2、P3。3、P2.5分別接四個(gè)按鈕開(kāi)關(guān),分別實(shí)現(xiàn)開(kāi)始、暫停、清零和查看上次時(shí)間的功能。顯示電路由五位共陰極數(shù)碼管組成.初始狀態(tài)下計(jì)時(shí)器顯示00.000,當(dāng)按下開(kāi)始鍵時(shí),外部中斷INT1向CPU發(fā)出中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行外部中斷1服務(wù)程序,即開(kāi)啟定時(shí)器T0。計(jì)時(shí)采用定時(shí)器T0中斷完成,定時(shí)溢出中斷周期為1ms,當(dāng)一處中斷后向CPU發(fā)出溢出中斷請(qǐng)求,每發(fā)出一次中斷請(qǐng)求就對(duì)毫秒計(jì)數(shù)單元進(jìn)行加一,達(dá)到10次就對(duì)十毫秒位進(jìn)行加一,依次類(lèi)推,直到99。999秒重新復(fù)位.在計(jì)時(shí)過(guò)程中,只要按下暫停鍵,外部中斷INT0向CPU發(fā)出中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行外部中斷0服務(wù)程序,即關(guān)閉定時(shí)器T0,調(diào)用顯示程序,實(shí)現(xiàn)暫停功能,同時(shí)將此次計(jì)時(shí)時(shí)間存入寄存區(qū).然后對(duì)P1。1進(jìn)行掃描。當(dāng)P1。1按下時(shí)就跳轉(zhuǎn)回主程序.等待下一次計(jì)時(shí)開(kāi)始.在按下暫停鍵時(shí),將此時(shí)的計(jì)時(shí)時(shí)間存入中間緩存區(qū),當(dāng)再次按下開(kāi)始鍵時(shí),則講中間緩存區(qū)的數(shù)據(jù)轉(zhuǎn)入最終緩存區(qū)。秒表停止后對(duì)查看鍵P2.5進(jìn)行掃描,P2.5按下為低電平時(shí),調(diào)用最終緩存區(qū)的數(shù)據(jù)進(jìn)行顯示,即顯示上一次計(jì)時(shí)成績(jī).當(dāng)P2.5位高電平時(shí),調(diào)用顯示緩存區(qū)的數(shù)據(jù)進(jìn)行顯示,即顯示當(dāng)此計(jì)時(shí)的成績(jī)。根據(jù)以上設(shè)計(jì)思路從而實(shí)現(xiàn)數(shù)字電子秒表的計(jì)時(shí)和查看上一次計(jì)時(shí)時(shí)間的功能。本文主要內(nèi)容包括三部分:第一部分介紹硬件部分設(shè)計(jì)思路及方案;第二部分介紹了軟件部分的設(shè)計(jì)思路和設(shè)計(jì);最后一部分則是整個(gè)系統(tǒng)的安裝與調(diào)試過(guò)程。數(shù)字電子秒表具有顯示直觀、讀取方便、精度高等優(yōu)點(diǎn),在計(jì)時(shí)中廣泛使用。本設(shè)計(jì)用單片機(jī)組成數(shù)字電子秒表,力求結(jié)構(gòu)簡(jiǎn)單、精度高為目標(biāo)。設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。其硬件電路主要有主控制器,計(jì)時(shí)與顯示電路和回零、啟動(dòng)和停表電路等。主控制器采用單片機(jī)AT89C52,顯示電路采用共陰極LED數(shù)碼管顯示計(jì)時(shí)時(shí)間。本設(shè)計(jì)利用AT89C52單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,使其能精確計(jì)時(shí)。利用中斷系統(tǒng)使其能實(shí)現(xiàn)開(kāi)始暫停的功能。P0口輸出段碼數(shù)據(jù),P2。0—P2.4口作列掃描輸出,P1。1、P3.2、P3.3、P2.5口接四個(gè)按鈕開(kāi)關(guān),分別實(shí)現(xiàn)開(kāi)始、暫停、清零和查看上次計(jì)時(shí)時(shí)間功能.電路原理圖設(shè)計(jì)最基本的要求是正確性,其次是布局合理,最后在正確性和布局合理的前提下力求美觀。硬件電路圖按照?qǐng)D1.1進(jìn)行設(shè)計(jì)。圖1.1數(shù)字秒表硬件電路基本原理圖根據(jù)要求知道秒表設(shè)計(jì)主要實(shí)現(xiàn)的功能是計(jì)時(shí)和顯示。因此設(shè)置了四個(gè)按鍵和五位數(shù)碼管顯示時(shí)間,三個(gè)按鍵分別是開(kāi)始,停止、復(fù)位和查看上次計(jì)時(shí)時(shí)間按鍵。利用這四個(gè)建來(lái)實(shí)現(xiàn)秒表的全部功能,而五位數(shù)碼管則能顯示最多99.999秒的計(jì)時(shí)。本設(shè)計(jì)中,數(shù)碼管顯示的數(shù)據(jù)存放在內(nèi)存單元79H-7DH中。其中79H存放毫秒位數(shù)據(jù),7AH存放十毫秒位數(shù)據(jù),7BH存放百毫秒位數(shù)據(jù),7CH存放秒位數(shù)據(jù),7DH存放十秒位數(shù)據(jù),每一地址單元內(nèi)均為十進(jìn)制BCD碼.由于采用軟件動(dòng)態(tài)掃描實(shí)現(xiàn)數(shù)據(jù)顯示功能,顯示用十進(jìn)制BCD碼數(shù)據(jù)的對(duì)應(yīng)段碼存放在ROM表中。顯示時(shí),先取出79H—7dH某一地址中的數(shù)據(jù),然后查得對(duì)應(yīng)的顯示用段碼,并從P0口輸出,P2口將對(duì)應(yīng)的數(shù)碼管選中供電,就能顯示該地址單元的數(shù)據(jù)值。最終緩存區(qū)則設(shè)置為59H—5DH,數(shù)據(jù)存放規(guī)則和79H—7DH一樣。分別對(duì)應(yīng)存放毫秒位至十秒位數(shù)據(jù)。與79H—7DH存儲(chǔ)區(qū)不一樣的是:59H—5DH存儲(chǔ)的內(nèi)容為數(shù)字秒表上一次計(jì)時(shí)顯示的時(shí)間。而79H-7DH為當(dāng)前計(jì)時(shí)時(shí)間存儲(chǔ)區(qū).計(jì)時(shí)采用定時(shí)器T0中斷完成,定時(shí)溢出中斷周期為1ms,當(dāng)一處中斷后向CPU發(fā)出溢出中斷請(qǐng)求,每發(fā)出一次中斷請(qǐng)求就對(duì)毫秒計(jì)數(shù)單元進(jìn)行加一,達(dá)到10次就對(duì)十毫秒位進(jìn)行加一,依次類(lèi)推,直到99。999秒重新復(fù)位。再看按鍵的處理。這四個(gè)鍵可以采用中斷的方法,也可以采用掃描的方法來(lái)識(shí)別.復(fù)位鍵和查看主要功能在于數(shù)值復(fù)位和查詢(xún)上次計(jì)時(shí)時(shí)間,對(duì)于時(shí)間的要求不是很?chē)?yán)格。而開(kāi)始和停止鍵則是用于對(duì)時(shí)間的鎖定,需要比較準(zhǔn)確的控制.因此可以對(duì)復(fù)位和查看按鍵采取掃描的方式.而對(duì)開(kāi)始和停止鍵采用外部中斷的方式。設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。其硬件電路主要有主控制器,顯示電路和回零、啟動(dòng)、查看、停表電路等.主控制器采用單片機(jī)AT89C52,顯示電路采用共陰極LED數(shù)碼管顯示計(jì)時(shí)時(shí)間,四個(gè)按鍵均采用觸點(diǎn)式按鍵.本課題在選取單片機(jī)時(shí),充分借鑒了許多成形產(chǎn)品使用單片機(jī)的經(jīng)驗(yàn),并根據(jù)自己的實(shí)際情況,選擇了ATMEL公司的AT89S51.ATMEL公司的89系列單片機(jī)以其卓越的性能、完善的兼容性、快捷便利的電擦寫(xiě)操作,低廉的價(jià)格、超強(qiáng)的加密功能,完全替代87C51/62和8751/52,低電壓、低電源、低功耗,有DIP、PLCC、QFP封裝,有民用型、工業(yè)級(jí)、汽車(chē)級(jí)、軍品級(jí)等多種溫度等級(jí),是當(dāng)今世界上性能最好、價(jià)格最低、最受歡迎的八位單片機(jī)[3]。AT89C52P為40腳雙列直插封裝的8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主IC內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)IR的接收解碼及與主板CPU通信等。單片機(jī)的外部結(jié)構(gòu)AT89S52單片機(jī)采用40引腳的雙列直插封裝方式。圖1。2為引腳排列圖,40條引腳說(shuō)明如下:主電源引腳Vss和Vcc①Vss接地②Vcc正常操作時(shí)為+5伏電源外接晶振引腳XTAL1和XTAL2①XTAL1內(nèi)部振蕩電路反相放大器的輸入端,是外接晶體的一個(gè)引腳。當(dāng)采用外部振蕩器時(shí),此引腳接地。②XTAL2內(nèi)部振蕩電路反相放大器的輸出端.是外接晶體的另一端。當(dāng)采用外部振蕩器時(shí),此引腳接外部振蕩源。圖1.2單片機(jī)引腳圖控制或與其它電源復(fù)用引腳RST/VPD,ALE/,和/Vpp①RST/VPD當(dāng)振蕩器運(yùn)行時(shí),在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平(由低到高跳變),將使單片機(jī)復(fù)位在Vcc掉電期間,此引腳可接上備用電源,由VPD向內(nèi)部提供備用電源,以保持內(nèi)部RAM中的數(shù)據(jù)。②ALE/正常操作時(shí)為ALE功能(允許地址鎖存)提供把地址的低字節(jié)鎖存到外部鎖存器,ALE引腳以不變的頻率(振蕩器頻率的1/6)周期性地發(fā)出正脈沖信號(hào).因此,它可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí)目的。但要注意,每當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖,ALE端可以驅(qū)動(dòng)(吸收或輸出電流)八個(gè)LSTTL電路。對(duì)于EPROM型單片機(jī),在EPROM編程期間,此引腳接收編程脈沖(功能)③外部程序存儲(chǔ)器讀選通信號(hào)輸出端,在從外部程序存儲(chǔ)取指令(或數(shù)據(jù))期間,在每個(gè)機(jī)器周期內(nèi)兩次有效。同樣可以驅(qū)動(dòng)八LSTTL(fǎng)輸入。④/Vpp、/Vpp為內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器選擇端.當(dāng)/Vpp為高電平時(shí),訪(fǎng)問(wèn)內(nèi)部程序存儲(chǔ)器,當(dāng)/Vpp為低電平時(shí),則訪(fǎng)問(wèn)外部程序存儲(chǔ)器.對(duì)于EPROM型單片機(jī),在EPROM編程期間,此引腳上加21伏EPROM編程電源(Vpp).輸入/輸出引腳P0.0—P0.7,P1.0-P1。7,P2.0-P2.7,P3.0-P3.7.①P0口(P0。0—P0。7)是一個(gè)8位漏極開(kāi)路型雙向I/O口,在訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),它是分時(shí)傳送的低字節(jié)地址和數(shù)據(jù)總線(xiàn),P0口能以吸收電流的方式驅(qū)動(dòng)八個(gè)LSTTL負(fù)載。②P1口(P1.0-P1。7)是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。③P2口(P2。0—P2.7)是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口,在訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),它輸出高8位地址。P2口可以驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。④P3口(P3.0-P3。7)是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載[6]。AT89C52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線(xiàn),看門(mén)狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作.掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。CPU是單片機(jī)的核心部件.它由運(yùn)算器和控制器等部件組成[2].(1)運(yùn)算器運(yùn)算器的功能是進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算.可以對(duì)半字節(jié)(4位)、單字節(jié)等數(shù)據(jù)進(jìn)行操作.例如能完成加、減、乘、除、加1、減1、BCD碼十進(jìn)制調(diào)整、比較等算術(shù)運(yùn)算和與、或、異或、求補(bǔ)、循環(huán)等邏輯操作,操作結(jié)果的狀態(tài)信息送至狀態(tài)寄存器。89C52運(yùn)算器還包含有一個(gè)布爾處理器,用來(lái)處理位操作。它是以進(jìn)位標(biāo)志位C為累加器的,可執(zhí)行置位、復(fù)位、取反、等于1轉(zhuǎn)移、等于0轉(zhuǎn)移、等于1轉(zhuǎn)移且清0以及進(jìn)位標(biāo)志位與其他可尋址的位之間進(jìn)行數(shù)據(jù)傳送等位操作,也能使進(jìn)位標(biāo)志位與其他可移位尋址的位之間進(jìn)行邏輯與、或操作[5]。(2)程序計(jì)數(shù)器PC程序計(jì)數(shù)器PC用來(lái)存放即將要執(zhí)行的指令地址,共16位,可對(duì)64K程序存儲(chǔ)器直接尋址.執(zhí)行指令時(shí),PC內(nèi)容的低8位經(jīng)P0口輸出,高8位經(jīng)P2口輸出.(3)令寄存器指令寄存器中存放指令代碼。CPU?qǐng)?zhí)行指令時(shí),由程序存儲(chǔ)器中讀取的指令代碼送入指令寄存器,經(jīng)譯碼后由定時(shí)與控制電路發(fā)出相應(yīng)的控制信號(hào),完成指令功能。本設(shè)計(jì)采用ATMEL的AT89C52微處理器,主要基于以下幾個(gè)因素:①AT89C52為51內(nèi)核,仿真調(diào)試的軟硬件資源豐富。②性?xún)r(jià)比高,貨源充足。③功耗低,功能強(qiáng),靈活性高.④DIP40封裝,體積小,便于產(chǎn)品小型化。⑤為EEPROM程序存儲(chǔ)介質(zhì),1000次以上擦寫(xiě)周期,便于編程調(diào)試。⑥工作電壓范圍寬:2.7V—6V,便于交直流供電.對(duì)于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。對(duì)于一般的段式液晶屏,需要專(zhuān)門(mén)的驅(qū)動(dòng)電路,而且液晶顯示作為一種被動(dòng)顯示,可視性差,不適合遠(yuǎn)距離觀看;對(duì)于具有驅(qū)動(dòng)電路和單片機(jī)接口的液晶顯示模塊(字符或點(diǎn)陣),一般多采用并行接口,對(duì)單片機(jī)的接口要求較高,占用資源多;另外,AT89S52單片機(jī)本身無(wú)專(zhuān)門(mén)的液晶驅(qū)動(dòng)接口。而數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、響應(yīng)速度快、防潮防濕性能好、溫度特性極性、價(jià)格便宜、易于購(gòu)買(mǎi)等優(yōu)點(diǎn),而且有遠(yuǎn)距離視覺(jué)效果,很適合夜間或是遠(yuǎn)距離操作。因此,本設(shè)計(jì)的顯示電路采用7段數(shù)碼管作為顯示介質(zhì)。數(shù)碼管顯示可以分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。由于本設(shè)計(jì)需要采用五位數(shù)碼管顯示時(shí)間,如果靜態(tài)顯示則占用的口線(xiàn)多,硬件電路復(fù)雜。所以采用動(dòng)態(tài)顯示。圖1.3顯示電路基本原理圖動(dòng)態(tài)顯示是一位一位地輪流點(diǎn)亮各位數(shù)碼管,這種逐位點(diǎn)亮顯示器的方式稱(chēng)為位掃描.通常各位數(shù)碼管的段選線(xiàn)相應(yīng)并聯(lián)在一起,由一個(gè)8位的I/O口控制;各位的公共陰極位選線(xiàn)由另外的I/O口線(xiàn)控制.動(dòng)態(tài)方式顯示時(shí),各數(shù)碼管分時(shí)輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時(shí)刻只選通一位數(shù)碼管,并送出相應(yīng)的段碼,在另一時(shí)刻選通另一位數(shù)碼管,并送出相應(yīng)的段碼,依此規(guī)律循環(huán),即可使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同的時(shí)刻分別顯示,但由于人眼存在視覺(jué)暫留效應(yīng),只要每位顯示間隔足夠短就可以給人同時(shí)顯示的感覺(jué).數(shù)碼顯示管分為共陽(yáng)數(shù)碼管和共陰數(shù)碼管兩種共陽(yáng)極數(shù)碼管的8?jìng)€(gè)發(fā)光二極管的陽(yáng)極(二極管正端)連接在一起,如圖1.4(b),通常,公共陽(yáng)極接高電平(一般接電源),其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。共陰極數(shù)碼管的8個(gè)發(fā)光二極管的陰極(二極管負(fù)端)連接在一起,如圖(c),通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動(dòng)電路輸出端,當(dāng)某段驅(qū)動(dòng)電路的輸出端為高電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。圖1.4(a)數(shù)碼管引腳圖(b)共陽(yáng)極內(nèi)部結(jié)構(gòu)圖(c)共陰極內(nèi)部結(jié)構(gòu)圖本設(shè)計(jì)采用共陰極數(shù)碼顯示管做顯示電路,由于采用的是共陰的數(shù)碼顯示管,所以只要數(shù)碼管的a、b、c、d、e、f、g、h引腳為高電平,那么其對(duì)應(yīng)的二極管就會(huì)發(fā)光,使數(shù)碼顯示管顯示0~9的編碼見(jiàn)表1.1。表1.1共陰極數(shù)碼顯示管字型代碼字型共陰極代碼字型共陰極代碼03FH56DH106H67DH25BH707H34FH87FH466H96FH動(dòng)態(tài)顯示電路由顯示塊、字形碼驅(qū)動(dòng)模塊、字位驅(qū)動(dòng)模塊三部分組成。如圖1。3所示為本系統(tǒng)的5位LED動(dòng)態(tài)顯示器接口電路。圖中,5個(gè)數(shù)碼管的8段段選線(xiàn)分別與外接上拉電阻的單片機(jī)P0口對(duì)應(yīng)相連,而5個(gè)數(shù)碼管的位控制端則和NPN型三極管的集電極相連接。單片機(jī)的P2.0~P2。4口則分別對(duì)應(yīng)數(shù)碼顯示管的最低位到最高位,P2.0~P2。4口分別和五個(gè)NPN型三極管的基極相連,做三極管導(dǎo)通的控制端,而NPN型三極管選用9013型三極管。根據(jù)9013的資料顯示:其耐壓值為40V,最大功率為0。65W,最大電流為0.5A(chǔ),電氣性能完全滿(mǎn)足本設(shè)計(jì)的要求。另外數(shù)碼管顯示是采用動(dòng)態(tài)顯示,所以對(duì)三極管的開(kāi)關(guān)頻率有一定的要求。根據(jù)電子秒表的設(shè)計(jì)計(jì)算可知?jiǎng)討B(tài)顯示的頻率最高為3KHz,而9013的導(dǎo)通頻率為150MHz,完全能滿(mǎn)足本設(shè)計(jì)的要求,所以最終選?。?13三極管最為位控制開(kāi)關(guān)。由于數(shù)碼管是有P0口來(lái)驅(qū)動(dòng),它內(nèi)部沒(méi)有上拉電阻,作為輸出口時(shí)驅(qū)動(dòng)能力比較弱,不能點(diǎn)亮數(shù)碼顯示管,因此P0口必須接上拉電阻來(lái)提高驅(qū)動(dòng)能力。另外一位共陰數(shù)碼管的驅(qū)動(dòng)電流一般為20mA左右,如果電流太大容易造成數(shù)碼管損壞,所以也需要根據(jù)電源的電壓值來(lái)確定上拉電阻的大小。如果電阻過(guò)小,勢(shì)必會(huì)形成灌電流過(guò)大,造成單片機(jī)IO的損壞,如果電阻過(guò)大,那么對(duì)拉電流沒(méi)有太大的影響。電源供電電壓為5V,當(dāng)上拉電阻選用220Ω電阻時(shí)灌電流為22mA。不會(huì)損壞單片機(jī)的I/O口,同時(shí)也可以為數(shù)碼顯示管起到限制電流的保護(hù)作用。本設(shè)計(jì)中有四個(gè)按鍵,分別實(shí)現(xiàn)開(kāi)始、暫停、復(fù)位和查看功能。這三個(gè)鍵可以采用中斷的方法,也可以采用查詢(xún)的方法來(lái)識(shí)別。對(duì)于復(fù)位鍵和查看鍵,主要功能在于數(shù)值復(fù)位和對(duì)上次計(jì)時(shí)時(shí)間的查看,對(duì)于時(shí)間的要求不是很?chē)?yán)格,而開(kāi)始和暫停鍵主要用于時(shí)間的鎖定,需要比較準(zhǔn)確的控制。因此可以考慮,對(duì)復(fù)位鍵和查看鍵采用查詢(xún)的方式,而對(duì)于開(kāi)始和暫停鍵采用外部中斷。四個(gè)按鍵均采用低電平有效,具體電路連接圖如圖1.5所示。當(dāng)按鍵沒(méi)有按下時(shí),單片機(jī)的I/O口直接連接電源,因此需要接上拉電阻來(lái)進(jìn)行限流,本設(shè)計(jì)中選取阻值為2kΩ的電阻作為上拉電阻,根據(jù)計(jì)算可知此時(shí)的灌電流為2。5mA,查看AT89C52的資料得知次電流在安全范圍內(nèi),符合安全設(shè)計(jì)要求。圖1。5按鍵電路按鍵電路中由于采用了外部中斷,所以需要用到P3口的第二功能。P3口引腳的第二功能如表1.2表1。2P3口引腳第二功能表P3口引腳特殊功能P3。0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外部中斷0請(qǐng)求輸入端)P3.3INT1(外部中斷1請(qǐng)求輸入端)P3.4T0(定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)脈沖輸入端)P3.5T1(定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)脈沖輸入端)P3.6WR(shí)(片外數(shù)據(jù)存儲(chǔ)器寫(xiě)選通信號(hào)輸出端)P3.7RD(片內(nèi)數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸出端)單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)內(nèi)各種微操作的時(shí)間基準(zhǔn),89S52片內(nèi)設(shè)有一個(gè)由反向放大器所構(gòu)成的振蕩電路,XTAL1和XTAL2分別為振蕩電路的輸入和輸出端,89S52單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩方式與外部振蕩方式。外部方式的時(shí)鐘很少用,若要用時(shí),只要將XTAL1接地,XTAL2接外部振蕩器就行。對(duì)外部振蕩信號(hào)無(wú)特殊要求,只要保證脈沖寬度,一般采用頻率低于12MHz的方波信號(hào)。時(shí)鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個(gè)兩相時(shí)鐘信號(hào)P1和P2供單片機(jī)使用.P1在每一個(gè)狀態(tài)S的前半部分有效,P2在每個(gè)狀態(tài)的后半部分有效。本設(shè)計(jì)采用的內(nèi)部振蕩方式,內(nèi)部振蕩方式所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)用電路中使用較多.本設(shè)計(jì)系統(tǒng)的時(shí)鐘電路如圖1.4所示。只要按照?qǐng)D1.6所示電路進(jìn)行設(shè)計(jì)連接就能使系統(tǒng)可靠起振并能穩(wěn)定運(yùn)行。圖中,電容器C1
、C2起穩(wěn)定振蕩頻率、快速起振的作用,電容值一般為5~33pF。但在時(shí)鐘電路的實(shí)際應(yīng)用中一定要注意正確選擇其大小,并保證電路的對(duì)稱(chēng)性,盡可能匹配,選用正牌的瓷片或云母電容,如果可能的話(huà),溫度系數(shù)盡可能低.本設(shè)計(jì)中采用大小為30pF的電容和12MHz的晶振[8]。圖1.6內(nèi)部振蕩電路(4)時(shí)序AT89S52典型的指令周期(執(zhí)行一條指令的時(shí)間稱(chēng)為指令周期)為一個(gè)機(jī)器周期,一個(gè)機(jī)器周期由六個(gè)狀態(tài)(十二振蕩周期)組成。每個(gè)狀態(tài)又被分成兩個(gè)時(shí)相P1和P2。所以,一個(gè)機(jī)器周期可以依次表示為S1P1,S1P2……,S6P1,S6P2.通常算術(shù)邏輯操作在P1時(shí)相進(jìn)行,而內(nèi)部寄存器傳送在P2時(shí)相進(jìn)行。圖1.789S52時(shí)序圖1。7給出了AT89S52單片機(jī)的取指和執(zhí)行指令的定時(shí)關(guān)系。這些內(nèi)部時(shí)鐘信號(hào)不能從外部觀察到,所用XTAL2振蕩信號(hào)作參考。在圖中可看到,低8位地址的鎖存信號(hào)ALE在每個(gè)機(jī)器周期中兩次有效:一次在S1P2與S2P1期間,另一次在S4P2與S5P1期間。對(duì)于單周期指令,當(dāng)操作碼被送入指令寄存器時(shí),便從S1P2開(kāi)始執(zhí)行指令。如果是雙字節(jié)單機(jī)器周期指令,則在同一機(jī)器周期的S4期間讀入第二個(gè)字節(jié),若是單字節(jié)單機(jī)器周期指令,則在S4期間仍進(jìn)行讀,但所讀的這個(gè)字節(jié)操作碼被忽略,程序計(jì)數(shù)器也不加1,在S6P2結(jié)束時(shí)完成指令操作。圖1.7的(a)和(b)給出了單字節(jié)單機(jī)器周期和雙字節(jié)單機(jī)器周期指令的時(shí)序.89S52指令大部分在一個(gè)機(jī)器周期完成。乘(MUL)和除(DIV)指令是僅有的需要兩個(gè)以上機(jī)器周期的指令,占用4個(gè)機(jī)器周期。對(duì)于雙字節(jié)單機(jī)器周期指令,通常是在一個(gè)機(jī)器周期內(nèi)從程序存儲(chǔ)器中讀入兩個(gè)字節(jié),唯有MOVX指令例外。MOVX是訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器的單字節(jié)雙機(jī)器周期指令。在執(zhí)行MOVX指令期間,外部數(shù)據(jù)存儲(chǔ)器被訪(fǎng)問(wèn)且被選通時(shí)跳過(guò)兩次取指操作。圖1.7中(c)給出了一般單字節(jié)雙機(jī)器周期指令的時(shí)序[9]。關(guān)于單片機(jī)的置位和復(fù)位,都是為了把電路初始化到一個(gè)確定的狀態(tài),一般來(lái)說(shuō),單片機(jī)復(fù)位電路作用是把一個(gè)例如狀態(tài)機(jī)初始化到空狀態(tài),而在單片機(jī)內(nèi)部,復(fù)位的時(shí)候單片機(jī)是把一些寄存器以及存儲(chǔ)設(shè)備裝入廠(chǎng)商預(yù)設(shè)的一個(gè)值,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn).當(dāng)AT89C52單片機(jī)的復(fù)位引腳RST(全稱(chēng)RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就完成了復(fù)位操作.如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài),而無(wú)法執(zhí)行程序.因此要求單片機(jī)復(fù)位后能脫離復(fù)位狀態(tài)。而本系統(tǒng)選用的是12MHz的晶振,因此一個(gè)機(jī)器周期為1μs,那么復(fù)位脈沖寬度最小應(yīng)為2μs。在實(shí)際應(yīng)用系統(tǒng)中,考慮到電源的穩(wěn)定時(shí)間,參數(shù)漂移,晶振穩(wěn)定時(shí)間以及復(fù)位的可靠性等因素,必須有足夠的余量.根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位、手動(dòng)復(fù)位。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。80C51單片機(jī)的上電復(fù)位POR(PowerOnReset)實(shí)質(zhì)上就是上電延時(shí)復(fù)位,也就是在上電延時(shí)期間把單片機(jī)鎖定在復(fù)位狀態(tài)上。在單片機(jī)每次初始加電時(shí),首先投入工作的功能部件是復(fù)位電路。復(fù)位電路把單片機(jī)鎖定在復(fù)位狀態(tài)上并且維持一個(gè)延時(shí)(記作TRST),以便給予電源電壓從上升到穩(wěn)定的一個(gè)等待時(shí)間;在電源電壓穩(wěn)定之后,再插入一個(gè)延時(shí),給予時(shí)鐘振蕩器從起振到穩(wěn)定的一個(gè)等待時(shí)間;在單片機(jī)開(kāi)始進(jìn)入運(yùn)行狀態(tài)之前,還要至少推遲2個(gè)機(jī)器周期的延時(shí)。上述一系列的延時(shí),都是利用在單片機(jī)RST引腳上外接一個(gè)RC支路的充電時(shí)間而形成的.典型復(fù)位電路如圖1.8(a)所示,其中的阻容值是原始手冊(cè)中提供的。在經(jīng)歷了一系列延時(shí)之后,單片機(jī)才開(kāi)始按照時(shí)鐘源的工作頻率,進(jìn)入到正常的程序運(yùn)行狀態(tài)。在電源電壓以及振蕩器輸出信號(hào)穩(wěn)定之后,又等待了一段較長(zhǎng)的延時(shí)才釋放RST信號(hào),使得CPU脫離復(fù)位鎖定狀態(tài);而RST信號(hào)一旦被釋放,立刻在ALE引腳上就可檢測(cè)到持續(xù)的脈沖信號(hào)[8].圖1。8上電復(fù)位延時(shí)電路由于標(biāo)準(zhǔn)80C51的復(fù)位邏輯相對(duì)簡(jiǎn)單,復(fù)位源只有RST一個(gè)(相對(duì)新型單片機(jī)來(lái)說(shuō),復(fù)位源比較單一),因此各種原因所導(dǎo)致的復(fù)位活動(dòng)以及復(fù)位狀態(tài)的進(jìn)入,都要依靠在外接引腳RST上施加一定時(shí)間寬度的高電平信號(hào)來(lái)實(shí)現(xiàn).標(biāo)準(zhǔn)80C51不僅復(fù)位源比較單一,而且還沒(méi)有設(shè)計(jì)內(nèi)部上電復(fù)位的延時(shí)功能,因此必須借助于外接阻容支路來(lái)增加延時(shí)環(huán)節(jié),如圖1.8(a)所示。其實(shí),外接電阻R還是可以省略的,理由是一些CMOS單片機(jī)芯片內(nèi)部存在一個(gè)現(xiàn)成的下拉電阻Rrst。例如,AT89系列的Rrst阻值約為50~200kΩ;P89V51Rx2系列的Rrst阻值約為40~225kΩ,如圖1。9所示。因此,在圖1。8(a)基礎(chǔ)上,上電復(fù)位延時(shí)電路還可以精簡(jiǎn)為圖1.8(b)所示的簡(jiǎn)化電路(其中電容C的容量也相應(yīng)減小了)。圖1.9復(fù)位引腳RST內(nèi)部電路在每次單片機(jī)斷電之后,須使延時(shí)電容C上的電荷立刻放掉,以便為隨后可能在很短的時(shí)間內(nèi)再次加電作好準(zhǔn)備。否則,在斷電后C還沒(méi)有充分放電的情況下,如果很快又加電,那么RC支路就失去了它應(yīng)有的延遲功能。因此,在圖1。8(a)的基礎(chǔ)上添加一個(gè)放電二極管D,上電復(fù)位延時(shí)電路就變成了如圖1.8(c)所示的改進(jìn)電路.也就是說(shuō),只有RC支路的充電過(guò)程對(duì)電路是有用的,放電過(guò)程不僅無(wú)用,而且會(huì)帶來(lái)潛在的危害。于是附加一個(gè)放電二極管D來(lái)大力縮短放電持續(xù)時(shí)間,以便消除隱患。二極管D只有在單片機(jī)斷電的瞬間(即VCC趨近于0V,可以看作VCC對(duì)地短路)正向?qū)?,平時(shí)一直處于反偏截止?fàn)顟B(tài)。手動(dòng)復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,如果發(fā)生死機(jī),用按鈕開(kāi)關(guān)操作使單片機(jī)復(fù)位。單片機(jī)要完成復(fù)位,必須向復(fù)位端輸出并持續(xù)兩個(gè)機(jī)器周期以上的高電平,從而實(shí)現(xiàn)復(fù)位操作。本設(shè)計(jì)采用上電且開(kāi)關(guān)復(fù)位電路,如圖1.10所示上電后,由于電容充電,使RST持續(xù)一段高電平時(shí)間。當(dāng)單片機(jī)已在運(yùn)行之中時(shí),按下復(fù)位鍵也能使RST持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電且開(kāi)關(guān)復(fù)位的操作。通常選擇C=10~30μF,R=1K,本設(shè)計(jì)采用的電容值為22μF的電容和電阻為1K的電阻。圖1.10單片機(jī)復(fù)位電路系統(tǒng)總電路由以上設(shè)計(jì)的顯示電路,時(shí)鐘電路,按鍵電路和復(fù)位電路組成,只要將單片機(jī)與以上各部分電路合理的連接就組成了系統(tǒng)總電路。系統(tǒng)總電路圖如圖1。11所示.AT89C52單片機(jī)為主電路的核心部分,各個(gè)電路均和單片機(jī)相連接,由單片機(jī)統(tǒng)籌和協(xié)調(diào)各個(gè)電路的運(yùn)行工作。AT89C52單片機(jī)提供了XTAL1和XTAL2兩個(gè)專(zhuān)用引腳接晶振電路,因此只要將晶振電路接到兩個(gè)專(zhuān)用引腳即可為單片機(jī)提供時(shí)鐘脈沖,但在焊接晶振電路時(shí)要盡量使晶振電路靠近單片機(jī),這樣可以為單片機(jī)提供穩(wěn)定的始終脈沖。圖1。11系統(tǒng)總電路圖復(fù)位電路同晶振電路,單片機(jī)設(shè)有一個(gè)專(zhuān)用的硬件復(fù)位接口,并設(shè)置為高電平有效。按鍵電路與單片機(jī)的端口連接可以由用戶(hù)自己設(shè)定,本設(shè)計(jì)中軟件復(fù)位鍵和查看鍵分別接單片機(jī)的P1.1和P2。5,均設(shè)為低電平有效。而另外的開(kāi)始鍵和暫停鍵兩鍵使用了外部中斷,所以需要連接到單片機(jī)的特殊接口P3。3和P3.2,這兩個(gè)I/O口的第二功能分別為單片機(jī)的外部中斷1端口和外部中斷0端口。同樣設(shè)置為位低電平有效。顯示電路由五位數(shù)碼管組成,采用動(dòng)態(tài)顯示方式,因此有8位段控制端和5位位控制端,八位段控制接P0口,P0.0~P0。7分別控制數(shù)碼顯示管的a、b、c、d、e、f、g、dp顯示,AT89C52的P0口沒(méi)有集成上拉電阻,高電平的驅(qū)動(dòng)能力很弱,所以需要接上拉電阻來(lái)提高P0的高電平驅(qū)動(dòng)能力。五位位控制則由低位到高位分別接到P2.0~P2.4口,NPN三極管9013做為位控制端的開(kāi)關(guān),當(dāng)P2.0~P2。4端口任意一個(gè)端口為高電平時(shí),與其相對(duì)應(yīng)的三極管就導(dǎo)通,對(duì)應(yīng)的數(shù)碼管導(dǎo)通顯示。通過(guò)以上設(shè)計(jì)已經(jīng)將各部分電路與單片機(jī)有機(jī)的結(jié)合到一起,硬件部分的設(shè)計(jì)以大功告成,剩下的部分就是對(duì)單片機(jī)的編程,使單片機(jī)按程序運(yùn)行,實(shí)現(xiàn)數(shù)字電子秒表的全部功能。本設(shè)計(jì)采用了匯編語(yǔ)言編寫(xiě),匯編語(yǔ)言由于采用了助記符號(hào)來(lái)編寫(xiě)程序,比用機(jī)器語(yǔ)言的二進(jìn)制代碼編程要方便些,在一定程度上簡(jiǎn)化了編程過(guò)程.匯編語(yǔ)言的特點(diǎn)是用符號(hào)代替了機(jī)器指令代碼,而且助記符與指令代碼一一對(duì)應(yīng),基本保留了機(jī)器語(yǔ)言的靈活性。使用匯編語(yǔ)言能面向機(jī)器并較好地發(fā)揮機(jī)器的特性,得到質(zhì)量較高的程序。匯編語(yǔ)言的特點(diǎn):(1).面向機(jī)器的低級(jí)語(yǔ)言,通常是為特定的計(jì)算機(jī)或系列計(jì)算機(jī)專(zhuān)門(mén)設(shè)計(jì)的。(2).保持了機(jī)器語(yǔ)言的優(yōu)點(diǎn),具有直接和簡(jiǎn)捷的特點(diǎn).(3).可有效地訪(fǎng)問(wèn)、控制計(jì)算機(jī)的各種硬件設(shè)備,如磁盤(pán)、存儲(chǔ)器、CPU、I/O端口等.(4)。目標(biāo)代碼簡(jiǎn)短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計(jì)語(yǔ)言。(5)。經(jīng)常與高級(jí)語(yǔ)言配合使用,應(yīng)用十分廣泛。在程序設(shè)計(jì)過(guò)程中,為了有效地完成任務(wù),把所要完成的任務(wù)精心的分割成若干個(gè)相互獨(dú)立但相互又仍可有聯(lián)系的任務(wù)模塊,這些任務(wù)模塊使得任務(wù)變得相對(duì)單純,對(duì)外的數(shù)據(jù)交換相對(duì)簡(jiǎn)單,容易編寫(xiě),容易檢測(cè),容易閱讀和維護(hù)。這種程序設(shè)計(jì)思想稱(chēng)為模塊化程序設(shè)計(jì)思想.模塊化結(jié)構(gòu)程序的設(shè)計(jì),可以使系統(tǒng)軟件便于調(diào)試與優(yōu)化,也使其他人更好地理解和閱讀系統(tǒng)的程序設(shè)計(jì)。因此,本醫(yī)院病床呼叫系統(tǒng)在軟件的設(shè)計(jì)上,運(yùn)用了模塊化程序的結(jié)構(gòu)對(duì)軟件進(jìn)行設(shè)計(jì),使得程序變得更加直觀易懂。程序的主要模塊有:主程序、顯示程序、定時(shí)溢出中斷服務(wù)程序、外部中斷服務(wù)程序。本設(shè)計(jì)系統(tǒng)所用到的單片機(jī)端口數(shù)比較多,所以在這里將對(duì)數(shù)字電子秒表的硬件資源的大概分配加以說(shuō)明。片內(nèi)RAM的分配、各功能鍵的定義以及各端口的分配安排如表2.1所示.表2。1端口的分配安排表名稱(chēng)功能描述初始化值79H-7DH1ms—10s位顯示寄存區(qū)00H69H-6DH1ms-10s位中間寄存區(qū)00H59H—5DH1ms-10s位最終寄存區(qū)00HR1-R51ms-10s位溢出計(jì)數(shù)區(qū)定時(shí)器T0控制秒表的最小精度E018H外部中斷INT0停止中斷信號(hào)入口外部中斷INT1開(kāi)始中斷信號(hào)入口本系統(tǒng)程序主要模塊由主程序、定時(shí)中斷服務(wù)程序、外部中斷0服務(wù)程序和外部中斷1服務(wù)程序組成。其中主程序是整個(gè)程序的主體??梢詫?duì)各個(gè)中斷程序進(jìn)行調(diào)用。協(xié)調(diào)各個(gè)子程序之間的聯(lián)系。系統(tǒng)(上電)復(fù)位后,進(jìn)入主程序,主程序流程圖如圖2.1。首先對(duì)系統(tǒng)進(jìn)行初始化,包括設(shè)置各入口地址、中斷的開(kāi)啟、對(duì)各個(gè)數(shù)據(jù)緩存區(qū)清“0”、賦定時(shí)器初值,初始化完畢后,就進(jìn)入數(shù)碼管顯示程序。數(shù)碼管顯示程序?qū)︼@示緩存區(qū)內(nèi)的數(shù)值進(jìn)行調(diào)用并在數(shù)碼管上進(jìn)行動(dòng)態(tài)顯示。顯示一次就對(duì)P1。1和P2.5進(jìn)行一次掃描,查詢(xún)復(fù)位鍵P1.1是否按下,當(dāng)復(fù)位鍵按下后,程序返回開(kāi)始,重新對(duì)系統(tǒng)進(jìn)行初始化。當(dāng)沒(méi)有按下復(fù)位鍵時(shí),程序則掃描P2.5是否按下,當(dāng)P2.5沒(méi)有按下則返回顯示程,不斷地調(diào)用顯示緩存區(qū)的數(shù)據(jù)進(jìn)行顯示。使用戶(hù)能清楚的看到當(dāng)前電子秒表所記錄的時(shí)間.當(dāng)查詢(xún)到P2。5按下后則跳轉(zhuǎn)到另外一段顯示程序并調(diào)用最紅緩存區(qū)的數(shù)據(jù)進(jìn)行顯示,此時(shí)顯示的時(shí)間即為上一次計(jì)時(shí)的時(shí)間.與此同時(shí),在P2。5按下后單片機(jī)執(zhí)行顯示程序的同時(shí)也在對(duì)P2。5進(jìn)行掃描,當(dāng)P2。5斷開(kāi)后立即跳轉(zhuǎn)回之前的顯示程序顯示當(dāng)前的計(jì)時(shí)時(shí)間.在主程序中還進(jìn)行了賦寄存區(qū)的初始值、設(shè)置定時(shí)器初值以及開(kāi)啟外部中斷等操作,當(dāng)定時(shí)時(shí)間到后就轉(zhuǎn)去執(zhí)行定時(shí)中斷程序。當(dāng)外部中斷有請(qǐng)求則去執(zhí)行外部中斷服務(wù)程序。并在執(zhí)行完后返回主程序。圖2.1主程序流程圖現(xiàn)在方案中采用了三個(gè)中斷,外部中斷INT0,INT1和定時(shí)中斷T0。CPU在響應(yīng)中斷時(shí),先處理高級(jí)中斷,在處理低級(jí)中斷,若有多個(gè)同級(jí)中斷時(shí),則按自然優(yōu)先順序處理.例如當(dāng)CPU正在處理一個(gè)中斷申請(qǐng)時(shí),有出現(xiàn)了另一個(gè)優(yōu)先級(jí)比它高的中斷請(qǐng)求,這是,CPU就暫停終止對(duì)當(dāng)前優(yōu)先級(jí)較低的中斷源的服務(wù),轉(zhuǎn)去響應(yīng)優(yōu)先級(jí)比它高的中斷請(qǐng)求,并為其服務(wù)。待服務(wù)結(jié)束,再繼續(xù)執(zhí)行原來(lái)較低級(jí)的中斷服務(wù)程序。而當(dāng)CPU為級(jí)別高的終端服務(wù)程序服務(wù)時(shí),如果級(jí)別低的中斷發(fā)出中斷請(qǐng)求,此時(shí)CPU是不會(huì)響應(yīng)的,所以為了避免開(kāi)始和暫停兩個(gè)按鍵中的一個(gè)出現(xiàn)沒(méi)有響應(yīng)的情況,在進(jìn)行程序編輯時(shí)要注意對(duì)中斷的使用,避免出現(xiàn)中斷的嵌套。,合理分配中斷對(duì)本設(shè)計(jì)的實(shí)現(xiàn)是至關(guān)重要的.另外由于數(shù)字式電子秒表的最小精度位1ms,屬于高精度電子秒表。定時(shí)器T0的定時(shí)周期也為1ms,為了使電子秒表暫停鍵按下后CPU能馬上去響應(yīng)中斷程序,必須將暫停的外部中斷級(jí)別高于定時(shí)計(jì)數(shù)器的中斷級(jí)別。避免出現(xiàn)CPU?qǐng)?zhí)行完定時(shí)溢出中斷程序后再響應(yīng)外部中斷程序,影響計(jì)時(shí)精度。AT89C52的自然優(yōu)先級(jí)順序排列如下:中斷源最高外部中斷0定時(shí)/計(jì)數(shù)器0溢出中斷外部中斷1定時(shí)/計(jì)數(shù)器1溢出中斷串行口中斷最低數(shù)字式秒表中的兩個(gè)按鍵采用了中斷實(shí)現(xiàn)功能.開(kāi)始采用外部中斷INT0,暫停采用外部中斷INT1.另外程序中還用到了定時(shí)/計(jì)數(shù)器0溢出中斷進(jìn)行計(jì)時(shí)。依據(jù)設(shè)計(jì)要求,暫停的外部中斷INT1中斷級(jí)別最高,計(jì)時(shí)的定時(shí)/計(jì)數(shù)器0溢出中斷次之,開(kāi)始的外部中斷INT0級(jí)別最低。(1)外部中斷0服務(wù)程序:外部中斷0服務(wù)程序結(jié)合外部P3.2停止鍵實(shí)現(xiàn)數(shù)字電子秒表的停止功能,具體流程圖如圖2。2。當(dāng)按下P3。2停止鍵按下向CPU發(fā)出外部中斷請(qǐng)求,CPU轉(zhuǎn)向外部中斷0服務(wù)程序執(zhí)行,停止定時(shí)器.另外將當(dāng)前顯示的時(shí)間進(jìn)行一次存儲(chǔ),存進(jìn)中間寄存區(qū)。最后中斷返回。圖2.2外部中斷0服務(wù)程序流程圖(2)外部中斷1服務(wù)程序外部中斷1服務(wù)程序結(jié)合外部P3.3停止鍵實(shí)現(xiàn)數(shù)字電子秒表的啟動(dòng)功能,具體流程圖如圖2。2。當(dāng)按下P3.3啟動(dòng)鍵按下向CPU發(fā)出外部中斷請(qǐng)求,CPU轉(zhuǎn)向外部中斷1服務(wù)程序執(zhí)行,啟動(dòng)定時(shí)器。另外進(jìn)行二次存儲(chǔ),將之前進(jìn)行一次存儲(chǔ)的數(shù)碼管顯示數(shù)據(jù)存入最終緩存區(qū),避免下次計(jì)時(shí)暫停時(shí)一次存儲(chǔ)將數(shù)據(jù)掩蓋,從而起到保護(hù)數(shù)據(jù)的作用。二次存儲(chǔ)后就中斷返回。圖2。3外部中斷1服務(wù)程序流程圖(3)定時(shí)中斷服務(wù)程序當(dāng)定時(shí)/計(jì)數(shù)器T0器溢出后,向CPU發(fā)出中斷請(qǐng)求信號(hào)。CPU跳轉(zhuǎn)到定時(shí)中斷程序執(zhí)行,具體流程如圖2.4。定時(shí)中斷程序是一個(gè)進(jìn)位程序,主要負(fù)責(zé)對(duì)1ms的加一。1ms位沒(méi)有滿(mǎn)十就跳出中斷程序,返回顯示程序。當(dāng)1ms位滿(mǎn)十后就對(duì)1ms位清零,向10ms位加一,同時(shí)檢測(cè)10ms位是否滿(mǎn)十,沒(méi)有滿(mǎn)十就跳出中斷程序,返回顯示程序。如果滿(mǎn)十就向100ms位加一,依次類(lèi)推,最終達(dá)到99.999秒后歸零,從零開(kāi)始再次計(jì)時(shí)。13個(gè).但如果定時(shí)計(jì)數(shù)器如果每次都固定從0開(kāi)始計(jì)數(shù),到計(jì)滿(mǎn)后,再向CPU發(fā)出溢出中斷請(qǐng)求信號(hào)那是毫無(wú)意義的。為了使定時(shí)計(jì)數(shù)器在規(guī)定的計(jì)數(shù)脈沖個(gè)數(shù)字之后(此時(shí)應(yīng)小于213個(gè)脈沖),向CPU發(fā)出溢出中斷請(qǐng)求,可采取預(yù)先向TH0和TL0中放入一個(gè)初值X的方法,使計(jì)數(shù)器以X值為起始值開(kāi)始計(jì)數(shù),即X+1,X+2,……直至計(jì)數(shù)器計(jì)滿(mǎn),從1全變?yōu)?。設(shè)需要計(jì)數(shù)的脈沖個(gè)數(shù)為Y,則有:X+Y=213在定時(shí)方式下:定時(shí)時(shí)間間隔位t=(213-X)*振蕩周期*12現(xiàn)在本設(shè)計(jì)要求1ms實(shí)現(xiàn)一次中斷,選擇定時(shí)器T0工作在方式0.所以需要根據(jù)以上條件計(jì)算出T0的初值。設(shè)T0的初值為X,則(213—X)*12/12*106=1*10-3即TH0=0E0H(取X的高8位)TL0=18H(取X的低5位)由于定時(shí)1ms只是一個(gè)理想化的時(shí)間,其中并沒(méi)有考慮到中斷后單片機(jī)執(zhí)行語(yǔ)句所花的時(shí)間。雖然執(zhí)行語(yǔ)句所花的時(shí)間很短只有即微秒,但積少成多,數(shù)字秒表一秒中要溢出中斷1000次,積累起來(lái)誤差就能達(dá)到毫秒級(jí),這對(duì)于精度到達(dá)毫秒級(jí)的數(shù)字電子秒表來(lái)說(shuō)是很大的誤差。所以要在后期編程時(shí)還要將單片機(jī)讀程序的時(shí)間考慮進(jìn)去,在對(duì)定時(shí)器賦初值時(shí)將單片機(jī)需要執(zhí)行的語(yǔ)句所花的時(shí)間加上,這樣就能使數(shù)字電子秒表的誤差達(dá)到最小。圖2.4定時(shí)中斷服務(wù)程序ProteusISIS是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件,它可以仿真、分析(SPICE)各種模擬器件和集成電路。該軟件的主要特點(diǎn)總結(jié)后有以下四點(diǎn):①實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合的功能。②支持目前主流單片機(jī)系統(tǒng)的仿真。③提供了軟件調(diào)試功能,并可以與WAVE聯(lián)合仿真調(diào)試。④具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。在電子領(lǐng)域中也起到了很大的作用,它的出現(xiàn)仿真不需要先焊接電路,可以先仿真調(diào)試通過(guò)后在焊電路,節(jié)省了不少在硬件調(diào)試上所花的時(shí)間。ProteusISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖1。19所示。它包括標(biāo)題欄、主菜單、狀態(tài)欄、標(biāo)準(zhǔn)工具欄、繪圖工具欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對(duì)象選擇器窗口、圖形編輯窗口等十幾個(gè)工具,方便了使用者的使用。ProteusSISI繪制原理圖的操作與Protel99se繪制原理圖的操作基本相同,在這里就不再作贅述。下面拿本設(shè)計(jì)中的一個(gè)仿真例子作簡(jiǎn)述說(shuō)明.運(yùn)行ProteusSISI后,繪制病床呼叫系統(tǒng)的原理圖。首先打開(kāi)已經(jīng)畫(huà)好的proteusDSN文件,雙擊圖中的AT89S52芯片,就彈出一個(gè)窗口,在ProgramFile項(xiàng)中通過(guò)路徑選擇在WAVE中生成的HEX文件,雙擊選中后確定,這樣仿真圖中的AT89S52芯片就已經(jīng)讀取了本設(shè)計(jì)中的HEX文件。單擊“三角形按鈕"進(jìn)行仿真。通過(guò)對(duì)仿真結(jié)果的觀察來(lái)對(duì)程序進(jìn)行修改,最終使程序到達(dá)設(shè)計(jì)要求。按照之前設(shè)計(jì)好的數(shù)字電子秒表原理圖,詳細(xì)計(jì)算系統(tǒng)中各個(gè)元件的參數(shù),選擇相應(yīng)器件,制作實(shí)際電路板.由于考慮到萬(wàn)能板大小的問(wèn)題及元件之間連線(xiàn)的方便,在焊接元器件前必須考慮元件的布局然后進(jìn)行實(shí)際操作。制作好的電路板可以用萬(wàn)用表(200歐姆檔)的紅、黑表筆測(cè)試電路板的每條走線(xiàn),當(dāng)其電阻非常小時(shí),證明走線(xiàn)沒(méi)有斷開(kāi),當(dāng)其電阻很大時(shí),證明該條走線(xiàn)斷了,應(yīng)該重新走線(xiàn),使電路板在電氣上得到正確地連接。選用萬(wàn)用表的20K歐姆檔,檢測(cè)電路中是否存在短路。因?yàn)橄到y(tǒng)采用的是共陰極數(shù)碼管作為顯示電路,必須確保數(shù)碼管的公共端接的是低電平。(1)晶振電路的測(cè)試在單片機(jī)正常運(yùn)行的必要條件是單片機(jī)系統(tǒng)的時(shí)鐘穩(wěn)定正常。實(shí)際中,因?yàn)楦鞣N原因?qū)е孪到y(tǒng)時(shí)鐘不正常而出現(xiàn)系統(tǒng)無(wú)法正常運(yùn)行的情況時(shí)有,因此系統(tǒng)時(shí)鐘是否振是通電檢查的首要環(huán)節(jié)。在系統(tǒng)通電的狀況下,用萬(wàn)用表的直流電壓檔(20V),分別測(cè)量XTAL1和XTAL2引腳的電壓,看是否正常,在調(diào)試過(guò)程中,測(cè)得電壓XTAL1引腳應(yīng)為2。05V,XTAT2應(yīng)為2.15V。(2)復(fù)位電路
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度三人合伙開(kāi)展物流倉(cāng)儲(chǔ)服務(wù)合同
- 2024年店鋪分割財(cái)產(chǎn)分配協(xié)議
- 2024年廢窯廠(chǎng)坑塘土地租賃協(xié)議
- 2024年度0架AC3A直升機(jī)購(gòu)銷(xiāo)協(xié)議
- 2024年度煤炭買(mǎi)賣(mài)合同(長(zhǎng)協(xié))
- 2024水電安裝勞務(wù)分包合同范本
- 2024年度云計(jì)算服務(wù)與技術(shù)研發(fā)合同
- 2024年度新能源汽車(chē)銷(xiāo)售與服務(wù)分包合同
- 2024購(gòu)買(mǎi)車(chē)輛合同范本
- 2024年度智能家居解決方案合同
- 2024至2030年中國(guó)巖土工程市場(chǎng)深度分析及發(fā)展趨勢(shì)研究報(bào)告
- 新版高血壓病人的護(hù)理培訓(xùn)課件
- 醫(yī)院等級(jí)創(chuàng)建工作匯報(bào)
- 2024年江西省公務(wù)員錄用考試《行測(cè)》題(網(wǎng)友回憶版)(題目及答案解析)
- VDA6.3基礎(chǔ)培訓(xùn)考核測(cè)試卷附答案
- 第01講 正數(shù)和負(fù)數(shù)、有理數(shù)-人教版新七年級(jí)《數(shù)學(xué)》暑假自學(xué)提升講義(解析版)
- 信息系統(tǒng)部署與運(yùn)維-題庫(kù)帶答案
- 婚姻心理學(xué)解讀包含內(nèi)容
- DZ/T 0462.3-2023 礦產(chǎn)資源“三率”指標(biāo)要求 第3部分:鐵、錳、鉻、釩、鈦(正式版)
- 備戰(zhàn)2024年高考英語(yǔ)考試易錯(cuò)點(diǎn)12 名詞性從句(4大陷阱)(解析版)
- 公務(wù)員歷史常識(shí)100題及一套完整答案
評(píng)論
0/150
提交評(píng)論