大連大學(xué)電子課程設(shè)計(jì)論文_第1頁
大連大學(xué)電子課程設(shè)計(jì)論文_第2頁
大連大學(xué)電子課程設(shè)計(jì)論文_第3頁
大連大學(xué)電子課程設(shè)計(jì)論文_第4頁
大連大學(xué)電子課程設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程名稱:電子系統(tǒng)設(shè)計(jì) 班 級 : 姓 名 學(xué) 號 指 導(dǎo) 老 師:劉春玲 李澤光 目錄前言1第1章 系統(tǒng)概述21.1 單片機(jī)的概述21.2 protel 99se的概述2第2章 單元電路設(shè)計(jì)與分析32.1 單片機(jī)復(fù)位電路32.2單片機(jī)晶振電路32.3 地址鎖存器電路32.4譯碼電路42.5 外部存儲器擴(kuò)展電路42.6 時(shí)鐘電路DS1288752.7 8279鍵盤、顯示器接口電路5第3章 系統(tǒng)電路的設(shè)計(jì)與調(diào)試、軟件編程與調(diào)試53.1 最小統(tǒng)原理圖的繪制63.1.1創(chuàng)建新的設(shè)計(jì)數(shù)據(jù)庫63.1.2裝入元器件庫73.1.3放置元器件73.1.4元件布局83.1.5連線83.1.6總線和網(wǎng)絡(luò)標(biāo)號的使用

2、83.1.7 電氣規(guī)則檢查與網(wǎng)絡(luò)表生成93.1.8元器件的封裝103.1.9將原理圖中的元器件導(dǎo)入PCB中103.1.10最小系統(tǒng)PCB圖的繪制113.1.11布線113.2通用鍵盤與顯示器接口芯片8279123.2.1 8279芯片介紹123.2.2 8279的數(shù)碼管顯示數(shù)字“12345678”133.2.38279的16位按鍵顯示143.3 DS12887日歷時(shí)鐘芯片153.3.1 DS12887芯片介紹153.3.2硬件接口電路163.3.3 12887的設(shè)計(jì)173.3.4基于DS12887和 8279實(shí)時(shí)時(shí)鐘系統(tǒng)設(shè)計(jì)18第4章 結(jié)束語19附錄1:附圖20附錄2:程序252.1設(shè)計(jì)程序使

3、數(shù)碼管顯示“01234567”252.2 16位按鍵顯示252.3 12887顯示262.4 實(shí)時(shí)時(shí)鐘的設(shè)計(jì)29附錄3:參考文獻(xiàn)35前言:隨著電子產(chǎn)品的飛速發(fā)展,社會對電子設(shè)計(jì)人才的需求非常強(qiáng)烈,電子設(shè)計(jì)課程和電子設(shè)計(jì)軟件的應(yīng)用就顯得尤為重要。protel 99SE軟件是電子線路設(shè)計(jì)的佼佼者,其具有操作方便、設(shè)計(jì)效率高等特點(diǎn),成為電子線路設(shè)計(jì)和印制電路板設(shè)計(jì)的首選。本文首先對protel99se進(jìn)行了介紹,其次對電路原理圖進(jìn)行繪制,選擇合適的元器件,并填寫好封裝,然后生成網(wǎng)絡(luò)報(bào)表,接著設(shè)計(jì)板子大小,設(shè)置參數(shù),加載網(wǎng)絡(luò)表和元器件封裝,規(guī)劃PCB版圖,在規(guī)劃區(qū)域內(nèi)擺放元器件,最后布線。對于自動布線

4、不理想的部分,還要通過手動來修改。 此課程還設(shè)計(jì)了單片機(jī)的最小系統(tǒng)和系統(tǒng)。另外,課程還進(jìn)行了大板實(shí)驗(yàn),大板的主控芯片是8279和12887。文章還會進(jìn)行對8279和12887芯片的介紹以及應(yīng)用。由于需要編程者可以對該芯片進(jìn)行即時(shí)編程,實(shí)際實(shí)驗(yàn)的時(shí)候用到的是單片機(jī)仿真器,該仿真器內(nèi)部存在有單片機(jī)及其最小系統(tǒng)電路,因此該仿真器可以完全替代單片機(jī)并接入集成電路板中,通過仿真器可以實(shí)現(xiàn)電腦與集成電路板的連接,以便于編程者隨時(shí)修改程序并且可以隨時(shí)觀察到實(shí)現(xiàn)的實(shí)驗(yàn)現(xiàn)象。第1章 系統(tǒng)概述1.1 單片機(jī)的概述AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROMFlash Programmable an

5、d Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。1.2 protel 99se的概述隨著計(jì)算機(jī)的飛速發(fā)展,許多原來人工從事的工作被計(jì)算機(jī)所代替在這種大趨勢下,計(jì)算機(jī)輔助設(shè)計(jì)成為當(dāng)前電子線

6、路設(shè)計(jì)及印刷電路板(PCB)設(shè)計(jì)的極其重要的手段,并受到廣泛的重視。Protel99 SE軟件是電子線路設(shè)計(jì)與制板方面的佼佼者。Protel99 SE是一個32位的Windows軟件,期編輯環(huán)境采用了視圖風(fēng)格,利用鼠標(biāo)和鍵盤就可輕松進(jìn)行設(shè)計(jì)工作,操作起來非常方便,極大地提高了設(shè)計(jì)工作的效率。PROTEL99SE 是應(yīng)用于 Windows9X/2000/NT/XP 操作系統(tǒng)下的 EDA 設(shè)計(jì)軟件 ,集成了電路圖原理設(shè)計(jì)、PCB 設(shè)計(jì)、PLD 可編程邏輯器件和電路仿真等功能,具有很強(qiáng)的數(shù)據(jù)交換能力和開放性及 3D 模擬功能。PROTEL99SE 與 PROTEUS 和 QUARTUS 其他 EDA

7、 軟件相比, 其具有強(qiáng)大的印刷電路板(PCB)功能,PROTEL99SE 不僅能完成自身的原理圖設(shè)計(jì)和 PCB 設(shè)計(jì),還能在別的 EDA 軟件的網(wǎng)絡(luò)表上,生成實(shí)用、精美的印刷電路板。本課程設(shè)計(jì)使用 PROTEL99SE 制作一 AT89C51的最小單片機(jī)系統(tǒng) PCB,系統(tǒng)集成時(shí)鐘電路、復(fù)位電路、存儲器擴(kuò)展電路等。第2章 單元電路設(shè)計(jì)與分析2.1 單片機(jī)復(fù)位電路復(fù)位電路的原理是單片機(jī)RST引腳接收到2US以上的電平信號,只要保證電容的充放電時(shí)間大于2US,即可實(shí)現(xiàn)復(fù)位,所以電路中的電容值是可以改變的。按鍵按下系統(tǒng)復(fù)位,是電容處于一個短路電路中,釋放了所有的電能,電阻兩端的電壓增加引起的。復(fù)位電路

8、通常采用上電復(fù)位和按鈕復(fù)位兩種方式。本設(shè)計(jì)使用上電復(fù)位方式。2.2單片機(jī)晶振電路單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,它的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體和微調(diào)電容,構(gòu)成一個穩(wěn)定的自激振蕩器。2.3 地址鎖存器電路單片機(jī)的I/O 口上需要外接地址鎖存器。當(dāng)單片機(jī)連接片外存儲器時(shí),要接上鎖存器,這是為了實(shí)現(xiàn)地址的復(fù)用。假設(shè),MCU端口其中的 8 路的 I/O 管腳既要用于地址信號又要用于數(shù)據(jù)信號,這時(shí)就可以用鎖存器先將地址鎖存起來。8051訪問外部存儲器時(shí)P0口和P2口共同做為地址總線,P0口常接鎖存器再接存儲器。以防止總線間的沖突。而P2口

9、直接接存儲器。因?yàn)閱纹瑱C(jī)內(nèi)部時(shí)序只能鎖住P2口的地址,如果用P0口傳輸數(shù)據(jù)時(shí)不用鎖存器的話,地址就改變了。本設(shè)計(jì)才用74LS573地址鎖存器。2.4譯碼電路譯碼電路中用譯碼法擴(kuò)展外部數(shù)據(jù)存儲器的接口電路。數(shù)據(jù)存儲器62128,該芯片地址線為A0-A13,這樣AT89C51單片機(jī)剩余地址線可以采用譯碼器進(jìn)行擴(kuò)展。2.5 外部存儲器擴(kuò)展電路8051單片機(jī)片內(nèi)集成4KB程序存儲器和128B數(shù)據(jù)存儲器,但是在許多情況下,片內(nèi)的存儲器資源還不能夠滿足需要,為此需要對單片機(jī)進(jìn)行外部程序存儲器和數(shù)據(jù)存儲器擴(kuò)展。本設(shè)計(jì)用的是6264和2764存儲器芯片。2.6 時(shí)鐘電路DS12887時(shí)鐘電路DS12887,采

10、用DS12887芯片設(shè)計(jì)的時(shí)鐘電路勿需任何外圍電路并具有良好的微機(jī)接口。DS12887芯片具有微功耗、外圍接口簡單、精度高、工作穩(wěn)定可靠等優(yōu)點(diǎn)由振蕩電路、分頻電路、周期中斷方波選擇電路、14字節(jié)時(shí)鐘和控制單元、114字節(jié)用戶非易失RAM、十進(jìn)制二進(jìn)制計(jì)數(shù)器、總線接口電路、電源開關(guān)寫保護(hù)單元和內(nèi)部鋰電池等部分組成。2.7 8279鍵盤、顯示器接口電路 8279芯片是一種通用可編程鍵盤/顯示器接口電路芯片,它能完成監(jiān)視鍵盤輸入和顯示控制兩種功能。8279對鍵盤部分提供一種掃描工作方式,能對64個按鍵鍵盤陣列不斷掃描,自動消抖,自動識別出閉合的鍵并得到鍵號,能對雙鍵或N鍵同時(shí)按下進(jìn)行處理。第3章 系

11、統(tǒng)電路的設(shè)計(jì)與調(diào)試、軟件編程 與調(diào)試 Protel99SE中主要功能模塊: Advanced Schematic 99SE(原理圖設(shè)計(jì)系統(tǒng)) 該模塊主要用于電路原理圖設(shè)計(jì)、原理圖元件設(shè)計(jì)和各種原理圖報(bào)表生成等。   Advanced PCB 99SE(印刷電路板設(shè)計(jì)系統(tǒng)) 該模塊提供了一個功能強(qiáng)大和交互友好的PCB設(shè)計(jì)環(huán)境,主要用于PCB設(shè)計(jì)、元件封裝設(shè)計(jì)、報(bào)表形成及PCB輸出。 Advanced Route 99SE(自動布線系統(tǒng)) Advanced Integrity 99SE(PCB信號完整性分析) Advanced SIM 99SE(電路仿真系統(tǒng)) Advanced PLD

12、99SE(可編程邏輯器件設(shè)計(jì)系統(tǒng)) 3.1 最小統(tǒng)原理圖的繪制設(shè)計(jì)電路原理圖是進(jìn)行電路設(shè)計(jì)的第一步,也是做重要的一步。電路原理圖設(shè)計(jì)最基本的要求是正確性,其次是布局合理,最后是在正確性和布局合理的前提下力求美觀。一般包括如下步驟3.1.1創(chuàng)建新的設(shè)計(jì)數(shù)據(jù)庫 執(zhí)行菜單【File】【New】可以建立一個新的設(shè)計(jì)數(shù)據(jù)庫,屏幕彈出下圖所示的新建文件對話框,在【Database File Name】框中可以輸入新的數(shù)據(jù)庫文件名,系統(tǒng)默認(rèn)為“MyDesign.ddb”,點(diǎn)擊【Browse.】按鈕可以修改文件的保存位置;單擊【Password】選項(xiàng)卡可進(jìn)行密碼設(shè)置。啟動SCH99SE編輯器:在指定Docum

13、ents下,執(zhí)行【File】【New】,屏幕彈出New Document對話框,即雙擊 圖標(biāo),新建原理圖文件,如圖2-1所示,系統(tǒng)默認(rèn)文件名為Sheet1,此時(shí)可以直接修改文件名。雙擊文件圖標(biāo),進(jìn)入編輯器。 3.1.2裝入元器件庫在放置元件之前,必須先將元件所在的元件庫載入內(nèi)存。裝載元件庫的步驟如下。 打開設(shè)計(jì)管理器,選擇Browse Sch選項(xiàng)卡,單擊【Add/Remove】按鈕添加元件庫,如圖2-6所示。 在Design Explorer 99 LibrarySch文件夾下選中元件庫文件,單擊【Add】按鈕,將元件庫文件添加到庫列表中,添加庫后單擊【OK】按鈕結(jié)束添加工作,此時(shí)元件庫的詳細(xì)

14、信息將顯示在設(shè)計(jì)管理器中。3.1.3放置元器件 裝入元件庫后,在元件庫瀏覽器中可以看到元件庫、元件列表及元件外觀,選中所需元件庫,則該元件庫中的元件將出現(xiàn)在元件列表中,雙擊元件名稱(如CAP)或單擊元件名稱后按Place按鈕。最小系統(tǒng)原理圖中用到的元器件主要是:“8051”,“74ALS573”,“2764”,“6264”“CRYSTAL(晶振)”,“CAP(電容)”,“RES2(電阻)”,“SW SPST(開關(guān))”等。3.1.4元件布局 放置元件后,在連線前必須先調(diào)整元件布局。(1)元件的選中與取消選中:利用工具欄按鈕選中元件。單擊主工具欄上的 按鈕,拉框選中框內(nèi)圖件或直接用鼠標(biāo)點(diǎn)取。(2)

15、移動元件:常用的方法是用鼠標(biāo)左鍵點(diǎn)中要移動的元件,并按住鼠標(biāo)左鍵不放,將元件拖到要放置的位置。 單擊主工具欄上的 按鈕,可以移動已選取的對象。執(zhí)行菜單EditMoveDrag,可以連線與元件一起拖動。 執(zhí)行菜單EditMoveMove,只可以移動元件。(3)元件的旋轉(zhuǎn): 用鼠標(biāo)左鍵點(diǎn)住要旋轉(zhuǎn)的元件不放,按<Space>鍵逆時(shí)針90度旋轉(zhuǎn),按<X>鍵水平方向翻轉(zhuǎn),按<Y>鍵垂直方向翻轉(zhuǎn)。(4)元件的刪除:要刪除某個元件,可用鼠標(biāo)左鍵單擊要刪除的元件,按<Delete>鍵刪除該元件,也可執(zhí)行EditDelete,用鼠標(biāo)單擊要刪除的元件進(jìn)行刪除。3.1

16、.5連線 元件的位置調(diào)整好后,下一步是對各元件進(jìn)行線路連線。單擊畫電氣連線按鈕 光標(biāo)變?yōu)椤笆弊譅?,將光?biāo)移至所需位置,單擊鼠標(biāo)左鍵,定義導(dǎo)線起點(diǎn),將光標(biāo)移至下一位置,再次單擊鼠標(biāo)左鍵,完成兩點(diǎn)間的連線,單擊鼠標(biāo)右鍵,結(jié)束此條連線。這時(shí)仍處于連線狀態(tài),可繼續(xù)進(jìn)行線路連接,若雙擊鼠標(biāo)右鍵,則退出畫線狀態(tài)。3.1.6總線和網(wǎng)絡(luò)標(biāo)號的使用(1) 繪制總線:執(zhí)行菜單PlaceBus或單擊工具欄上按鈕,進(jìn)入放置總線狀態(tài),將光標(biāo)移至合適的位置,單擊鼠標(biāo)的左鍵,定義總線起點(diǎn),將光標(biāo)移至另一位置,單擊鼠標(biāo)左鍵,定義總線的下一點(diǎn)。連線完畢,單擊鼠標(biāo)的右鍵退出放置狀態(tài)。在畫線狀態(tài)時(shí),按<Tab>鍵,屏

17、幕彈出總線屬性對話框,可以修改線寬和顏色。(2) 放置總線分支:執(zhí)行菜單PlaceBus Entry,或單擊 按鈕,進(jìn)入放置總線分支的狀態(tài),此時(shí)光標(biāo)上帶著懸浮的總線分支線,將光標(biāo)移至總線和管腳引出線之間,按空格鍵變換傾斜角度,單擊鼠標(biāo)左鍵放置總線分支線。(3) 放置網(wǎng)絡(luò)標(biāo)號: 放置網(wǎng)絡(luò)標(biāo)號可以通過執(zhí)行菜單PlaceNet Label實(shí)現(xiàn),或單擊 按鈕進(jìn)入放置網(wǎng)絡(luò)標(biāo)號狀態(tài),此時(shí)光標(biāo)處帶有一個虛線框,將虛線框移動至需要放置網(wǎng)絡(luò)標(biāo)號的圖件上,當(dāng)虛線框和圖件相連處出現(xiàn)一個小園點(diǎn)時(shí),表明與該導(dǎo)線建立電氣連接,單擊鼠標(biāo)左鍵放下網(wǎng)絡(luò)標(biāo)號,將光標(biāo)移至其它位置可繼續(xù)放置。3.1.7 電氣規(guī)則檢查與網(wǎng)絡(luò)表生成實(shí)驗(yàn)

18、中產(chǎn)生的列表有:網(wǎng)絡(luò)報(bào)表、材料清單列表。在打開的電路原理圖界面,依次用鼠標(biāo)左鍵單擊“Design設(shè)計(jì)>Create Netlist.創(chuàng)建網(wǎng)絡(luò)表”,用默認(rèn)的設(shè)置參數(shù),點(diǎn)擊OK按鈕,即可產(chǎn)生網(wǎng)絡(luò)報(bào)表。在打開的電路原理圖界面,依次用鼠標(biāo)左鍵單擊“Reports報(bào)告>Bill of Material材料清單”,用默認(rèn)的設(shè)置參數(shù)一步步確認(rèn),即可產(chǎn)生材料清單列表。 執(zhí)行菜單ToolsERC電器規(guī)則檢查”,按默認(rèn)的設(shè)置,單擊OK按鈕后,出現(xiàn)一個報(bào)表,里面可以顯示出原理圖中的錯誤?;氐皆韴D中,凡是打叉的地方,都有一定的錯誤,則需進(jìn)行修改。3.1.8元器件的封裝元件封裝庫管理器:PCB元件庫編輯器

19、中的元件庫管理器與原理圖庫元件管理器類似,在設(shè)計(jì)管理器中選中Browse PCBLib可以打開元件庫管理器,在元件庫管理器中可以對元件進(jìn)行編輯操作,元件封裝管理器如下圖。元器件如果想導(dǎo)入PCB圖中,需要對其封裝。本實(shí)驗(yàn)中用到的元器件,有些已經(jīng)封裝好了,比如:“8051”,“74ALS373”,“2764”,“6264”。而“CRYSTAL(晶振)”,“CAP(電容)”,“RES2(電阻)”這些原件都需要封裝。實(shí)驗(yàn)用到的有:“CRYSTAL(晶振)”的封裝名為,“CAP(電容)”的封裝名為,“RES2(電阻)”封裝名為。這就完成了封裝,然后用鼠標(biāo)左鍵單擊“Design設(shè)計(jì)>Create N

20、etlist.創(chuàng)建網(wǎng)絡(luò)表”,點(diǎn)擊PK按鈕,產(chǎn)生網(wǎng)絡(luò)報(bào)表。3.1.9將原理圖中的元器件導(dǎo)入PCB中單擊“File文>New.新建文件”按鈕,雙擊“PCB Document(印制電路板編輯器)”圖標(biāo),就啟動了電路板編輯器。用鼠標(biāo)左鍵依次單擊“Design設(shè)計(jì)>Netlist.網(wǎng)絡(luò)表”,出現(xiàn)對話框,單擊,在下找到生成的報(bào)表文件,單擊OK按鈕,則在出現(xiàn)的界面中可以出現(xiàn)所有元器件名,以及封裝是否正確,是否所有引腳都對應(yīng)上了,然后到對應(yīng)的原理圖上進(jìn)行修改,重新生成網(wǎng)絡(luò)報(bào)表,重新導(dǎo)入,當(dāng)沒錯誤時(shí),單擊,則所有元器件都導(dǎo)入到PCB圖中了。3.1.10最小系統(tǒng)PCB圖的繪制在Protel 99 SE

21、中,執(zhí)行菜單FileNew,在出現(xiàn)的對話框中單擊圖標(biāo)進(jìn)入PCB元件庫編輯器,并自動新建一個元件庫PCBLIB1.LIB。(1)擺放元器件:把元器件擺放至合適的位置,單擊需要擺放的元器件,拖動鼠標(biāo),在合適的位置單擊鼠標(biāo)左鍵,即可放置,放置中,按住鼠標(biāo)左鍵不松的情況下,按鍵盤上的【空格】鍵,調(diào)整芯片方向。元器件擺放的原則:芯片上端最好要一齊,缺口向上,使連線盡量簡單,元器件盡量靠近(夠布線即可)。此實(shí)驗(yàn)還需把晶振盡量靠近芯片,把耦合電容放置到每個芯片附近。(2)繪制邊界: 布線前,需要規(guī)劃PCB的物理邊界。單擊工作層面切換標(biāo)簽按鈕,單擊“PCB放置工具條”中的按鈕,在工作區(qū)中移動鼠標(biāo)至需要繪制PC

22、B下邊界的地方,單擊一次數(shù)遍左鍵,然后移動鼠標(biāo)光標(biāo)到下邊界的另一個定點(diǎn),依次單擊鼠標(biāo)左鍵即可完成物理邊界下邊界的繪制工作,再以同樣方法繪制其他邊界,直到把布局中所有元器件用方框框起來為止,回到起點(diǎn)后,當(dāng)出現(xiàn)小圓圈后,單擊鼠標(biāo)左鍵,即完成物理邊界的繪制。單擊工作層面切換標(biāo)簽按鈕,單擊“PCB放置工具條”中的按鈕,按照繪制物理邊界的方法繪制規(guī)劃電氣邊界,兩個邊界重疊在一起即可。(3) 參數(shù)設(shè)置:用鼠標(biāo)單擊“Design設(shè)計(jì)>Rules.規(guī)則”按鈕,彈出“布線參數(shù)設(shè)置”對話框,在默認(rèn)選項(xiàng)下,設(shè)置參數(shù)。此實(shí)驗(yàn)中,VCC和GND之間的線寬、分別為12mil,100mil,30mil。其他線寬值、分

23、別為12mil,20mil,20mil。,單擊OK按鈕。3.1.11布線實(shí)驗(yàn)要求手動布線。先單擊“PCB放置工具條”中的按鈕,然后將光標(biāo)移至工作區(qū),切換到需要繪制導(dǎo)線的工作層面,通常為頂層布線層Toplayer和底層布線層Bottumlayer,再將光標(biāo)移到需要繪制導(dǎo)線的地方,在導(dǎo)線起始位置單擊數(shù)遍左鍵一次,然后移動光標(biāo),繪制到終點(diǎn)后,單擊一次鼠標(biāo)右鍵,即可完成繪制工作。當(dāng)想從上層過到下層繼續(xù)布線,或者從下層過到上層繼續(xù)布線,則需要打過孔。單擊“PCB放置工具條”中的按鈕,移動至工作區(qū)內(nèi),在需要打過孔的地方單擊鼠標(biāo)左鍵即可,按上述操作打完所有過孔。調(diào)整好布線后,用鼠標(biāo)左鍵再單擊左下角的按鈕,即

24、可對布線進(jìn)行檢查。3.2通用鍵盤與顯示器接口芯片82793.2.1 8279芯片介紹(1)8279引腳及功能Intel 8279是一種可編程鍵盤/顯示器接口芯片,它含有鍵盤輸入和顯示器輸出兩種功能。鍵盤輸入時(shí),它提供自動掃描,能與按鍵或傳感器組成的矩陣相連,接收輸入信息,它能自動消除開關(guān)抖動并能對多鍵同時(shí)按下提供保護(hù)。顯示輸出時(shí),它有一個16×8位顯示RAM,其內(nèi)容通過自動掃描,可由8位或16位LED數(shù)碼管顯示。 8279采用40引腳雙列直插封裝,其引腳排列及功能如下所示。DB7DB0為雙向外部數(shù)據(jù)總線 ; 為片選信號線,低電平有效; 和 為讀和寫選通信號線;IRQ為中斷請求輸出線。

25、RL7RL0為鍵盤回送線。SL3SL0為掃描輸出線。OUTB3OUTB0、OUTA3OUTA0為顯示寄存器數(shù)據(jù)輸出線。RESET為復(fù)位輸入線。 SHIFT為換檔鍵輸入線。CNTL/STB為控制/選通輸入線。CLK為外部時(shí)鐘輸入線。為顯示器消隱控制線 。(2)8279的工作方式 8279工作方式的確定是通過CPU對8279送入命令字來實(shí)現(xiàn)的。當(dāng)數(shù)據(jù)選擇端A0置1時(shí),CPU對8279寫入的數(shù)據(jù)為命令字,讀出的數(shù)據(jù)為狀態(tài)字。在敘述命令字、狀態(tài)字前,先說明8279的幾種工作方式。鍵盤工作方式通過對鍵盤/顯示方式命令字的設(shè)置,可置8279為雙鍵互鎖方式和N鍵巡回方式。雙鍵互鎖是為兩鍵同時(shí)按下提供的保護(hù)方

26、法。若有兩鍵或多個鍵同時(shí)按下,則無論這些鍵是以什么次序按下的,它只識別最后一個釋放的鍵,并把該鍵值送入FIFO/傳感器RAM中。N鍵巡回是為N個鍵同時(shí)按下時(shí)提供的保護(hù)方法。若有多個鍵同時(shí)按下,則鍵盤掃描時(shí)可按按鍵先后順序依次將鍵值送入FIFO/傳感器RAM中。 顯示器工作方式通過對鍵盤/顯示方式命令字和寫顯示RAM命令字的設(shè)置,可將顯示數(shù)據(jù)寫入顯示緩沖器的方式置為左端送入和右端送入兩種方式。左端送入為依次填入方式,右端送入為移位方式。傳感器矩陣方式通過對讀FIFO/傳感器RAM命令字的設(shè)置可將8279設(shè)置成傳感器矩陣方式,此時(shí),傳感器的開關(guān)狀態(tài)直接送到傳感器RAM中。CPU對傳感器陣列掃描時(shí),

27、如果檢測到某個傳感器狀態(tài)發(fā)生了變化,則使中斷申請信號IRQ變?yōu)楦唠娖?。如果AI(D4)=0,則對傳感器RAM的第一次讀操作即清除IRQ;如果AI(D4)=1,則由中斷結(jié)束命令清除IRQ。3.2.2 8279的數(shù)碼管顯示數(shù)字“12345678”設(shè)計(jì)思路:8279的數(shù)據(jù)口地址為7000H,將寄存器R0先存入數(shù)01H,講R0的數(shù)據(jù)送入7000H,然后顯示,并用時(shí)延保持,再使R0加1,再送入7000H,然后時(shí)延,同樣方法重復(fù)8次即可存入8個數(shù)并顯示在數(shù)碼管上。(1)8279初始化:8279的命令/狀態(tài)口地址為7001H,數(shù)據(jù)口地址為7000H。初始化首先將命令/狀態(tài)口地址寫入DPTR,然后將控制字送入

28、累加器,為清除命令。然后向命令/狀態(tài)口地址寫入控制字,這時(shí)需要讀取的狀態(tài)。的狀態(tài)字的第七位表示顯示無效,即顯示由于清除顯示或全清命令尚未完成時(shí)。所以要檢查清除狀態(tài)是否完成,完成以后再繼續(xù)。00H為編碼掃描鍵盤,2AH為程控時(shí)鐘命令。用同樣的方法可對8279進(jìn)行讀顯示、寫顯示、讀鍵盤等命令操作。(2) 顯示12345678:8279數(shù)據(jù)入口地址為7000H。先將7001H寫入命令字90H,90H為寫顯示命令,同時(shí)每次寫入之后,地址會自動加1指向下一個地址,所以下一次順序?qū)懭霐?shù)據(jù)時(shí)就不必重新設(shè)置寫顯示RAM命令字。然后設(shè)置寫入的數(shù)從1開始,一共8個數(shù)。用寄存器R0存數(shù),寫一個數(shù),R0加1,然后再繼

29、續(xù)寫下一個數(shù)并顯示。要注意加時(shí)延,因?yàn)槌绦驁?zhí)行時(shí)間很短,如果不加時(shí)延不能夠持續(xù)看清楚數(shù)字,數(shù)碼管會閃爍。(3) 流程圖如下程序見附錄2.13.2.38279的16位按鍵顯示設(shè)計(jì)思路:鍵盤上按哪個鍵在數(shù)碼管上顯示哪個鍵,程序初始化后,先判斷是否有鍵按下,如果有鍵按下,判斷哪個鍵被按下,然后對應(yīng)顯示按鍵內(nèi)容。鍵碼鍵值: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日歷時(shí)鐘芯片3.3.1 DS12887

30、芯片介紹DS12887內(nèi)部原理如圖1所示,由振蕩電路、分頻電路、周期中斷/方波選擇電路、14字節(jié)時(shí)鐘和控制單元、114字節(jié)用戶非易失RAM、十進(jìn)制/二進(jìn)制計(jì)加器、總線接口電路、電源開關(guān)寫保護(hù)單元和內(nèi)部鋰電池等部分組成。圖2顯示了DS12887管腳排列圖。下面分別說明管腳功能: GND,VCC:直流電源+5V電壓。當(dāng)5V電壓在正常范圍內(nèi)時(shí),數(shù)據(jù)可讀寫;當(dāng)VCC低于4.25V,讀寫被禁止,計(jì)時(shí)功能仍繼續(xù);當(dāng)VCC下降到3V以下時(shí),RAM和計(jì)時(shí)器被切換到內(nèi)部鋰電池。    MOT(模式選擇):MOT管腳接到VCC時(shí),選擇MOTOROLA時(shí)序,當(dāng)接到GFND時(shí),選擇INT

31、EL時(shí)序。    SQW(方波信號同):SQW管腳能從實(shí)時(shí)時(shí)鐘內(nèi)部15級分頻器的13個抽頭中選擇一個作為輸出信號,其輸出頻率可通過對寄存器A編程改變。    AD0AD7(雙向地址/數(shù)據(jù)復(fù)用線):總線接口,可與MOTOROLA微機(jī)系列和INTEL微機(jī)系列接口。    AS(地址選通輸入):用于實(shí)現(xiàn)信號分離,在AD/ALE的下降沿把地址鎖入DS12887。    DS(數(shù)據(jù)選通或讀輸入):DS/RD客腳有兩種操作模式,取決于MOT管腳的電平,當(dāng)使用MOTOROLA時(shí)序時(shí),DS是

32、一正脈沖,出現(xiàn)在總線周期的后段,稱為數(shù)據(jù)選通;在讀周期,DS指示DS12887驅(qū)動雙向總的時(shí)刻,在寫周期,DS的后沿使DS12887鎖存寫數(shù)據(jù)。選擇INTEL時(shí)序時(shí),DS稱作(RD),RD與典型存貯器的允許信號(OE)的定義相同。    R/W(讀/寫輸入):R/W管腳也有兩種操作模式。選MOTOROLA時(shí)序時(shí),R/W是一電平信號,指示當(dāng)前周期是讀或?qū)懼芷冢珼SO為高電平時(shí),R/W高電平指示讀周期,R/W低電平指示寫周期;選INTEL時(shí)序,R/W信號是一低電平信號,稱為WR。在此模式下,R/W管腳與通用RAM的寫允許信號(WE)的含義相同。  

33、  CS(片選輸入):在訪問DS12887的總線周期內(nèi),片選信號必須保持為低。    IRQ(中斷申請輸入):低電平有效,可作微處理的中斷輸入。沒有中斷條件滿足時(shí),IRQ處于高阻態(tài)。IRQ線是漏極開路輸入,要求外接上接電阻。    RESET(復(fù)位輸出):當(dāng)該腳保持低電平時(shí)間大于200ms,保證DS12887有效復(fù)位。3.3.2硬件接口電路 DS12887時(shí)鐘芯片和80C31單微機(jī)的接口電路如圖4所示。模式選擇腳MOT拉地,選擇不NTEL時(shí)序,選擇DS12887時(shí)鐘芯片的地址總線及 AS端口和80C31單片微機(jī)的P0及ALE

34、端直接相聯(lián);而DS、R/W讀寫控制線與單片機(jī)的RD、WAR控制線相連;DS12887的高位地址由 80C31半日片機(jī)的P2.7端口來片選,則DS12887的高8位地址定為7FH,而其低8俠地址則由芯片內(nèi)部各單元的地址來決定(00H3FH); DS12887的中斷輸出端IRQ和80C的外部INT0端相聯(lián),給單片機(jī)提供中斷信號;DS12887的SQW端口可編程產(chǎn)生方波輸出信號。 3.3.3 12887的設(shè)計(jì)(1)12887地址確定:單片機(jī)的P2.3-P2.6接4-16線譯碼器輸入,輸出的/Y12接8279的片選,則所對應(yīng)的地址為P2.7-P2.4=0110,其余為低電平有效,故12887的寄存器地

35、址范圍在6000H607FH。 (2)12887的初始化:將DS12887狀態(tài)寄存器B中的SET位置1,然后初始化00H-09H時(shí)標(biāo)參數(shù)寄存器和狀態(tài)寄存器A;此后,再通過讀狀態(tài)寄存器C,清除寄存器C中的周期中斷標(biāo)志位PF、報(bào)警中斷標(biāo)志位AF、更新周期結(jié)束中斷標(biāo)志位UF。寄存器D中的VRT位在讀操作后將自動置1。最后,將狀態(tài)寄存器B中的SET位置0,芯片開始計(jì)時(shí)工作。狀態(tài)寄存器A為20H,它表示采用的時(shí)鐘頻率為32678 HZ,禁止引腳SQW輸出;狀態(tài)寄存器B為22H。(3) 程序流程圖:程序見附錄2.33.3.4基于DS12887和 8279實(shí)時(shí)時(shí)鐘系統(tǒng)設(shè)計(jì)利用實(shí)驗(yàn)板上的16個鍵盤來控制時(shí)鐘,

36、A、B、C鍵分別是時(shí)、分、秒鍵,F(xiàn)鍵為回車鍵。按A鍵顯示小時(shí),然后按0-9數(shù)字鍵來調(diào)整時(shí)間,同理,按B鍵顯示分鐘,然后按0-9數(shù)字鍵來調(diào)整分鐘,按C鍵顯示秒,然后按0-9數(shù)字鍵來調(diào)整秒。按F鍵后計(jì)算機(jī)將修改的時(shí)間、分、秒按各個功能鍵的不同分別傳給DS12887中相應(yīng)功能單元,最后顯示器顯示正常的時(shí)、分、秒。(1) 方案:(1)DS12887初始化。(2)將DS12887中的時(shí)、分、秒送到8279顯示緩沖區(qū)并顯示出來。(3)最終結(jié)果:利用實(shí)驗(yàn)板上的16個鍵盤來控制時(shí)鐘,A、B、C鍵分別是時(shí)、分、秒鍵,F(xiàn)鍵為回車鍵。按A鍵顯示小時(shí),然后按1-9數(shù)字鍵來調(diào)整時(shí)間,同理,按B鍵顯示分鐘,然后按1-9數(shù)

37、字鍵來調(diào)整分鐘,按C鍵顯示秒,然后按1-9數(shù)字鍵來調(diào)整秒。按F鍵后計(jì)算機(jī)將修改的時(shí)間、分、秒按各個功能鍵的不同分別傳給DS12887中相應(yīng)功能單元,最后顯示器顯示正常的時(shí)、分、秒。(2) 程序流程圖:程序見附錄2.4第4章 結(jié)束語本次課程設(shè)計(jì)是用PROTEL 99SE軟件設(shè)計(jì)一個單片機(jī)最小系統(tǒng)和大板上基于8279和DS12887的實(shí)驗(yàn)。經(jīng)過兩個多月的學(xué)習(xí)、設(shè)計(jì)、調(diào)試和改進(jìn),成果滿足基本設(shè)計(jì)請求,驗(yàn)證無誤。設(shè)計(jì)涉及了protel 99se設(shè)計(jì)電路原理圖的方法,pcb制版的原理和方法,大板實(shí)驗(yàn)也涉及到多種芯片,程序也比較長比較麻煩,同時(shí)也碰到了不少艱苦,尤其是關(guān)于PCB布線和DS12887和827

38、9的綜合實(shí)驗(yàn)。期間應(yīng)用到了數(shù)字電路、模擬電路、單片機(jī)原理、微機(jī)接口技術(shù)等相關(guān)知識。 通過本次設(shè)計(jì),我懂得了如何讓利用protel 99se設(shè)計(jì)電路原理圖和時(shí)鐘的設(shè)計(jì)流程,尤其是硬、軟件的設(shè)計(jì)方法以及鍵盤顯示電路的基礎(chǔ)功效及編程方法和鍵盤電路和顯示電路的一般原理,也進(jìn)一步了解了8051定時(shí)器的應(yīng)用和中斷CPU程序的編程方法,開辟了思路,提高了分工協(xié)作才能和分析題目,解決題目的能力。由于基礎(chǔ)不是很好,一個人完成本次課程設(shè)計(jì)是艱難的。在此向給予我和團(tuán)隊(duì)成員幫助的同學(xué)和老師致謝。是你們的啟迪和鼓勵讓我在實(shí)驗(yàn)中受益匪淺。附錄1:附圖元器件明細(xì)表單片機(jī)最小系統(tǒng)及存儲器擴(kuò)展原理圖層次原理圖頂圖層次原理圖子圖

39、CPU層次原理圖子圖MEMORY最小系統(tǒng)手動布線PCB圖鋪地的PCBERC檢查DRC檢查附錄2:程序2.1設(shè)計(jì)程序使數(shù)碼管顯示“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 實(shí)時(shí)時(shí)鐘的設(shè)計(jì) 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 ;時(shí)MOV 33H,40H LCALL DI

48、R SJMP KEYKEY: MOV DPTR,#7001H ;判斷是否有鍵按下 MOVX A,DPTR ANL A,#07H JZ TURN MOV A,#40H;有鍵按下,鍵值轉(zhuǎn)化為十六進(jìn)制 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->時(shí) MOV

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論