序列口動態掃瞄顯示電路

2021-04-14 18:34:51 字數 712 閱讀 8326

2006-05-11 09:29:36

51微控制器程式設計範例(序列口動態掃瞄顯示電路)

微控制器並行i/o口數量總是有限的,有時並行口需作其他更重要的用途,一般也不會用數量眾多的並行i/o口專門用來驅動顯示電路,能否用80c51的序列通訊口加上少量i/o及擴充套件晶元用於顯示電路呢?答案是肯定的。

80c51的序列通訊口是乙個功能強大的通訊口,而且是相當好用的通訊口,用於顯示驅動電路再合適不過了,下面我們就根據這種需要設計乙個用兩個序列通訊口線加上兩根普通i/o口,設計乙個4位led顯示電路。當然只要再加上兩根i/o口線即可輕易實現8位led的顯示電路。

左圖是電原理圖,我們還是採用c2051微控制器,同時用廉價易得的74ls164和74ls138作為擴充套件晶元。74ls164(詳細技術手冊)是乙個8位串入並出的移位暫存器,其此處的功能是將c2051序列通訊口輸出的序列資料解碼並在其並口線上輸出,從而驅動led數碼管。74ls138是乙個3-8解碼器,它將微控制器輸出的位址訊號解碼後動態驅動相應的led。但74ls138電流驅動能力較小,為此,我們使用了未級驅動三極體2sa1015作為位址驅動。

將4只led的段位都連在一起,它們的公共端則由74ls138分時選通,這樣任何乙個時刻,都只有一位led在點亮,也即動態掃瞄顯示方式,其優點在上一節中我們已經闡述。使用序列口進行led通訊,程式編寫相當簡單,使用者只需將需顯示的資料直接送串列埠傳送緩衝器,等待序列中斷即可,看看下面的程式。

·程式清單

序列口接收訊號

以下是程式 include stm32f10x.h include stm32f10x gpio.h include stm32f10x rcc.h include stm32f10x usart.h define led0 gpio pin 8 define led1 gpio pin 9 def...

UART序列口工作原理

通過非同步收發器 uart 用來傳輸序列資料。uart之間以全雙工方式傳輸資料,最精簡的連線方法只有三條連線 txd用於傳送資料,rxd用於接收資料,gnd給雙方提供參考電平。uart使用標準的cmos邏輯電平 0 5v 0 3.3v 0 2.5v或0 1.8v四種 來表示資料,高電平為1,低電平為...

用普通 I O 口模擬標準 UART 序列口

用普通 i o 口也可以模擬標準 uart 序列口,進行序列通訊。幀 uart 通訊規範是以 8 位二進位制數為一幀,低位在前,逐位的傳輸。為了區分各個幀,在每一幀之前,要有乙個 0 作為起始標記,之後,有乙個 1,作為結束符。在結束符之前,還可選髮乙個 校驗位 但是,目前多數的應用都不選擇這個位。...