【正文】
//操作次數(shù)置 0 } } } 附錄三: 元件清單表 元件名稱 型 號 元件名稱 型 號 33 芯 片 1 AT89C51 74LS245 UN2020 有級電容 10u 100u 1000u 無級電容 x4 33p x2 電 阻 470 x9 x1 1 x1 晶 振 12M x1 芯 片 2 7805 x2 數(shù)碼管 四位共陰 二 級 管 7 開 關 16 個 插 槽 40 x1 20 x2 排 阻 10 k x3 LED 2 插 座 一對 變壓器 12v x1 致 謝 本次畢業(yè)設計的完成,首先要感謝我的指導老師宋慶恒老師,感謝他對我畢業(yè)設計工作全面細致的安排,感謝他對我畢業(yè)設計論文的細心指導和耐心審查。 //顯示第 I 行數(shù)據(jù) } else if((key_number=10)amp。 timer0_init()。 switch(m) { case 1: //加法 { result=temp0+temp1。 P0=0x00。 P2=_crol_(P2,1)。amp。 for(scan_time=0。amp。 second_flag=0。 ET0=1。 // P1 口的鍵盤譯碼 uchar code key_yima[16]={0x77,0xb7,0xd7,0xe7,0x7b,0xbb,0xdb,0xeb, 0x7d,0xbd,0xdd,0xed,0x7e,0xbe,0xde,0xee}。 2. 進行電子時鐘 計 時(誤差 2ms) 。 3. 對于 目前普遍使用的 RISC架構(gòu)的 8bit MCU來說,其內(nèi)部 ROM、RAM、 STACK等資源都有限,如果使用 C語言編寫,一條 C語言指令編譯后,會變成很多條機器碼,很容易出現(xiàn) ROM空間不夠、堆棧溢出等問題。例子如下: MOV R1, SP MOV A, R1 MOV A, 03H MOV R1, A 4. 堆棧壓入時指針為從低地址到高地址移動,先壓入高地址,后壓入低地址,堆棧指針所指為空。 ,應充分滿足應用系統(tǒng)的要求,并保留一些擴充槽,以便進行第二次開發(fā)。 振蕩電路及端口測試 在電路中,我們用示波器看到晶振不能起振波形,對這樣的情況,我們可 查看硬件電路,一看:電容( 33p— 104p)是不是有引腳沒有接地,二看:是不是存在虛焊。 3 在把開關安裝好后要測一下看看有沒有虛焊。每個的端口包含一個 8 位的數(shù)據(jù)鎖存和一個輸入緩沖器。 3 2. 方案論證 方案一 : 用分立元件來做計算器系統(tǒng),分別用 4X4鍵盤、加法器、移位寄存器、譯碼器、存儲器、 4個 1位的共陰 LED顯示管;其中乘法運算是用加法和移位兩種操作實現(xiàn),除法運算可用減法和移位操作來實現(xiàn)。 計算器在人們的日常中是比較 的常見的電子產(chǎn)品之一。 3. 顯示是用共陰的四位數(shù)碼管來完成。電流要求是( — )安全電流。 數(shù)碼顯示 及驅(qū)動 電路 如圖所示 , AT89C51 的 P0 口用于數(shù)碼管的段選,由 74LS245 來驅(qū)動 ; 8 P2 口用于數(shù)碼管的位選,由 ULN2020 來驅(qū)動。 常在穩(wěn)壓管前面加的電容是有極限的 470u—— 1000u 左右 。 5. 可靠性及抗干擾設計是硬件設計極其重要的部分,包括器件選擇 、電路版布線、 通道隔離等。在 MOVX 中 , P0與 P2 的值都只是在前半部分跳變一下,后面就不再輸出地址了,若想將 P2 的數(shù)值鎖存,另需他法。 C 語言有功能豐富 的庫函數(shù)、運算速度快、編譯效率高、有良好的可移植性,而且可以直接實現(xiàn)對系統(tǒng)硬件的控制。 在設計與實現(xiàn)過程中,遇到了很多的困難。delay0。 if(timebuf[0]==10) //分 個位為十則清 0,分十位加 1 23 { timebuf[0]=0。scan_time1++) { P0=disptab[wei1[(scan_time1+2)]]。(wei[2]==0)amp。 P0=0x00。} else if((wei[3]==0)amp。 P0=0x00。 mdelay(3)。 } else result=temp0temp1。} for(j=0。break。非常感謝! 最后我還要感謝給我測試和答辯的老師們,感謝你們給我提出的這些寶貴意見,擴展了我的知識面。 //操作次數(shù) if(i==2) i=0。 fuhao=0。 } case 4: //除法 { result=temp0/temp1。 // mdelay(3)。 P2=_crol_(P2,1)。(wei[2]==0)) //顯示 ** { P2=first。 26 P2=_crol_(P2,1)。scan_time++) { P0=disptab[wei[scan_time]]。 if(fuhao==0) //fuhao==0 表示顯示的數(shù)據(jù)是正數(shù) { if((wei[0]==0)amp。} if(timebuf[3]==6) //時十位為 3 則清 0 {timebuf[3]=0。 TMOD=0x01。例如,選用精度更高的電子元器件,采用更人性化的顯示、控制系統(tǒng)等,使硬件電路部分更加精確穩(wěn)定,選用更加簡便的算法來進一步的完善軟件部分。 74LS245 芯片, UN2020 芯片的應用。其主要優(yōu)點是占用資源少、程序執(zhí)行效率高。 5. 所設計的邏輯門盡量使用高速 CMOS 型來 配合 CPU的快速動作要求。 首先, 檢查在編寫程序沒有出現(xiàn)編寫 錯誤 的 前提下, 要從單片機的輸出口查起, 看看輸出值跟編寫的程序輸出值 是不是相一致。 9 4. 電路調(diào)試和結(jié)論 具體電路系統(tǒng)圖 S1S W D P S TS5S W D P S TS2S W D P S TS3S W D P S TS4S W D P S TS 13S W D P S TS6S W D P S TS7S W D P S TS8S W D P S TS 10S W D P S TS9S W D P S TS 12S W D P S TS 11S W D P S TS 14S W D P S TS 16S W D P S TS 15S W D P S TC31 0U F Y1C R Y S T A LC43 3P FC53 3P FC71 04 P FV C CR 144 70V C CR 151 0kR 242 .2 kV C CD4L E Dp 1. 0 v c cp 0. 0p 1. 1p 0. 1p 0. 2p 1. 2p 0. 3p 0. 4p 1. 3p 0. 5p 0. 6p 1. 4p 0. 7v ppp 1. 5a l ep s e np 1. 6p 2. 7p 2. 6p 1. 7p 2. 5p 2. 4v pdp 2. 3p 2. 2p 3. 0p 2. 1p 2. 0p 3. 1p 3. 2p 3. 3p 3. 4p 3. 5p 3. 6p 3. 7t x a l 2t x a l 1v s sJ P 1A T 8 9C 51123456789J 3 3C O N 9p 00p 01p 02p 03p 04p 05p 06p 07p 00p 01p 02p 03p 04p 05p 06L1L2L3L4L1L2L3L4T11T12T 11T 12f1f1D I RA1A2A3A4A5A6A7A8G N D B8B7B6B5B4B3B2B1GV C CJ 2 27 4L S 2 45i n t 1i n t 2i n t 3i n t 4i n t 5i n t 6i n t 7G N Do ut 2o ut 3o ut 4o ut 5o ut 6o ut 7o ut 1V C CJ 4 4U L N 20 03t1t2t3t4t5t6t7h1h2h3h4L5L5V C CV C CV C Cp 07t8R12R23R34R45vcc1R P 11 0kabfcgdedpabfcgdedpabfcgdedpabfcgdedp21110619bs3s2f as15483712eddpcgs4Q5g on gy i nt1t2t3t4t5t6t7h1h2h3h4t878123U?78 系列 3 端穩(wěn)壓器1 23JP ?電源插座C 110 .1 u fC 140 .1 u fC 150 .1 u fC 160 .1 u fAAKKD 121 n4 14 8R 11 14 70R 11 24 70R 11 34 70R 11 44 70R 11 54 70R 11 64 70R 11 74 70R 11 84 70v c c1R12R23R34R45R56R67R78R89R P 21 0kV C C 圖 具體電路系統(tǒng)圖 復位電路的測試 經(jīng)