⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 code.asm

📁 基于89c51和74hc595的32位视觉暂留LED测试代码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;***************************************************
;常数定义
;***************************************************
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 + -