小视频免费在线观看_夜夜b_男女隐私免费视频_国产一级性生活视频_久久综合入口_精品国内视频

技術頻道

穩壓輸出與同步顯示電路的單片機源程序


采用AT89C2051控制穩壓輸出與同步顯示的電路源程序
ORG 0000H
START: AJMP MAIN
TAB1: DB 128,64,32,16 ;Dn值表格
TAB2: DB 0C0H,92H,0C0H,0C0H ;數字0.5.0.0字段代碼表
TAB3: DB 0B0H,99H,82H,90H ;數字3.4.6.9字段代碼表
MAIN: MOV SCON,#0 ;設串行口模式0
SETB P3.7 ;接繼電器實現極性狀態改變,開始置P3.7=1
SETB P3.4 ;電壓及顯示控制按鈕
SETB P3.5 ;極性轉換按鈕
BEGIN: MOV SP, #60H
MOV 23H,#0 ;送輸出P1.7=1的Dn值指針
MOV 20H,#0 ;小數點一位指針指向“0”字符(20H是小數點的指針)
MOV 21H,#0 ;個位指針指向“3”字符(21H是個位數點的指針)
ACALL DSP ;調用顯示、輸出子程序
NOP
JNB P3.4,$
ACALL DEL200
;
KEY1: JB P3.4, KEY2 ;電壓及顯示鍵是否有鍵?
ACALL DEL10
JB P3.4, KEY2
ACALL K1
;
KEY2: JB P3.5, KEY1 ;極性轉換鍵是否有鍵?
ACALL DEL10
JB P3.5, KEY1
ACALL K2
AJMP KEY1
;
DEL10: MOV R6,#0DH ;10ms延時子程序
D1MS1: MOV R7,#0FFH
DLL1: DJNZ R7, DLL1
DJNZ R6, D1MS1
RET
;
DEL200: MOV R3, #0FFH ;200ms延時子程序
D1MS2: MOV R4, #0FFH
DLL2: DJNZ R4, DLL2
DJNZ R3, D1MS2
RET
;
K1: MOV A,23H ;電壓及顯示鍵處理子程序
CJNE A, #03H, REL1
AJMP BEGIN
REL1: INC 23H
INC 20H
INC 21H
ACALL DSP
NOP
JNB P3.4,$
ACALL DEL200
NOP
RET
;
K2: CPL P3.7 ;極性轉換鍵處理子程序
JNB P3.5,$
ACALL DEL200
NOP
RET
;
DSP: MOV R7, #02 ;顯示、輸出子程序
MOV R0, #20H
MOV R1, #21H
MOV DPTR, #TAB2
MOV A, @R0
DSP1: MOVC A, @A+DPTR
MOV SBUF, A
DSP2: JNB TI, DSP2
CLR TI
MOV A, @R1
MOV DPTR, #TAB3
DJNZ R7, DSP1
MOV DPTR, #TAB1
MOV A, 23H
MOVC A, @A+DPTR
MOV P1, A
RET
;
END
源程序說明
程序中定義了三個表TAB1、TAB2、TAB3,分別存放P1口的數據、小數點后一位字符、個位字符。并且用23H、20H、21H分別作為P1口的數據、小數點后一位字符、個位字符的指針,指針開始時均指向“0”,即分別對應著128、0C0H、0B0H。
程序運行后,調用“顯示/輸出子程序”,在“顯示/輸出子程序”中依次執行:將字符“0”對應的代碼“0C0H”發送、將字符“3”對應的代碼“0B0H”發送、將P1口置為“128”(即表示P1.7—P1.0為10000000)。顯然在“顯示/輸出子程序”中輸出字符和置P1口的數據等,用的是查表指令MOVC A,@A+DPTR,DPTR是數據指針,查表時采用DPTR作為基址寄存器,在該指令執行前,DPTR中存放表的起始地址(例如MOV DPTR,#TAB2),A的內容(用MOV R0,#20H和MOV A,@R0兩條指令完成)作為無符號數與DPTR的內容相加得到一個16位地址,由該地址指出的程序存儲器的單元的內容送到累加器A中,再由MOV SBUF,A指令將字符對應的代碼發送出去,同樣對P1口數據的傳送用指令MOV A,23H和MOVC A,@A+DPTR以及MOV P1,A完成。
程序在結束此次調用“顯示/輸出子程序”后,就反復掃描P3.4口和P3.5口,隨時響應按鍵S1和S2的操作,如S1按下,則進入“S1處理子程序”,即“電壓及顯示鍵處理子程序”;如S2按下,則進入“S2處理子程序”即“極性轉換鍵處理子程序”。
在“電壓及顯示鍵處理子程序”中,每執行一次該子程序,都是先將三個指針23H、20H、21H加1,然后調用“顯示/輸出子程序”,下面的過程是與開始一樣的,只不過,由于指針改變而改變了相應代碼,實現顯示、穩壓輸出為“4.5、4.5V”→“6.0、6.0V” →“9.0、9.0V”→“3.0、3.0V”的循環過程。注意,當23H指針加到03H后,表明電路應回到起始狀態,重新以“3.0、3.0V”開始,程序用CJNE A,#03H,ACTION1指令來控制,即當A中內容等于03H后,程序不會執行標號ACTION1開始的程序段,而是轉到執行標號FW的程序段,回到起始狀態。
在“極性轉換鍵處理子程序”中,每執行一次該子程序,就對P3.7取反一次,實現極性轉換。




>>>進入儀器商城查看本條信息的發布人

文章版權歸西部工控xbgk所有,未經許可不得轉載。

主站蜘蛛池模板: 亚洲成人二区 | 欧美视频三区 | 久久久久国产精品免费免费搜索 | 国产精品久久九九 | 青青草伊人久久 | 亚洲福利小视频 | 天堂z丧尸电影免费观看 | 国产精品成人一区二区 | 日韩欧美在线免费观看视频 | 自拍偷拍第一页 | 日韩在线欧美 | 日韩成人久久 | 99久久精品免费看国产一区二区三区 | 国产一区福利 | 亚洲成人免费网站 | 在线观看中文字幕一区 | 不卡免费视频 | 久久国产精品久久久久久久久久 | 变态 另类 欧美 大码 日韩 | 精品2区| 午夜视频免费在线观看 | 欧美日韩成人一区 | 日韩成人免费视频 | 日本特黄a级高清免费大片 国产小视频在线 | 中文字幕日本视频 | 九九九九九国产 | 亚洲国产精品一区二区第一页 | 欧美亚洲激情视频 | 在线日本视频 | 国产成人一区二区三区 | 99精品一区二区三区 | 中文字幕一区二区av | 亚洲高清在线免费观看 | 黄色三级在线 | 欧美在线性爱视频 | 国产乱码精品1区2区3区 | 免费精品国产 | √最新版天堂资源网在线 | 欧美手机在线视频 | 国产精品自在线拍国产 | 日韩av中文在线 |