單片機指令系統(tǒng) 3.1 MCS-51指令簡介 3.2 指令系統(tǒng) 3.1 MCS-51指令簡介 二、MCS-51系列單片機指令系統(tǒng)分類 按尋址方式分為以下七種:按功能分為以下四種: 1、立即立即尋址 1、數(shù)據(jù)傳送指令位操 2、直接尋址 2、算術運算指令 3、寄存器尋址 3、邏輯運算指令 4、寄存器間接尋址指令 4、控制轉移類指令 5、相對尋址 5、位操作指令 6、變址尋址 7、位尋址 三、尋址方式 3、寄存器間接尋址 MOV A, @R1 操作數(shù)是通過寄存器間接得到的。 4、立即尋址 MOV A, #40H 操作數(shù)在指令中直接給出。 5、基址寄存器加變址寄存器尋址 以DPTR或PC為基址寄存器,以A為變址寄存器, 以兩者相加形成的16位地址為操作數(shù)的地址。 MOVC A, @A+DPTR MOVC A, @A+PC 四、指令中常用符號說明 Rn——當前寄存器區(qū)的8個工作寄存器R0~R7(n=0~7); Ri——當前寄存器區(qū)可作地址寄存器的2個工作寄存器R0和R1(i=0,1); direct——8位內部數(shù)據(jù)存儲器單元的地址及特殊功能寄存器的地址; #data——表示8位常數(shù)(立即數(shù)); #datal6——表示16位常數(shù); add 16——表示16位地址; addrll——表示11位地址; rel——8位帶符號的地址偏移量; bit——表示位地址; @——間接尋址寄存器或基址寄存器的前綴; ( )——表示括號中單元的內容 (( ))——表示間接尋址的內容; 五、MCS-51指令簡介 1. 以累加器A為目的操作數(shù)的指令 2. 以Rn為目的操作數(shù)的指令 3. 以直接地址為目的操作數(shù)的指令 4. 以寄存器間接地址為目的操作數(shù)指令 應用舉例1 8段數(shù)碼管顯示 應用舉例2 3.2 指令系統(tǒng) 2、堆棧操作指令 3. 累加器A與外部數(shù)據(jù)傳輸指令 4. 查表指令 MOVC A, @A+PC 例子: 5. 字節(jié)交換指令 6. 半字節(jié)交換指令 二、算術操作類指令 PSW寄存器 2. 帶進位加法指令 3. 加1指令 4. 十進制調整指令 5. 帶借位減法指令(Subtraction) 6. 減1指令(Decrease) 7. 乘法指令(Multiplication) 8. 除法指令(Division) 三、邏輯運算指令 1. 簡單邏輯操作指令 2. 循環(huán)指令 帶進位左循環(huán)指令(Rotate Accumulator Left through Carry flag) 右循環(huán)指令(Rotate Accumulator Right) 帶進位右循環(huán)指令(Rotate A Right with C) 3. 邏輯與指令 4. 邏輯或指令 5. 邏輯異或指令 四、控制轉移類指令 1. 跳轉指令 相對轉移指令 SJMP rel PC←(PC)+2 PC←(PC)+rel 程序中標號與地址之間的關系 2. 條件轉移指令 3. 比較不相等轉移指令 4. 減 1 不為 0 轉移指令 5. 調用子程序指令 7. 中斷返回指令 五、位操作指令 1. 數(shù)據(jù)位傳送指令 2. 位變量邏輯指令 3. 條件轉移類指令
標簽: 單片機 指令系統(tǒng)
上傳時間: 2013-10-27
上傳用戶:xuanjie
含原理圖+電路圖+程序的波形發(fā)生器:在工作中,我們常常會用到波形發(fā)生器,它是使用頻度很高的電子儀器。現(xiàn)在的波形發(fā)生器都采用單片機來構成。單片機波形發(fā)生器是以單片機核心,配相應的外圍電路和功能軟件,能實現(xiàn)各種波形發(fā)生的應用系統(tǒng),它由硬件部分和軟件部分組成,硬件是系統(tǒng)的基礎,軟件則是在硬件的基礎上,對其合理的調配和使用,從而完成波形發(fā)生的任務。 波形發(fā)生器的技術指標:(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設計1、 機器通電后,系統(tǒng)進行初始化,LED在面板上顯示6個0,表示系統(tǒng)處于初始狀態(tài),等待用戶輸入設置命令,此時,無任何波形信號輸出。2、 用戶按下“F”、“V”、“W”,可以分別進入頻率,幅值波形設置,使系統(tǒng)進入設置狀態(tài),相應的數(shù)碼管顯示“一”,此時,按其它鍵,無效;3、 在進入某一設置狀態(tài)后,輸入0~9等數(shù)字鍵,(數(shù)字鍵僅在設置狀態(tài)時,有效)為欲輸出的波形設置相應參數(shù),LED將參數(shù)顯示在面板上;4、 如果在設置中,要改變已設定的參數(shù),可按下“CL”鍵,清除所有已設定參數(shù),系統(tǒng)恢復初始狀態(tài),LED顯示6個0,等待重新輸入命令;5、 當必要的參數(shù)設定完畢后,所有參數(shù)顯示于LED上,用戶按下“EN”鍵,系統(tǒng)會將各波形參數(shù)傳遞到波形產生模塊中,以便控制波形發(fā)生,實現(xiàn)不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發(fā)生器開始輸出滿足參數(shù)的波形信號,面板上相應類型的運行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號,頻率值、電壓幅值等波形參數(shù);7、 波形發(fā)生器在輸出信號時,按下任意一個鍵,就停止波形信號輸出,等待重新設置參數(shù),設置過程如上所述,如果不改變參數(shù),可按下“EN”鍵,繼續(xù)輸出原波形信號;8、 要停止波形發(fā)生器的使用,可按下復位按鈕,將系統(tǒng)復位,然后關閉電源。硬件組成部分通過綜合比較,決定選用獲得廣泛應用,性能價格高的常用芯片來構成硬件電路。單片機采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅動器 ULN2803A(一塊),運算放大器 LM324(一塊) 波形發(fā)生器的硬件電路由單片機、鍵盤顯示器接口電路、波形轉換(D/ A)電路和電源線路等四部分構成。1.單片機電路功能:形成掃描碼,鍵值識別,鍵功能處理,完成參數(shù)設置;形成顯示段碼,向LED顯示接口電路輸出;產生定時中斷;形成波形的數(shù)字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機尋址外設,采用存儲器映像方式,外部接口芯片與內部存儲器統(tǒng)一編址,89C51提供16根地址線P0(分時復用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時還要負責與8255,0832的數(shù)據(jù)傳遞。P2.7是8255的片選信號,P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經過74LS373鎖存后,送到8255的A1、A2作,片內A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發(fā)光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機89C51內部有兩個定時器/計數(shù)器,在波形發(fā)生器中使用T0作為中斷源。不同的頻率值對應不同的定時初值,定時器的溢出信號作為中斷請求。控制定時器中斷的特殊功能寄存器設置如下:定時控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅動6位數(shù)碼管動態(tài)顯示; 提供響應界面; 掃面鍵盤; 提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅動器ULN2803A,6位共陰極數(shù)碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態(tài),按鍵的分布如圖所示。8255的A口作為LED段碼輸出口,與74LS244相連接,B口作為LED的位選信號輸出口,與ULN2803A相連接。8255內部的4個寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH , C口:7FFEH 3、D/A電路功能:將波形樣值的數(shù)字編碼轉換成模擬值;完成單極性向雙極性的波形輸出;構成由兩片0832和一塊LM324運放組成。0832(1)是參考電壓提供者,單片機向0832(1)內的鎖存器送數(shù)字編碼,不同的編碼會產生不同的輸出值,在本發(fā)生器中,可輸出1V、2V、3V、4V、5V等五個模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號時,其幅度是可調的。0832(2)用于產生各種波形信號,單片機在波形產生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經過D/A轉換,得到波形的模擬樣值點,假如N個點就構成波形的一個周期,那么0832(2)輸出N個樣值點后,樣值點形成運動軌跡,就是波形信號的一個周期。重復輸出N個點后,由此成第二個周期,第三個周期……。這樣0832(2)就能連續(xù)的輸出周期變化的波形信號。運放A1是直流放大器,運放A2是單極性電壓放大器,運放A3是雙極性驅動放大器,使波形信號能帶得起負載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發(fā)生器提供直流能量;構成由變壓器、整流硅堆,穩(wěn)壓塊7805組成。220V的交流電,經過開關,保險管(1.5A/250V),到變壓器降壓,由220V降為10V,通過硅堆將交流電變成直流電,對于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩(wěn)定,使用7805進行穩(wěn)壓。最后,+5V電源配送到各用電負載。
上傳時間: 2013-11-08
上傳用戶:685
介紹用PIC16F84單片機制作的電子密碼鎖。PIC16F84單片機共18個引腳,13個可用I/O接口。芯片內有1K×14的FLASHROM程序存儲器,36×8的靜態(tài)RAM的通用寄存器,64×8的EEPROM的數(shù)據(jù)存儲器,8級深度的硬堆棧。 用PIC單片機設計的電子密碼鎖微芯公司生產的PIC8位COMS單片機,采用類RISC指令集和哈弗總線結構,以及先進的流水線時序,與傳統(tǒng)51單片機相比其在速度和性能方面更具優(yōu)越性和先進性。PIC單片機的另一個優(yōu)點是片上硬件資源豐富,集成常見的EPROM、DAC、PWM以及看門狗電路。這使得硬件電路的設計更加簡單,節(jié)約設計成本,提高整機性能。因此PIC單片機已成為產品開發(fā),尤其是產品設計和研制階段的首選控制器。本文介紹用PIC16F84單片機制作的電子密碼鎖。PIC16F84單片機共18個引腳,13個可用I/O接口。芯片內有1K×14的FLASHROM程序存儲器,36×8的靜態(tài)RAM的通用寄存器,64×8的EEPROM的數(shù)據(jù)存儲器,8級深度的硬堆棧。硬件設計 電路原理見圖1。Xx8位數(shù)據(jù)線接4x4鍵盤矩陣電路,面板布局見表1,A、B、C、D為備用功能鍵。RA0、RA7輸出4組編碼二進制數(shù)據(jù),經74LS139譯碼后輸出逐行掃描信號,送RB4-RB7列信號輸入端。余下半個139譯碼器動揚聲器。RB2接中功率三極管基極,驅動繼電器動作。有效密碼長度為4位,根據(jù)實際情況,可通過修改源程序增加密碼位數(shù)。產品初始密碼為3345,這是一隨機數(shù),無特殊意義,目的是為防止被套解。用戶可按*號鍵修改密碼,按#號鍵結束。輸入密碼并按#號確認之后,腳輸出RB2腳輸出高電平,繼電器閉合,執(zhí)行一次開鎖動作。 若用戶輸入的密碼正確,揚聲器發(fā)出一聲稍長的“滴”提示聲,若輸入的密碼與上次修改的不符,則發(fā)出短促的“滴”聲。連續(xù)3次輸入密碼錯誤之后,程序鎖死,揚聲器報警。直到CPU被復位或從新上電。軟件設計 軟件流程圖見圖3。CPU上電或復位之后將最近一次修改并保存到EEPROM的密碼讀出,最為參照密匙。然后等待用戶輸入開鎖密碼。若5分鐘以內沒有接受到用戶的任何輸入,CPU自動轉入掉電模式,用戶輸入任意值可喚醒CPU。每次修改密碼之后,CPU將新的密碼存入內部4個連續(xù)的EEPROM單元,掉電后該數(shù)據(jù)任有效。每執(zhí)行一次開鎖指令,CPU將當前輸入密碼與該值比較,看是否真確,并給出相應的提示和控制。布 局 所有元件均使用SMD表貼封裝,縮小體積,便于產品安裝,60X60雙面PCB板,頂層是一體化輸入鍵盤,底層是元件層。成型后的產品體積小巧,能很方便的嵌入防盜鐵門、保險箱柜。
上傳時間: 2013-10-31
上傳用戶:uuuuuuu
設計一個單片機控制的簡易定時報警器。要求根據(jù)設定的初始值(1-59秒)進行倒計時,當計時到0時數(shù)碼管閃爍“00”(以1Hz閃爍),按鍵功能如下:(1)設定鍵:在倒計時模式時,按下此鍵后停止倒計時,進入設置狀態(tài);如果已經處于設置狀態(tài)則此鍵無效。(2)增一鍵:在設置狀態(tài)時,每按一次遞增鍵,初始值的數(shù)字增1。(3)遞一鍵:在設置狀態(tài)時,每按一次遞減鍵,初始值的數(shù)字減1。(4)確認鍵:在設置狀態(tài)時,按下此鍵后,單片機按照新的初始值進行倒計時及顯示倒計時的數(shù)字。如果已經處于計時狀態(tài)則此鍵無效。3.1.2 模塊1:系統(tǒng)設計(1)任務分析與整體設計思路根據(jù)題目的要求,需要實現(xiàn)如下幾個方面的功能。計時功能:要實現(xiàn)計時功能則需要使用定時器來計時,通過設置定時器的初始值來控制溢出中斷的時間間隔,再利用一個變量記錄定時器溢出的次數(shù),達到定時1秒中的功能。然后,當計時每到1秒鐘后,倒計時的計數(shù)器減1。當?shù)褂嫊r計數(shù)器到0時,觸發(fā)另一個標志變量,進入閃爍狀態(tài)。顯示功能:顯示倒計時的數(shù)字要采用動態(tài)掃描的方式將數(shù)字拆成“十位”和“個位”動態(tài)掃描顯示。如果處于閃爍狀態(tài),則可以不需要動態(tài)掃描顯示,只需要控制共陰極數(shù)碼管的位控線,實現(xiàn)數(shù)碼管的滅和亮。鍵盤掃描和運行模式的切換:主程序在初始化一些變量和寄存器之后,需要不斷循環(huán)地讀取鍵盤的狀態(tài)和動態(tài)掃描數(shù)碼管顯示相應的數(shù)字。根據(jù)鍵盤的按鍵值實現(xiàn)設置狀態(tài)、計時狀態(tài)的切換。 (2)單片機型號及所需外圍器件型號,單片機硬件電路原理圖選用MCS-51系列AT89S51單片機作為微控制器,選擇兩個四聯(lián)的共陰極數(shù)碼管組成8位顯示模塊,由于AT89S51單片機驅動能力有限,采用兩片74HC244實現(xiàn)總線的驅動,一個74HC244完成位控線的控制和驅動,另一個74HC244完成數(shù)碼管的7段碼輸出,在輸出口上各串聯(lián)一個100歐姆的電阻對7段數(shù)碼管限流。由于鍵盤數(shù)量不多,選擇獨立式按鍵與P1口連接作為四個按鍵輸入。沒有鍵按下時P1.0-P1.3為高電平,當有鍵按下時,P1.0-P1.3相應管腳為低電平。電路原理圖如圖3-1所示。
上傳時間: 2013-11-13
上傳用戶:曹云鵬
一、實驗目的1.掌握定時/計數(shù)器、輸入/輸出接口電路設計方法。 2.掌握中斷控制編程技術的方法和應用。3.掌握8086匯編語言程序設計方法。 二、實驗內容與要求 微機燈光控制系統(tǒng)主要用于娛樂場所的彩燈控制。系統(tǒng)的彩燈共有12組,在實驗時用12個發(fā)光二極管模擬。1. 基本要求:燈光控制共有8種模式,如12個燈依次點亮;12個燈同時閃爍等八種。系統(tǒng)可以通過鍵盤和顯示屏的人機對話,將8種模式進行任意個數(shù)、任意次序的連接組合。系統(tǒng)不斷重復執(zhí)行輸入的模式組合,直至鍵盤有任意一個鍵按下,退出燈光控制系統(tǒng),返回DOS系統(tǒng)。2. 提高要求:音樂彩燈控制系統(tǒng),根據(jù)音樂的變化控制彩燈的變化,主要有以下幾種:第一種為音樂節(jié)奏控制彩燈,按音樂的節(jié)拍變換彩燈花樣。第二種音律的強弱(信號幅度大小)控制彩燈。強音時,燈的亮度加大,且被點亮的數(shù)目增多。第三種按音調高低(信號頻率高低)控制彩燈。低音時,某一部分燈點亮;高音時,另一部分點亮。 三、實驗報告要求 1.設計目的和內容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單5.設計結果和體會(包括遇到的問題及解決的方法) 四、設計原理我們以背景霓虹燈的一種顯示效果為例,介紹控制霓虹燈顯示的基本原理。設有一排 n 段水平排列的霓虹燈,某種顯示方式為從左到右每0.2 秒逐個點亮。其控制過程如下: 若以“ 1 ”代表霓虹燈點亮,以“ 0 ”代表霓虹燈熄滅,則開始時刻, n 段霓虹燈的控制信號均為“ 0 ”,隨后,控制器將一幀 n 個數(shù)據(jù)送至 n 段霓虹燈的控制端,其中,最左邊的一段霓虹燈對應的控制數(shù)據(jù)為“ 1 ”,其余的數(shù)據(jù)均為零,即 1000 … 000 。當 n 個數(shù)據(jù)送完以后,控制器停止送數(shù),保留這種狀態(tài)(定時) 0.2 秒,此時,第 1 段霓虹燈被點亮,其余霓虹燈熄滅。隨后,控制器又在極短的時間內將數(shù)據(jù) 1100 … 000 送至霓虹燈的控制端,并定時 0.2 秒,這段時間,前兩段霓虹燈被點亮。由于送數(shù)據(jù)的過程很快,我們觀測到的效果是第一段霓虹燈被點亮 0.2 秒后,第 2 段霓虹燈接著被點亮,即每隔 0.2 秒顯示一幀圖樣。如此下去,最后控制器將數(shù)據(jù) 1111 … 111 送至 n 段霓虹燈的控制端,則 n 段霓虹燈被全部點亮。 只要改變送至每段霓虹燈的數(shù)據(jù),即可改變霓虹燈的顯示方式,顯然,我們可以通過合理地組合數(shù)據(jù)(編程)來得到霓虹燈的不同顯示方式。 五、總體方案論證分析系統(tǒng)設計思路如下:1) 采集8位開關輸入信號,若輸入數(shù)據(jù)為0時,將其修改為1。確定輸入的硬件接口電路。采樣輸入開關量,并存入NUM的軟件程序段。2) 以12個燈依次點亮為例(即燈光控制模式M1),考慮與其相應的燈光顯示代碼數(shù)據(jù)。確定顯示代碼數(shù)據(jù)輸出的接口電路。輸出一個同期顯示代碼的軟件程序段(暫不考慮時隙的延時要求)。3) 應用定時中斷服務和NUM數(shù)據(jù),實現(xiàn)t=N×50ms的方法。4) 實現(xiàn)某一種模式燈光顯示控制中12個時隙一個周期,共重復四次的控制方法。要求在初始化時采樣開關輸入數(shù)據(jù)NUM,并以此控制每一時隙的延時時間;在每一時隙結束時,檢查有無鍵按下,若是退出鍵按下,則結束燈光控制,返回DOS系統(tǒng),若是其他鍵就返回主菜單,重新輸入控制模式數(shù)據(jù)。5) 通過人機對話,輸入8種燈光顯示控制模式的任意個數(shù)、任意次序連接組合的控制模式數(shù)據(jù)串(以ENTER鍵結尾)。對輸入的數(shù)據(jù)進行檢查,若數(shù)據(jù)都在1 - 8之間,則存入INBUF;若有錯誤,則通過屏幕顯示輸入錯誤,準備重新輸入燈光顯示控制模式數(shù)據(jù)。6) 依次讀取INBUF中的控制模式數(shù)據(jù)進行不同模式的燈光顯示控制,在沒有任意鍵按下的情況下,系統(tǒng)從第一個控制模式數(shù)據(jù)開始,順序工作到最后一個控制模式數(shù)據(jù)后,又返回到第一個控制模式數(shù)據(jù),不斷重復循環(huán)進行燈光顯示控制。7) 本系統(tǒng)的軟件在總體上有兩部份,即主程序(MAIN)和實時中斷服務程序(INTT)。討論以功能明確、相互界面分割清晰的軟件程序模塊化設計方法。即確定有關功能模塊,并畫出以功能模塊表示的主程序(MAIN)流程框圖和定時中斷服務程序的流程框圖。 六、硬件電路設計 以微機實驗平臺和PC機資源為硬件設計的基礎,不需要外加電路。主要利用了以下的資源:1.8255并行口電路8255并行口電路主要負責數(shù)據(jù)的輸入與輸出,可以輸出數(shù)據(jù)控制發(fā)光二極管的亮滅和讀取乒乓開關的數(shù)據(jù)。實驗時可以將8255的A口、B口和一組發(fā)光二極管相連,C口和乒乓開關相連。2.8253定時/計數(shù)器8253定時/計數(shù)器和8259中斷控制器一起實現(xiàn)時隙定時。本設計的定時就是采用的t=N×50ms的方法,50ms由8253定時/計數(shù)器的計數(shù)器0控制定時,N是在中斷服務程序中軟件計時。8253的OUT0接到IRQ2,產生中斷請求信號。8253定時/計數(shù)器定時結束會發(fā)出中斷信號,進入中斷服務程序。3.PC機資源本設計除了利用PC機作為控制器之外,還利用了PC機的鍵盤和顯示器。鍵盤主要是輸入控制模式數(shù)據(jù),顯示器就是顯示提示信息。 七、軟件設計 軟件主要分為主程序(MAIN)和中斷服務程序(INTT),主程序包含系統(tǒng)初始化、讀取乒乓開關、讀取控制模式數(shù)據(jù)以及按鍵處理等模塊。中斷服務程序主要是定時時間到后根據(jù)控制模式數(shù)據(jù)點亮相應的發(fā)光二極管。1.主程序主程序的程序流程圖如圖1所示。
上傳時間: 2014-04-05
上傳用戶:q986086481
PC機之間串口通信的實現(xiàn)一、實驗目的 1.熟悉微機接口實驗裝置的結構和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.學會串行通信程序的編制方法。 二、實驗內容與要求 1.基本要求主機接收開關量輸入的數(shù)據(jù)(二進制或十六進制),從鍵盤上按“傳輸”鍵(可自行定義),就將該數(shù)據(jù)通過8251A傳輸出去。終端接收后在顯示器上顯示數(shù)據(jù)。具體操作說明如下:(1)出現(xiàn)提示信息“start with R in the board!”,通過調整乒乓開關的狀態(tài),設置8位數(shù)據(jù);(2)在小鍵盤上按“R”鍵,系統(tǒng)將此時乒乓開關的狀態(tài)讀入計算機I中,并顯示出來,同時顯示經串行通訊后,計算機II接收到的數(shù)據(jù);(3)完成后,系統(tǒng)提示“do you want to send another data? Y/N”,根據(jù)用戶需要,在鍵盤按下“Y”鍵,則重復步驟(1),進行另一數(shù)據(jù)的通訊;在鍵盤按除“Y”鍵外的任意鍵,將退出本程序。2.提高要求 能夠進行出錯處理,例如采用奇偶校驗,出錯重傳或者采用接收方回傳和發(fā)送方確認來保證發(fā)送和接收正確。 三、設計報告要求 1.設計目的和內容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單5.設計結果和體會(包括遇到的問題及解決的方法) 四、8251A通用串行輸入/輸出接口芯片由于CPU與接口之間按并行方式傳輸,接口與外設之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發(fā)送移位寄存器”(并→串)。能夠完成上述“串←→并”轉換功能的電路,通常稱為“通用異步收發(fā)器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A異步工作方式:如果8251A編程為異步方式,在需要發(fā)送字符時,必須首先設置TXEN和CTS#為有效狀態(tài),TXEN(Transmitter Enable)是允許發(fā)送信號,是命令寄存器中的一位;CTS#(Clear To Send)是由外設發(fā)來的對CPU請求發(fā)送信號的響應信號。然后就開始發(fā)送過程。在發(fā)送時,每當CPU送往發(fā)送緩沖器一個字符,發(fā)送器自動為這個字符加上1個起始位,并且按照編程要求加上奇/偶校驗位以及1個、1.5個或者2個停止位。串行數(shù)據(jù)以起始位開始,接著是最低有效數(shù)據(jù)位,最高有效位的后面是奇/偶校驗位,然后是停止位。按位發(fā)送的數(shù)據(jù)是以發(fā)送時鐘TXC的下降沿同步的,也就是說這些數(shù)據(jù)總是在發(fā)送時鐘TXC的下降沿從8251A發(fā)出。數(shù)據(jù)傳輸?shù)牟ㄌ芈嗜Q于編程時指定的波特率因子,為發(fā)送器時鐘頻率的1、1/16或1/64。當波特率指定為16時,數(shù)據(jù)傳輸?shù)牟ㄌ芈示褪前l(fā)送器時鐘頻率的1/16。CPU通過數(shù)據(jù)總線將數(shù)據(jù)送到8251A的數(shù)據(jù)輸出緩沖寄存器以后,再傳輸?shù)桨l(fā)送緩沖器,經移位寄存器移位,將并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù),從TxD端送往外部設備。在8251A接收字符時,命令寄存器的接收允許位RxE(Receiver Enable)必須為1。8251A通過檢測RxD引腳上的低電平來準備接收字符,在沒有字符傳送時RxD端為高電平。8251A不斷地檢測RxD引腳,從RxD端上檢測到低電平以后,便認為是串行數(shù)據(jù)的起始位,并且啟動接收控制電路中的一個計數(shù)器來進行計數(shù),計數(shù)器的頻率等于接收器時鐘頻率。計數(shù)器是作為接收器采樣定時,當計數(shù)到相當于半個數(shù)位的傳輸時間時再次對RxD端進行采樣,如果仍為低電平,則確認該數(shù)位是一個有效的起始位。若傳輸一個字符需要16個時鐘,那么就是要在計數(shù)8個時鐘后采樣到低電平。之后,8251A每隔一個數(shù)位的傳輸時間對RxD端采樣一次,依次確定串行數(shù)據(jù)位的值。串行數(shù)據(jù)位順序進入接收移位寄存器,通過校驗并除去停止位,變成并行數(shù)據(jù)以后通過內部數(shù)據(jù)總線送入接收緩沖器,此時發(fā)出有效狀態(tài)的RxRDY信號通知CPU,通知CPU8251A已經收到一個有效的數(shù)據(jù)。一個字符對應的數(shù)據(jù)可以是5~8位。如果一個字符對應的數(shù)據(jù)不到8位,8251A會在移位轉換成并行數(shù)據(jù)的時候,自動把他們的高位補成0。 五、系統(tǒng)總體設計方案根據(jù)系統(tǒng)設計的要求,對系統(tǒng)設計的總體方案進行論證分析如下:1.獲取8位開關量可使用實驗臺上的8255A可編程并行接口芯片,因為只要獲取8位數(shù)據(jù)量,只需使用基本輸入和8位數(shù)據(jù)線,所以將8255A工作在方式0,PA0-PA7接實驗臺上的8位開關量。2.當使用串口進行數(shù)據(jù)傳送時,雖然同步通信速度遠遠高于異步通信,可達500kbit/s,但由于其需要有一個時鐘來實現(xiàn)發(fā)送端和接收端之間的同步,硬件電路復雜,通常計算機之間的通信只采用異步通信。3.由于8251A本身沒有時鐘,需要外部提供,所以本設計中使用實驗臺上的8253芯片的計數(shù)器2來實現(xiàn)。4:顯示和鍵盤輸入均使用DOS功能調用來實現(xiàn)。設計思路框圖,如下圖所示: 六、硬件設計硬件電路主要分為8位開關量數(shù)據(jù)獲取電路,串行通信數(shù)據(jù)發(fā)送電路,串行通信數(shù)據(jù)接收電路三個部分。1.8位開關量數(shù)據(jù)獲取電路該電路主要是利用8255并行接口讀取8位乒乓開關的數(shù)據(jù)。此次設計在獲取8位開關數(shù)據(jù)量時采用8255令其工作在方式0,A口輸入8位數(shù)據(jù),CS#接實驗臺上CS1口,對應端口為280H-283H,PA0-PA7接8個開關。2.串行通信電路串行通信電路本設計中8253主要為8251充當頻率發(fā)生器,接線如下圖所示。
上傳時間: 2013-12-19
上傳用戶:小火車啦啦啦
設置復位標志位便于區(qū)分不同原因引發(fā)的復位,作為一種新技術被越來越多的新型單片機所采納。例如Philips公司的P87LPC700和 P89LPC900系列、Freescale公司(原Motorola半導體部)的MC68HC05系列和MC68HC08系列、Sunplus公司的 SPMC65系列、Microchip公司的PIC系列等,內部都設計了專門用于記錄各種復位標志的狀態(tài)寄存器。MC68HC08系列有一個復位狀態(tài)寄存器,負責記錄6種復位標志位:上電復位、引腳復位、看門狗復位、非法指令復位、非法地址復位和欠壓復位。SPMC65系列有一個系統(tǒng)控制寄存器,負責記錄5種復位標志位:上電復位、外部復位、看門狗復位、非法地址復位和欠壓復位。51兼容的P89LPC900系列有一個復位源寄存器,負責記錄6種復位標志位:欠壓復位、上電復位、外部復位、看門狗復位、軟件復位和UART收到間隔字符復位(主要作為進入ISP監(jiān)控程序的途徑之一)。就連初學者很常用的 AT89S51/52和P89C52X2,也在其電源控制寄存器PCON中增設了一個上電標志位POF。1、 復位標志位的設置方法傳統(tǒng)的80C51單片機沒有設計復位標志位的記錄功能,這應該說是一種遺憾,那么能否通過一定的技術手段來彌補這個缺憾呢?這里給廣大80C51單片機用戶提供一種啟示和引導。實現(xiàn)復位標志位的記錄肯定需要一定的硬件電路支持,而這種電路的設計不存在固定模式。筆者利用一片MAX813L設計了一種支撐電路,如圖1所示,僅供讀者參考。
上傳時間: 2013-10-21
上傳用戶:lhw888
這里介紹的一款多功能編程器,功能強大,支持大多數(shù)常用的EPROM, EEPROM, FLASH, I2C,PIC, MCS-51,AVR, 93Cxx等系列芯片(超過400種)。硬件成本較低,性價比很高。既適合于電子和電腦愛好者使用,也適合家電維修人員維修家電和單片機開發(fā)人員使用。圖1為多功能編程器的主機,中間是32腳ZIF(零插力)鎖緊插座, 用于27系列、28系列、29系列、39/49系列等BIOS芯片。左邊是25芯并口插座,通過并口電纜連接計算機并口。左下方是電源插座。32腳ZIF插座下方是12位的DIP開關,對EPROM芯片進行讀寫等操作前,需將此開關撥至相應位置。具體開關位置可以參照軟件提示。鎖緊插座右側依次排列3個DIP8插座和一個DIP18插座,分別用于25系列、24系列、93系列存儲器和PIC系列單片機等;綠色電源指示燈(Power)用于指示編程器電源狀態(tài);紅色指示燈(Vpp)用于指示芯片Vpp電源狀態(tài);黃色指示燈(Vcc)用于指示芯片編程狀態(tài)。 一、 主要功能: ★ 可用此編程器升級、維修電腦主板,顯卡等BIOS芯片。可支持3.3V低電壓BIOS芯片。 ★ 用來寫網卡啟動芯片:用于組建無盤站寫網卡啟動芯片或制作硬盤還原卡等。 ★ 可用于復印機、傳真機、打印機主板維護和維修。★ 可用于讀寫用來寫汽車儀表、安全氣囊、里程表數(shù)據(jù)。★ 可用于維修顯示器、彩電、VCD、DVD 上面的存儲芯片。可修改開機畫面。 ★ 用來開發(fā)單片機: 通過添加不同適配器,可以支持 MCS-51 系列, AVR 系列和 PIC 系列的MCU。 ★ 用來寫大容量存儲芯片:大容量的存儲芯片,一般在衛(wèi)星接收機上使用較多,可以用編程器直接來升級或改寫。 二、電路簡介圖2是這臺編程器的完整電路圖,可以看到編程器電路由完全分離的兩部分組成:串行部分和并行EPROM部分電路。限于篇幅,原理部分不再詳述。對原理感興趣的讀者可以參考本文配套文件包中的“電路原理參考.PDF”文件。圖2三、電路板設計與制作 圖3是編程器參考元件布局圖,雙面PCB尺寸為160X100毫米,厚度1.6毫米。具體的PCB設計可以參考配套文件中的“PCB參考設計.PDF”。這個文件中包括電路板的頂層和低層布線和頂層絲印層。如果業(yè)余自制電路板,建議使用雙面感光電路板制作,以確保精度。
標簽: 多功能編程器
上傳時間: 2013-10-14
上傳用戶:問題問題
3.1 總線與接口概述 3.1.1 總線和接口及其標準的概念 總線:是在模塊和模塊之間或設備與設備之間的一組進行互連和傳輸信息的信號線,信息包括指令、數(shù)據(jù)和地址。 總線標準 指芯片之間、擴展卡之間以及系統(tǒng)之間,通過總線進行連接和傳輸信息時,應該遵守的一些協(xié)議與規(guī)范。 接口標準 外設接口的規(guī)范,涉及接口信號線定義、信號傳輸速率、傳輸方向和拓撲結構,以及電氣特性和機械特性等多個方面。 3.1.2 總線的分類 1) 按總線功能或信號類型劃分為: 數(shù)據(jù)總線:雙向三態(tài)邏輯,線寬表示了總線數(shù)據(jù)傳輸?shù)哪芰Α5刂房偩€:單向三態(tài)邏輯,線寬決定了系統(tǒng)的尋址能力。控制總線:就某根來說是單向或雙向。控制總線最能體現(xiàn)總線特點,決定總線功能的強弱和適應性。2) 按總線的層次結構分為: CPU總線:微機系統(tǒng)中速度最快的總線,主要在CPU內部,連接CPU內部部件,在CPU周圍的小范圍內也分布該總線,提供系統(tǒng)原始的控制和命令。局部總線:在系統(tǒng)總線和CPU總線之間的一級總線,提供CPU和主板器件之間以及CPU到高速外設之間的快速信息通道。系統(tǒng)總線:也稱為I/O總線,是傳統(tǒng)的通過總線擴展卡連接外部設備的總線。由于速度慢,其功能已經被局部總線替代。通信總線:也稱為外部總線,是微機與微機,微機與外設之間進行通信的總線。3.1.3 總線的主要性能參數(shù)1.總線頻率:MHz表示的工作頻率,是總線速率的一個重要參數(shù)。2.總線寬度:指數(shù)據(jù)總線的位數(shù)。3.總線的數(shù)據(jù)傳輸率 總線的數(shù)據(jù)傳輸率=(總線寬度/8位)×總線頻率 例:PCI總線的總線頻率為33.3MHz,總線寬度為64位的情況下,總線數(shù)據(jù)傳輸率為266MB/s 。
上傳時間: 2013-11-17
上傳用戶:shen954166632
7-1. 設計范例——數(shù)碼管顯示7-2. 51單片機的并行I/O接口的使用方法7-3. 數(shù)碼管的知識和使用方法7-4. 傳送類指令的功能7-5. 匯編語言程序設計的一般步驟要求在最左側的數(shù)碼管上顯示數(shù)字1。范例分析:硬件分析 電路中用到了單片機的并行I/O口和數(shù)碼管軟件設計 由于硬件電路中數(shù)碼管接在單片機的P0口上,故將顯示內容送至單片機的P0口就可以在數(shù)碼管上看到顯示內容。8051單片機的并口是幾位的?在四個并口中,真正的雙向口是哪一個?它的用法有多少種?四個并口中功能相對較為簡單的是哪一個?在作為輸入、輸出口使用時有何不同?在實際應用中,并口的使用要考慮其負載能力,在四個并口中負載力相對較強的是哪一個?
上傳時間: 2013-10-13
上傳用戶:Maple