日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 顯示光電 > 顯示光電
[導讀] AT89C2051單片機內有一個串行I/O端口,通過引腳RXD[P3.0]和TXD[P3.1]可與外部電路進行全雙工的串行異步通信,發(fā)送數據時由TXD端送出,接收時數據由RXD端輸入。串口有四種工作方式,通過編程設置,可以使其工作

    AT89C2051單片機內有一個串行I/O端口,通過引腳RXD[P3.0]和TXD[P3.1]可與外部電路進行全雙工的串行異步通信,發(fā)送數據時由TXD端送出,接收時數據由RXD端輸入。串口有四種工作方式,通過編程設置,可以使其工作在任一方式以滿足不同的場合。其中,方式0是8位移位寄存器輸入/輸出方式,多用與外接移位寄存器以擴展I/O端口。串口的工作方式可以參看相關的書籍,此處不做詳細介紹。方式 0的輸出是8位串行數據,通過移位寄存器可將8位串行數據變成8位并行數據輸出,也可以將外部的8位并行數據變成8位串行數據輸入。因此外接一個移位寄存器就可擴展一個8位的并行輸入/輸出接口,如果想多擴展幾個并口就需要在外部級連幾個移位寄存器。但是這種擴展也不是無限的,因為串口的數據是一位一位串行輸入/輸出的。如果外接的移位寄存器比較多的話那么是必影響數據輸入/輸出的速度。

   

    串口外接的移位寄存器有兩種,一種是“串行輸入/并行輸出移位寄存器”(如:741一S164),另一種是“并行輸入/串行輸出”移位寄存器(如: 74LS165)。通過寄存器的名稱就可以看出“串行輸入/并行輸出移位寄存器”是用于串口擴展并行輸出接口,“并行輸入/串行輸出”是用于串口擴展并行輸入接口。
  
    圖1(a)是串行輸入/并行輸出移位寄存器74LS164的管腳排列圖。其功能表見表1所示。74LS164有兩個串行數據A、B輸入端,使用時一般把它們連在一起;麗為清零輸入端,低電平有效,當該端加入低電平時,寄存器輸出Q0~Q7全為低電平。在正常情況下,清零輸入端接高電平,當CP信號上升沿到來時,數據從A、B端輸入并右移一位; Q0~Q7為并行數據輸出端,同時Q7端也是串行數據輸出端,對于串行輸入的數據,最先輸入的從Q7輸出,最后進入的從Q0輸出。CP為移位脈沖。
  
    圖1(b)是另一種常用的“并行(串行)輸入/串行輸出”移位寄存器74LS165的管腳排列圖。該器件的功能表見表2。該器件能在一個信號的控制下并行置入一個8位數據,然后在時鐘脈沖的作用下逐位移出,也能使數據從另外一個引腳串行輸入。在圖1(b)中,DO~D7是并行數據輸入端。S/L端是控制信號輸入端,當為高電平時,具有移位功能;當為低電平時,將DO~D7端的數據置入到內部的移位寄存器保存。CP端為時鐘(即移位脈沖)輸入端,當S/L= 1時,CP端的每一次正跳變,都會使已存入內部的數據DO~D7從Q7端移出一位,移位的順序是D7最先從Q7端移出,Q0最后從Q7端移出。CI端為時鐘脈沖禁止端,當該端為低電平時,時鐘信號(移位脈沖)不能進入,正常工作時必須接高電平。S1為串行數據輸入端,在S/L=1時,SI端的數據在CP脈沖上升沿作用下置入Q0,因此,當CP脈沖上升沿到來時內部的數據DO~D7從Q7端移出一位同時外部數據通過SI移入一位,當經過8次CP上升沿后 DO~D7這8個數據就全部通過Q7輸出,而內部的DO~D7全部更新為通過SI的輸入的信號。例如:如果SI外接電源電壓,那么當CP上升沿到來時,Q7會移出一位數據,而S1會移入一個“1”,當經過8個上升沿后,原先置入的DO~D7全被移出,內部的Q0~Q7全被更新為 “1”。如果CP上升沿再次到來時,輸出的就是“1”。因此當8個輸入數據都通過Q7輸出后,如果還想輸入就再次必須置入新的數據。
  

    通過對兩種移位寄存器的分析可以得出。通過串口擴展單片機的I/O口的具體電路如圖2所示:
  
    圖2(a)是通過串口擴展的并行輸出接口。RXD作為數據輸出線,TXD作為移位時鐘脈沖。每一個時鐘信號的上升沿加到74LS164的CP端時,移位寄存器將串口輸出的數據移入一位,8個時鐘脈沖過后串口輸出的8位二進制數全部移入74LS164,通過Q0-Q7并行輸出。
   
    圖2(b)是通過串口擴展的并行輸入接口。同樣RXD作為數據輸入線,TXD作為移位時鐘脈沖。每一個時鐘信號的上升沿加到74LS165的CP端時,移位寄存器就將內部的數據向外移一位,通過Q7輸出。8個時鐘脈沖過后,并行輸入的8位二進制數全部移出,通過Q7串行輸入。
  
    基于串口的LED數碼管靜態(tài)顯示電路

   
    在串口擴展中最常用的就是基于串口的LED數碼管顯示電路。在單片機應用系統(tǒng)中,LED數碼管的顯示常用兩種方法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數據時,再發(fā)送新的字形碼,因此,使用這種方法單片機中CPU的開銷小??梢蕴峁﹩为氭i存的I/O接口電路很多,常用的就是通過串口外接串并轉換器74LS164,擴展并行的I/O口。需要幾個數碼管就擴展幾個并行接口,數碼管直接接在74LS164的輸出腳上,單片機通過串口將要顯示數據的字形碼逐一的串行移出至74LS164的輸出腳上數碼管就可以顯示相應的數字。
如圖3所示:

   
    1. 硬件設計
  
    單片機AT89C2051的串口外接1片74LS164作為LED顯示器的靜態(tài)顯示接口,把AT89C2051的RXD作為數據輸出線,TXD作為移位時鐘脈沖。Q0-Q7(第3—6和10—13引腳)并行輸出端分別接LED顯示器的DP---A各段對應的引腳上。圖中采用的是共陰極數碼管,因而各數碼管的公共極接電源GND,要顯示某字段則相應的移位寄存器74LS164的輸出線必須是高電平。P1口接8個按鍵,分別編號為KEY1--KEY8。當某個按鍵按下時。某個數就顯示在數碼管上。
  
    2. 軟件設計
  
    軟件設計流程圖如圖4所示。圖(a)為主程序流程圖,圖(b)為顯示子程序流程圖。
  
    開機時,初始化數碼管,通過串口將“0”的字形碼輸出使數碼管顯示“O”。然后判斷P1口是否有鍵按下,如果沒鍵按下繼續(xù)判斷。
  
    當確認有鍵按下后單片機將P1口的值賦給累加器A,由于按鍵沒被按下時是低電平,被按下后為高電平因此判斷A中哪一位為高電平就能得出哪個按鍵被按下。將此按鍵的編號讀入顯示緩沖區(qū)65H中,然后調用顯示子程序將按鍵編碼顯示在數碼管上。這樣程序就完成了一次的執(zhí)行過程。

 

 

    
    顯示子程序首先初始化串口,使串口工作在方式0,再讀取顯示緩沖區(qū)內的數據(顯示緩沖區(qū)主要是用來存放即將要顯示的數據),然后通過查表的方式找到對應的字形碼,最后把字形碼寫入串口寄存器SBUF通過串口方式0發(fā)送出去。當8個時鐘脈沖后,字形碼都移至74Ls164的Q0-Q7,數碼管就顯示相應按鍵的編碼。
  
    顯示子程序是怎么將顯示緩沖區(qū)中的數據變成相應的字形碼呢?具體的方法是將每個數字的字形碼以16進制數從小到大的次序依次存放在存儲器中的固定區(qū)域中,構成顯示代碼表。當要顯示某字符時,把表格的起始地址送入數據指針寄存器DPTR中作為基址,將顯示緩沖區(qū)內的數據作為偏移量送入變址寄存器A,執(zhí)行查表指令“MOVCA,@A+DPTR”,則累加器A中得到的結果即表格中取出的對應數字的字形碼。
  
    注意:MOVC指令是將程序存儲器內相應地址的值賦給累加器A。MOVC指令只有兩種,一種是:MOVCA,@A+DPTR,將程序存儲器中地址為A+ DPTR內的數據賦給A,例如:累加器A內的數據為01H,而DPTR內的數據為2000H,程序存儲器中地址2001H內的數據為50H,那么執(zhí)行 MOVCA,@A+DPTR指令后,累加器A內的數據變?yōu)?0H。另一種是MOVCA,@A+PC。將程序存儲器中地址為A+PC內的數據賦給A。兩種指令的功能基本是一樣。只是第一種中的地址是存放在DPTR中,而第二種是直接使用PC指針的地址。

   
    對于電路中的74LS164共陰極數碼管數據位和字形的對應關系如下表。
  
    由于單片機在以方式0串行發(fā)送數據的時候數據從RXD引腳從低位到高位依次輸出,而最先輸出的數據經過74LS164串轉并后到達Q7,也就是說單片機內的DO通過串口發(fā)送并經過74LS164后到達74LS164的Q7腳即數碼管的A腳,因此在單片機內字型碼與74LS164所對應的字型碼正好相反,所以在單片機內O-8所對應的字型碼分別是:

3FH,06H,5BH,4FH,66H,6DH,7DH,07H.7FH。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

舵機是一種位置伺服的驅動器。它接收一定的控制信號,輸出一定的角度,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。在微機電系統(tǒng)和航模中,它是一個基本的輸出執(zhí)行機

關鍵字: AT89C2051 舵機控制電路 SAW BSP

舵機是一種位置伺服的驅動器。它接收一定的控制信號,輸出一定的角度,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。在微機電系統(tǒng)和航模中,它是一個基本的輸出執(zhí)行機

關鍵字: AT89C2051 舵機控制電路 SAW BSP

舵機是一種位置伺服的驅動器。它接收一定的控制信號,輸出一定的角度,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。在微機電系統(tǒng)和航模中,它是一個基本的輸出執(zhí)行機

關鍵字: AT89C2051 舵機控制電路 SAW BSP

語音芯片應用電路ISD2560 是ISD 系列單片語音錄放集成電路的一種,是一種永久記憶型錄放語音電路,錄音時間為60 秒,能重復錄放達10 萬次。它采用直接電平存儲技術,省去了

關鍵字: AT89C2051 電路圖 系統(tǒng)電路 錄放音系統(tǒng)

1 引 言目前,我國應用極廣的編解碼器是Princeton公司生產的具有531441(312)種狀態(tài)的PT2262編碼芯片和與之配套的PT2272解碼芯片。但一片PT2272只能對一種地址的PT2262的15種狀態(tài)進行解...

關鍵字: AT89C2051 安防系統(tǒng) 解碼器 PT2262

摘要:LMX2332是美國國家半導體公司生產的集成數字鎖相環(huán)(PLL)電路。文章介紹了利用單片機AT89C2051控制數字鎖相環(huán)LMX2332及壓控振蕩器JTOS-150實現低噪聲頻率源的方法,該方法可通過改變AT89C...

關鍵字: 頻率合成器 AT89C2051 控制 MX

本方案介紹的電子鐘,電路可稱得上極簡,它僅使用單片的20引腳單片機完成電子鐘的全部功能,而筆者見到的其它設計方案均采用二片以上的多片IC實現。

關鍵字: AT89C2051 電子鐘 基于單片機 BSP

本文介紹了該系統(tǒng)的設計重點在于采用同一遙控器控制多個設備。其中,硬件電路主要包含了以下幾個模塊:紅外發(fā)射電路和紅外接收電路。整個電路簡單可靠、操作靈活、耗電量小、性價比較高,滿足了現代生活,生產和科研的需要,本文介紹了基...

關鍵字: AT89C2051 AT89C51 紅外遙控系統(tǒng) BSP

顯示光電

64673 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉