?? code.asm
字號:
;***************************************************
;常數定義
;***************************************************
TIMEL EQU 0E0H ;20ms,定時器0時間常數
TIMEH EQU 0B1H
TEMPHEAD EQU 36H ;讀入數據暫存首地址
DISPUW EQU 20H ;顯示單位長32像素
;***************************************************
;工作內存定義
;***************************************************
RHZ DATA 26H ;DS18B20溫度低8位寄存空間
TEMPH DATA 27H ;DS18B20溫度高8位寄存空間
D1 DATA 28H ;左起第一位LED顯示緩存空間
D2 DATA 29H ;左起第二位LED顯示緩存空間
D3 DATA 30H ;左起第三位LED顯示緩存空間
D4 DATA 31H ;左起第四位LED顯示緩存空間
D5 DATA 32H ;FOR SIMULATION
D6 DATA 33H ;FOR SIMULATION
D7 DATA 34H ;FOR SIMULATION
D8 DATA 35H ;FOR SIMULATION
;***************************************************
;引腳定義
;***************************************************
TEMPDIN BIT P2.4 ;DS18B20數據引腳
HC595DS1 BIT P0.4 ;左起第一片74HC595數據引腳
HC595DS2 BIT P0.6 ;左起第二片74HC595數據引腳
HC595DS3 BIT P0.0 ;左起第三片74HC595數據引腳
HC595DS4 BIT P0.2 ;左起第四片74HC595數據引腳
HC595ST1 BIT P0.5 ;左起第一片74HC595數據存儲引腳
HC595ST2 BIT P0.7 ;左起第二片74HC595數據存儲引腳
HC595ST3 BIT P0.1 ;左起第三片74HC595數據存儲引腳
HC595ST4 BIT P0.3 ;左起第四片74HC595數據存儲引腳
HC595SH BIT P2.2 ;全部74HC595數據移位引腳
RHC595DS1 BIT P1.0 ;左起第一片74HC595數據引腳
RHC595DS2 BIT P1.1 ;左起第二片74HC595數據引腳
RHC595DS3 BIT P1.2 ;左起第三片74HC595數據引腳
RHC595DS4 BIT P1.3 ;左起第四片74HC595數據引腳
RHC595ST1 BIT P1.4 ;左起第一片74HC595數據存儲引腳
RHC595ST2 BIT P1.5 ;左起第二片74HC595數據存儲引腳
RHC595ST3 BIT P1.6 ;左起第三片74HC595數據存儲引腳
RHC595ST4 BIT P1.7 ;左起第四片74HC595數據存儲引腳
BEEP BIT P2.3 ;蜂鳴器
;***************************************************
;中斷向量區
;***************************************************
ORG 0000H
LJMP START
ORG 0003H
LJMP HALLDETECT ;HALL子程序
;***************************************************
;系統初始化
;***************************************************
ORG 100H
START: MOV SP,#60H ;棧頂地址
SETB EX0 ;開外部中斷0
SETB EA ;開中斷
AJMP MAIN
;***************************************************
;主程序
;***************************************************
MAIN:
MOV R7, #11
MAIN1: LCALL DISPLAY ;調用顯示子程序
DJNZ R7, MAIN1
AJMP MAIN
;***************************************************
;顯示程序
;***************************************************
DISPLAY:
MOV R2,#0
DISPLAY1: MOV D5, #0FFH ;For simulation
MOV D6, #0FFH ;For simulation
MOV D7, #0FFH ;For simulation
MOV D8, #0FFH ;For simulation
MOV A, R7
CLR C
RLC A
MOV DPTR, #JPTAB
JMP @A+DPTR
JPTAB: AJMP DISP0
AJMP DISP1
AJMP DISP2
AJMP DISP3
AJMP DISP4
AJMP DISP5
AJMP DISP6
AJMP DISP7
AJMP DISP8
AJMP DISP9
AJMP DISP0
AJMP DISPT
DISP0: MOV A, R2
MOV DPTR,#DISP0TAB1
MOVC A,@A+DPTR
MOV D1, A
MOV A, R2
MOV DPTR,#DISP0TAB2
MOVC A,@A+DPTR
MOV D2, A
MOV A, R2
MOV DPTR,#DISP0TAB3
MOVC A,@A+DPTR
MOV D3, A
MOV A, R2
MOV DPTR,#DISP0TAB4
MOVC A,@A+DPTR
MOV D4, A
LJMP SHOW
DISP0TAB1: DB 000H,000H,000H,000H,000H,003H,007H,001H
DB 03FH,03FH,07FH,07FH,0FFH,0E0H,0C0H,000H
DB 000H,0C0H,0FFH,0FFH,07FH,07FH,03FH,01FH
DB 00FH,003H,000H,000H,000H,000H,000H,000H
DISP0TAB2: DB 000H,000H,000H,01FH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H
DB 000H,000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,01FH,000H,000H,000H,000H
DISP0TAB3: DB 000H,000H,000H,0F8H,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H
DB 000H,000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0F8H,000H,000H,000H,000H
DISP0TAB4: DB 000H,000H,000H,000H,000H,0C0H,0E0H,0F8H
DB 0FCH,0FCH,0FEH,0FEH,0FFH,007H,003H,000H
DB 000H,007H,0FFH,0FFH,0FEH,0FEH,0FCH,0F8H
DB 0F0H,0C0H,000H,000H,000H,000H,000H,000H
DISP1: MOV A, R2
MOV DPTR,#DISP1TAB1
MOVC A,@A+DPTR
MOV D1, A
MOV A, R2
MOV DPTR,#DISP1TAB2
MOVC A,@A+DPTR
MOV D2, A
MOV A, R2
MOV DPTR,#DISP1TAB3
MOVC A,@A+DPTR
MOV D3, A
MOV A, R2
MOV DPTR,#DISP1TAB4
MOVC A,@A+DPTR
MOV D4, A
LJMP SHOW
DISP1TAB1: DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,060H,060H,0E0H,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H
DISP1TAB2: DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H
DISP1TAB3: DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H
DISP1TAB4: DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,003H,007H,007H,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,007H,007H,003H
DB 000H,000H,000H,000H,000H,000H,000H,000H
DISP2: MOV A, R2
MOV DPTR,#DISP2TAB1
MOVC A,@A+DPTR
MOV D1, A
MOV A, R2
MOV DPTR,#DISP2TAB2
MOVC A,@A+DPTR
MOV D2, A
MOV A, R2
MOV DPTR,#DISP2TAB3
MOVC A,@A+DPTR
MOV D3, A
MOV A, R2
MOV DPTR,#DISP2TAB4
MOVC A,@A+DPTR
MOV D4, A
LJMP SHOW
DISP2TAB1: DB 000H,000H,000H,000H,000H,000H,00FH,01FH
DB 03FH,07FH,07FH,0FFH,0FFH,0CFH,007H,000H
DB 0C0H,0F0H,0FFH,0FFH,07FH,07FH,07FH,03FH
DB 01FH,00FH,003H,000H,000H,000H,000H,000H
DISP2TAB2: DB 000H,000H,000H,000H,000H,000H,080H,0C0H
DB 0E0H,0E0H,0E0H,0E0H,0E0H,0C0H,080H,000H
DB 001H,007H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FEH,0FCH,0F0H,000H,000H,000H,000H,000H
DISP2TAB3: DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,004H,00CH,00DH,01DH,039H,079H,0F1H
DB 0F1H,0E1H,0E1H,0C0H,0C0H,080H,080H,000H
DB 000H,000H,001H,007H,007H,000H,000H,000H
DISP2TAB4: DB 000H,000H,000H,000H,000H,000H,00FH,03FH
DB 07EH,0FCH,0FCH,0FCH,0FCH,0FEH,0FEH,0FEH
DB 0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH
DB 0FEH,0FCH,0F8H,0F0H,080H,000H,000H,000H
DISP3: MOV A, R2
MOV DPTR,#DISP3TAB1
MOVC A,@A+DPTR
MOV D1, A
MOV A, R2
MOV DPTR,#DISP3TAB2
MOVC A,@A+DPTR
MOV D2, A
MOV A, R2
MOV DPTR,#DISP3TAB3
MOVC A,@A+DPTR
MOV D3, A
MOV A, R2
MOV DPTR,#DISP3TAB4
MOVC A,@A+DPTR
MOV D4, A
LJMP SHOW
DISP3TAB1: DB 000H,000H,000H,000H,000H,000H,00FH,01FH
DB 03FH,07FH,07FH,0FFH,0EFH,0C7H,000H,0C0H
DB 0C0H,0E0H,0FFH,0FFH,07FH,07FH,07FH,03FH
DB 03FH,01FH,00FH,007H,000H,000H,000H,000H
DISP3TAB2: DB 000H,000H,000H,000H,000H,000H,080H,0C0H
DB 0E0H,0E0H,0E0H,0E0H,0C0H,080H,003H,003H
DB 003H,007H,0FFH,0FFH,0FFH,0FEH,0FEH,0FCH
DB 0FCH,0F8H,0F0H,0E0H,000H,000H,000H,000H
DISP3TAB3: DB 000H,000H,000H,000H,000H,001H,007H,00FH
DB 00FH,00FH,00FH,00FH,007H,003H,000H,000H
DB 080H,080H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 07FH,07FH,01FH,00FH,000H,000H,000H,000H
DISP3TAB4: DB 000H,000H,000H,000H,000H,0E0H,0F8H,0FCH
DB 0FEH,0FEH,0FFH,0F7H,0F3H,0C3H,000H,003H
DB 003H,007H,0FFH,0FFH,0FFH,0FEH,0FEH,0FCH
DB 0FCH,0F8H,0F0H,0C0H,000H,000H,000H,000H
DISP4: MOV A, R2
MOV DPTR,#DISP4TAB1
MOVC A,@A+DPTR
MOV D1, A
MOV A, R2
MOV DPTR,#DISP4TAB2
MOVC A,@A+DPTR
MOV D2, A
MOV A, R2
MOV DPTR,#DISP4TAB3
MOVC A,@A+DPTR
MOV D3, A
MOV A, R2
MOV DPTR,#DISP4TAB4
MOVC A,@A+DPTR
MOV D4, A
LJMP SHOW
DISP4TAB1: DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,007H
DB 00FH,03FH,07FH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 000H,000H,000H,000H,000H,000H,000H,000H
DISP4TAB2: DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 001H,007H,00FH,03CH,078H,000H,000H,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 000H,000H,000H,000H,000H,000H,000H,000H
DISP4TAB3: DB 000H,000H,000H,003H,00FH,01FH,07DH,0F1H
DB 0E1H,081H,001H,001H,001H,000H,000H,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 001H,001H,001H,001H,000H,000H,000H,000H
DISP4TAB4: DB 000H,000H,000H,080H,080H,080H,080H,080H
DB 080H,080H,080H,080H,083H,007H,007H,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 087H,087H,083H,080H,000H,000H,000H,000H
DISP5: MOV A, R2
MOV DPTR,#DISP5TAB1
MOVC A,@A+DPTR
MOV D1, A
MOV A, R2
MOV DPTR,#DISP5TAB2
MOVC A,@A+DPTR
MOV D2, A
MOV A, R2
MOV DPTR,#DISP5TAB3
MOVC A,@A+DPTR
MOV D3, A
MOV A, R2
MOV DPTR,#DISP5TAB4
MOVC A,@A+DPTR
MOV D4, A
LJMP SHOW
DISP5TAB1: DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,07FH,07FH
DB 07FH,07FH,07FH,07EH,07EH,07EH,07CH,078H
DB 070H,0E0H,080H,000H,000H,000H,000H,000H
DISP5TAB2: DB 000H,000H,000H,000H,000H,000H,000H,07FH
DB 07FH,043H,007H,00EH,00EH,01EH,000H,000H
DB 01EH,01FH,01FH,01FH,00FH,00FH,00EH,007H
DB 003H,001H,000H,000H,000H,000H,000H,000H
DISP5TAB3: DB 000H,000H,000H,000H,000H,001H,007H,087H
DB 08FH,08FH,00FH,00FH,007H,003H,000H,000H
DB 000H,000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,03FH,000H,000H,000H,000H
DISP5TAB4: DB 000H,000H,000H,000H,000H,0E0H,0F8H,0FCH
DB 0FEH,0FEH,0FFH,0FFH,0F7H,0C3H,000H,000H
DB 007H,00FH,0FFH,0FFH,0FEH,0FEH,0FEH,0FCH
DB 0F8H,0F0H,0E0H,080H,000H,000H,000H,000H
DISP6: MOV A, R2
MOV DPTR,#DISP6TAB1
MOVC A,@A+DPTR
MOV D1, A
MOV A, R2
MOV DPTR,#DISP6TAB2
MOVC A,@A+DPTR
MOV D2, A
MOV A, R2
MOV DPTR,#DISP6TAB3
MOVC A,@A+DPTR
MOV D3, A
MOV A, R2
MOV DPTR,#DISP6TAB4
MOVC A,@A+DPTR
MOV D4, A
LJMP SHOW
DISP6TAB1: DB 000H,000H,000H,000H,000H,000H,003H,00FH
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -