九九乘法表判斷器單片機課設(shè)_第1頁
九九乘法表判斷器單片機課設(shè)_第2頁
九九乘法表判斷器單片機課設(shè)_第3頁
九九乘法表判斷器單片機課設(shè)_第4頁
九九乘法表判斷器單片機課設(shè)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計說明書2021/2021學(xué)年第2學(xué)期課程名稱:單片機應(yīng)用課程設(shè)計題目:九九乘法表判斷器專業(yè)班級:自動化學(xué)生姓名:學(xué)號:1指導(dǎo)教師: -''I I"設(shè)計周數(shù):2周設(shè)計成績:2021年7月14日寸錄、課程設(shè)計任務(wù)及目的-11.1課程設(shè)計任務(wù)11.2課程設(shè)計目的1二二 、課程設(shè)I 1計正文1?2.1:1J -硬件r.方案設(shè)計1 111 1 -2.1.1電路原理圖f'-.J12.1.2PCB圖22.1.3系統(tǒng)工作原理22.1.4?STC90C52AD的引腳圖32.2單元電路設(shè)計42.3軟件與硬件結(jié)合調(diào)試72.4?軟件設(shè)計2.4.1?-8系統(tǒng)分析82.4.2?程

2、序設(shè)計9三、課程設(shè)r. 1計心得體會:1 -14四* 1、1參考文獻15、課程設(shè)計任務(wù)及目的1.1課程設(shè)計任務(wù)1.1.1技術(shù)要求:以MCS-51單片機為核心,設(shè)計出一個九九乘法表判斷器.2個數(shù)碼管顯 示輸入答案;一個數(shù)字加1循環(huán)按鍵,一個乘按鍵,一個輸入答案按鍵,一 個清零按鍵.假設(shè)輸入正確,蜂鳴器鳴響 2秒;答案錯誤,那么清零重新輸入.1.1.2原始數(shù)據(jù)及主要任務(wù)a、確定總體設(shè)計法案;?b、設(shè)計鍵盤輸入電路;?c、設(shè)計顯示電路;?d、編寫系統(tǒng)程序;?e、利用Protel設(shè)計硬件電路原理圖和 PCB圖;?f、軟硬件聯(lián)機調(diào)試.1.2課程設(shè)計目的1 ?通過九九乘法表判斷器的設(shè)計,掌握數(shù)碼管動態(tài)顯示

3、的原理;?2?通過單片機課程設(shè)計,熟練掌握軟件編程的方法,將理論知識聯(lián) 系到實踐中去,提升我們的動腦動手水平;?3?完成系統(tǒng)的硬件設(shè)計、軟件設(shè)計、仿真調(diào)試,學(xué)會將硬件知識和軟件知識結(jié)合起來,使兩者相互補充,共同實現(xiàn)一個系統(tǒng)的功能;?4?通過課程設(shè)計加深理解課堂教學(xué)內(nèi)容,掌握單片機的根本應(yīng)用方 法.通過實驗熟悉微機根本接口芯片的外型、引腳、編程結(jié)構(gòu).掌握程序設(shè) 計和單片機根本接口電路的設(shè)計、應(yīng)用方法,做到理論聯(lián)系實際.二、課設(shè)設(shè)計正文?2.1硬件方案設(shè)計系統(tǒng)組成:?該系統(tǒng)由單片機根本電路、數(shù)碼管顯示電路,按鍵輸入電路以及蜂鳴器電路 組成.?其中單片機根本電路已在課程設(shè)計專用單片機根本電路給出.2

4、.1.2PCB 圖系統(tǒng)通過鍵盤輸入模塊向單片機輸入數(shù)據(jù),經(jīng)過單片機的計算按條件再向數(shù) 碼管顯示模塊和蜂鳴器輸出指令,使之執(zhí)行相應(yīng)的動作.各個模塊的工作原理將 在下文做具體介紹.2.1.4?STC90C52AD的引腳圖STC90C52A的引腳說明和功能說明如下:?XTAL1?接外部晶振的一個引腳.在單片機內(nèi)部,它是一反相放大器輸入端, 這個放大器構(gòu)成了片內(nèi)振蕩器.采用外部振蕩器時,此引腳應(yīng)接地.?XTAL2?接外部晶振的一個引腳.在片內(nèi)接至振蕩器的反相放大器輸出端和 內(nèi)部時鐘發(fā)生器輸入端.當采用外部振蕩器時,那么此引腳接外部振蕩信號的輸 入.?RST? AT89C51的復(fù)位信號輸入引腳,高電位工

5、作,當要對芯片復(fù)位時,只 要將此引腳電位提升到高電位,并持續(xù)兩個機器周期以上的時間,AT89C51便能完成系統(tǒng)復(fù)位的各項工作,使得內(nèi)部特殊功能存放器的內(nèi)容均被設(shè)成狀 態(tài).??P0 口 (P0.0P0.7)是一個8位漏極開路雙向輸入輸出端口,當訪問外部 數(shù)據(jù)時,它是地址總線(低8位)和數(shù)據(jù)總線復(fù)用.外部不擴展而單片應(yīng)用時, 那么作一般雙向I /O 口??用.P0 口每一個引腳可以推動 8個LSTTL負載.?P2 口 (P2.0P2.7) 口是具有內(nèi)部提升電路的雙向I/0端口(準雙向并行I/O 口),當訪問外部程序存儲器時,它是高 8位地址.外部不擴展而單片應(yīng)用時, 那么作一般雙向I /O口用.每

6、一個引腳可以推動4個LSTL負載.?P1 口 (P1.0P1.7) 口是具有內(nèi)部提升電路的雙向1/0端口(準雙向并行I/O 口),其輸出可以推動4個LSTTL負載.僅供用戶作為輸入輸出用的端口. ?P3 口 (P3.0P3.7) 口是具有內(nèi)部提升電路的雙向1/0端口(準雙向并行I/O 口),它還提供特殊功能,包括串行通信、外部中斷限制、計時計數(shù)限制及外部 隨機存儲器內(nèi)容的讀取或?qū)懭胂拗频裙δ?2.2單元電路設(shè)計1、電路說明?課程設(shè)計配發(fā)的小電路板(ISP-MCU?Basic?circuit )電路原理圖.該板作 為課程設(shè)計的核心電路板使用,板上有單片機及附屬電路,RS-232通信驅(qū)動電路,上下

7、電平測試電路等.課程設(shè)計電路中需要的其他電路在此根底上擴展,通過插孔連接.擴展電路在萬用板上制作.?2、器件安裝?PCB板上畫成熔斷器的器件“ W1W4安裝導(dǎo)線短接,最先安裝.然后依次 安裝電阻、插孔座、DIP插座、發(fā)光二極管、瓷片電容、獨石電容、電解電容、 按鈕,最后安裝接線端子?和DB9插座.注意所有插座、插孔座、按鈕及接線端 子一定要安裝牢靠.晶體諧振器處安裝插孔座,以便更換晶振.?3、使用說明?根本電路板上的單片機使用宏晶公司支持串口下載程序ISP的單片機, 如STC90C52AD?單片機的技術(shù)資料和用于下載程序的軟件可從宏晶公司網(wǎng)站上 下載,也可向指導(dǎo)老師所要.需要閱讀理解單片機資料

8、中“在系統(tǒng)可編程使用, 用到模數(shù)轉(zhuǎn)換功能的組還要閱讀“ A/D轉(zhuǎn)換存放器及應(yīng)用.?調(diào)試程序時建議充 分利用程序下載方便的有利條件,先編一些短小的程序驗證硬件電路的正確性和 使用方法的正確性.完整程序復(fù)雜時建議使用單片機仿真軟件幫助排除錯誤.也 可利用下載軟件自帶的串口工具幫助調(diào)試, 通過單片機把運行狀態(tài)和重要數(shù)據(jù)送f X.1 I"-:. " ' i.-®"到PC機.擴展電路盡量不要再使用 P3.0和P3.1 口,必須使用時可作為單片機 的輸出口使用.OK2yK4OVCCS1o軒PBoSW-PB S4按鍵輸入單元的電路圖如圖.該 單元作為系統(tǒng)的輸入

9、,采用了四個獨 立按鍵,分別為數(shù)字?加一循環(huán)按鍵S1接 P1.0 口、乘按鍵 S2?接 P1.1oSW-PB口、答案輸入按鍵S3接P1.2鍵、? 清零按鍵S4按鍵接P1.3 口.當按 鍵按下,?電源與地短路,使單片機端 口電平被拉低,從而?檢測出一個輸入. 各個接口通過插針與單片機相連.1電路說明該單元作為系統(tǒng)的輸出顯示,采用兩個共陽極數(shù)碼管動態(tài)顯示.兩數(shù)碼管段 選信號引腳并聯(lián)通過1KQ的限流電阻接到單片機的 P2 口,從P2.0到P2.7 一次 接數(shù)碼管的adp腳.由于采用了共陽極的數(shù)碼管,因此不需要驅(qū)動芯片來驅(qū)動 數(shù)碼管顯示,只需單片機引腳給出低電平相應(yīng)斷即可點亮.兩個數(shù)碼管的片選端 分別

10、接兩個PNP型三級管的集電極,三級管的射極接電源,基極接單片機P1.5、 P1.6端.該三極管起到了限制以及放大電流的作用,使得單片機可以通過給相 應(yīng)端口送低電平而使數(shù)碼管點亮.2器件安裝通過查詢得到數(shù)碼管的引腳排序,找出響應(yīng)的引腳.在單片機端口外接1KQ的限流電阻,以預(yù)防電流過大損壞數(shù)碼管.兩個數(shù)碼管的片選端分別接兩個 PNP型三級管的集電極,三級管的射極接電源,基極接單片機.注意數(shù)碼管、三 極管的引腳不能接錯.該單元作為系統(tǒng)的輸出,在計算結(jié)果正確時鳴響.2.3軟件與硬件結(jié)合調(diào)試硬件調(diào)試:硬件調(diào)試是利用DVC實驗與開發(fā)系統(tǒng)、根本測試儀器萬用表、 示波器等,檢查用戶系統(tǒng)硬件中存在的故障.硬件調(diào)

11、試可分為靜態(tài)調(diào)試與動態(tài) 調(diào)試兩步進行.?靜態(tài)調(diào)試:是在用戶系統(tǒng)未工作時的一種硬件檢測.?第一步:目測.檢查外部的各種元件或者是電路是否有斷點.?第二步:用萬用表測試.先用萬用表復(fù)核目測中有疑問的連接點, 再檢測各 種電源線與地線之間是否有短路現(xiàn)象.?第三步:加電檢測.給板加電,檢測所有插座或是器件的電源端是否符合要 求的值?第四步:聯(lián)機檢查.由于只有用單片機開發(fā)系統(tǒng)才能完成對用戶系統(tǒng)的調(diào)試.?動態(tài)調(diào)試:是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶系統(tǒng)硬件中存在的器 件內(nèi)部故障、器件連接邏輯錯誤等的一種硬件檢查. 動態(tài)調(diào)試的一般方法是由近 及遠、由分到合.由分到合是指首先按邏輯功能將用戶系統(tǒng)硬件電路分

12、為假設(shè)干塊, 當調(diào)試電路時,與該元件無關(guān)的?器件全部從用戶系統(tǒng)中去掉,這樣可以將故障 范圍限定在某個局部的電路上.當各塊電路無故障后,將各電路逐塊參加系統(tǒng)中, 在對各塊電路功能及各電路間可能存在的相互聯(lián)系進行調(diào)試.由分到合的調(diào)試既 告完成.由近及遠是將信號流經(jīng)的各器件根據(jù)距離單片機的邏輯距離進行由近及 遠的分層,然后分層調(diào)試.調(diào)試時,仍采用去掉無關(guān)元件的方法,逐層調(diào)試下去, 就會定位故障元件了. ?軟件調(diào)試:?軟件調(diào)試是通過對程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與 邏輯錯誤并加以排除糾正的過程. 可以利用仿真器加以調(diào)試,對系統(tǒng)單個單元進 行調(diào)試,當單元電路成功后,在對整個程序調(diào)試,

13、最后在用功CPU芯片調(diào)試.?系統(tǒng)調(diào)試:在焊接完畢附加電路以后,可通過肉眼做初步的觀察,看是否存在虛焊、漏 焊等明顯缺陷,確認沒有以后,可以通電對蜂鳴器單元、數(shù)碼管顯示單元進行調(diào) 試:將蜂鳴器的使能端接到5V電源負極,正常鳴響那么該單元合格.再將每個數(shù) 碼管的使能端和段選端接到電源負極, 如果每段都正常點亮那么該單元合格. 假設(shè)某 單元不正常,那么需找出錯誤改正后在調(diào)試,直到合格為止.對于按鍵單元那么可以 通過萬用表測其通態(tài)與斷態(tài)的電阻來確定其實否合格.合格時,通態(tài)電阻接近0,斷態(tài)電阻接近無窮.?至此,硬件電路設(shè)計完畢.2.4軟件設(shè)計該系統(tǒng)為一個九九乘法表判斷器,故需要有乘數(shù)及答案的輸入.在硬件

14、電路 中設(shè)置了 4個按鍵,S1、S2、S3 S4分別作為數(shù)字加一循環(huán)、乘、答案輸入、 清零按鍵.兩個數(shù)碼管顯示輸入的數(shù)字.而蜂鳴器那么在答案正確的時候作提示用. 在按方面,由于只有一個數(shù)字循環(huán)鍵,所以,將乘按鍵和答案輸入鍵設(shè)置為多功 能按鍵.在第一次按下S2時再按S1那么可輸入第一個乘數(shù),第二次按下 S2鍵的 時候按K1鍵可以輸入第二個乘數(shù).在 S3第一次按下后,按S1輸入答案的十位 數(shù),S3第二次按下后輸入答案的個位數(shù),S3第三次按下那么判斷并顯示結(jié)果:正 確那么蜂鳴2秒,錯誤那么清零重來.這樣就減少了 S1鍵的按鍵次數(shù).同時,在乘 數(shù)沒有輸入完畢,即S2鍵按下少于2次時,答案輸入按鍵是無效

15、的;在輸入答 案時,S2是無效的.這樣預(yù)防了誤操作.在此技術(shù)要求下,程序流程圖如下:/* Mai n.c filegen erated by New Project wizard* Created:周五六月30 2021* Proeessor:80C51* Compiler:Keilfor8051*/#in elude<reg51.h>#in elude<stdio.h>typedefun sig ned eharuehar;typedefun sig ned intuint;#defi neSEG_INPUT P0sbitK1=P3A5;sbitK2=P3A4;sbi

16、tK3=P3A3;sbitK4=P3A2;sbit BUZZER =卩3八6;sbitS1=P2A0;sbitS2=P2A1;void delay_ms( un sig nedint x_ms);void SEG_Display(ui ntnu m,ui nttime);un sig nedchar SEG10 = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90F -»_j;ui ntTime = 0 ;ui ntNUMBER= 0 ;uehar BUZZER_Flag = 0;void main (void)uehar STEP

17、= 0;uehar C1,C2,C3;uehar Sig nal_K1,Sig nal_K2,Sig nal_K3,Sig nal_K4; P1 = 0X00;TMOD=0x01;設(shè)置定時器0為工作方式1TH0=(65536-100)/256;TL0=(65536-100)%256;EA=1;翻開中斷總開關(guān)ET0=1;開定時器0中斷TR0=1;啟動定時器0Sig nal_K仁Sig nal_K2=Sig nal_K3=Sig nal_K4=0; while (1)/按鍵程序模塊if(K1= 0)/輸入答案按鍵delay_ms(50);if(K1= 0)Sig nal_K1=1;NUMBER=3

18、;while(K1= 1);if(K2= 0)/數(shù)字加一循環(huán)delay_ms(5000);if(K2= 0)Sig nal_K2=1;while(K2=1);if(K3= 0)/ 乘按鍵delay_ms(50);if(K3= 0)Sig nal_K3=1;while(K3= 1);if(K4= 0)/清零按鍵delay_ms(50);if(K4= 0)Sig nal_K4=1; _while(K4= 1);/主邏輯程序模塊switch (STEP) case 0:if(Sig nal_K1= 1)STEP =1;NUMBER= 0;break;case 1:if(Sig nal_K1=1)NU

19、MBER= 0;if(Sig nal_K2=1)NUMBER+= 10;if(Sig nal_K3=1)C1 = NUMBER/10%10;STEP = 2;break;case 2:if(Sig nal_K1=1)NUMBER= C1 *10;if(Sig nal_K2=1)NUMBER+= 1;if(NUMBER%10 =0)NUMBER-= 10;if(Sig nal_K4=1)C2 = NUMBER%10;C3 = C1 *10+ C2;NUMBER= 0;STEP = 3;break;case 3:if(Sig nal_K2=1)NUMBER+= 1;if(Sig nal_K3=1)

20、if(NUMBER%100 =:C1 *BUZZER Flag =1Jdelay_ms(50000);delay_ms(50000);delay_ms(50000);delay_ms(50000);BUZZER Flag = 0JSTEP = 4;C2)elseNUMBER= 0;if(Sig nal_K1 = 1)NUMBER= 0;break;/case 4:/break ;default : STEP = 0;Sig nal_K仁Sig nal_K2=Sig nal_K3=Sig nal_K4=0;/顯示模塊.Ivoid delay_ms(ui nt x_ms) 一 一uint i =1

21、25;for(;x_ms>0;x_ms-)for(;i>0;i-);void SEG_Display(ui ntnu m,ui nt time) _uchar SEG_1,SEG_2;SEG_1 = num % 10;SEG_2 = num /10% 10;if(time <= 10)S1=1;S2=0;SEG_INPUT = SEGSEG_1;else if(time <=20)S仁0;S2=1;SEG_INPUT = SEGSEG_2;else if(time >=20)Time =0 ;if(BUZZER_Flag)if(Time)/BUZZER_Flag)BUZZER = 0;elseBUZZER =1;void Display.in terrupt1TH0=(65536-1000)/256;TL0=(65536-1000)%256;Time+;SEG_Display(NUMBER,Time);三、課程設(shè)計心得體會通過兩周的單片機課程設(shè)計實踐.我對單片機的

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論