| ;;;ADC0809默認(rèn)int5;;進(jìn)行電壓采集;; ;;;通過串口可以讓0809工作在自動巡,或停顯一個通上,或讓巡通道的時間加長1-60min;;; ;;;fe fe 06(l)+04(ch)+01(1為停巡,0為巡)+02(巡的時間,越大值時間越長)+00(比較值)+(01)未定+08(CS校驗(yàn)) ;;命令正確單片機(jī)回43;;ASCII為“C” ;;;;fe fe 06 04 01 02 00 01 08為工作在4通道上不巡;; ;;;fe fe fe fe 06 04 00 02 00 01 07為巡示各通道電壓,時間5秒上下;; ;;;;fe fe fe 06 04 00 22 01 01 28為巡示各通道電壓,并且時間為20秒上下;; ;;;這些命令可存在24c02中這樣一鍵完成操作2006/7/21;;; ORG 0000H AJMP MAIN ORG 000BH AJMP TIME_0 ORG 0023H AJMP ES_0 ORG 0030H MAIN: MOV SP,#5FH MOV P1,#00H MOV P2,#0FFH CLR P3.3;;;ALE STAR;; CLR P3.7;;;DISP OUTDATA MOV 3AH,#05H;;30H為通道數(shù);; MOV 3EH,#00H;;;LED FOR NUMBER MOV 4FH,#01H MOV 70H,#7FH;;;INPUT DATA FIRST ADDRE MOV 71H,#00H MOV 72H,#00H MOV 73H,#00H ;;;SETB 20H;;;FOR H NO REP ;;CLR 20H MOV 4EH,#01H MOV 40H,#00H MOV 41H,#00H MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H MOV 36H,#00H MOV 37H,#00H MOV TMOD,#22H MOV TH0,#(65536-4000)/256 MOV TL0,#(65536-4000) MOD 256 MOV TH1,#0F3H;;;0E6H;;1200 MOV SCON,#50H MOV TCON,#55H MOV PCON,#80H MOV IE,#92H;;;82H LOOP: ANL 4EH,#03H MOV 24H,4EH CHDATA: MOV A,3AH CJNE A,#08H,CHREP MOV 3AH,#00H CHREP: CLR C ANL A,#07H RRC A MOV P3.4,C;;A RRC A MOV P3.5,C;;B RRC A MOV P3.6,C;;;C MOV R7,#10 PLU2: CLR ET0;;;CLOSE TIME0 SETB P3.3;;ALE STAR CLR P3.3 NOP NOP NOP NOP NOP NOP NOP NOP JNB P3.2,$ ;;EOC SETB P3.7;;;;ENABLE MOV A,#30H ADD A,3AH MOV 38H,A;;;;FOR CH ADDRIVER DATA MOV R0,A MOV A,P0 MOV @R0,A CLR P3.7;;DISPABLE SETB ET0;;;OPEN TIME0 MOV R0,38H MOV A,@R0 MOV B,#100;; DIV AB MOV 3BH,A;;BAI MOV A,B MOV B,#10 DIV AB MOV 3CH,A;;SHI ; MOV 3DH,B;;GE MOV 3FH,B;;GE DJNZ R7,PLU2 AJMP LOOP ; AJMP PLU2;;CHDATA;;;LOOP ES_0: CLR ES JBC RI,RDDATA JBC TI,TXDATA SETB ES LJMP ND1 RDDATA: MOV R0,70H;;;INPU ADDRE CCDATA: JNB RI,$ MOV A,SBUF CJNE A,#0FEH,RD1 CLR RI AJMP CCDATA RD1: MOV @R0,A MOV R6,A MOV 71H,R0 MOV 72H,R6 DEC R0 CLR RI CCDATA2: JNB RI,$ MOV A,SBUF MOV @R0,A CLR RI DEC R0 DJNZ R6,CCDATA2 DEC 72H MOV R6,72H DEC 71H MOV R0,71H CLR A DCS: ADD A,@R0 DEC R0 DJNZ R6,DCS MOV 73H,@R0 CJNE A,73H,NDD2 MOV A,71H MOV R1,A MOV 3AH,@R1 DEC R1 MOV 4EH,@R1 DEC R1 MOV 4FH,@R1 DEC R1 MOV 41H,@R1 SETB 21H;;;;;;WAIT BIT SETB ES MOV A,#43H MOV SBUF,A NDD2: MOV 70H,#7FH ND1: SETB ES RETI TXDATA: SETB ES RETI DISPLED: MOV DPTR,#LEDB MOV A,3EH CJNE A,#04H,DISP4 MOV A,3AH MOVC A,@A+DPTR ;;CHLED MOV P2,#0FFH MOV P1,A MOV P2,#0EFH INC 40H MOV A,40H CJNE A,#250,NN1 INC 41H MOV A,41H CJNE A,4FH,NN1;;;;40;;for 10sec;;;;;;;;;;;;;;;;; JB 20H,NN1 INC 3AH ;;;4FH PLAY WATI TIME MOV 41H,#00 NN1: MOV 3EH,#0FFH DISP4: CJNE A,#03H,DISP3;;;"-"DP MOV P2,#0FFH MOV P1,#40H MOV P2,#0F7H ;; MOV 3EH,#0FFH DISP3: CJNE A,#02H,DISP1 ;;BAI MOV A,3BH MOVC A,@A+DPTR MOV P2,#0FFH MOV P1,A MOV P2,#0FEH ;;;;MOV 3EH,#0FFH;;;;KKKKKKK DISP1: CJNE A,#01H,DISP2 ;;;SHI MOV A,3CH MOVC A,@A+DPTR MOV P2,#0FFH MOV P1,A MOV P2,#0FDH DISP2: CJNE A,#00H,DISPOVER;;; GEI MOV A,3FH ;; MOV A,3DH MOVC A,@A+DPTR MOV P2,#0FFH MOV P1,A MOV P2,#0FBH DISPOVER: INC 3EH RET TIME_0: CLR TR0 CLR EA ACALL DISPLED MOV TH0,#(65536-4000)/256 MOV TL0,#(65536-4000)MOD 256 SETB TR0 SETB EA RETI LEDB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H END |