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

📄 adc.asm

📁 8051 进行加解密的源代码
💻 ASM
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Copy right Notice;;;;;;;;;;;;;;;;;;This program is for personal use only.You may change/modify it regarding ur requirements. ;;This program has been tested and verfied, but in case of any queries, feel free to ;;email(mail_to_salman@yahoo.com) me.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;##################################Program for Data Acquisition using ADC with 16 channel;This can be used with any 8-16 bit ADC, with or without MUX;channel selection on P2.0 --- P2.3: ADC Start coversion on P2.4: ADC busy on P2.5 ;ADC data input at P0(lowbyte) and P1(highbyte);Data is  output serially starting from CHANNEL1 to CHANNEL10 ;Each sampling cycle is initiated by receiving 00H on serial port.        ORG  0000H	SJMP MAIN		MAIN:   MOV SP,#20H        MOV SCON,#52H           ;#Mode 1-8 bit uart	MOV TMOD,#21H           ; # TIMER 1 IN AUTORELOAD MODE AND 0 IN 16 BIT TIMER MODE        MOV TH1,#-13D           ;  #2400 bit/sec buad rate	SETB TR1	CLR RI	SETB TI	;############		MOV P2,#0FFH            ; INITIALIZE        MOV A,#'S'        ACALL SENDAGAIN:  MOV SP,#20H        ACALL RECEV        CJNE A,#0H,AGAIN;;;;;;;;;;;;;;;;;;;;;;;;;; DATA SAVING SECTION;;;;;;;;;;;;;;;;        ACALL CH_1        ACALL SAVE_D1               ACALL CH_2        ACALL SAVE_D2                ACALL CH_3        ACALL SAVE_D3                ACALL CH_4        ACALL SAVE_D4                ACALL CH_5        ACALL SAVE_D5                ACALL CH_6        ACALL SAVE_D6                ACALL CH_7        ACALL SAVE_D7                ACALL CH_8        ACALL SAVE_D8        ACALL CH_9        ACALL SAVE_D9        ACALL CH_10        ACALL SAVE_D10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DATA SENDING SECTION;;;;;;;        ACALL SEND_D1        ACALL SEND_D2        ACALL SEND_D3        ACALL SEND_D4        ACALL SEND_D5        ACALL SEND_D6        ACALL SEND_D7        ACALL SEND_D8        ACALL SEND_D9        ACALL SEND_D10        ACALL AGAIN;####################MAIN PROGRAM ENDS HERE##########################SAVE_D1: 	ACALL START_CONV  ;START CONVERSION        ACALL BANK1        MOV P0,#0FFH         ; low byte        MOV R0,P0        ACALL BANK2        MOV P1,#0FFH         ;high byte        MOV R0,P1                        RET	SAVE_D2: 	ACALL START_CONV  ;START CONVERSION        ACALL BANK1        MOV P0,#0FFH         ; low byte        MOV R1,P0        ACALL BANK2        MOV P1,#0FFH         ;high byte        MOV R1,P1                        RETSAVE_D3: 	ACALL START_CONV  ;START CONVERSION        ACALL BANK1        MOV P0,#0FFH         ; low byte        MOV R2,P0        ACALL BANK2        MOV P1,#0FFH         ;high byte        MOV R2,P1                        RETSAVE_D4: 	ACALL START_CONV  ;START CONVERSION        ACALL BANK1        MOV P0,#0FFH         ; low byte        MOV R3,P0        ACALL BANK2        MOV P1,#0FFH         ;high byte        MOV R3,P1                        RETSAVE_D5: 	ACALL START_CONV  ;START CONVERSION        ACALL BANK1        MOV P0,#0FFH         ; low byte        MOV R4,P0        ACALL BANK2        MOV P1,#0FFH         ;high byte        MOV R4,P1                        RETSAVE_D6: 	ACALL START_CONV  ;START CONVERSION        ACALL BANK1        MOV P0,#0FFH         ; low byte        MOV R5,P0        ACALL BANK2        MOV P1,#0FFH         ;high byte        MOV R5,P1                        RETSAVE_D7: 	ACALL START_CONV  ;START CONVERSION        ACALL BANK1        MOV P0,#0FFH         ; low byte        MOV R6,P0        ACALL BANK2        MOV P1,#0FFH         ;high byte        MOV R6,P1                        RETSAVE_D8: 	ACALL START_CONV  ;START CONVERSION        ACALL BANK1        MOV P0,#0FFH         ; low byte        MOV R7,P0        ACALL BANK2        MOV P1,#0FFH         ;high byte        MOV R7,P1                        RETSAVE_D9: 	ACALL START_CONV  ;START CONVERSION        ACALL BANK3        MOV P0,#0FFH         ; low byte        MOV R0,P0        ACALL BANK4        MOV P1,#0FFH         ;high byte        MOV R0,P1                        RETSAVE_D10: 	ACALL START_CONV  ;START CONVERSION        ACALL BANK3        MOV P0,#0FFH         ; low byte        MOV R1,P0        ACALL BANK4        MOV P1,#0FFH         ;high byte        MOV R1,P1                        RETSEND:        S:      JNB TI,S                    ;##########################TRANSMISSION ROUTINE	CLR TI        CLR TR1        SETB TR1	MOV SBUF,A	RETRECEV:R:      JNB RI,R                ;##########################RECEPTION ROUTINE########	CLR RI	MOV A,SBUF	RETDELAY:  MOV R7,#0FFH     ;DELAY REGISTER "I mSEC"REP:        NOP	NOP        DJNZ R7,REP        MOV R7,#0H	RETSTART_CONV:	CLR	P2.4	;START CONVERSION BY LOW PULSE METHOD	NOP	SETB	P2.4        ;;;;;;;;;;        SETB P2.5        ; USING P2.5 AS INPUT PIN	;;;;;;;;;;	JNB	P2.5,$	JB	P2.5,$	; TC=35 uS BUSY/CONVERSION	RETBANK1:    CLR RS0          CLR RS1          RETBANK2:    SETB RS0          CLR RS1          RETBANK3:    CLR RS0          SETB RS1          RETBANK4:    SETB RS0          SETB RS1          RETSEND_D1:          ACALL BANK2          MOV A,R0          ACALL SEND          ACALL RECEV          ACALL BANK1          MOV A,R0          ACALL SEND          ACALL RECEV          RETSEND_D2:          ACALL BANK2          MOV A,R1          ACALL SEND          ACALL RECEV          ACALL BANK1          MOV A,R1          ACALL SEND          ACALL RECEV          RETSEND_D3:          ACALL BANK2          MOV A,R2          ACALL SEND          ACALL RECEV          ACALL BANK1          MOV A,R2          ACALL SEND          ACALL RECEV          RETSEND_D4:          ACALL BANK2          MOV A,R3          ACALL SEND          ACALL RECEV          ACALL BANK1          MOV A,R3          ACALL SEND          ACALL RECEV          RETSEND_D5:          ACALL BANK2          MOV A,R4          ACALL SEND          ACALL RECEV          ACALL BANK1          MOV A,R4          ACALL SEND          ACALL RECEV          RETSEND_D6:          ACALL BANK2          MOV A,R5          ACALL SEND          ACALL RECEV          ACALL BANK1          MOV A,R5          ACALL SEND          ACALL RECEV          RETSEND_D7:          ACALL BANK2          MOV A,R6          ACALL SEND          ACALL RECEV          ACALL BANK1          MOV A,R6          ACALL SEND          ACALL RECEV          RETSEND_D8:          ACALL BANK2          MOV A,R7          ACALL SEND          ACALL RECEV          ACALL BANK1          MOV A,R7          ACALL SEND          ACALL RECEV          RETSEND_D9:          ACALL BANK4          MOV A,R0          ACALL SEND          ACALL RECEV          ACALL BANK3          MOV A,R0          ACALL SEND          ACALL RECEV          RETSEND_D10:          ACALL BANK4          MOV A,R1          ACALL SEND          ACALL RECEV          ACALL BANK3          MOV A,R1          ACALL SEND          ACALL RECEV          RETCH_1:	CLR P2.0	CLR P2.1	CLR P2.2	CLR P2.3	RETCH_2:	SETB P2.0	CLR P2.1	CLR P2.2	CLR P2.3	RET   CH_3:	CLR P2.0	SETB P2.1	CLR P2.2	CLR P2.3	RET   CH_4:	SETB P2.0	SETB P2.1	CLR P2.2	CLR P2.3	RET   CH_5:	CLR P2.0	CLR P2.1	SETB P2.2	CLR P2.3	RET CH_6:	SETB P2.0	CLR P2.1	SETB P2.2	CLR P2.3	RET   CH_7:	CLR P2.0	SETB P2.1	SETB P2.2	CLR P2.3	RET   CH_8:	SETB P2.0	SETB P2.1	SETB P2.2	CLR P2.3	RET   CH_9:	CLR P2.0	CLR P2.1	CLR P2.2	SETB P2.3	RET   CH_10:	SETB P2.0	CLR P2.1	CLR P2.2	SETB P2.3	RET   CH_11:	CLR P2.0	SETB P2.1	CLR P2.2	SETB P2.3	RET   CH_12:	SETB P2.0	SETB P2.1	CLR P2.2	SETB P2.3	RET   CH_13:	CLR P2.0	CLR P2.1	SETB P2.2	SETB P2.3	RET   CH_14:	SETB P2.0	CLR P2.1	SETB P2.2	SETB P2.3	RET   CH_15:	CLR P2.0	SETB P2.1	SETB P2.2	SETB P2.3	RET   CH_16:	SETB P2.0	SETB P2.1	SETB P2.2	SETB P2.3	RET           END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -