999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于AT89S52單片機的通用動態掃描顯示接口的設計

2014-06-13 09:50:24
科技視界 2014年9期
關鍵詞:單片機程序

朱 偉

(江漢大學 數學與計算機科學學院,湖北 武漢 430056)

0 引言

AT89S52 是一種低功耗、高性能CMOS 8 位微控制器,其性能及特點如下:與MCS-51 系列單片機產品兼容;片內有4K(8K)可在線重復編程的快速閃存可擦寫存儲器(Flash Memory);存儲器可循環寫入/擦寫10000 次以上;存儲器數據保存時間為10年以上;寬工作電壓范圍,VCC 可為2.7V~6.5V;全靜態工作:可從0Hz~24MHz;程序存儲器具有三級加密保護;128 個字節(256 字節)的內部RAM;32 條可編程I/O 口線;三個16 位定時器/計數器;中斷結構具有5 級(6 級)中斷源和兩個優先級;可編程全雙工串行通訊;空閑維持低功耗和掉電狀態保護存儲數據;具有JTAG 接口,可方便地在線編程或在系統編程,因此有必要為AT89S52 單片機設計通用動態掃描顯示接口。

1 顯示接口總體設計

1.1 動態掃描顯示接口硬件的設計

動態掃描顯示接口是單片機中應用最為廣泛的一種顯示方式之一。其接口電路是把所有顯示器的8 個筆劃段a-h 同名端連在一起,而每一個顯示器的公共極COM 是各自獨立地受I/O 線控制。CPU 向字段輸出口送出字形碼時,所有顯示器接收到相同的字形碼,但究竟是那個顯示器亮,則取決于COM 端,而這一端是由I/O 控制的,所以我們就可以自行決定何時顯示哪一位了。而所謂動態掃描就是指我們采用分時的方法,輪流控制各個顯示器的COM 端,使各個顯示器輪流點亮。在輪流點亮掃描過程中,每位顯示器的點亮時間是極為短暫的(約1ms),但由于人的視覺暫留現象及發光二極管的余輝效應,盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示數據,不會有閃爍感。由89S52 的P0 口能灌入較大的電流,所以我們采用共陽的數碼管,并且不用限流電阻,而只是用兩只1N4004 進行降壓后給數碼管供電,這里僅用了兩只,實際上還可以擴充。它們的公共端則由PNP 型三極管8550 控制,顯然,如果8550 導通,則相應的數碼管就可以亮,而如果8550 截止,則對應的數碼管就不可能亮,8550 是由P2.7,P2.6 控制的。這樣我們就可以通過控制P27、P26 達到控制某個數碼管亮或滅的目的。

1.2 動態掃描顯示接口軟件的程序設計

軟件設計的程序流程是:關閉顯示器→取得顯示緩沖區首地址→加計數值→查字型碼送段口→判斷計數器是否為零?→不為零顯示第二位,為零顯示第一位→計數器加一→計數器是否為二?→不是返回,是則計數器清零→返回。下面的這個程序代碼,就是用于七段數碼管顯示0 和1。

FIRST EQU P2.7;第一位數碼管的位控制,SECOND EQU P2.6;第二位數碼管的位控制,DISPBUFF EQU 5AH ;顯示緩沖區為5AH 和5BH,ORG 0000H,AJMP START,ORG 30H,START:MOV SP,#5FH ;設置堆棧,MOV P1,#0FFH,MOV P0,#0FFH,MOV P2,#0FFH ;初始,所顯示器,LED 滅,MOV DISPBUFF,#0 ;第一位顯示0,MOV DISPBUFF+1,#1 ;第二握顯示1,LOOP:LCALL DISP ;調用顯示程序,AJMP LOOP;主程序到此結束。DISP:,PUSH ACC ;ACC 入棧,PUSH PSW ;PSW 入棧,MOV A,DISPBUFF ;取第一個待顯示數,MOV DPTR,#DISPTAB ;字形表首地址,MOVC A,@A+DPTR ;取字形碼,MOV P0,A ;將字形碼送P0位(段口),CLR FIRST ;開第一位顯示器位口,LCALL DELAY ;延時1毫秒,SETB FIRST ;關閉第一位顯示器(開始準備第二位的數據),MOV A,DISPBUFF+1;取顯示緩沖區的第二位,MOV DPTR,#DISPTAB,MOVC A,@A+DPTR,MOV P0,A ;將 第 二 個 字 形 碼 送P0 口,CLR SECOND ;開第二位顯示器,LCALL DELAY ;延時,SETB SECOND ;關第二位顯示,POP PSW,POP ACC,RET,DELAY;延時1 毫秒,PUSH PSW,SETB RS0,MOV R7,#50,D1:MOV R6,#10,D2:DJNZ R6,$,DJNZ R7,D1,POP PSW,RET,DISPTAB:DB 28H,7EH,0a4H,64H,72H,61H,21H,7CH,20H,60H,END,

從上面的程序中可以看出,動態掃描顯示必須由CPU 不斷地調用顯示程序,才能保證持續不斷的顯示。上面的這個程序可以實現數字的顯示,這里僅是顯示兩個數字,并沒有做其他的工作,因此,兩個數碼管輪流顯示1 毫秒,沒有問題,實際的工作中,當然不可能只顯示兩個數字,還是要做其他的事情的,這樣在二次調用顯示程序之間的時間間隔就不一不定了,如果時間間隔比較長,就會使顯示不連續。而實際工作中是很難保證所有工作都能在很短時間內完成的。況且這個顯示程序也有點“浪費”,每個數碼管顯示都要占用1 個毫秒的時間,這在很多合是不允許的,我們可以借助于定時器,定時時間一到,產生中斷,點亮一個數碼管,然后馬上返回,這個數碼管就會一直亮到下一次定時時間到,而不用調用延時程序了,這段時間可以留給主程序干其他的事。到下一次定時時間到則顯示下一個數碼管,這樣就很少浪費了。借助于定時器編寫的程序如下:

Counter EQU 59H ;計數器,顯示程序通過它得知現正顯示哪個數碼管,FIRST EQU P2.7 ;第一位數碼管的位控制,SECOND EQU P2.6 ;第二位數碼管的位控制,DISPBUFF EQU 5AH ;顯示緩沖區為5AH 和5BH,ORG 0000H,AJMP START,ORG 000BH ;定 時 器T0 的 入 口,AJMP DISP ;顯示程序,ORG 30H,START:MOV SP,#5FH ;設置堆棧,MOV P1,#0FFH,MOV P0,#0FFH,MOV P2,#0FFH ;初始化,所顯示器,LED 滅,MOV TMOD,#00000001B ;定時器T0工作于模式1(16 位定時/計數模式),MOV TH0,#HIGH (65536 -2000),MOV TL0,#LOW(65536-2000),SETB TR0,SETB EA,SETB ET0,MOV Counter,#0 ;計數器初始化,MOV DISPBUFF,#0 ;第一位始終顯示0,MOV A,#0,LOOP:,MOV DISPBUFF+1,A ;第二位輪流顯示0-9,INC A,LCALL DELAY,CJNE A,#10,LOOP,MOV A,#0,AJMP LOOP ;在此中間可以按排任意程序,;主程序到此結束,DISP:;定時器T0 的中斷響應程序,PUSH ACC ;ACC 入 棧,PUSH PSW ;PSW 入 棧,MOV TH0,#HIGH (65536-2000) ;定時時間為2000 個周期,約2170 微秒(11.0592M),MOV TL0,#LOW (65536-2000),SETB FIRST,SETB SECOND ;關顯示,MOV A,#DISPBUFF ;顯示緩沖區首地址,ADD A,Counter,MOV R0,A,MOV A,@R0;根據計數器的值取相應的顯示緩沖區的值,MOV DPTR,#DISPTAB;字形表首地址,MOVC A,@A+DPTR ;取字形碼,MOV P0,A;將字形碼送P0位(段口),MOV A,Counter;取計數器的值,JZ DISPFIRST;如果是0 則顯示第一位,CLR SECOND ;否則顯示第二位,AJMP DISPNEXT,DISPFIRST:CLR FIRST ;顯示第一位,DISPNEXT:INC Counter ;計數器加1,MOV A,Counter,DEC A ;如果計數器計到2,則讓它回0,DEC A,JZ RSTCOUNT,AJMP DISPEXIT,RSTCOUNT:MOV Counter,#0 ;計數器的值只能是0 或1,DISPEXIT:POP PSW,POP ACC,RETI,DELAY:;延時130 毫秒,PUSH PSW,SETB RS0,MOV R7,#255,D1:MOV R6,#255,D2:NOP,NOP,NOP,NOP,DJNZ R6,D2,DJNZ R7,D1,POP PSW,RET,DISPTAB:DB 28H,7EH,0a4H,64H,72H,61H,21H,7CH,20H,60H,END。

這是一個有一定通用性的程序,如果用于其它的顯示接口,改變端口的值及計數器的值就可以顯示是設計需要的位數。

2 結論

本設計硬件和程序運行的結果可以表明:采用AT89S52 單片機的動態掃描顯示接口和動態掃描的程序,效率高,顯示清晰、不閃爍,成本低,通用性強,在嵌入式系統,小型自控系統和智能儀表等方面有一定的應用前景。

[1]李明學,等.計算機控制技術[M].哈爾濱:哈爾濱工業大學出版社,2001.

[2]范立南,李雪飛,尹授遠.單片微型計算機控制系統設計[M].北京:人民郵電出版社,2004.

[3]張西學.單片機原理及應用[M].北京:人民郵電出版社,2012.

[4]段晨東.編單片機原理及接口技術[M].2 版.北京:清華大學出版社,2013.

猜你喜歡
單片機程序
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 国产一级片网址| 天堂av高清一区二区三区| 欧美激情视频二区| 欧美亚洲国产视频| 亚洲中文在线视频| 天堂网亚洲综合在线| 精品国产免费第一区二区三区日韩| 在线播放国产一区| 亚洲色图欧美| 亚洲国产精品无码AV| 国产成人喷潮在线观看| 91国内在线观看| 久久久精品国产SM调教网站| 欧美中文字幕无线码视频| 欧美精品成人| 亚洲香蕉在线| 亚洲人成在线精品| 九九精品在线观看| 免费在线色| 国产一区二区三区日韩精品| 成人蜜桃网| 丁香六月激情婷婷| 国产女人水多毛片18| 欧美日韩一区二区三区在线视频| 国产精品三级av及在线观看| 2021国产精品自产拍在线| 久久9966精品国产免费| v天堂中文在线| 国产乱码精品一区二区三区中文 | 成人国产免费| 爽爽影院十八禁在线观看| 久久这里只有精品66| 久久久成年黄色视频| 国产精品无码影视久久久久久久| 99re热精品视频国产免费| 久久久久国产精品免费免费不卡| 欧美午夜在线播放| 72种姿势欧美久久久大黄蕉| 手机成人午夜在线视频| 欧美无专区| 中文字幕有乳无码| 国产微拍一区二区三区四区| 国产乱人乱偷精品视频a人人澡| 欧美色99| 性色一区| 亚洲精品国产日韩无码AV永久免费网| 成人看片欧美一区二区| 九色视频一区| 国产成年无码AⅤ片在线| 国产18在线| 亚洲国产理论片在线播放| 日本人妻一区二区三区不卡影院| 午夜精品福利影院| 亚洲一区色| 亚洲天堂视频网站| 九九久久精品国产av片囯产区| 免费看av在线网站网址| 国产在线高清一级毛片| 欧美视频在线不卡| 亚洲精品无码日韩国产不卡| 欧美福利在线观看| 91美女视频在线| 91福利国产成人精品导航| 欧美性精品不卡在线观看| 国产在线视频福利资源站| 亚洲女同一区二区| 亚洲精品国产成人7777| 国产一级毛片高清完整视频版| 制服丝袜一区二区三区在线| 国产精品私拍在线爆乳| 国产成本人片免费a∨短片| 久久免费看片| 日韩成人高清无码| 国产91九色在线播放| 欧美午夜视频在线| 国产极品粉嫩小泬免费看| 久久精品国产精品国产一区| 国产精品视频白浆免费视频| 免费在线视频a| 久久国产精品娇妻素人| 在线色国产| 婷婷综合缴情亚洲五月伊|