版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
嵌入式課程設(shè)計報告PAGEPAGE28摘要隨著科學(xué)技術(shù)的不斷發(fā)展,電子時鐘已經(jīng)成為一種普遍的工藝了。日常生活中到處可見。電子時鐘的設(shè)計有很多種,普遍的電子時鐘是基于單片機用匯編語言做成的擴展。ARM功能也一樣且更精確。本文是詳細(xì)介紹基于ARM上做成的電子時鐘。這個電子時鐘的硬件是用LPC2103板,8個按鍵和8個數(shù)碼管組成的鍵盤顯示板,還有LED燈當(dāng)成鬧鈴使用。此時鐘還可以當(dāng)成秒表使用。這是一個基于ARM實現(xiàn)多功能的電子時鐘。關(guān)鍵詞:ARM;數(shù)碼顯示管;按鍵;LED燈;目錄前言3第一章概述41.1電子時鐘概述4第二章工作原理52.1系統(tǒng)框圖52.2時鐘的工作原理與功能5第三章硬件電路設(shè)計63.1鍵盤顯示板的電路設(shè)計63.12數(shù)碼管的電路設(shè)計83.12鍵盤電路設(shè)計83.14蜂鳴器電路的設(shè)計83.15LPC2103的電路設(shè)計9第四章軟件設(shè)計114.1軟件設(shè)計11第五章調(diào)試過程185.1調(diào)試過程185.2總結(jié)18附錄18參考文獻20謝辭20前言時鐘是人們生活中必不可少的一種工具,更是更是在人類生產(chǎn),生活,學(xué)習(xí)等多個領(lǐng)域得到廣泛的應(yīng)用。然而隨著時間的推移,尤其是在現(xiàn)在科技的發(fā)達,生活水平高,什么都講究效率的年代。人們不僅對時鐘的精度要求高,而且對時鐘的功能的要求也越來越多。時鐘已不僅僅是一種用來顯示時間的工具,而是在很多實際應(yīng)用中它還需要能夠?qū)嵏嗟钠渌δ?。比如日歷顯示功能,秒表功能,鬧鐘功能,溫度或濕度的測量電壓測量等。時鐘數(shù)字化給人們的生活帶來了極大的方便,而且也大大地擴展了鐘表原先的保濕功能。諸如定時自動報警,按時自動鬧鈴,定時廣播,各種定時電氣的自動啟用等。這些功能都是一鐘表數(shù)字化為基礎(chǔ)的。可以說設(shè)計多功能數(shù)字時鐘的意義已不不只在于數(shù)字時鐘本身,更大的意義在于多功能數(shù)字時鐘在許多實時控制系統(tǒng)中的應(yīng)用。在很多實際應(yīng)用中,只要對數(shù)字時鐘的程序和硬件電路加以一定的修改,便可以得到實施控制的實用系統(tǒng),從而應(yīng)用到實際工作與生產(chǎn)中去。因此,研究數(shù)字時鐘及擴大其應(yīng)用,有著非常現(xiàn)實的意義。怎樣讓時鐘更好的為我們服務(wù)?怎樣讓時鐘更符合實際應(yīng)用的需求?這就要求人們不斷設(shè)計出新型時鐘,不斷設(shè)計出適合實際應(yīng)用的多功能時鐘。本設(shè)計方案正是根據(jù)以上所述并結(jié)合日常生活中對時鐘功能需求的分析,運用ARM編寫技術(shù),設(shè)計出一個適合日常生活需要的多功能數(shù)字時鐘。此多功能數(shù)字時鐘除了傳統(tǒng)的顯示時間功能之外還有日歷功能以及秒表及定時鬧鐘功能。第一章概述1.1電子時鐘概述加入世貿(mào)組織以后,中國會面臨激烈的競爭。這種競爭將是一場技實力、管理水平和人才素質(zhì)的較量,風(fēng)險和機遇共存。于是我們在學(xué)習(xí)ARM基礎(chǔ)上,要會做成多功能的時鐘。電子時鐘是要用硬件和軟件組成?,F(xiàn)在設(shè)計的電子時鐘的硬件由LPC2103,鍵盤顯示板和蜂鳴器組成,軟件由基于ARM編寫程序。LPC2103是一個基于支持實時仿真的16/32位ARM7TDMI-SCPU的微控制器,并帶有32kB的嵌入高速Flash存儲器,128位寬度的存儲器接口和獨特的加速結(jié)構(gòu)使32位代碼能夠在最大時鐘速率下運行。較小的封裝和極低的功耗使LPC2103適用于訪問控制器和POS機等小型應(yīng)用系統(tǒng)中;由于內(nèi)置了寬范圍的串行通信接口(2個UART、SPI、SSP和2個I2C)和8KB的片內(nèi)SRAM,LPC2103也適合用在通信網(wǎng)關(guān)和協(xié)議轉(zhuǎn)換器中。32/16位定時器、增強型10位ADC、定時器輸出匹配PWM特性、多達13個邊沿、電平觸發(fā)的外部中斷、32條高速GPIO,使得LPC2103微控制器特別適用于工業(yè)控制和醫(yī)療系統(tǒng)中。鍵盤顯示板是用按鍵控制LED數(shù)碼管的顯示。不同的按鍵及不同的按鍵次數(shù)已表明不同的功能使數(shù)碼管顯示不同功能。鍵盤顯示板有5個排針,分別是要來接電源,地,輸入數(shù)據(jù)引腳,檢測按鍵引腳,輸入位碼和段碼的引腳。蜂鳴器是輸入低電平就鳴叫的。鍵盤顯示板和蜂鳴器都是用LPC2103的CPU控制數(shù)據(jù)的。第二章工作原理2.1系統(tǒng)框圖系統(tǒng)是以LPC2103為核心,由按鍵向2103輸入信號,向LED顯示板和蜂鳴器發(fā)送信號。系統(tǒng)的基本工作的框圖如圖2.1.圖2.1系統(tǒng)框圖2.2時鐘的工作原理與功能用接在電腦上的串口線與電源線接到LPC2103上,并用導(dǎo)線把LPC2103上的P0.4,P0.5,P0。6與鍵盤顯示板連接。P0.4引腳為SCK(SPI0)功能P0.5為GPIO的功能。P0.6引腳設(shè)置為MSOI(SPI0)功能還要把LPC2103上P0.16引腳與蜂鳴器連接。鍵盤顯示板與蜂鳴器各接上電源線和地線。運行程序時,數(shù)據(jù)輸入,利用74LS164譯碼器給數(shù)碼管。在LPC2103開發(fā)系統(tǒng)中,均采用了8位數(shù)碼管動態(tài)掃描顯示。它將所數(shù)碼管的8個段線相應(yīng)地并接在一起,并接到LPC2103的P0.4口,由P0.4口控制字段輸出。各位數(shù)碼管的共陰極由LPC2103的P0.6口控制Q20-Q27來實現(xiàn)8位數(shù)碼管的位輸出控制。如圖2.1這樣,對于一組數(shù)碼管動態(tài)掃描顯示需要由兩組信號來控制:一組是字段輸出口輸出的形代碼,用來控制顯示的字形,稱為段碼;另一組是位輸出口輸出的控制信號,用來選第幾位數(shù)碼管工作,稱為位碼。由于各位數(shù)碼管的段線并聯(lián),段碼的輸出對各位數(shù)碼管來說都是相同的。因此,在同一刻如果各位數(shù)碼管的位選線都處于選通狀態(tài)的話,8位數(shù)碼管將顯示相同的字符。若要各數(shù)碼管能夠顯示出與本位相應(yīng)的字符,就必須采用掃描顯示方式。即在某一時刻,只讓某位的位選線處于導(dǎo)通狀態(tài),而其它各位的位選線處于關(guān)閉狀態(tài)。同時,段線上輸出相應(yīng)位顯示字符的字型碼。這樣在同一時刻,只有選通的那一位顯示出字符,而其它各位則是熄的,如此循環(huán)下去,就可以使各位數(shù)碼管顯示出將要顯示的字符。雖然這些字符是在不同時刻出現(xiàn)的,而且同一時刻,只有一位顯示,其它各位熄滅,但于數(shù)碼管具有余輝特性和人眼有視覺暫留現(xiàn)象,只要每位數(shù)碼管顯示間隔足夠短,給人眼的視覺印象就會是連續(xù)穩(wěn)定地顯示。圖2.12數(shù)碼管電路圖這個時鐘有如下的功能如下一是顯示時間,則當(dāng)開始運行時就會是顯示定時的時間。如果想改變時間了就按下按鍵KEY2,則是分鐘加或減1.如果按下按鍵KEY3,則是小時加或減1。當(dāng)你在按下按鍵KEY1時則是顯示日歷,如果按下按鍵KEY4,則是天數(shù)加或減1.如果按下按鍵KEY5,則是月數(shù)加或減1。如果你再按下按鍵KEY1則是實現(xiàn)秒表,按下按鍵KEY7,則是啟動秒表,如果再按下按鍵KEY7就會停止。如果想要從新開始計時,只要按下按鍵KEY8,就可以使秒表復(fù)位。如果你再按下按鍵KEY1,你就可以定時,時間到了蜂鳴器就會響。當(dāng)然,你想加或減了,就有你自己決定了。為了方便,我們把按鍵KEY6設(shè)計成方向鍵。它默認(rèn)為是加1的,當(dāng)你想減1時,你只要在按一下按鍵KEY6即可。第三章硬件電路設(shè)計3.1鍵盤顯示板的電路設(shè)計鍵盤顯示板是由電阻,電容,74LS164,排針,按鍵,數(shù)碼管,板組成的。如圖3.1所示是鍵盤顯示板的原理圖。如圖3.12是組成鍵盤顯示板的器件。圖3.13是實圖。圖3.1鍵盤顯示板原理圖名稱封裝數(shù)量按鍵SPST-28排針HDR1X51電容CAPR2.5-51電容CC2012-08051電阻AXLAL9數(shù)碼管874HC1642圖3.12鍵盤顯示板部件清單圖3.133.12數(shù)碼管的電路設(shè)計數(shù)碼管又叫LED數(shù)碼管。LED是發(fā)光二極管的縮寫。一個LED數(shù)碼管是由8個發(fā)光二極管構(gòu)成的。每一個發(fā)光二極管的陽極都接一個電阻到外部引腳上。用陰極做公共端,連接在一起接地。如圖3.14。器件表格如3.15圖3.14 圖3.16名稱數(shù)量備注發(fā)光二極管64組成8個8段數(shù)碼管表3,15數(shù)碼管的器件3.13鍵盤電路設(shè)計鍵盤顯示板上總共使用了8個獨立按鍵。獨立按鍵是每個按鍵都有一個信號線與機電路相連,所有按鍵有一個公共地或公共正端,每個鍵相互獨立互不影響。按鍵相互獨立的接通一條輸入數(shù)據(jù)線,每個鍵的工作不會影響其它的I/0口,如圖3.153.14蜂鳴器電路的設(shè)計該蜂鳴器是一個無源蜂鳴器,要使用PWM驅(qū)動。它是由一個1K的電阻,PNP三極管和蜂鳴器組成了蜂鳴器電路。如圖3.16,實圖3.17,圖3.18器件表。圖3.16蜂鳴器電路圖 圖3.17蜂鳴器實圖名稱數(shù)量備注排針1引腳連接三極管1NPN型PLC21031主板鳴蜂器1當(dāng)成鬧鐘精密電阻1K*1(%1)10K*1(%1)萬用表部分TL431部分圖3.18蜂鳴器部件3.15LPC2103的電路設(shè)計一:LPC2103特性16/32位ARM7TDMI-S微控制器,超小LQFP48封裝;8KB的片內(nèi)靜態(tài)RAM和32KB的片內(nèi)Flash程序存儲器。128位寬度接口/加速器可實現(xiàn)高達70MHz工作頻率;通過片內(nèi)boot裝載程序?qū)崿F(xiàn)在系統(tǒng)/在應(yīng)用編程(ISP/IAP)。單個Flash扇區(qū)或整片擦除時100ms,256字節(jié)編程時間為1ms;嵌入式ICERT通過片內(nèi)RealMonitor軟件提供實時調(diào)試;10位A/D轉(zhuǎn)換器提供8路模擬輸入(每個通道的轉(zhuǎn)換時間低至2.44us),以及特定的結(jié)果寄存器來最大限度地減少中斷開銷;2個32位定時器/外部事件計數(shù)器(帶7路捕獲和7路比較通道);16位定時器/外部事件計數(shù)器(帶3路捕獲和7路比較通道);低功耗實時時鐘(RTC)具有獨立的電源和特定32KHz時鐘輸入;多個串行接口,包括2個UART(16C550協(xié)議標(biāo)準(zhǔn))、2個高速12C總線(400Kbit/s)、SPI和具有緩沖作用和數(shù)據(jù)長度可變功能的SSP;向量中斷控制器(VIC),可配置優(yōu)先級和向量地址;多達32個通用I/O口(可承受5V電壓);多達13個邊沿、電平觸發(fā)的外部中斷管腳;通過一個可編程的片內(nèi)PLL(100us的設(shè)置時間)可實現(xiàn)最大為70MHz的CPU操。作頻率,其具有10MHz~25MHz的輸入頻率;片內(nèi)集成振蕩器與外部晶體的操作頻率范圍為1~25MHz;低功耗模式包括空閑模式、帶RTC的睡眠模式和掉電模式;可通過個別使能/禁止外圍功能和外圍時鐘分頻來優(yōu)化額外功耗;通過外部中斷或RTC將處理器從掉電模式中喚醒。二引腳的功能如表3.19PINSEL0引腳名稱00011011復(fù)位值9:8P0.4GPIOP0.4SCK0(SPI0)CAP0.1(定時器0)保留0011:10P0.5GPIOP0.5MISO0(SPI0)MAT0.1(定時器0)保留0013:12P0.6GPIOP0.6MOSI0(SPI0)CAP0.2(定時器0)保留00圖表3.19LPC2103的引腳功能圖3.20芯片及其引腳說明第四章軟件設(shè)計4.1軟件設(shè)計系統(tǒng)通過ADS1.2軟件平臺把十六進制轉(zhuǎn)換二進制主要是實現(xiàn)四個功能,一是顯示時間,二是顯示日歷,三是實現(xiàn)秒表,四是定時鬧鈴。把系統(tǒng)分為了主程序、中斷服務(wù)程序、發(fā)送程序、延時程序、等幾個部分,再逐個編寫,單獨調(diào)試通過。程序如下:#include"config.h"#defineLED1<<17uint8T0Flag=0;uint8stop=1;//秒表uint8director=1;//加減方向uint8h=0,m=0;//定時uint32msecond=0;uint32hour=1,minute=4,second=45;uint32minute1=0,second1=0;uint32year=11,month=1,date=10,date1=0;//數(shù)碼管顯示的數(shù)據(jù)uint8selectable[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//送位碼uint8digitable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//送段碼uint32data[8];uint32Key=1<<5;/**********************************************************************函數(shù)名稱:Timer0_InitExt()**功能描述:TIMER0初始化**入口參數(shù):無**出口參數(shù):無******************************************************************/voiddelay(intdly){uint32j,k;for(j=dly;j>0;j--)for(k=50;k>0;k--);}voidTime0_InitExt(){T0TC=0;//設(shè)置計時器初始值為0T0PR=0;//預(yù)分頻器不分頻T0MCR=0x03;//當(dāng)T0MR0與TC值發(fā)生匹配時,將使TC復(fù)位,并產(chǎn)生中斷標(biāo)志T0MR0=Fpclk/400;//設(shè)置定時器的時間為2.5毫秒T0TCR=0x01;//啟動定時器}/**********************************************************************函數(shù)名稱:void_irqIRQ_Time0()**功能描述:定時器timer0中斷服務(wù)程序,這個中斷的作用就是為了計時**入口參數(shù):無**出口參數(shù):無*******************************************************************/void__irqIRQ_Timer0(void){T0Flag=1;//定時器中斷處理,即中斷標(biāo)志T0IR=0x01;//清除中斷標(biāo)志VICVectAddr=0x00;//通知VIC中斷處理結(jié)束,清零表示為下一次中斷做準(zhǔn)備}/**********************************************************************函數(shù)名稱:voidIRQ_Init()**功能描述:設(shè)置定時器TIMR0中斷IRQ**入口參數(shù):無**出口參數(shù):無*******************************************************************/voidIRQ_Init(){VICIntSelect=0x00;//所有中斷分配為IRQ中斷VICVectCntl0=0x20|0x04;//設(shè)置定時器中斷分配為向量IRQ通道0,即其具有最高優(yōu)先級VICVectAddr0=(uint32)IRQ_Timer0;//向量IRQ通道0的中斷服務(wù)程序地址為IRQ_Timer0,當(dāng)產(chǎn)生中斷時//就到地址為IRQ_Timer0這個地點執(zhí)行程序,即執(zhí)行函數(shù)IRQ_Timer0VICIntEnable=(1<<4);//定時器中斷使能}/**********************************************************************函數(shù)名稱:voidCONVBIT()**功能描述://給全局變量數(shù)組data[8]賦值**入口參數(shù):無**出口參數(shù):無*******************************************************************/voidCONVBIT0(void){data[0]=second%10;//個位data[1]=second/10;//十位data[2]=11;//百位data[3]=minute%10;//千位data[4]=minute/10;//萬位data[5]=11;//十萬位data[6]=hour%10;//百萬位data[7]=hour/10;//千萬位}voidCONVBIT1(void){data[0]=date%10;//個位data[1]=date/10;//十位data[2]=11;//百位data[3]=month%10;//千位data[4]=month/10;//萬位data[5]=11;//十萬位data[6]=year%10;//百萬位data[7]=year/10;//千萬位}voidCONVBIT2(void){data[0]=msecond%10;//個位data[1]=msecond/10;//十位data[2]=11;//百位data[3]=second1%10;//千位data[4]=second1/10;//萬位data[5]=11;//十萬位data[6]=minute1%10;//百萬位data[7]=minute1/10;//千萬位}voidCONVBIT3(void){data[0]=0;//個位data[1]=0;//十位data[2]=11;//百位data[3]=m%10;//千位data[4]=m/10;//萬位data[5]=11;//十萬位data[6]=h%10;//百萬位data[7]=h/10;//千萬位}/**********************************************************************函數(shù)名稱:voidMSPI_Init()**功能描述:初始化SPI接口,并設(shè)置為主機**入口參數(shù):無**出口參數(shù):無*******************************************************************/voidMSPI_Init(){SPI_SPCCR=0x52;SPI_SPCR=(0<<3)|//CPHA=0,數(shù)據(jù)在SCK的第一個跳變沿(時鐘沿)采樣。傳輸從SSEL信號激活時開始,//并在SSEL信號無效時結(jié)束(1<<4)|//CPOL=1,時鐘為低電平有效(1<<5)|//設(shè)置為主機(0<<6)|//LSBF=0時,SPI數(shù)據(jù)據(jù)MSB(即最高位(位7))在先(1<<7);//SPI中斷使能}/**********************************************************************函數(shù)名稱:voidMSendData(uint8data)**功能描述:向SPI總線發(fā)送數(shù)據(jù),即發(fā)送位碼和段碼**入口參數(shù):data表示需要發(fā)送的數(shù)據(jù)**出口參數(shù):*******************************************************************/voidMSendData(uint8data){SPI_SPDR=data;//發(fā)送數(shù)據(jù)while((SPI_SPSR&0x80)==0);//等待SPIF置位(當(dāng)SPSR狀態(tài)寄存器的第七位(功能為SPIF)置位,//表示一次SPI數(shù)據(jù)傳輸完畢,即等待數(shù)據(jù)發(fā)送完畢}/**********************************************************************函數(shù)名稱:intmain(void)**功能描述:實現(xiàn)數(shù)據(jù)的顯示**入口參數(shù):無**出口參數(shù):無********************************************************************/intmain(void){//addusersourcecodeuint32i=0,function=0;//定義i初始值為0,i表示的是所顯示的數(shù)據(jù)在數(shù)碼管的第幾位,顯示一位后,執(zhí)行i++;使i加1//這樣就顯示下一位數(shù),直到第八位,也就是i等于8時,給i賦值為0,這樣就可循環(huán)顯示數(shù)據(jù)uint32W=0,ms=0;uint8Tk=0x09;uint8h1=0,m1=0;PINSEL0=(0x01<<8)|//設(shè)置p0.4引腳為SCK(SPI0)功能p0.5s->Gpio(0x01<<12);//將p0.6引腳設(shè)置為MSOI(SPI0)功能PINSEL1=0x00;IODIR|=LED;IOSET|=LED;MSPI_Init();//功能是初始化SPI接口,并設(shè)置為主機Time0_InitExt();//定時器timer0中斷服務(wù)程序,這個中斷的作用就是為了計時IRQEnable();//IRQ中斷使能IRQ_Init();while(1){if(T0Flag)//如果產(chǎn)生中斷{T0Flag=0;//使計時器重新開始計時while(W==4)//當(dāng)計時器的值經(jīng)過了4*2.5毫秒時,將W清零,即重新計時(指W重新計時),{W=0;ms++;if(function==0)CONVBIT0();//并將數(shù)組CS[]中的數(shù)據(jù)賦值給數(shù)組data[],elseif(function==1)CONVBIT1();elseif(function==2)CONVBIT2();elseif(function==3)CONVBIT3();if(stop==0)msecond++;if(msecond>=100){msecond=0;second1++;}if(second1>=60){second1=0;minute1++;}/////////////////////////////////////////////////////////////////////switch(month){case1:case3:case5:case7:case8:case10:case12:date1=31;break;case2:date1=28;break;case4:case6:case9:case11:date1;/////////////////////////////////////////////////////////////////////if(ms>=100){ms=0;second++;if(second>=60){second=0;minute++;}if(minute>=60){minute=0;hour++;}if(hour>=24){hour=0;date++;}if(date>date1){date=1;month++;} if(month>12){month=1;year++;}}}W++;//W自加2.5毫秒/////////////////////////////////////////if((IO0PIN&Key)!=0){//按鍵處理初始化uint8Tk=0x09;if(Tk==i){switch(Tk){case1:function=(function+1)%4;break;case2:if(function==0){if(director==1)minute++;else{if(minute>0)minute--;elseminute=59;}}if(function==3){m=(m+1)%60;}break;case3:if(function==0){if(director==1)hour++;else{if(hour>0)hour--;elsehour=23;}}if(function==3){h=(h+1)%23;}break;case4:if(function==1){if(director==1)date++;else{if(date>1)date--;elsedate=date1;}}if(function==3){h1=h;m1=m;}break;case5:if(function==1){if(director==1)month++;else{if(month>1)month--;elsemonth=12;}}break;case6:director=(director+1)%2;break;case7:if(function==2)stop=(stop+1)%2;break;case0:if(function==2){msecond=0;second1=0;minute1=0;}}Tk=0x09;}}elseif((IO0PIN&Key)==0){delay(100);if((IO0PIN&Key)==0)Tk=i;}////////////////////////////////////////////if(hour==h1&minute==m1&second==0)IOCLR|=LED;elseIOSET|=LED;/////////////////////////////////////////////////////////////if(data[i]==11)MSendData(0x40);elseMSendData(digitable[data[i]]);//發(fā)送段碼MSendData(selectable[i]);//發(fā)送位碼i++;//i自加,即顯示第i(即數(shù)碼管上的第i位數(shù)字)位數(shù)字if(i>7)//如果第八位數(shù)字顯示完畢,則再重新顯示第一位數(shù)字,如此循環(huán)i=0;//重新在數(shù)碼管上顯示第1位數(shù)字//////////////////////////////////////////////////////////////////}}return0;}第五章調(diào)試過程5.1調(diào)試過程調(diào)試是一個很重要的過程,也是一個很艱巨的任務(wù),經(jīng)常遇到很多意想不的錯誤。比如說,1:對中斷還不夠熟悉。2:對LED數(shù)碼管認(rèn)識不夠等。由于這次的設(shè)計使用的是LPC2103的開發(fā)板,所以在硬件上不需要太多的去調(diào)試。在利用開發(fā)板硬件資源的基礎(chǔ)上,由于這次的多功能鬧鐘設(shè)計使用的模塊較多,基本上各個模塊的調(diào)試是分開進行的。主要包括初始化的程序調(diào)試、按鍵子程序調(diào)試、LED顯示調(diào)試這幾部分子程序的調(diào)試。將這三部分調(diào)試成功,那么整個設(shè)計的軟件部分也就基本完成了。在該課程設(shè)計中,采用的集成開發(fā)環(huán)境是ADS1.2,在軟件設(shè)計過程中,有時候不小心插入了一個中文的符號(如分號),就會使軟件編譯不通過,開始在這個錯誤上浪費不少時間,但后來注意到了這個情況,避免了類似的錯誤的發(fā)生。四位的數(shù)碼管采用的是動態(tài)顯示模式,刷新頻率為50Hz,另外,由于開發(fā)板的硬件采用的是移位寄存器送筆段碼,所以在軟件設(shè)計方面要用到將8位筆段碼不斷循環(huán)右移,增加了設(shè)計的難度。起初我認(rèn)為一切程序都編寫得差不多的時候,燒進芯片的程序使數(shù)碼管顯示一片模糊,基本上顯示的都是8,后來從程序的開始查起,終于找到原因,原來動態(tài)顯示程序中,每次只能是一位的數(shù)碼管點亮,但在程序設(shè)計中,在點亮下一位數(shù)碼管時,忘記了將上一次點亮的位給關(guān)掉,導(dǎo)致四位數(shù)碼管時同時被點亮的,最后,在點亮數(shù)碼管前首先將四位數(shù)碼管全部關(guān)閉,再以50Hz的頻率進行點亮刷新,顯示方回到正常狀態(tài)。最后就是在這兩個模塊的基礎(chǔ)上來對整體的程序進行相關(guān)的調(diào)試和完善。例如在原先設(shè)置有當(dāng)進入時間設(shè)置或者鬧鐘掛起時有LED點亮進行提示,設(shè)置時間時相關(guān)的設(shè)置超過相應(yīng)的極限值,這些在最后的調(diào)試過程中得到完善,使其工作在正常的狀態(tài),調(diào)試過程也就這樣基本得到完成。5.2總結(jié)通過本電子時鐘的設(shè)計,我學(xué)到了很多東西。首先,在設(shè)計電子表的過程中,我們把系統(tǒng)分為了主程序、中斷服務(wù)程序、顯示程序、延時程序、等幾個部分,再逐個編寫,單獨調(diào)試通過,再連接在一起。大大的減小了工作量,這主要體現(xiàn)在調(diào)試工作中。其次,在多功能電子鐘實際設(shè)計過程中,所有的模塊都是通過不同進制的計數(shù)器來實現(xiàn)其主要功能的,各模塊之間是通過進位信號連接在一起的。前一級的進位信號作為下一級的計數(shù)clk信號,通過層次關(guān)系使設(shè)計思路清晰一開始由于程序的設(shè)計考慮置位調(diào)整。沒有好的思路,走了不少彎路。后來(有人)想到了在程序里設(shè)置總控制端,于是解決了問題。和同學(xué)的合作使我的程序更加優(yōu)化。在此次課程設(shè)計中,更加感到了團結(jié)協(xié)作的重要性,當(dāng)一個人陷入困境人助十分重要的。大家共同商量還可以發(fā)現(xiàn)許多個人無法發(fā)現(xiàn)的題。附錄:實物圖如下圖1顯示燈亮(鬧鐘響)圖2顯示年月日圖3顯示秒表圖4顯示時間謝辭首先,在這里感謝學(xué)校給我們安排了這次課設(shè),使我們有一個可以自己動手的機會,通過動手,進一步熟悉自己所學(xué)的理論知識,體會自己動手得出結(jié)果的那種感覺。再次,在這要感謝我們的指導(dǎo)老師,老師在我們的實踐過程中不提自己的辛苦,耐心講所有的標(biāo)題,幫助我們解決一些程序和調(diào)試,在這表示感謝!感謝這次課程設(shè)計中給我?guī)椭耐瑢W(xué),是你們的幫助,我才順利的完成了課程設(shè)計任務(wù)。謝謝你們的幫助!基于C8051F單片機直流電動機反饋控制系統(tǒng)的設(shè)計與研究基于單片機的嵌入式Web服務(wù)器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內(nèi)壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現(xiàn)一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設(shè)計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內(nèi)核設(shè)計及其應(yīng)用研究基于單片機的遠程抄表系統(tǒng)的設(shè)計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設(shè)計和應(yīng)用基于單片機的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數(shù)字磁通門傳感器基于單片機的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設(shè)計Pico專用單片機核的可測性設(shè)計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構(gòu)建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現(xiàn)基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學(xué)生單片機應(yīng)用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設(shè)計基于單片機的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機的溫度智能控制系統(tǒng)的設(shè)計與實現(xiàn)基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機的膛壁溫度報警系統(tǒng)設(shè)計基于AVR單片機的低壓無功補償控制器的設(shè)計基于單片機船舶電力推進電機監(jiān)測系統(tǒng)基于單片機網(wǎng)絡(luò)的振動信號的采集系統(tǒng)基于單片機的大容量數(shù)據(jù)存儲技術(shù)的應(yīng)用研究基于單片機的疊圖機研究與教學(xué)方法實踐基于單片機嵌入式Web服務(wù)器技術(shù)的研究及實現(xiàn)基于AT89S52單片機的通用數(shù)據(jù)采集系統(tǒng)基于單片機的多道脈沖幅度分析儀研究機器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機控制系統(tǒng)基于單片機的控制系統(tǒng)在PLC虛擬教學(xué)實驗中的應(yīng)用研究基于單片機系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機的莫爾斯碼自動譯碼系統(tǒng)設(shè)計與研究基于單片機的模糊控制器在工業(yè)電阻爐上的應(yīng)用研究基于雙單片機沖床數(shù)控系統(tǒng)的研究與開發(fā)基于Cygnal單片機的μC/OS-Ⅱ的研究基于單片機的一體化智能差示掃描量熱儀系統(tǒng)研究基于TCP/IP協(xié)議的
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新型自動販賣機租賃與銷售代理合同
- 2025年度漁船租賃與漁業(yè)保險配套服務(wù)合同
- 二零二五年度購房合同簽訂后的房屋驗收與交付標(biāo)準(zhǔn)
- 2025年度舞蹈大賽參賽嘉賓演藝合同協(xié)議
- 2025年度商砼行業(yè)市場拓展與品牌建設(shè)合同
- 2025版家居床墊品牌代理銷售合作協(xié)議書3篇
- 二零二五年度污水處理廠污水處理設(shè)施運營與優(yōu)化管理合同
- 2025年度環(huán)保項目貸款用途監(jiān)管協(xié)議
- 2025年度智能家居設(shè)備試用反饋協(xié)議
- 2025年度中小企業(yè)發(fā)展銀行過橋墊資貸款合同
- 保險專題課件教學(xué)課件
- 牛津上海版小學(xué)英語一年級上冊同步練習(xí)試題(全冊)
- 室上性心動過速-醫(yī)學(xué)課件
- 建設(shè)工程法規(guī)及相關(guān)知識試題附答案
- 中小學(xué)心理健康教育課程標(biāo)準(zhǔn)
- 四年級上冊脫式計算400題及答案
- 新課標(biāo)人教版小學(xué)數(shù)學(xué)六年級下冊集體備課教學(xué)案全冊表格式
- 人教精通版三年級英語上冊各單元知識點匯總
- 教案:第三章 公共管理職能(《公共管理學(xué)》課程)
- 諾和關(guān)懷俱樂部對外介紹
- 保定市縣級地圖PPT可編輯矢量行政區(qū)劃(河北省)
評論
0/150
提交評論