




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課程名稱:電子系統設計 班 級 : 姓 名 學 號 指 導 老 師:劉春玲 李澤光 目錄前言1第1章 系統概述21.1 單片機的概述21.2 protel 99se的概述2第2章 單元電路設計與分析32.1 單片機復位電路32.2單片機晶振電路32.3 地址鎖存器電路32.4譯碼電路42.5 外部存儲器擴展電路42.6 時鐘電路DS1288752.7 8279鍵盤、顯示器接口電路5第3章 系統電路的設計與調試、軟件編程與調試53.1 最小統原理圖的繪制63.1.1創建新的設計數據庫63.1.2裝入元器件庫73.1.3放置元器件73.1.4元件布局83.1.5連線83.1.6總線和網絡標號的使用
2、83.1.7 電氣規則檢查與網絡表生成93.1.8元器件的封裝103.1.9將原理圖中的元器件導入PCB中103.1.10最小系統PCB圖的繪制113.1.11布線113.2通用鍵盤與顯示器接口芯片8279123.2.1 8279芯片介紹123.2.2 8279的數碼管顯示數字“12345678”133.2.38279的16位按鍵顯示143.3 DS12887日歷時鐘芯片153.3.1 DS12887芯片介紹153.3.2硬件接口電路163.3.3 12887的設計173.3.4基于DS12887和 8279實時時鐘系統設計18第4章 結束語19附錄1:附圖20附錄2:程序252.1設計程序使
3、數碼管顯示“01234567”252.2 16位按鍵顯示252.3 12887顯示262.4 實時時鐘的設計29附錄3:參考文獻35前言:隨著電子產品的飛速發展,社會對電子設計人才的需求非常強烈,電子設計課程和電子設計軟件的應用就顯得尤為重要。protel 99SE軟件是電子線路設計的佼佼者,其具有操作方便、設計效率高等特點,成為電子線路設計和印制電路板設計的首選。本文首先對protel99se進行了介紹,其次對電路原理圖進行繪制,選擇合適的元器件,并填寫好封裝,然后生成網絡報表,接著設計板子大小,設置參數,加載網絡表和元器件封裝,規劃PCB版圖,在規劃區域內擺放元器件,最后布線。對于自動布線
4、不理想的部分,還要通過手動來修改。 此課程還設計了單片機的最小系統和系統。另外,課程還進行了大板實驗,大板的主控芯片是8279和12887。文章還會進行對8279和12887芯片的介紹以及應用。由于需要編程者可以對該芯片進行即時編程,實際實驗的時候用到的是單片機仿真器,該仿真器內部存在有單片機及其最小系統電路,因此該仿真器可以完全替代單片機并接入集成電路板中,通過仿真器可以實現電腦與集成電路板的連接,以便于編程者隨時修改程序并且可以隨時觀察到實現的實驗現象。第1章 系統概述1.1 單片機的概述AT89C51是一種帶4K字節FLASH存儲器(FPEROMFlash Programmable an
5、d Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。1.2 protel 99se的概述隨著計算機的飛速發展,許多原來人工從事的工作被計算機所代替在這種大趨勢下,計算機輔助設計成為當前電子線
6、路設計及印刷電路板(PCB)設計的極其重要的手段,并受到廣泛的重視。Protel99 SE軟件是電子線路設計與制板方面的佼佼者。Protel99 SE是一個32位的Windows軟件,期編輯環境采用了視圖風格,利用鼠標和鍵盤就可輕松進行設計工作,操作起來非常方便,極大地提高了設計工作的效率。PROTEL99SE 是應用于 Windows9X/2000/NT/XP 操作系統下的 EDA 設計軟件 ,集成了電路圖原理設計、PCB 設計、PLD 可編程邏輯器件和電路仿真等功能,具有很強的數據交換能力和開放性及 3D 模擬功能。PROTEL99SE 與 PROTEUS 和 QUARTUS 其他 EDA
7、 軟件相比, 其具有強大的印刷電路板(PCB)功能,PROTEL99SE 不僅能完成自身的原理圖設計和 PCB 設計,還能在別的 EDA 軟件的網絡表上,生成實用、精美的印刷電路板。本課程設計使用 PROTEL99SE 制作一 AT89C51的最小單片機系統 PCB,系統集成時鐘電路、復位電路、存儲器擴展電路等。第2章 單元電路設計與分析2.1 單片機復位電路復位電路的原理是單片機RST引腳接收到2US以上的電平信號,只要保證電容的充放電時間大于2US,即可實現復位,所以電路中的電容值是可以改變的。按鍵按下系統復位,是電容處于一個短路電路中,釋放了所有的電能,電阻兩端的電壓增加引起的。復位電路
8、通常采用上電復位和按鈕復位兩種方式。本設計使用上電復位方式。2.2單片機晶振電路單片機內部有一個用于構成振蕩器的高增益反相放大器,它的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體和微調電容,構成一個穩定的自激振蕩器。2.3 地址鎖存器電路單片機的I/O 口上需要外接地址鎖存器。當單片機連接片外存儲器時,要接上鎖存器,這是為了實現地址的復用。假設,MCU端口其中的 8 路的 I/O 管腳既要用于地址信號又要用于數據信號,這時就可以用鎖存器先將地址鎖存起來。8051訪問外部存儲器時P0口和P2口共同做為地址總線,P0口常接鎖存器再接存儲器。以防止總線間的沖突。而P2口
9、直接接存儲器。因為單片機內部時序只能鎖住P2口的地址,如果用P0口傳輸數據時不用鎖存器的話,地址就改變了。本設計才用74LS573地址鎖存器。2.4譯碼電路譯碼電路中用譯碼法擴展外部數據存儲器的接口電路。數據存儲器62128,該芯片地址線為A0-A13,這樣AT89C51單片機剩余地址線可以采用譯碼器進行擴展。2.5 外部存儲器擴展電路8051單片機片內集成4KB程序存儲器和128B數據存儲器,但是在許多情況下,片內的存儲器資源還不能夠滿足需要,為此需要對單片機進行外部程序存儲器和數據存儲器擴展。本設計用的是6264和2764存儲器芯片。2.6 時鐘電路DS12887時鐘電路DS12887,采
10、用DS12887芯片設計的時鐘電路勿需任何外圍電路并具有良好的微機接口。DS12887芯片具有微功耗、外圍接口簡單、精度高、工作穩定可靠等優點由振蕩電路、分頻電路、周期中斷方波選擇電路、14字節時鐘和控制單元、114字節用戶非易失RAM、十進制二進制計數器、總線接口電路、電源開關寫保護單元和內部鋰電池等部分組成。2.7 8279鍵盤、顯示器接口電路 8279芯片是一種通用可編程鍵盤/顯示器接口電路芯片,它能完成監視鍵盤輸入和顯示控制兩種功能。8279對鍵盤部分提供一種掃描工作方式,能對64個按鍵鍵盤陣列不斷掃描,自動消抖,自動識別出閉合的鍵并得到鍵號,能對雙鍵或N鍵同時按下進行處理。第3章 系
11、統電路的設計與調試、軟件編程 與調試 Protel99SE中主要功能模塊: Advanced Schematic 99SE(原理圖設計系統) 該模塊主要用于電路原理圖設計、原理圖元件設計和各種原理圖報表生成等。 Advanced PCB 99SE(印刷電路板設計系統) 該模塊提供了一個功能強大和交互友好的PCB設計環境,主要用于PCB設計、元件封裝設計、報表形成及PCB輸出。 Advanced Route 99SE(自動布線系統) Advanced Integrity 99SE(PCB信號完整性分析) Advanced SIM 99SE(電路仿真系統) Advanced PLD
12、99SE(可編程邏輯器件設計系統) 3.1 最小統原理圖的繪制設計電路原理圖是進行電路設計的第一步,也是做重要的一步。電路原理圖設計最基本的要求是正確性,其次是布局合理,最后是在正確性和布局合理的前提下力求美觀。一般包括如下步驟3.1.1創建新的設計數據庫 執行菜單【File】【New】可以建立一個新的設計數據庫,屏幕彈出下圖所示的新建文件對話框,在【Database File Name】框中可以輸入新的數據庫文件名,系統默認為“MyDesign.ddb”,點擊【Browse.】按鈕可以修改文件的保存位置;單擊【Password】選項卡可進行密碼設置。啟動SCH99SE編輯器:在指定Docum
13、ents下,執行【File】【New】,屏幕彈出New Document對話框,即雙擊 圖標,新建原理圖文件,如圖2-1所示,系統默認文件名為Sheet1,此時可以直接修改文件名。雙擊文件圖標,進入編輯器。 3.1.2裝入元器件庫在放置元件之前,必須先將元件所在的元件庫載入內存。裝載元件庫的步驟如下。 打開設計管理器,選擇Browse Sch選項卡,單擊【Add/Remove】按鈕添加元件庫,如圖2-6所示。 在Design Explorer 99 LibrarySch文件夾下選中元件庫文件,單擊【Add】按鈕,將元件庫文件添加到庫列表中,添加庫后單擊【OK】按鈕結束添加工作,此時元件庫的詳細
14、信息將顯示在設計管理器中。3.1.3放置元器件 裝入元件庫后,在元件庫瀏覽器中可以看到元件庫、元件列表及元件外觀,選中所需元件庫,則該元件庫中的元件將出現在元件列表中,雙擊元件名稱(如CAP)或單擊元件名稱后按Place按鈕。最小系統原理圖中用到的元器件主要是:“8051”,“74ALS573”,“2764”,“6264”“CRYSTAL(晶振)”,“CAP(電容)”,“RES2(電阻)”,“SW SPST(開關)”等。3.1.4元件布局 放置元件后,在連線前必須先調整元件布局。(1)元件的選中與取消選中:利用工具欄按鈕選中元件。單擊主工具欄上的 按鈕,拉框選中框內圖件或直接用鼠標點取。(2)
15、移動元件:常用的方法是用鼠標左鍵點中要移動的元件,并按住鼠標左鍵不放,將元件拖到要放置的位置。 單擊主工具欄上的 按鈕,可以移動已選取的對象。執行菜單EditMoveDrag,可以連線與元件一起拖動。 執行菜單EditMoveMove,只可以移動元件。(3)元件的旋轉: 用鼠標左鍵點住要旋轉的元件不放,按<Space>鍵逆時針90度旋轉,按<X>鍵水平方向翻轉,按<Y>鍵垂直方向翻轉。(4)元件的刪除:要刪除某個元件,可用鼠標左鍵單擊要刪除的元件,按<Delete>鍵刪除該元件,也可執行EditDelete,用鼠標單擊要刪除的元件進行刪除。3.1
16、.5連線 元件的位置調整好后,下一步是對各元件進行線路連線。單擊畫電氣連線按鈕 光標變為“十”字狀,將光標移至所需位置,單擊鼠標左鍵,定義導線起點,將光標移至下一位置,再次單擊鼠標左鍵,完成兩點間的連線,單擊鼠標右鍵,結束此條連線。這時仍處于連線狀態,可繼續進行線路連接,若雙擊鼠標右鍵,則退出畫線狀態。3.1.6總線和網絡標號的使用(1) 繪制總線:執行菜單PlaceBus或單擊工具欄上按鈕,進入放置總線狀態,將光標移至合適的位置,單擊鼠標的左鍵,定義總線起點,將光標移至另一位置,單擊鼠標左鍵,定義總線的下一點。連線完畢,單擊鼠標的右鍵退出放置狀態。在畫線狀態時,按<Tab>鍵,屏
17、幕彈出總線屬性對話框,可以修改線寬和顏色。(2) 放置總線分支:執行菜單PlaceBus Entry,或單擊 按鈕,進入放置總線分支的狀態,此時光標上帶著懸浮的總線分支線,將光標移至總線和管腳引出線之間,按空格鍵變換傾斜角度,單擊鼠標左鍵放置總線分支線。(3) 放置網絡標號: 放置網絡標號可以通過執行菜單PlaceNet Label實現,或單擊 按鈕進入放置網絡標號狀態,此時光標處帶有一個虛線框,將虛線框移動至需要放置網絡標號的圖件上,當虛線框和圖件相連處出現一個小園點時,表明與該導線建立電氣連接,單擊鼠標左鍵放下網絡標號,將光標移至其它位置可繼續放置。3.1.7 電氣規則檢查與網絡表生成實驗
18、中產生的列表有:網絡報表、材料清單列表。在打開的電路原理圖界面,依次用鼠標左鍵單擊“Design設計>Create Netlist.創建網絡表”,用默認的設置參數,點擊OK按鈕,即可產生網絡報表。在打開的電路原理圖界面,依次用鼠標左鍵單擊“Reports報告>Bill of Material材料清單”,用默認的設置參數一步步確認,即可產生材料清單列表。 執行菜單ToolsERC電器規則檢查”,按默認的設置,單擊OK按鈕后,出現一個報表,里面可以顯示出原理圖中的錯誤。回到原理圖中,凡是打叉的地方,都有一定的錯誤,則需進行修改。3.1.8元器件的封裝元件封裝庫管理器:PCB元件庫編輯器
19、中的元件庫管理器與原理圖庫元件管理器類似,在設計管理器中選中Browse PCBLib可以打開元件庫管理器,在元件庫管理器中可以對元件進行編輯操作,元件封裝管理器如下圖。元器件如果想導入PCB圖中,需要對其封裝。本實驗中用到的元器件,有些已經封裝好了,比如:“8051”,“74ALS373”,“2764”,“6264”。而“CRYSTAL(晶振)”,“CAP(電容)”,“RES2(電阻)”這些原件都需要封裝。實驗用到的有:“CRYSTAL(晶振)”的封裝名為,“CAP(電容)”的封裝名為,“RES2(電阻)”封裝名為。這就完成了封裝,然后用鼠標左鍵單擊“Design設計>Create N
20、etlist.創建網絡表”,點擊PK按鈕,產生網絡報表。3.1.9將原理圖中的元器件導入PCB中單擊“File文>New.新建文件”按鈕,雙擊“PCB Document(印制電路板編輯器)”圖標,就啟動了電路板編輯器。用鼠標左鍵依次單擊“Design設計>Netlist.網絡表”,出現對話框,單擊,在下找到生成的報表文件,單擊OK按鈕,則在出現的界面中可以出現所有元器件名,以及封裝是否正確,是否所有引腳都對應上了,然后到對應的原理圖上進行修改,重新生成網絡報表,重新導入,當沒錯誤時,單擊,則所有元器件都導入到PCB圖中了。3.1.10最小系統PCB圖的繪制在Protel 99 SE
21、中,執行菜單FileNew,在出現的對話框中單擊圖標進入PCB元件庫編輯器,并自動新建一個元件庫PCBLIB1.LIB。(1)擺放元器件:把元器件擺放至合適的位置,單擊需要擺放的元器件,拖動鼠標,在合適的位置單擊鼠標左鍵,即可放置,放置中,按住鼠標左鍵不松的情況下,按鍵盤上的【空格】鍵,調整芯片方向。元器件擺放的原則:芯片上端最好要一齊,缺口向上,使連線盡量簡單,元器件盡量靠近(夠布線即可)。此實驗還需把晶振盡量靠近芯片,把耦合電容放置到每個芯片附近。(2)繪制邊界: 布線前,需要規劃PCB的物理邊界。單擊工作層面切換標簽按鈕,單擊“PCB放置工具條”中的按鈕,在工作區中移動鼠標至需要繪制PC
22、B下邊界的地方,單擊一次數遍左鍵,然后移動鼠標光標到下邊界的另一個定點,依次單擊鼠標左鍵即可完成物理邊界下邊界的繪制工作,再以同樣方法繪制其他邊界,直到把布局中所有元器件用方框框起來為止,回到起點后,當出現小圓圈后,單擊鼠標左鍵,即完成物理邊界的繪制。單擊工作層面切換標簽按鈕,單擊“PCB放置工具條”中的按鈕,按照繪制物理邊界的方法繪制規劃電氣邊界,兩個邊界重疊在一起即可。(3) 參數設置:用鼠標單擊“Design設計>Rules.規則”按鈕,彈出“布線參數設置”對話框,在默認選項下,設置參數。此實驗中,VCC和GND之間的線寬、分別為12mil,100mil,30mil。其他線寬值、分
23、別為12mil,20mil,20mil。,單擊OK按鈕。3.1.11布線實驗要求手動布線。先單擊“PCB放置工具條”中的按鈕,然后將光標移至工作區,切換到需要繪制導線的工作層面,通常為頂層布線層Toplayer和底層布線層Bottumlayer,再將光標移到需要繪制導線的地方,在導線起始位置單擊數遍左鍵一次,然后移動光標,繪制到終點后,單擊一次鼠標右鍵,即可完成繪制工作。當想從上層過到下層繼續布線,或者從下層過到上層繼續布線,則需要打過孔。單擊“PCB放置工具條”中的按鈕,移動至工作區內,在需要打過孔的地方單擊鼠標左鍵即可,按上述操作打完所有過孔。調整好布線后,用鼠標左鍵再單擊左下角的按鈕,即
24、可對布線進行檢查。3.2通用鍵盤與顯示器接口芯片82793.2.1 8279芯片介紹(1)8279引腳及功能Intel 8279是一種可編程鍵盤/顯示器接口芯片,它含有鍵盤輸入和顯示器輸出兩種功能。鍵盤輸入時,它提供自動掃描,能與按鍵或傳感器組成的矩陣相連,接收輸入信息,它能自動消除開關抖動并能對多鍵同時按下提供保護。顯示輸出時,它有一個16×8位顯示RAM,其內容通過自動掃描,可由8位或16位LED數碼管顯示。 8279采用40引腳雙列直插封裝,其引腳排列及功能如下所示。DB7DB0為雙向外部數據總線 ; 為片選信號線,低電平有效; 和 為讀和寫選通信號線;IRQ為中斷請求輸出線。
25、RL7RL0為鍵盤回送線。SL3SL0為掃描輸出線。OUTB3OUTB0、OUTA3OUTA0為顯示寄存器數據輸出線。RESET為復位輸入線。 SHIFT為換檔鍵輸入線。CNTL/STB為控制/選通輸入線。CLK為外部時鐘輸入線。為顯示器消隱控制線 。(2)8279的工作方式 8279工作方式的確定是通過CPU對8279送入命令字來實現的。當數據選擇端A0置1時,CPU對8279寫入的數據為命令字,讀出的數據為狀態字。在敘述命令字、狀態字前,先說明8279的幾種工作方式。鍵盤工作方式通過對鍵盤/顯示方式命令字的設置,可置8279為雙鍵互鎖方式和N鍵巡回方式。雙鍵互鎖是為兩鍵同時按下提供的保護方
26、法。若有兩鍵或多個鍵同時按下,則無論這些鍵是以什么次序按下的,它只識別最后一個釋放的鍵,并把該鍵值送入FIFO/傳感器RAM中。N鍵巡回是為N個鍵同時按下時提供的保護方法。若有多個鍵同時按下,則鍵盤掃描時可按按鍵先后順序依次將鍵值送入FIFO/傳感器RAM中。 顯示器工作方式通過對鍵盤/顯示方式命令字和寫顯示RAM命令字的設置,可將顯示數據寫入顯示緩沖器的方式置為左端送入和右端送入兩種方式。左端送入為依次填入方式,右端送入為移位方式。傳感器矩陣方式通過對讀FIFO/傳感器RAM命令字的設置可將8279設置成傳感器矩陣方式,此時,傳感器的開關狀態直接送到傳感器RAM中。CPU對傳感器陣列掃描時,
27、如果檢測到某個傳感器狀態發生了變化,則使中斷申請信號IRQ變為高電平。如果AI(D4)=0,則對傳感器RAM的第一次讀操作即清除IRQ;如果AI(D4)=1,則由中斷結束命令清除IRQ。3.2.2 8279的數碼管顯示數字“12345678”設計思路:8279的數據口地址為7000H,將寄存器R0先存入數01H,講R0的數據送入7000H,然后顯示,并用時延保持,再使R0加1,再送入7000H,然后時延,同樣方法重復8次即可存入8個數并顯示在數碼管上。(1)8279初始化:8279的命令/狀態口地址為7001H,數據口地址為7000H。初始化首先將命令/狀態口地址寫入DPTR,然后將控制字送入
28、累加器,為清除命令。然后向命令/狀態口地址寫入控制字,這時需要讀取的狀態。的狀態字的第七位表示顯示無效,即顯示由于清除顯示或全清命令尚未完成時。所以要檢查清除狀態是否完成,完成以后再繼續。00H為編碼掃描鍵盤,2AH為程控時鐘命令。用同樣的方法可對8279進行讀顯示、寫顯示、讀鍵盤等命令操作。(2) 顯示12345678:8279數據入口地址為7000H。先將7001H寫入命令字90H,90H為寫顯示命令,同時每次寫入之后,地址會自動加1指向下一個地址,所以下一次順序寫入數據時就不必重新設置寫顯示RAM命令字。然后設置寫入的數從1開始,一共8個數。用寄存器R0存數,寫一個數,R0加1,然后再繼
29、續寫下一個數并顯示。要注意加時延,因為程序執行時間很短,如果不加時延不能夠持續看清楚數字,數碼管會閃爍。(3) 流程圖如下程序見附錄2.13.2.38279的16位按鍵顯示設計思路:鍵盤上按哪個鍵在數碼管上顯示哪個鍵,程序初始化后,先判斷是否有鍵按下,如果有鍵按下,判斷哪個鍵被按下,然后對應顯示按鍵內容。鍵碼鍵值:0-00H 1-08H 2-10H 3-18H 4-20H 5-28H 6-30H 7-38H 8-01H 9-09H A-11H B-19H C-21H D-29H E-31H F-39H 程序流程圖如下:程序見附錄2.23.3 DS12887日歷時鐘芯片3.3.1 DS12887
30、芯片介紹DS12887內部原理如圖1所示,由振蕩電路、分頻電路、周期中斷/方波選擇電路、14字節時鐘和控制單元、114字節用戶非易失RAM、十進制/二進制計加器、總線接口電路、電源開關寫保護單元和內部鋰電池等部分組成。圖2顯示了DS12887管腳排列圖。下面分別說明管腳功能: GND,VCC:直流電源+5V電壓。當5V電壓在正常范圍內時,數據可讀寫;當VCC低于4.25V,讀寫被禁止,計時功能仍繼續;當VCC下降到3V以下時,RAM和計時器被切換到內部鋰電池。 MOT(模式選擇):MOT管腳接到VCC時,選擇MOTOROLA時序,當接到GFND時,選擇INT
31、EL時序。 SQW(方波信號同):SQW管腳能從實時時鐘內部15級分頻器的13個抽頭中選擇一個作為輸出信號,其輸出頻率可通過對寄存器A編程改變。 AD0AD7(雙向地址/數據復用線):總線接口,可與MOTOROLA微機系列和INTEL微機系列接口。 AS(地址選通輸入):用于實現信號分離,在AD/ALE的下降沿把地址鎖入DS12887。 DS(數據選通或讀輸入):DS/RD客腳有兩種操作模式,取決于MOT管腳的電平,當使用MOTOROLA時序時,DS是
32、一正脈沖,出現在總線周期的后段,稱為數據選通;在讀周期,DS指示DS12887驅動雙向總的時刻,在寫周期,DS的后沿使DS12887鎖存寫數據。選擇INTEL時序時,DS稱作(RD),RD與典型存貯器的允許信號(OE)的定義相同。 R/W(讀/寫輸入):R/W管腳也有兩種操作模式。選MOTOROLA時序時,R/W是一電平信號,指示當前周期是讀或寫周期,DSO為高電平時,R/W高電平指示讀周期,R/W低電平指示寫周期;選INTEL時序,R/W信號是一低電平信號,稱為WR。在此模式下,R/W管腳與通用RAM的寫允許信號(WE)的含義相同。
33、 CS(片選輸入):在訪問DS12887的總線周期內,片選信號必須保持為低。 IRQ(中斷申請輸入):低電平有效,可作微處理的中斷輸入。沒有中斷條件滿足時,IRQ處于高阻態。IRQ線是漏極開路輸入,要求外接上接電阻。 RESET(復位輸出):當該腳保持低電平時間大于200ms,保證DS12887有效復位。3.3.2硬件接口電路 DS12887時鐘芯片和80C31單微機的接口電路如圖4所示。模式選擇腳MOT拉地,選擇不NTEL時序,選擇DS12887時鐘芯片的地址總線及 AS端口和80C31單片微機的P0及ALE
34、端直接相聯;而DS、R/W讀寫控制線與單片機的RD、WAR控制線相連;DS12887的高位地址由 80C31半日片機的P2.7端口來片選,則DS12887的高8位地址定為7FH,而其低8俠地址則由芯片內部各單元的地址來決定(00H3FH); DS12887的中斷輸出端IRQ和80C的外部INT0端相聯,給單片機提供中斷信號;DS12887的SQW端口可編程產生方波輸出信號。 3.3.3 12887的設計(1)12887地址確定:單片機的P2.3-P2.6接4-16線譯碼器輸入,輸出的/Y12接8279的片選,則所對應的地址為P2.7-P2.4=0110,其余為低電平有效,故12887的寄存器地
35、址范圍在6000H607FH。 (2)12887的初始化:將DS12887狀態寄存器B中的SET位置1,然后初始化00H-09H時標參數寄存器和狀態寄存器A;此后,再通過讀狀態寄存器C,清除寄存器C中的周期中斷標志位PF、報警中斷標志位AF、更新周期結束中斷標志位UF。寄存器D中的VRT位在讀操作后將自動置1。最后,將狀態寄存器B中的SET位置0,芯片開始計時工作。狀態寄存器A為20H,它表示采用的時鐘頻率為32678 HZ,禁止引腳SQW輸出;狀態寄存器B為22H。(3) 程序流程圖:程序見附錄2.33.3.4基于DS12887和 8279實時時鐘系統設計利用實驗板上的16個鍵盤來控制時鐘,
36、A、B、C鍵分別是時、分、秒鍵,F鍵為回車鍵。按A鍵顯示小時,然后按0-9數字鍵來調整時間,同理,按B鍵顯示分鐘,然后按0-9數字鍵來調整分鐘,按C鍵顯示秒,然后按0-9數字鍵來調整秒。按F鍵后計算機將修改的時間、分、秒按各個功能鍵的不同分別傳給DS12887中相應功能單元,最后顯示器顯示正常的時、分、秒。(1) 方案:(1)DS12887初始化。(2)將DS12887中的時、分、秒送到8279顯示緩沖區并顯示出來。(3)最終結果:利用實驗板上的16個鍵盤來控制時鐘,A、B、C鍵分別是時、分、秒鍵,F鍵為回車鍵。按A鍵顯示小時,然后按1-9數字鍵來調整時間,同理,按B鍵顯示分鐘,然后按1-9數
37、字鍵來調整分鐘,按C鍵顯示秒,然后按1-9數字鍵來調整秒。按F鍵后計算機將修改的時間、分、秒按各個功能鍵的不同分別傳給DS12887中相應功能單元,最后顯示器顯示正常的時、分、秒。(2) 程序流程圖:程序見附錄2.4第4章 結束語本次課程設計是用PROTEL 99SE軟件設計一個單片機最小系統和大板上基于8279和DS12887的實驗。經過兩個多月的學習、設計、調試和改進,成果滿足基本設計請求,驗證無誤。設計涉及了protel 99se設計電路原理圖的方法,pcb制版的原理和方法,大板實驗也涉及到多種芯片,程序也比較長比較麻煩,同時也碰到了不少艱苦,尤其是關于PCB布線和DS12887和827
38、9的綜合實驗。期間應用到了數字電路、模擬電路、單片機原理、微機接口技術等相關知識。 通過本次設計,我懂得了如何讓利用protel 99se設計電路原理圖和時鐘的設計流程,尤其是硬、軟件的設計方法以及鍵盤顯示電路的基礎功效及編程方法和鍵盤電路和顯示電路的一般原理,也進一步了解了8051定時器的應用和中斷CPU程序的編程方法,開辟了思路,提高了分工協作才能和分析題目,解決題目的能力。由于基礎不是很好,一個人完成本次課程設計是艱難的。在此向給予我和團隊成員幫助的同學和老師致謝。是你們的啟迪和鼓勵讓我在實驗中受益匪淺。附錄1:附圖元器件明細表單片機最小系統及存儲器擴展原理圖層次原理圖頂圖層次原理圖子圖
39、CPU層次原理圖子圖MEMORY最小系統手動布線PCB圖鋪地的PCBERC檢查DRC檢查附錄2:程序2.1設計程序使數碼管顯示“01234567”#include<reg51.h>#include<absacc.h>#define uchar unsigned char#define PORTB XBYTE0x7001#define PORTC XBYTE0x7000uchar duanma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07;void main()unsigned int n,a;PORTB=0xd1;a=PORTB;whi
40、le(a&0x80) a=PORTB;a=0x00;PORTB=a;a=0x2a;PORTB=a;a=0x90;PORTB=a;for(n=0;n<8;n+)PORTC=duanman;2.2 16位按鍵顯示#include<reg51.h>#include<absacc.h>#define uchar unsigned char#define PORTB XBYTE0x7001#define PORTC XBYTE0x7000uchar duanma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x
41、77,0x7c,0x39,0x5e,0x79,0x71;void main()unsigned int a,b;PORTB=0xd1;a=PORTB;while(a&0x80) a=PORTB;PORTB=0x00;/工作方式PORTB=0x34;/20分頻while(1)a=PORTB;if(a&0x07)PORTB=0X40;b=PORTC;if(b%8=0)PORTB=0X80;/顯示PORTC=duanmab/0x08;elsePORTC=duanmab/0x08+8;2.3 12887顯示 ORG 0000H LJMP START ORG 0100HSTART: MO
42、V 30H,#12HMOV 31H,#34HMOV 32H,#56HMOV 33H,#78HMOV 20H,#00H LCALL INITI ;8279初始化 LCALL TIME ;12887初始化 LL: LCALL DIR ;顯示子程序 LCALL READ ;讀12887 LJMP LL ;8279初始化INITI:MOV DPTR,#7001H MOV A,#0D1H MOVX DPTR,A LP: MOVX A,DPTR JB ACC.7,LP MOV A,#00H MOVX DPTR,A MOV A,#2AH MOVX DPTR,A RET ;12887初始化 TIME: MOV
43、 DPTR,#600BH MOV A,#0A2H MOVX DPTR,A MOV DPTR,#6000H MOV A,#00H MOVX DPTR,A INC DPTR MOV A,#0FFH MOVX DPTR,A INC DPTR MOV A,#15H MOVX DPTR,A INC DPTR MOV A,#0FFH MOVX DPTR,A INC DPTR MOV A,#14H MOVX DPTR,A INC DPTR MOV A,#0FFH MOVX DPTR,A INC DPTR MOV A,#01H MOVX DPTR,A INC DPTR MOV A,#0EH MOVX DPTR
44、,A INC DPTR MOV A,#04H MOVX DPTR,A INC DPTR MOV A,#0EH MOVX DPTR,A MOV DPTR,#600EH MOV A,#14H MOVX DPTR,A MOV DPTR,#600AH MOV A,#20H MOVX DPTR,A MOV DPTR,#600CH MOVX A,DPTR INC DPTR MOVX A,DPTR MOV DPTR,#600BH MOV A,#22H MOVX DPTR,A RET ;讀12887READ: MOV DPTR,#600AH MOVX A,DPTR JB ACC.7,READ MOV R0,#
45、30H MOV DPTR,#6004H MOVX A,DPTR MOV R0,A INC R0 MOV DPTR,#6002H MOVX A,DPTR MOV R0,A INC R0 MOV DPTR,#6000H MOVX A,DPTR MOV R0,A INC R0 MOV DPTR,#6006H MOVX A,DPTR MOV R0,A RET ;顯示子程序 DIR: MOV DPTR,#7001H MOV A,#90H MOVX DPTR,A MOV R0,#30H MOV R7,#08H DL0: MOV A,R0 MOV B,A SWAP A ANL A,#0FH MOV DPTR
46、,#TAB MOVC A,A+DPTR MOV DPTR,#7000H MOVX DPTR,A DEC R7 MOV A,R0 MOV A,B ANL A,#0FH MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#7000H MOVX DPTR,A INC R0 DJNZ R7,DL0 RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH, DB 79H,71HEND2.4 實時時鐘的設計 ORG 0000HLJMP STARTORG 0100HSTART: MOV 30H,#12H MO
47、V 31H,#34H MOV 32H,#56H MOV 33H,#78H MOV 20H,#00H LCALL INITI LCALL TIME LCALL DIR LCALL READ LCALL DIRTURN: MOV A,20H JNZ L1 LCALL READ LCALL DIR SJMP KEYL1: CJNE A,#01H,L2;秒 MOV 33H,40H LCALL DIR SJMP KEYL2: CJNE A,#02H,L3 ;分 MOV 33H,40H LCALL DIR SJMP KEYL3: CJNE A,#03H,KEY ;時MOV 33H,40H LCALL DI
48、R SJMP KEYKEY: MOV DPTR,#7001H ;判斷是否有鍵按下 MOVX A,DPTR ANL A,#07H JZ TURN MOV A,#40H;有鍵按下,鍵值轉化為十六進制 MOVX DPTR,A MOV DPTR,#7000H MOVX A,DPTR MOV B,#08H DIV AB MOV R2,A MOV A,B JZ ZREO MOV A,#08H ADD A,R2 SJMP LOOP ZREO: MOV A,R2 ;判斷按下的是什么鍵 LOOP: CJNE A,#0AH,LB ;A鍵 MOV R1,#40H MOV 20H,#01H LJMP LL LB: C
49、JNE A,#0BH,LC ;B鍵 MOV R1,#40H MOV 20H,#02H LJMP LL LC: CJNE A,#0CH,LSZ ;C鍵 MOV R1,#40H MOV 20H,#03H LJMP LL LSZ: MOV B,A ;SZ鍵 SUBB A,#09H MOV A,B JNC ENTER MOV R1,A INC R1 MOV A,R1 ANL A,#0F1H MOV R1,A LJMP LLENTER: MOV A,20H ;非以上鍵LM: CJNE A,#01H,LF ;40H->秒 MOV A,40H SWAP A ADD A,41H MOV 40H,A MO
50、V DPTR,#600BH ;禁止12887工作 MOV A,#0A2H MOVX DPTR,A MOV A,40H MOV DPTR,#6000H MOVX DPTR,A MOV DPTR,#600BH ;啟動12887工作 MOV A,#22H MOVX DPTR,A LCALL READ LCALL DIR MOV 20H,#00H LJMP LLLF: CJNE A,#02H,LS ;40H->分 MOV A,40H SWAP A ADD A,41H MOV 40H,A MOV DPTR,#600BH ;禁止12887工作 MOV A,#0A2H MOVX DPTR,A MOV A,40H MOV DPTR,#6002H MOVX DPTR,A MOV DPTR,#600BH ;啟動12887工作 MOV A,#22H MOVX DPTR,A LCALL READ LCALL DIR MOV 20H,#00H LJMP LLLS: CJNE A,#03H,LL ;40H->時 MOV
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年杭州蕭山區衛健系統招聘事業單位工作人員筆試真題
- 廣西公務員行測真題(B類)
- 2024年四川省核地質調查研究所招聘筆試真題
- 2024年西藏自治區醫療保障局下屬事業單位真題
- 2024年廣西高校畢業生“三支一扶”計劃招募考試真題
- 校企協同育人模式-洞察及研究
- 水質監測技術-第1篇-洞察及研究
- 細胞生物相關的疾病治療講課件
- 置管溶栓護理查房講課件
- 神經內科癡呆患者護理查房講課件
- 鐵路空心墩任意兩個截面砼方量計算自編公式
- 中建有限空間專項施工方案
- 華北理工選礦學課件03浮選-1浮選基本原理
- 冠寓運營管理手冊正式版
- 2022年珠海市金灣區體育教師招聘筆試試題及答案
- 畢業離校學生證遺失證明
- 智慧停車技術方案
- 土地整理質量評定表
- 【告知牌】某公司全套重大危險源告知牌(7頁)
- 中考數學復習專題二方程與不等式
- 供應商管理庫存VMI的實施
評論
0/150
提交評論