版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
頁單片機課程設(shè)計報告基于51單片機的數(shù)字秒表設(shè)計專業(yè):通信工程目錄課程名稱………………1設(shè)計目的和意義………1任務(wù)要求………………1任務(wù)分析、設(shè)計方案…………………1具體實現(xiàn)過程…………9仿真、實驗驗證過程及實現(xiàn)結(jié)果、現(xiàn)象……………12結(jié)論……………………14總結(jié)與體會……………14課題名稱基于51單片的數(shù)字秒表設(shè)計目的和意義1、通過本次課程設(shè)計可以靈活運用單片機的基礎(chǔ)知識,依據(jù)課程設(shè)計內(nèi)容,能夠完成從硬件電路圖設(shè)計,到電路搭建焊接,再到軟件編程及系統(tǒng)調(diào)試實現(xiàn)系統(tǒng)功能,完成課程設(shè)計,加深對單片機基礎(chǔ)知識的理解,并靈活運用,將各門知識綜合應(yīng)用。
2、本次課程設(shè)計還可以通過上網(wǎng)查詢器件資料,培養(yǎng)對新知識新技術(shù)的獨立的學習能力和應(yīng)用能力。3、在這次課程設(shè)計中,我們運用到了很多一切所學的知識和一些很有用的軟件和工具,如keil4編程軟件、Proteus仿真軟件、Visio軟件、等。4、通過獨立完成一個小的數(shù)字秒表系統(tǒng)設(shè)計,從硬件設(shè)計到軟件設(shè)計,增強分析問題、解決問題的能力,為日后的畢業(yè)設(shè)計及科研工作奠定良好的基礎(chǔ)。5、掌握51單片機軟件編程知識、實現(xiàn)功能、設(shè)計方法,及KEIL軟件使用方法;6、應(yīng)用所學模擬電子線路的知識,掌握電路的設(shè)計與應(yīng)用;7、熟悉PROTEUS的設(shè)計與仿真;8、STC——ISP的使用方法;9、掌握焊接電子元器件的方法以及查閱元件功能與參數(shù)的方法、步驟。設(shè)計目標或任務(wù)要求1、設(shè)計目標以單片機為核心,設(shè)計數(shù)字秒表。通過硬件電路設(shè)計,軟件設(shè)計,電路搭建,作品調(diào)試。最后完成本次課程設(shè)計。2、設(shè)計要求1、計時范圍:0~59分59.59秒,整數(shù)四位數(shù)和小數(shù)兩位數(shù)顯示;2、計時精度10毫秒;3、復(fù)位按鈕,計時器清零,并做好下次及時準備;4、可以對三個對象(A、B)計時,具有啟/??刂?;5、設(shè)開始、停止A、停止B、顯示A、顯示B、復(fù)位按鈕。任務(wù)分析、設(shè)計方案任務(wù)分析數(shù)字電子秒表具有顯示直觀、讀取方便、精度高等優(yōu)點,在計時中廣泛使用。本設(shè)計用單片機組成數(shù)字電子秒表,力求結(jié)構(gòu)簡單、精度高為目標。設(shè)計中包括硬件電路的設(shè)計和系統(tǒng)程序的設(shè)計。其硬件電路主要有主控制器,計時與顯示電路和回零、啟動和停表電路等。主控制器采用單片機89C52顯示電路采用共陽極LED數(shù)碼管顯示計時時間。本設(shè)計利用89C52單片機的定時器/計數(shù)器定時和記數(shù)的原理,使其能精確計時。利用中斷系統(tǒng)使其能實現(xiàn)開始暫停的功能。P0口輸出段碼數(shù)據(jù),P2.0-P2.4口作列掃描輸出,P1.1、P3.2、P3.3、P2.5口接四個按鈕開關(guān),分別實現(xiàn)開始、暫停、清零和查看上次計時時間功能。電路原理圖設(shè)計最基本的要求是正確性,其次是布局合理,最后在正確性和布局合理的前提下力求美觀。硬件電路圖按照圖1.1進行設(shè)計。圖1.1數(shù)字秒表硬件電路基本原理圖計時采用定時器T0中斷完成,定時溢出中斷周期為1ms,當一處中斷后向CPU發(fā)出溢出中斷請求,每發(fā)出一次中斷請求就對毫秒計數(shù)單元進行加一,達到10次就對十毫秒位進行加一,依次類推,直到99.99秒重新復(fù)位。再看按鍵的處理。這四個鍵可以采用中斷的方法,也可以采用掃描的方法來識別。復(fù)位鍵和查看主要功能在于數(shù)值復(fù)位和查詢上次計時時間,對于時間的要求不是很嚴格。而開始和停止鍵則是用于對時間的鎖定,需要比較準確的控制。因此可以對復(fù)位和查看按鍵采取掃描的方式。而對開始和停止鍵采用外部中斷的方式。設(shè)計中包括硬件電路的設(shè)計和系統(tǒng)程序的設(shè)計。其硬件電路主要有主控制器,顯示電路和回零、啟動、查看、計次電路等。主控制器采用單片機89C52,顯示電路采用共陽極LED數(shù)碼管顯示計時時間,四個按鍵均采用觸點式按鍵。2、單片機的選擇本課題在選取單片機時,充分借鑒了許多成形產(chǎn)品使用單片機的經(jīng)驗,并根據(jù)自己的實際情況,選擇了stc公司的89C52。89C52單片機采用40引腳的雙列直插封裝方式。圖1.2為引腳排列圖,40條引腳說明如下:主電源引腳Vss和Vcc①Vss接地②Vcc正常操作時為+5伏電源外接晶振引腳XTAL1和XTAL2①XTAL1內(nèi)部振蕩電路反相放大器的輸入端,是外接晶體的一個引腳。當采用外部振蕩器時,此引腳接地。②XTAL2內(nèi)部振蕩電路反相放大器的輸出端。是外接晶體的另一端。當采用外部振蕩器時,此引腳接外部振蕩源。圖1.28051單片機引腳圖控制或與其它電源復(fù)用引腳RST/VPD,ALE/,和/Vpp輸入/輸出引腳P0.0-P0.7,P1.0-P1.7,P2.0-P2.7,P3.0-P3.7。①P0口(P0.0-P0.7)是一個8位漏極開路型雙向I/O口,在訪問外部存儲器時,它是分時傳送的低字節(jié)地址和數(shù)據(jù)總線,P0口能以吸收電流的方式驅(qū)動八個LSTTL負載。②P1口(P1.0-P1.7)是一個帶有內(nèi)部提升電阻的8位準雙向I/O口。能驅(qū)動(吸收或輸出電流)四個LSTTL負載。③P2口(P2.0-P2.7)是一個帶有內(nèi)部提升電阻的8位準雙向I/O口,在訪問外部存儲器時,它輸出高8位地址。P2口可以驅(qū)動(吸收或輸出電流)四個LSTTL負載。④P3口(P3.0-P3.7)是一個帶有內(nèi)部提升電阻的8位準雙向I/O口。能驅(qū)動(吸收或輸出電流)四個LSTTL負載。(1)運算器運算器的功能是進行算術(shù)運算和邏輯運算。可以對半字節(jié)(4位)、單字節(jié)等數(shù)據(jù)進行操作。(2)程序計數(shù)器PC程序計數(shù)器PC用來存放即將要執(zhí)行的指令地址,共16位,可對64K程序存儲器直接尋址。執(zhí)行指令時,PC內(nèi)容的低8位經(jīng)P0口輸出,高8位經(jīng)P2口輸出。(3)令寄存器指令寄存器中存放指令代碼。CPU執(zhí)行指令時,由程序存儲器中讀取的指令代碼送入指令寄存器,經(jīng)譯碼后由定時與控制電路發(fā)出相應(yīng)的控制信號,完成指令功能。3、顯示電路的選擇與設(shè)計對于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。本設(shè)計的顯示電路采用7段數(shù)碼管作為顯示介質(zhì)。數(shù)碼管顯示可以分為靜態(tài)顯示和動態(tài)顯示兩種。由于本設(shè)計需要采用五位數(shù)碼管顯示時間,如果靜態(tài)顯示則占用的口線多,硬件電路復(fù)雜。所以采用動態(tài)顯示。圖1.3顯示電路基本原理圖動態(tài)顯示是一位一位地輪流點亮各位\o"數(shù)碼管"數(shù)碼管,這種逐位點亮顯示器的方式稱為位掃描。通常各位\o"數(shù)碼管"數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個8位的I/O口控制;各位的公共陰極位選線由另外的I/O口線控制。動態(tài)方式顯示時,各\o"數(shù)碼管"數(shù)碼管分時輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時刻只選通一位\o"數(shù)碼管"數(shù)碼管,并送出相應(yīng)的段碼,在另一時刻選通另一位\o"數(shù)碼管"數(shù)碼管,并送出相應(yīng)的段碼,依此規(guī)律循環(huán),即可使各位\o"數(shù)碼管"數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同的時刻分別顯示,但由于人眼存在視覺暫留效應(yīng),只要每位顯示間隔足夠短就可以給人同時顯示的感覺。數(shù)碼顯示管分為共陽數(shù)碼管和共陰數(shù)碼管兩種共陽極數(shù)碼管的8個發(fā)光二極管的陽極(二極管正端)連接在一起,如圖1.4(b),通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動電路輸出端。當某段驅(qū)動電路的輸出端為低電平時,則該端所連接的字段導(dǎo)通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。圖1.4(a)數(shù)碼管引腳圖(b)共陽極內(nèi)部結(jié)構(gòu)圖(c)共陰極內(nèi)部結(jié)構(gòu)圖最大4、按鍵電路的選擇與設(shè)計本設(shè)計中有四個按鍵,分別實現(xiàn)開始、暫停、復(fù)位和計次功能。這四個鍵可以采用中斷的方法,也可以采用查詢的方法來識別。對于復(fù)位鍵和查看鍵,主要功能在于數(shù)值復(fù)位和對上次計時時間的查看,對于時間的要求不是很嚴格,而開始和暫停鍵主要用于時間的鎖定,需要比較準確的控制。因此可以考慮,對復(fù)位鍵和查看鍵采用查詢的方式,而對于開始和暫停鍵采用外部中斷。四個按鍵均采用低電平有效,具體電路連接圖如圖1.5所示。5、時鐘電路的選擇與設(shè)計單片機的時鐘信號用來提供單片機內(nèi)各種微操作的時間基準,8051片內(nèi)設(shè)有一個由反向放大器所構(gòu)成的振蕩電路,XTAL1和XTAL2分別為振蕩電路的輸入和輸出端,8051單片機的時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩方式與外部振蕩方式。外部方式的時鐘很少用,若要用時,只要將XTAL1接地,XTAL2接外部振蕩器就行。對外部振蕩信號無特殊要求,只要保證脈沖寬度,一般采用頻率低于11.05926MHz的方波信號。圖中,電容器C1
、C2起穩(wěn)定振蕩頻率、快速起振的作用,電容值一般為5~33pF。但在時鐘電路的實際應(yīng)用中一定要注意正確選擇其大小,并保證電路的對稱性,盡可能匹配,選用正牌的瓷片或云母電容,如果可能的話,溫度系數(shù)盡可能低。本設(shè)計中采用大小為30pF的電容和11.05926MHz的晶振。圖1.6內(nèi)部振蕩電路6、復(fù)位電路的選擇與設(shè)計當8051單片機的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個機器周期以上的高電平時,單片機就完成了復(fù)位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài),而無法執(zhí)行程序。因此要求單片機復(fù)位后能脫離復(fù)位狀態(tài)。而本系統(tǒng)選用的是11.05926MHz的晶振,因此一個機器周期為1.09μs,那么復(fù)位脈沖寬度最小應(yīng)為2.18μs。在實際應(yīng)用系統(tǒng)中,考慮到電源的穩(wěn)定時間,參數(shù)漂移,晶振穩(wěn)定時間以及復(fù)位的可靠性等因素,必須有足夠的余量。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位、手動復(fù)位。圖1.10單片機復(fù)位電路7、系統(tǒng)總電路的設(shè)計系統(tǒng)總電路由以上設(shè)計的顯示電路,時鐘電路,按鍵電路和復(fù)位電路組成,只要將單片機與以上各部分電路合理的連接就組成了系統(tǒng)總電路。系統(tǒng)總電路圖附錄B所示。8051單片機為主電路的核心部分,各個電路均和單片機相連接,由單片機統(tǒng)籌和協(xié)調(diào)各個電路的運行工作。8051單片機提供了XTAL1和XTAL2兩個專用引腳接晶振電路,因此只要將晶振電路接到兩個專用引腳即可為單片機提供時鐘脈沖,但在焊接晶振電路時要盡量使晶振電路靠近單片機,這樣可以為單片機提供穩(wěn)定的始終脈沖。復(fù)位電路同晶振電路,單片機設(shè)有一個專用的硬件復(fù)位接口,并設(shè)置為高電平有效。按鍵電路與單片機的端口連接可以由用戶自己設(shè)定,本設(shè)計中軟件復(fù)位鍵和查看鍵分別接單片機的P1.1和P2.5,均設(shè)為低電平有效。而另外的開始鍵和暫停鍵兩鍵使用了外部中斷,所以需要連接到單片機的特殊接口P3.3和P3.2,這兩個I/O口的第二功能分別為單片機的外部中斷1端口和外部中斷0端口。同樣設(shè)置為位低電平有效。顯示電路由五位數(shù)碼管組成,采用動態(tài)顯示方式,因此有8位段控制端和5位位控制端,八位段控制接P0口,P0.0~P0.7分別控制數(shù)碼顯示管的a、b、c、d、e、f、g、dp顯示,8051的P0口沒有集成上拉電阻,高電平的驅(qū)動能力很弱,所以需要接上拉電阻來提高P0的高電平驅(qū)動能力。五位位控制則由低位到高位分別接到P2.0~P2.4口,NPN三極管9013做為位控制端的開關(guān),當P2.0~P2.4端口任意一個端口為高電平時,與其相對應(yīng)的三極管就導(dǎo)通,對應(yīng)的數(shù)碼管導(dǎo)通顯示。通過以上設(shè)計已經(jīng)將各部分電路與單片機有機的結(jié)合到一起,硬件部分的設(shè)計以大功告成,剩下的部分就是對單片機的編程,使單片機按程序運行,實現(xiàn)數(shù)字電子秒表的全部功能。具體實現(xiàn)過程1、對數(shù)字秒表設(shè)計進行分析,敲定幾組方案;2、在PROTUES軟件中,畫電路圖,進行仿真、調(diào)試;3、對自己想要實現(xiàn)的秒表現(xiàn)象進行編程,運用KEIL軟件;并于Proteus聯(lián)調(diào)。4、調(diào)試過程中要不斷改進自己的方案;6、測試各個所需元件,STC89C52RC,數(shù)碼管。7、將方案敲定之后,對LED數(shù)字秒表進行焊接其中最主要的是對最小系統(tǒng)的焊接時非常關(guān)鍵的,在進行焊接數(shù)碼管時,很關(guān)鍵。8、將最小系統(tǒng)焊接好以后要用數(shù)字萬用表進行測試,首先要測試有沒有短接、斷接的地方,再將焊好的板子放在電源上進行加電,看電路板子是否正常工作。9、將最小系統(tǒng)板子與數(shù)碼管板子連在一個,通過USB口與電腦相連,打開串口助手,將KEIL軟件中的程序下載到單片機中,進行驗證。10、具體程序/*********************************************************文件名: 秒表.c*描述: 基于51單片機的數(shù)碼管數(shù)字秒表; 帶有指示燈,蜂鳴器,按鍵(啟動、清零、計次)*創(chuàng)建人: 羅宏*單位: 佳木斯大學信息電子技術(shù)學院電子協(xié)會*日期: 2014.6.26*開發(fā)環(huán)境: Keil4*郵箱: 744544126@*晶振: 11.05926MHZ*版本號: *********************************************************/#include<reg52.h>#defineuintunsignedint //宏定義無符號整型#defineucharunsignedchar //宏定義無符號字符型#defineDUAN (P0) //宏定義數(shù)碼管段代碼#defineWEI (P2) //宏定義數(shù)碼管位代碼sbitkeystart_stop= P3^2; //定義啟動/停止按鍵sbitkeyrest = P3^3; //定義復(fù)位/清零按鍵sbitkeyrecord = P3^4; //定義計數(shù)/存儲按鍵sbitkeydispaly = P3^5; //定義計數(shù)/顯示按鍵sbitbeep = P3^6; //定義蜂鳴器sbitled = P3^7; //定義ucharx,msec5,msec10,second,minute; //時間變量ucharmsec,sec,min; //顯示變量ucharcodetable1[]={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90}; //共陽數(shù)碼管數(shù)組不帶點顯示ucharcodetable2[]={0x40,0x79,0x24,0x30, 0x19,0x12,0x02,0x58,0x00,0x10}; //共陽數(shù)碼管帶點顯示/********************************函數(shù)名稱:延時函數(shù)delay功能:延時指定毫秒?yún)?shù):ucharx返回值:無********************************/voiddelay(ucharx){ uintb,c; for(b=x;b>0;b--) for(c=110;c>0;c--);}/********************************函數(shù)名稱:定時器初始化函數(shù)time_init(void)功能:定時器初始化參數(shù):無返回值:無*********************************/voidtime_init(void){ msec5=0; TMOD=0x01; TH0=(65536-9174)/256; TL0=(65536-9174)%256; ET0=1; TR0=1; EA=1; }/********************************函數(shù)名稱:顯示函數(shù)display()功能:數(shù)碼管顯示參數(shù):ucharmsec,ucharsec,ucharmin返回值:無*********************************/voiddisplay(ucharmsec,ucharsec,ucharmin){ DUAN=table1[(msec%10)%10];//0.01秒5.64%10=64%10=0.04 WEI=0x01; delay(2); WEI=0x00; DUAN=table1[(msec/10)%10];//0.1秒5.64/10=56%10=0.6 WEI=0x02; delay(2); WEI=0x00; DUAN=table2[(sec%10)];//1秒 564%10=6 WEI=0x04; delay(2); WEI=0x00; DUAN=table1[(sec/10)];//10秒 564/10=56%10=6 WEI=0x08; delay(2); WEI=0x00; DUAN=table1[(min%10)];//1分 564/10=56%10=6 WEI=0x10; delay(2); WEI=0x00; DUAN=table1[(min/10)];//10分 564/10=56%10=6 WEI=0x20; delay(2); WEI=0x00;}/********************************函數(shù)名稱:蜂鳴器函數(shù)功能:蜂鳴器發(fā)聲參數(shù):無返回值:無*********************************/voidbeep_led(){ beep=0; delay(600); beep=1; delay(600); led=0; delay(600); led=1;}/********************************函數(shù)名稱:按鍵函數(shù)功能:調(diào)試按鍵的函數(shù)參數(shù):無返回值:無*********************************/voidkeys(){ if(keystart_stop==0) { delay(5); if(keystart_stop==0) TR0=~TR0; beep_led(); while(!keystart_stop); } if(keyrest==0) { delay(5); if(keyrest==0) TR0=0; msec5=0; msec10=0, second=0; minute=0; beep_led(); while(!keyrest); }}/********************************函數(shù)名稱:主函數(shù)功能:參數(shù):無返回值:*********************************/voidmain(){ucharjishu=0;ucharflag=0;ucharmsec1=0,sec1=0,min1=0;ucharmsec2=0,sec2=0,min2=0;time_init();while(1){ keys();//鍵盤的掃描函數(shù)一定要放在while循環(huán)里邊 msec=msec10; sec=second; min=minute; if(flag==1) { display(msec1,sec1,min1); } elseif(flag==0) { display(msec,sec,min); } else { display(msec2,sec2,min2); } if(keyrecord==0) { delay(5); if(keyrecord==0) { beep_led(); jishu++; if(jishu>2) { jishu=0; } elseif(jishu==1) { msec1=msec10; sec1=second; min1=minute; } elseif(jishu==2) { msec2=msec10; sec2=second; min2=minute; } } while(!keyrecord); } if(keydispaly==0) { delay(5); if(keydispaly==0) { beep_led() ; flag++; if(flag>2) flag=0; } while(!keydispaly); } }}/**********************************函數(shù)名稱:中斷函數(shù)功能:參數(shù):無返回值:***********************************/voidtimer0()interrupt1{TH0=(65536-9174)/256; TL0=(65536-9174)%256; msec10++; // msec10加一次等于10ms if(msec10==100) // j=100為1s { msec10=0; second++; if(second==60) //second=60為1minute { second=0; minute++; if(minute==60) //minute=60為1hour { minute=0; } }} }仿真、實驗驗證過程及實現(xiàn)結(jié)果、現(xiàn)象結(jié)論本設(shè)計的數(shù)字電子秒表系統(tǒng)采用89C52單片機為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及外部中斷電路來設(shè)計計時器。將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)八位LED顯示,顯示時間為0~59分59.59秒,計時精度為0.01秒,能正確地進行計時,同時能記錄兩次時間,并在計時后對上一次計時時間進行查詢。其中軟件系統(tǒng)采用C語言編寫程序,包括顯示程序,定時中斷服務(wù),延時程序,按鍵掃描程序等,并在keil4中調(diào)試運行,硬件系統(tǒng)利用PROTEUS強大的功能來實現(xiàn),簡單切易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)。八、總結(jié)(體會)開始做設(shè)計的時候總是會犯一些錯誤,只有經(jīng)過不停的改錯,不斷地編譯得到正確的程序,說明作為一名編程人員是不能粗心大意的,一個程序的質(zhì)量的高低與你的細心與否有著很大的聯(lián)系,在編程時,我充分地使用了結(jié)構(gòu)化的思想,這樣程序檢查起來也比較方便,調(diào)試時也會方便很多。只要一個模塊一個模塊的進行調(diào)試就可以了,充分體現(xiàn)了結(jié)構(gòu)化編程的優(yōu)勢。在設(shè)計中要求我要有耐心和毅力,細心是最重要的,稍有不慎,一個小小的錯誤就會導(dǎo)致結(jié)果的不正確,而對錯誤的檢查要有足夠的耐心,通過這次設(shè)計和設(shè)計中遇到的問題,我也積累了一定的經(jīng)驗。為了能完成這次設(shè)計,我還復(fù)習了《數(shù)字電子技術(shù)》、《模擬電子技術(shù)》、《微機接口技術(shù)》、《單片機技術(shù)》、《C語言》。通過這次單片機課程設(shè)計,我了解到自己在單片機方面還有很多不足,特別是單片機指令系統(tǒng)及stc89C52單片機各引腳的第二功能等等知識不夠了解.因此我在設(shè)計中遇到不懂的東西就馬上查資料或請教同學.這不僅加深了我對單片機理論的理解,將理論很好地應(yīng)用到實際當中去,而且我還學會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新可以是在原有的基礎(chǔ)上進行改進,使之功能不斷完善,成為自己的東西。畢業(yè)論文任務(wù)書課題名稱基于單片機原理的波形發(fā)生器指導(dǎo)教師姓名工作單位廣西民族大學信息科學與工程學院一、主要內(nèi)容:利用單片機80C51采用程序設(shè)計方法產(chǎn)生方波、三角波、正弦波、鋸齒波四種波形,再通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大,最終由示波器顯示出來,能產(chǎn)100Hz-20KHz的波形。通過鍵盤來控制四種波形的選擇、頻率選擇,并通過LED顯示其當前的頻率。二、基本要求(基本技術(shù)要求與數(shù)據(jù))1.熟悉匯編語言的語法和結(jié)構(gòu),學會應(yīng)用匯編語言編寫一些簡單的源程序。
2.熟悉PROTEUS軟件的基本功能,學會應(yīng)用PROTEUS軟件仿真一些簡單的程序。
3.設(shè)計一個利用單片機80C51采用程序設(shè)計方法產(chǎn)生方波、三角波、正弦波、鋸齒波四種波形,再通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大,最終由示波器顯示出來,能產(chǎn)100Hz-20KHz的波形。通過鍵盤來控制四種波形的類型選擇、頻率變化,并通過LED顯示其各自的頻率。
4.用匯編語言編寫本系統(tǒng)的源程序,并用PROTEUS軟件進行仿真,模擬各功能模塊的實現(xiàn)。
5.按時完成開題報告、論文報告。三、論文(設(shè)計)工作起始日期:自20年12月1日起,至20年12月11日四、進度與應(yīng)完成的工作:五、主要參考文獻、資料[1]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)〔M〕.北京:高等教育出版社,2003.345-362[2]潘永雄,沙河,劉向陽.電子線路CAD實用教程〔M〕.西安:西安電子科技大學出版社,2001.13-118.[3]張毅剛,彭喜源,譚曉昀,曲春波.MCS-51單片機應(yīng)用設(shè)計[M].哈爾濱:哈爾濱工業(yè)大學出版社,1997.53-61目錄摘要…………...1一、題目要求及分析……….3二、總體系統(tǒng)方案設(shè)計…….42.1總體設(shè)計思路………….52.2總體框圖………………..52.3信號發(fā)生部分…………..52.4顯示部分………………..62.5按鍵部分…6三、硬件電路……………73.1功能與基本原理……….73.2資源分配……………….83.3波形轉(zhuǎn)換(D/A)電路………………..93.4紅外電路………………103.5復(fù)位電路……………….113.6外部時鐘電路………….123.7LCD顯示部分電路…………………….133.8電源部分……………133.9獨立按鍵部分………….143.10串口通信模塊………...14四、軟件設(shè)計………………..154.1程序流程圖……………154.2LCD顯示流程圖………16五、系統(tǒng)仿真…………………..175.1仿真電路圖……………175.2輸出波形圖……………17六、硬件和軟件測試…………..196.1硬件調(diào)試………………196.2軟件調(diào)試………………19七、設(shè)計心得…………………..20八、參考文獻…………………..21九、致謝………..22十、附件………..23基于單片機原理的波形發(fā)生器摘要:本系統(tǒng)采用單片機C8051為控制核心,輸出數(shù)字量,然后由DAC0832把數(shù)字量轉(zhuǎn)換成模擬量;但是輸出的是電流,需要用運放(OP07),把電流轉(zhuǎn)換成電壓量。顯示利用的是LCD1602的液晶,顯示其波形,幅值。按鍵應(yīng)用的是獨立按鍵,用來波形的切換,幅值,頻率的調(diào)解。其運算核心,我們通過MATLAB對正弦波,三角板,正弦波進行采樣,得到一組組數(shù)據(jù),然后同過數(shù)組存儲;利用中斷對數(shù)組進行掃描。其頻率的調(diào)解就是調(diào)節(jié)其中斷間隔的時間,幅值就是調(diào)節(jié)其數(shù)字的大?。ㄍ瑫r乘以某個小于1的數(shù))。為了波形的合成,我們采用的點的個數(shù)都是20個。關(guān)鍵詞:AT-89C51DAC0832獨立按鍵OP07TheDesignofWaveformGeneratorBasedon51Abstract:Thissystemadoptssingle-chipC8051asthecontrolcore,digitaloutput,andthenbyDAC0832convertdigitaltoanalog;Buttheoutputiscurrent,theneedtouseoperationalamplifier(OP07),theamountofcurrentintoavoltage.DisplayusingtheLCD1602LCD,displaythewaveformamplitude.Keyapplicationsisindependent,switchtowaveform,amplitude,frequencyofmediation.Itscoreoperation,weuseMATLABtosinewave,triangle,thesinewavesamples,groupsofdata,andthenwithanarrayofstorage;Usingtheinterruptforscanningarray.Thefrequencyofmediationistoadjustoneintervaltime,amplitudeisadjustingthesizeofitsdigital(multipliedbyacertainnumberoflessthan1)atthesametime.Forthewaveformsynthesis,weadoptthenumberofpointsis20.Keywords:AT-89C51DAC0832SeparatebuttonOP07一、題目要求及分析設(shè)計任務(wù):設(shè)計制作一個波形發(fā)生器,該波形發(fā)生器能產(chǎn)生正弦波、方波、三角波和由用戶編輯的特定形狀波形。示意圖如下:圖1設(shè)計要求圖設(shè)計要求:1.具有產(chǎn)生正弦波、方波、三角波三種周期性波形的功能;2.用鍵盤輸入編輯生成上述三種波形(同周期)的線性組合波形,以及由基波及其諧波(5次以下)線性組合的波形。3.具有波形存儲功能。4.輸出波形的頻率范圍為100Hz~20kHz(非正弦波頻率按10次諧波計算);重復(fù)頻率可調(diào),頻率步進間隔≤100Hz。5.輸出波形幅度范圍O~5V(峰—峰值),可按步進0.1V(峰—峰值)調(diào)整。6.具有顯示輸出波形的類型、重復(fù)頻率(周期)和幅度的功能。7.增加紅外配置功能(串口配置程序或其他方式)二、總體系統(tǒng)方案設(shè)計題目要求實現(xiàn)的任務(wù)是設(shè)計并制作一個函數(shù)信號發(fā)生器,能夠產(chǎn)生正弦波、方波、三角波,要求不用DDS和專用的波形產(chǎn)生芯片,頻率范圍在1Hz~1MHZ可調(diào),在頻率范圍為1HZ~10KHz時,步進不大于10Hz在頻率范圍為10KHz~1MHz時,步進不大于100Hz,并且電壓范圍在0~5V可調(diào),步進為0.1V,能夠?qū)崟r的顯示波形的類型及其頻率和幅值?,F(xiàn)在對以下方案進論證和驗證。2.1總體設(shè)計思路根據(jù)題目的要求,經(jīng)過仔細的考慮各種要素,制定了整體方案:以AT89C51單片機為控制核心,P0口接DAC0832信號輸入并進行數(shù)模轉(zhuǎn)換,P1口接矩陣鍵盤,P2口接液晶顯示器LCD1602,由程序控制P0口產(chǎn)生波形(分別是正弦波、方波、三角波),再由按鍵及按鍵次數(shù)控制產(chǎn)生波形的種類及頻率和幅值在一定范圍內(nèi)可調(diào),并且能夠按任意鍵實現(xiàn)波形頻率和幅值的設(shè)定(不通過步進按鍵設(shè)定來控制)。由運放OP07實現(xiàn)DAC0832輸出電流到電壓的轉(zhuǎn)換,即實現(xiàn)數(shù)字信號到模擬信號的轉(zhuǎn)換。在LCD上實時的顯示波形的頻率和幅值,波形在示波器上產(chǎn)生。其波形的存儲方式,我們通過按鍵確定,一旦按鍵按下后,就把當時的波形對應(yīng)的參數(shù)存儲起來,例如幅度值,頻率值等參數(shù)。波形的合成:為了波形的合成,我們在采樣的時候,對正弦波,三角波,方波都只取樂20個點;因為點越少,其頻率達到的值就會越大;合成時就是對幅值點進行一個疊加后賦給DAC0832輸出一組波形。紅外,通過外部中斷高低電平的延時的時間來進行解碼。2.2總體框圖本系統(tǒng)總體框圖如圖2所示:圖2系統(tǒng)總體框圖2.3信號發(fā)生部分方案一:采用模擬分立元件或單片壓控函數(shù)發(fā)生器,可以產(chǎn)生正弦波、方波、三角波,通過調(diào)整外部元件可以改變輸出頻率,但采用模擬元器件由于元件分散性太大,因而產(chǎn)生頻率穩(wěn)定性較差,精度低,地抗干擾能力低,成本高,而且靈活心性較差,不能實現(xiàn)任意波形以及波形運算輸出等智能化的功能。方案二:采用鎖相式頻率合成方案,鎖相式頻率合成一個高穩(wěn)定度和精確度的大量離散技術(shù),他在一定程度上解決了既要頻率穩(wěn)定精確又要頻率在較大的范圍內(nèi)可調(diào)的矛盾,但是頻率受VCO可便頻率范圍的影響,高低頻率比不可能做的很高,而且只能產(chǎn)生正弦波或方波,不能滿足任意波形的要求。方案三:采用單片機和數(shù)模轉(zhuǎn)換DAC0832實現(xiàn)波形的產(chǎn)生。波形的產(chǎn)生是通過AT89C51執(zhí)行方波波形程序,向D/A轉(zhuǎn)換器的輸入端按一定的規(guī)律發(fā)生數(shù)據(jù),從而在DA轉(zhuǎn)換電路輸出端得到相應(yīng)的電壓波形。在AT89C51的P1口接矩陣按鍵,通過軟件編程來選擇波形、幅值、頻率,每種波形對應(yīng)一個按鍵,此方案原理簡單,實現(xiàn)起來比較容易。經(jīng)比較,方案三能夠更好的實現(xiàn)題目的要求,三種波形的產(chǎn)生可有程序控制,并通過按鍵選擇波形的輸出,在示波器上顯示波形。波形的周期與頻率步進也可以用程序控制,具有線路簡單、結(jié)構(gòu)緊湊等優(yōu)點。在本設(shè)計的基礎(chǔ)上,加上LCD顯示器,則可以通過按鍵設(shè)定波形頻率,并在LCD顯示頻率、幅值電壓。輸出的波形穩(wěn)定,精度高,濾波好,抗干擾效果好,連接簡單,性價比高。綜上所述,我們選擇第三種方案。2.4顯示部分方案一:數(shù)碼管顯示,由于本題要求實時的顯示輸出信號的幅度、頻率,而數(shù)字不能顯示字符。方案二:LED點陣顯示,LED點陣顯示雖然能夠顯示數(shù)字和字符,但是顯示的效果不好,而且不易編程。方案三:LCD液晶顯示,LCD液晶顯示不但能顯示字符和數(shù)字,而且效果較好,且容易實現(xiàn)。2.5按鍵部分方案一:采用獨立按鍵,他的按鍵的數(shù)目比少,但是它的結(jié)構(gòu)簡單,方便操作,執(zhí)行效率高等優(yōu)勢。方案二:采用矩陣鍵盤,它以較少得IO口實現(xiàn)了按鍵的功能,隨之其操作比較復(fù)雜。經(jīng)對比,由于我們需求的按鍵比較少,但是對執(zhí)行的效率比較高,所以采用獨立按鍵。三、硬件電路本系統(tǒng)由單片機、波形轉(zhuǎn)換(D/A)電路、顯示接口電路、鍵盤電路、電源電路、串口電路等六部分組成。電路圖如圖3.1所示:圖3硬件電路原理圖3.1功能與基本原理功能:形成掃描碼、鍵值識別、案件處理、參數(shù)設(shè)置、字符設(shè)置等形成液晶顯示波形的類型及頻率和幅值;通過定時器0產(chǎn)生定時中斷,形成波形的數(shù)字編碼,并輸出到D/A接口電路和顯示驅(qū)動電路。AT89C51外接12M晶振作為時鐘頻率,并采用電源復(fù)位設(shè)計。復(fù)位電路采用上電復(fù)位,其工作原理是,當通電時,電容兩端相當于短路,于是TST引腳為高電平,然后對電容充電。RST端電壓慢慢下降,降到一定程度,即為低電平,單片機開始工作。產(chǎn)生方波程序思路:對于小于100Hz的頻率,根據(jù)定時器溢出時間1us,將頻率值換算為定時器溢出次數(shù),當達到規(guī)定的次數(shù)時,將輸出管腳的狀態(tài)取反達到方波的產(chǎn)生;對于大于100HZ的頻率,直接根據(jù)頻率值設(shè)置其定時溢出的時間,當溢出時間達到時,將輸出管腳取反達到方波的產(chǎn)生。產(chǎn)生三角波程序思路:要產(chǎn)生峰值電壓為5V的三角波,一個周期需要定時510次,由此便可以計算出每次定時溢出的時間,再將每次定時的電壓加權(quán)便可以達到三角波的波形;產(chǎn)生正弦波程序思路:給正弦波的一個周期設(shè)定table表,由20個數(shù)據(jù),相當于每個周期定時255次,則每次定時溢出的時間便可計算出,每個點的電壓加權(quán)便可得到正弦波的電壓,即,形成正弦波。3.2資源分配軟、硬件設(shè)計是比不可少的,為了滿足功能和指標的要求,資源分配為:單片機用12MHz晶振,P0口與DAC0832相連;P1口接矩陣按鍵,實現(xiàn)頻率、幅值以及波形的選擇;P2口接LCD1602液晶顯示器,實時顯示波形的頻率、幅值、類型。3.2.1顯示接口電路功能:驅(qū)動LCD液晶顯示、掃描按鈕。由LCD1602液晶顯示器和矩陣按鍵組成。當某一按鍵按下時,掃描程序掃描到之后,通過P2口將數(shù)字信號發(fā)送到LCD1602,LCD1602液晶專門用于顯示字母、數(shù)字、符號等點陣式LCD,其外接電壓時5V。掃描利用軟件程序?qū)崿F(xiàn),當某一按鍵按下時,掃描立即檢測到,隨即調(diào)用子程序,執(zhí)行相應(yīng)的功能。其與單片機連接如圖4所示:圖4顯示部分電路圖3.3波形轉(zhuǎn)換(D/A)電路功能:將波形樣值得編碼轉(zhuǎn)換成模擬值,完成波形的輸出。由一片DAC0832和LF356運放組成。DAC0832是一個具有兩個輸入數(shù)據(jù)寄存器的8位DAC。目前生產(chǎn)的DAC芯片分為兩類,一類芯片內(nèi)部設(shè)置有數(shù)據(jù)寄存器,不需要外加電路就可以直接與微型計算機接口。另一類芯片內(nèi)沒有數(shù)據(jù)寄存器,輸出信號隨數(shù)據(jù)輸入線的狀態(tài)的變化而變化,因此不能直接與微型計算機接口,必須通過并行口與微型計算機接口。DAC0832是具有20條引線的雙列直插式CMOS器件,它內(nèi)部具有兩級數(shù)據(jù)寄存器,完成8位電流D/A轉(zhuǎn)換,股不需要外加電路。DAC0832是電流輸出型,示波器上顯示波形,通常需要電壓信號,電流信號到電壓信號的轉(zhuǎn)換可以用運算放大器LF356實現(xiàn)。單片機想DAC0832發(fā)送數(shù)字編碼,產(chǎn)生不同的輸出。先利用采樣定理對各種波形進行抽樣,然后把各種采樣值進行編碼,收到的數(shù)字量存入各個波形表,執(zhí)行程序時通過查表的方法依次取出,經(jīng)過D/A轉(zhuǎn)換后輸出就可以得到波形。假如N個點構(gòu)成波形的一個周期,則DAC0832輸出N個樣點值后,樣值點形成運動軌跡,即,一個周期。重復(fù)輸出N個點后,成為第二個周期。利用單片機的晶振控制輸出周期的速度,也就是控制輸出的波形的頻率。這樣就控制了輸出波形的及其幅值和頻率,例如:正弦波,取20個樣值點。具體連接的電路圖如圖5所示:圖5D/A轉(zhuǎn)換的電路連接圖3.4紅外電路圖6紅外電路紅外的工作原理:51單片機對遙控的解碼和我們前面所講的串口并口通信不同,他不是單純的用高電平代表1,低電平代表0。這一點大家要從思想上面轉(zhuǎn)變過來。他是發(fā)送一連串的數(shù)據(jù)幀,這個數(shù)據(jù)幀就是一連串的二進制代碼,單片機通過區(qū)分高電平的持續(xù)時間來區(qū)別紅外編碼的。我們就以HC6800單片機上的紅外接頭為例來說明,當高電平的脈沖寬度為1.12ms的時候單片機認為它為0,當高電平的脈沖寬度為2.25的時候單片機認為它為1。單片機是通過判斷脈沖的寬度來得到信息位為0還是為1的。當我們按下遙控器的按鍵時,遙控器將發(fā)出如圖2的一串二進制代碼,我們稱它為一幀數(shù)據(jù)。根據(jù)各部分的功能??蓪⑺鼈兎譃?部分,分別為引導(dǎo)碼、地址碼、地址碼、數(shù)據(jù)碼、數(shù)據(jù)反碼。遙控器發(fā)射代碼時.均是低位在前。高位在后。由圖2分析可以得到.引導(dǎo)碼高電平為4.5ms,低電平為4.5ms。當接收到此碼時.表示一幀數(shù)據(jù)的開始。單片機可以準備接收下面的數(shù)據(jù)。地址碼由8位二進制組成,共256種.圖中地址碼重發(fā)了一次。主要是加強遙控器的可靠性.如果兩次地址碼不相同.則說明本幀數(shù)據(jù)有錯.應(yīng)丟棄。不同的設(shè)備可以擁有不同的地址碼.因此。同種編碼的遙控器只要設(shè)置地址碼不同,也不會相互干擾。。在同一個遙控器中.所有按鍵發(fā)出的地址碼都是相同的。數(shù)據(jù)碼為8位,可編碼256種狀態(tài),代表實際所按下的鍵。數(shù)據(jù)反碼是數(shù)據(jù)碼的各位求反,通過比較數(shù)據(jù)碼與數(shù)據(jù)反碼.可判斷接收到的數(shù)據(jù)是否正確。如果數(shù)據(jù)碼與數(shù)據(jù)反碼之間的關(guān)系不滿足相反的關(guān)系.則本次遙控接收有誤.數(shù)據(jù)應(yīng)丟棄。在同一個遙控器上.所有按鍵的數(shù)據(jù)碼均不相同。在圖2中,數(shù)據(jù)碼為十六進制的0CH,數(shù)據(jù)反碼為十六進制的0F3H(注意低位在前).兩者之和應(yīng)為0FFH。3.5復(fù)位電路這種復(fù)位電路的工作原理是:單片機的復(fù)位電路在剛接通電時,剛開始電容是沒有電的,電容內(nèi)的電阻很低,通電后,5V的電通過電阻給電容進行充電,電容兩端的電會由0V慢慢的升到4V左右(此時間很短一般小于0.3秒),RC構(gòu)成的微分電路在上電瞬間產(chǎn)生一個微分脈沖,其寬度大于兩個機器周期,89C51將復(fù)位。正因為這樣,復(fù)位腳的電由低電位升到高電位,引起了內(nèi)部電路的復(fù)位工作,RST端電壓慢慢下降,降到一定電壓值以后,即為低電平,單片機開始正常工作(這是單片機的上電復(fù)位,也叫初始化復(fù)位);當按下復(fù)位鍵時,電容兩端放電,電容又回到0V了,于是又進行了一次復(fù)位工作(這是手動復(fù)位原理)。圖7復(fù)位電路3.6外部時鐘電路圖3采用11.0592MHz的晶振和兩個22pf的電容組成時鐘電路部分圖8外部時鐘電路3.7LCD顯示部分電路為了節(jié)約成本,采用1602來作為顯示器,用獨立按鍵來控制不同的顯示,能完成基本的顯示功能。圖9LCD液晶顯示電路3.8電源部分本電源設(shè)計了兩個接口,方便不同接口的電源接入,并且在電源部分加上濾波電容,起過濾接入電源的雜波的作用,為了電路中得到+12V、-12V和+5V的直流工作電壓,用變壓器變壓后再通過芯片和電容設(shè)計出所需要的電路。圖10電源電路3.9獨立按鍵部分圖八為用獨立按鍵來控制不同的輸出波形圖11獨立按鍵3.10串口通信模塊圖中通過MAX232進行TTL電平和232電平轉(zhuǎn)換,從而單片機和上位機之間通信提供通道。圖12串口通信電路通信電路的目的就是讓通信雙發(fā)的電平匹配,單片機用的是TTL電平,上位機的串口用的是232電平。TTL電平的邏輯1的電壓范圍是+3.3V到+5V,邏輯0的電壓范圍是0到+3.3V;232電平的邏輯1的電壓范圍是-15V到-5V,邏輯0的電壓范圍是+5V到+15V。因此設(shè)計串口通信電路就是讓這兩種電平統(tǒng)一。四、軟件設(shè)計主程序和子程序都存放在AT89C51單片機中。主程序的功能是:開機以后負責查鍵,即做出鍵盤掃描及顯示工作,然后根據(jù)用戶所按的鍵轉(zhuǎn)到相應(yīng)的子程序進行處理。子程序的功能有:延時子程序、中斷程序、顯示子程序、按鍵子程序,按鍵子程序中有任意頻率的設(shè)置的數(shù)字鍵(0~9)及確定鍵、幅值和頻率的加和減鍵、幅值頻率的轉(zhuǎn)換鍵、波形的轉(zhuǎn)換鍵等共15個鍵。主程序的流程圖如圖4.1所示:完成全部硬件和軟件過后,將程序下載到單片機中進行測試,通過反復(fù)測試,反復(fù)的修改函數(shù)的功能,同時完善硬件的功能,使系統(tǒng)達到最優(yōu)控制。4.1程序流程圖圖13程序流程圖4.2LCD顯示流程圖圖14LCD顯示框圖五、系統(tǒng)仿真5.1仿真電路圖通過Proteus軟件和電路原理圖繪制出如下仿真電路圖,對程序和電路功能進行測試圖15proteus仿真電路圖5.2輸出波形圖將編寫好的程序下載到單片機中進行仿真,通過反復(fù)測試,反復(fù)的修改函數(shù)的功能,使系統(tǒng)輸出如下波形:圖16正弦波圖17方波圖18三角波圖19正弦波、方波、三角波三種波形疊加后的波形六、硬件和軟件測試6.1硬件調(diào)試整個硬件調(diào)試過程基本順利,由于采用了分單元模塊制作,各個單元電路工作穩(wěn)定,給調(diào)試工作帶來很大的方便。放大模塊部分在實物模擬時,出現(xiàn)發(fā)送信號不穩(wěn)定、跳變的問題,經(jīng)過仔細的檢查,電路連線路勁和線路連接問題,最終發(fā)現(xiàn)電路連接是出現(xiàn)連接未牢固的問題,從而得以解決。6.2軟件調(diào)試雖然對于單片機的變成較熟悉,但是還存在一些問題,主要有以下問題:(1)在寫調(diào)幅值的程序時,按照自己的想法寫好,下載帶單片機中,發(fā)現(xiàn),每按一次鍵,幅值一次性增大到5V或者一次性減為0V,經(jīng)過對程序的分析得知,當按下鍵時,程序循環(huán)很多次,為次添加一條鍵按下時死循環(huán)的語句使每次按下鍵幅值加一次后的只保持住,從而解決了問題。(2)當幅值和顯示調(diào)試成功后,寫調(diào)頻程序時,在硬件電路中調(diào)試時發(fā)現(xiàn),三種波形融合到一起出現(xiàn),在經(jīng)過添加定時器中斷的方法,結(jié)果使P0口不能夠輸出模擬信號,經(jīng)過努力,最后終于解決了這個問題。(3)由于AT89C51本身性能的問題,而且硬件方面又沒有用倍頻電路,產(chǎn)生的三角波和方波的頻率沒有達到1MHz,只達到2KHz,但是方波達到了1MHz。七、設(shè)計心得本次課程設(shè)計,我系統(tǒng)電路的主要設(shè)計,在做課程設(shè)計的時間了我學到了很多東西,總的來說有如下收獲:(1)通過對電路的設(shè)計,對51系列單片機的原理和功能有了進一步的了解,學到了更多的電路知識,如復(fù)位電路的原理,晶振電路的作用,旁路電容的作用,上拉電阻的功能,串口通信電路,熟悉了ULN2003芯片的原理和功能,認識了溫濕度傳感器DHT21,并且能對其進行應(yīng)用。(2)通過原理圖和PCB圖的繪制,學會了AltumDesigner軟件的使用,并且能用它完成一些簡單的電路設(shè)計,并且對元器件的封裝有了一定的了解和認識。(3)通過元器件的購買和電路板的焊接,增強了自身的實踐動手能力,對電路原理的應(yīng)用有了更深刻的認識。(4)在測試階段,尤其是在硬件電路的檢查階段,有很深的體會,有時候一個簡單的錯誤就有可能造成電路無法正常工作,通過找錯排錯,更加熟悉了電路的原理和51單片機的工作原理。(5)通過本次課程設(shè)計,我更加深刻的認識到團隊合作的重要性,小組成員分工合作,是設(shè)計成功的關(guān)鍵,只有大家團結(jié)一致,才能更快更好的完成任務(wù),但是從本課程設(shè)計中,我也看到了自身還存在許多不足,在實踐動手能力方面比較弱,對一些電路知識掌握得不是很好。八、參考文獻[1]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)〔M〕.北京:高等教育出版社,2003.345-362[2]潘永雄,沙河,劉向陽.電子線路CAD實用教程〔M〕.西安:西安電子科技大學出版社,2001.13-118.[3]張毅剛,彭喜源,譚曉昀,曲春波.MCS-51單片機應(yīng)用設(shè)計[M].哈爾濱:哈爾濱工業(yè)大學出版社,1997.53-61九、致謝本次畢業(yè)設(shè)計共歷時兩個多月的時間,在各位老師和同學們的關(guān)心幫助下才得以順利完成。在這段時間里,不僅大大提高了我的實踐經(jīng)驗,也使我學到了許多書本上不曾接觸的只是,開拓了視野,增廣了知識面,醉重要的是學會了如何利用信息資源幫助自己尋早資料,提高了自己的徐學能力。我對本課題的內(nèi)容本來知道的很少,經(jīng)過了這次的學習和知道老師的悉心教導(dǎo),現(xiàn)在已經(jīng)對它有了深刻的認識,雖然無法達到專業(yè)水平,但也是有了巨大的收獲,感覺自己受益匪淺。在論文完成之際,我首先謹向在我做畢業(yè)設(shè)計期間給予我無微不至的關(guān)懷、誨人不倦的老師致以崇高的敬意和真誠的謝意;起床對朝夕相處的同學和在畢業(yè)設(shè)計期間給予我支持和幫助的朋友送上我深深的謝意!十、附件源代碼JUCHI EQU 50H SANJI EQU 51H FANGB EQU 52H TIXIN EQU 53H KU EQU 55H ORG 0000H ;程序入口 AJMP MAIN ;指向主程序 ORG 0003H ;主程序入口地址 AJMP INTT0 ;指向按鍵中斷程序 ORG 0030H ;中斷程序入口地址MAIN: ;主程序 MOV P2,#00H ;將P2口初始化為0 SETB EA ;開總中斷 SETB EX0 ;開啟外部中斷0 SETB IT0 ;將外部中斷0設(shè)置為下降沿有效 MOV DPTR,#00FFH ;設(shè)置輸入寄存器地址 MOV JUCHI,#00H ;初始化 MOV SANJI,#00H MOV FANGB,#00H MOV TIXIN,#00H;***************************************************START: MOV A,KU ;將鍵碼送累加器ACJNE A,#00H,W1 ;將累加器A和00H比較,如果相等,則00鍵按下順序執(zhí)行,否則跳到W1再判斷01鍵是否按下 MOV SANJI,#00H ;屏蔽其他波形 MOV FANGB,#00H MOV TIXIN,#00H AJMP JCB ;跳轉(zhuǎn)到鋸齒波形 W1:CJNE A,#01H,W2 ;判斷01鍵是否按下 MOV JUCHI,#00H ;屏蔽其他波形 MOV FANGB,#00H MOV TIXIN,#00H AJMP SJB ;跳轉(zhuǎn)到三角波形W2:CJNE A,#02H,W3 ;判斷02鍵是否按下 MOV TIXIN,#00H MOV JUCHI,#00
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國智能門鎖行業(yè)營銷創(chuàng)新戰(zhàn)略制定與實施研究報告
- 新形勢下汽車服務(wù)行業(yè)快速做大市場規(guī)模戰(zhàn)略制定與實施研究報告
- 考察學習“百千萬工程”、現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)發(fā)展工作情況報告
- 2024年自來水市場調(diào)查報告
- 2025年中國珠海旅游業(yè)行業(yè)市場運行態(tài)勢及投資戰(zhàn)略咨詢研究報告
- 湖北省武漢市江漢區(qū)2023-2024學年化學九年級上學期末試卷
- 跨境財稅知識培訓(xùn)課件
- 2025版12333養(yǎng)老保險政策解讀與操作流程合同3篇
- 地方政府對中央政策響應(yīng)差異化的影響因素及機制分析-基于醫(yī)保支付方式改革的多案例比較
- 二零二五年度房產(chǎn)抵押權(quán)抵押權(quán)證合同3篇
- 骨科患者術(shù)后疼痛管理的新進展
- 小學生三好學生競選演講稿PPT幻燈片
- 01S201室外消火栓安裝圖集
- 蒸餾酒及配制酒衛(wèi)生檢驗原始記錄
- 高一英語外研版必修一(2019)Unit 1 Period 8 Writing-Writing a journal entry(學案)
- 2023年吉利有望帶動西部汽車及零部件產(chǎn)業(yè)鏈發(fā)展
- 鉆井HSE作業(yè)風險控制
- S7-200SMARTPLC應(yīng)用技術(shù)PPT完整全套教學課件
- 22G101平法識圖培訓(xùn)試題庫2022
- 當代世界經(jīng)濟與政治學習通課后章節(jié)答案期末考試題庫2023年
- 2023-2024學年山東省臨沂市小學語文六年級期末評估考試題附參考答案和詳細解析
評論
0/150
提交評論