|
汇编更容易读出, ALE BIT P2.6 ST BIT P2.3 OE BIT P2.7 EOC BIT P3.7 ADD1 BIT P2.2 ADD2 BIT P2.1 ADD3 BIT P2.0 ACC1 BIT P3.0 ACC2 BIT P3.1 ACC3 BIT P3.2 L2 BIT P3.5 L1 BIT P3.4 ORG 0000H AJMP START START:JNB L1,LOOP3 LJMP LOOP2 LOOP3:LCALL DELAY1 JNB L1,$ JMP LOOP1 LOOP1:JNB L1,START ;测试IN0 CLR ADD1 CLR ADD2 CLR ADD3 LCALL W1 LCALL DE JNB L1,LOOP3 JNB L1,START ;测试IN1 CLR ADD1 CLR ADD2 SETB ADD3 LCALL W1 LCALL DE JNB L1,LOOP3 JNB L1,START ;测试IN2 CLR ADD1 SETB ADD2 CLR ADD3 LCALL W1 LCALL DE JNB L1,LOOP3 JNB L1,START ;测试IN3 CLR ADD1 SETB ADD2 SETB ADD3 LCALL W1 LCALL DE JNB L1,LOOP3 JNB L1,START ;测试IN4 SETB ADD1 CLR ADD2 CLR ADD3 LCALL W1 LCALL DE JNB L1,LOOP3 JNB L1,LOOP4 ;测试IN5 SETB ADD1 CLR ADD2 SETB ADD3 LCALL W1 LCALL DE JNB L1,LOOP3 JNB L1,LOOP4 ;测试IN6 SETB ADD1 SETB ADD2 CLR ADD3 LCALL W1 LCALL DE JNB L1,LOOP5 JNB L1,LOOP4 ;测试IN7 SETB ADD1 SETB ADD2 SETB ADD3 LCALL W1 LCALL DE LJMP LOOP1 LOOP4:LJMP START LOOP5:LJMP LOOP3 LOOP2:CLR ACC1 CLR ACC2 CLR ACC3 LCALL W1 LJMP START W1: SETB ALE ;启动0809 CLR ST CLR OE SETB ST CLR ST JNB EOC,$ SETB OE LOOP: MOV R1,#20H SETB ACC1 ;初始设置 SETB ACC2 SETB ACC3 W2: CLR ACC1 ;显示第一位 CLR ACC2 MOV A,P0 ;将p0口和0809的各个数据口连接 MOV B,#51 DIV AB ;将二进制数转化成10进制数 MOV DPTR,#TAB MOVC A,@A+DPTR ANL A,#07FH MOV P1,A LCALL DELAY MOV A,#0FFH MOV P1,A MOV A,B ;显示第二位 MOV B,#100 DIV AB MOVC A,@A+DPTR SETB ACC1 CLR ACC2 MOV P1,A LCALL DELAY MOV A,#0FFH MOV P1,A MOV A,B ;显示第三位 MOV B,#10 DIV AB MOVC A,@A+DPTR CLR ACC1 SETB ACC2 MOV P1,A LCALL DELAY MOV A,#0FFH MOV P1,A MOV A,B ;显示第四位 MOVC A,@A+DPTR SETB ACC1 MOV P1,A LCALL DELAY DJNZ R1,W2 RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DELAY: MOV R5,#29H ;延时1 D1: MOV R6,#1AH DJNZ R6,$ DJNZ R5,D1 RET DE: MOV R1,#0FFH ;延时2 D2: MOV R3,#0FH DJNZ R3,$ DJNZ R1,D2 RET DELAY1: MOV R6,#20 ;延时10ms子程序 C1: MOV R5,#248 DJNZ R5,$ DJNZ R6,C1 RET END |
|
ADC0808是1999年的产品了 不管是在价格还是在性能上,都已经没有优势可言了,一片ADC0808的价格,可以买两片带10位ADC的单片机了 并不是说教材上有什么就要学什么的 如果你要学汇编,基本上学到DS1302和24C02,就算是汇编已经学会了,想要学精,就不是汇编的事了,而是你的其它技术了 像这个玩意,根本就不是有没有教程的问题,也不是编程语言的问题,而是你对数据手册理解能力的问题 懂得看数据手册了,如果你会了汇编,有没有教程都是一样的写代码 |
| stc 的官方例程两种都有啊 |