機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
AT89C51單片機高速串行輸出口設計
[1] [2]  下一頁
AT89C51單片機高速串行輸出口設計
 更新時間:2008-8-18 13:13:37  點擊數(shù):18
【字體: 字體顏色

    摘要:介紹使用AT89C51單片機擴展高速串行同步移位輸出口的方法,給出基于分立TTL元器件和可編程邏輯器件PLD兩種電路的實現(xiàn)方案,在LED點陣顯示屏系統(tǒng)中已得到應用。

    關鍵詞:串行口 單片機 可編程邏輯器件

AT89C51(與MCS-51兼容)單片機的串行口在方式0工作狀態(tài)下,使用移位寄存器芯片可以擴展多個8位并行I/O口。在LED點陣顯示屏應用系統(tǒng)中,一般都采用數(shù)據(jù)同步移位輸出方式,并使用移位寄存器芯片(如74LS595)擴展并行I/O口驅動LED點陣顯示。LED點陣顯示采用掃描方式,為不產生閃爍感,每秒需要傳送50屏點陣顯示數(shù)據(jù),因此有大量的數(shù)據(jù)要通過同步移位的方式送到顯示驅動電路部分,這就要求單片機能夠快速地輸出數(shù)據(jù)。AT89C51單片機的串行口在方式0工作狀態(tài)下,數(shù)據(jù)以fosc/12的波特率輸出,1個字節(jié)數(shù)據(jù)寫入SBUF后,需檢查中斷標志位TI是否為“1”并清“0”TI或延時幾個機器周期后才能繼續(xù)寫入了一個數(shù)據(jù),輸出速度慢。在LED點陣顯示屏應用系統(tǒng)中,系統(tǒng)與PC機之間的通訊需要使用單片機的串行口,顯示數(shù)據(jù)的同步移位輸出口只有另外擴展。本文介紹的高速串行同步移位輸出口(以下簡稱擴展串行口)電路,采用模塊化設計,給出基于TTL和PLD兩種電路的實現(xiàn)方案,波特率提高到fosc,數(shù)據(jù)輸出不需要等待或延時。

一、擴展串行口與單片機的連接

擴展串行口電路框圖如圖1所示。與并行存儲器芯片類似,擴展串行口被視為一個外部RAM地址單元,直接掛接在AT89C51的外部數(shù)據(jù)總線上,D0~D7為數(shù)據(jù)線,CE為片選信號,WE為寫脈沖信號,也是擴展串行口的輸出控制信號。AT89C51外接晶體振蕩器的振蕩信號經二個與非門整形后為擴展串行口提供時鐘脈沖XTAL2。DAT和CLK分別是擴展串行口的數(shù)據(jù)輸出端和同步移位脈沖輸出端。

二、操作指令

假設AT89C51分配給擴展串行口的地址是0000H,使用MOVX@DPTR,A或MOVX@R0,A指令將數(shù)據(jù)寫入擴展串行口并移位數(shù)據(jù)。下面的程序段將內部RAM數(shù)據(jù)區(qū)首址為30H的32字節(jié)數(shù)據(jù)送擴展串行口同步移位輸出:

MOV P2,#00H ;設置擴展串行口地址高8位

MOV R1,#30H ;設置內部RAM數(shù)據(jù)區(qū)首址

MOV R7,#32 ;輸出字節(jié)個數(shù)

LOOP:MOV A,@R1 ;從內部RAM數(shù)據(jù)區(qū)讀入1字節(jié)

INC R1 ;指向內部RAM數(shù)據(jù)區(qū)下一個地址單元

MOVX @R0,A ;數(shù)據(jù)送擴展串行口輸出

DJNZ R7,LOOP ;32字節(jié)未送完繼續(xù)

RET

三、基于TTL電路的設計方案和工作原理

圖2是用TTL電路實現(xiàn)的擴展串行口電路。74LS74是有預置、清零功能的雙上升沿D觸發(fā)器,D1~D5構成8脈沖發(fā)生器(計數(shù)器原理),74LS165是8位并行輸入串行輸出移位寄存器。CPU執(zhí)行MOVX@R0,A(或MOVX @DPTR,A)指令時,數(shù)據(jù)被鎖存在74LS165中。產生8脈沖信號的時序如圖3所示。圖3中,Q0~Q5分別是6個D觸發(fā)器的輸出端,擴展串行口片選有效(CE=0),寫脈沖WE到來時,WR=0,在時鐘脈沖XTAL2的上升沿觸發(fā)器D0的輸出Q0=0,Q0復位Q5,使Q5=1;寫脈沖結束后,WR=1,則WR·Q5=1,計數(shù)器的復位端無效,計數(shù)器開始計數(shù),同時在Q1端輸出方波脈沖;第8個脈沖結束后,Q5=1,則WR·Q5=0,計數(shù)器被復位,停止計數(shù),等待下一個寫脈沖。Q1端輸出的8個脈沖作為同步移位脈沖接74LS165的CLK2(15腳),同時也是擴展串行輸出口的同步移位脈沖輸出信號:由MOVX指令鎖存在74LS165中的數(shù)據(jù)在同步移位脈沖(CLK)的作用下,從擴展串行輸出口的數(shù)據(jù)端(DAT)輸出。

四、基于PLD電路的設計方案

用可編程門陣列器件設計電路,可使電路簡化,器件數(shù)量減少。圖2中虛線框內的8脈沖發(fā)生器電路用1片GAL16V8D就可以實現(xiàn),如圖4所示。XTAL2是擴展串行口時鐘脈沖輸入信號,WR是片選有效情況下的寫脈沖信號,Q1是8脈沖輸出端。根據(jù)圖3所示時序圖寫出Q1~Q5的邏輯表達式,下面是GAL16V8D芯片的邏輯設計示例。

AFT16V8D

NAME:ED13_U00

AUTHOR:FUHAO

DATE:04.15.1999

;1 2 3 4 5 6 7 8 9 10(pin)

CLK WR NC NC NC NC NC NC NC GND

;11 12 13 14 15 16 17 18 19 20(pin)

OE Q1 Q2 Q3 Q4 Q5 NC NC NC VCC

Q1:=/Q1*WR*/Q5

Q2:=/Q2*Q1*WR*/Q5

+Q2*/Q1*WR*/Q5

Q3:=/Q3*Q2*Q1*WR*/Q5

+Q3*/Q2*WR*/Q5

+Q3*/Q2*WR*/Q5

Q4:=/Q4*Q3*Q2*Q1*WR*/Q5

+Q4*/Q3*WR*/Q5

+Q4*/Q2*WR*/Q5

+Q4*/Q1*WR*/Q5

Q5:=/Q5*Q4*Q3*Q2*Q1*WR

+Q5*/Q4*WR

+Q5*/Q3*WR

+Q5*/Q2*WR

+Q5*/Q1*WR

DESCRIPTION

結束語

本文介紹的單片機擴展高速串行同步移位輸出口的方法,以及給出的基于TTL和PLD兩種電路的實現(xiàn)方案,在LED點陣顯示屏系統(tǒng)中都已得到成功的應用。擴展串行口采用模塊化設計,很容易移植到其他應用系統(tǒng)中。

  • 上一篇: CMOS線性敏感器陣列
  • 下一篇: 基于SED1356的嵌入式視頻顯示接口設計
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網站

    網站經營許可證:浙B2-20080178-1