是共阴极四段数码管,芯片是c51+74HC245.出现一个错误(logic contention(s)detected on net #00038),0号定时器所接14号引脚一直是灰色,74hc245的A端是输入。但B端没有输出。有两张图片,还有一份代码文档。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- ORG 00H
- JMP MAIN
- ORG 0BH
- JMP TMR0 ;
- MAIN: ;主函数
- MOV 31H,#08h
- MOV 32H,#08h
- MOV 33H,#08h
- MOV 34H,#08h
- MOV 35H,#00h
- MOV 36H,#02h
- MOV 37H,#01h
- mov th0,#(8192-483)/32
- mov TL0,#(8192-483) MOD 32
- SETB TR0
- mov ie,#82h
- change: ;数据转移函数
- mov a,31h
- mov 38h,a
- mov a,32h
- mov 39h,a
- mov a,33h
- mov 3ah,a
- mov a,34h
- mov 3bh,a
- mov r0,#38h
- mov r7,#04h
- loop1:
- mov a,@r0
- XRL A,#00H
- JZ CHAN0
- mov a,@r0
- XRL A,#01H
- JZ CHAN1
- mov a,@r0
- XRL A,#02H
- JZ CHAN2
- mov a,@r0
- XRL A,#03H
- JZ CHAN3
- mov a,@r0
- XRL A,#04H
- JZ CHAN4
- mov a,@r0
- XRL A,#05H
- JZ CHAN5
- mov a,@r0
- XRL A,#06H
- JZ CHAN6
- mov a,@r0
- XRL A,#07H
- JZ CHAN7
- mov a,@r0
- XRL A,#08H
- JZ CHAN8
- mov a,@r0
- XRL A,#09H
- JZ CHAN9
- LP0:
- INC R0
- DJNZ R7,LOOP1
- LCALL DISP
- JMP CHANGE
- CHAN0: ;数据转换函数
- MOV @R0,#3FH
- JMP LP0
- CHAN1:
- MOV @R0,#06H
- JMP LP0
- CHAN2:
- MOV @R0,#5BH
- JMP LP0
- CHAN3:
- MOV @R0,#4FH
- JMP LP0
- CHAN4:
- MOV @R0,#66H
- JMP LP0
- CHAN5:
- MOV @R0,#6DH
- JMP LP0
- CHAN6:
- MOV @R0,#7DH
- JMP LP0
- CHAN7:
- MOV @R0,#07H
- JMP LP0
- CHAN8:
- MOV @R0,#7EH
- JMP LP0
- CHAN9:
- MOV @R0,#6FH
- JMP LP0
- TMR0 : ;计数器函数
- PUSH ACC
- PUSH PSW
- mov th0,#(8192-483)/32
- mov tl0,#(8192-483)MOD 32
- MOV A,35H
- ADD A,#01H
- MOV 35H,A
- CLR C
- MOV R0,#36H
- MOV A,31H
- ADDC A,@R0
- DA A
- JBC ACC.4,L11
- JMP L12
- L11:SETB C
- L12:ANL A,#0FH
- MOV 31H,A
- MOV A,32H
- ADDC A,#00H
- CLR C
- DA A
- JBC ACC.4,L13
- JMP L14
- L13:SETB C
- L14:ANL A,#0FH
- MOV 32H,A
- MOV A,33H
- ADDC A,#00H
- CLR C
- DA A
- JBC ACC.4,L15
- JMP L16
- L15:SETB C
- L16:ANL A,#0FH
- MOV 33H,A
- MOV A,34H
- ADDC A,#00H
- CLR C
- DA A
- JBC ACC.4,L17
- JMP L18
- L17:SETB C
- L18:ANL A,#0FH
- MOV 34H,A
- INC R0
- MOV A,32H
- ADDC A,@R0
- DA A
- JBC ACC.4,L19
- JMP L20
- L19:SETB C
- L20:ANL A,#0FH
- MOV 32H,A
- MOV A,33H
- ADDC A,#00H
- CLR C
- DA A
- JBC ACC.4,L21
- JMP L22
- L21:SETB C
- L22:ANL A,#0FH
- MOV 33H,A
- MOV A,34H
- ADDC A,#00H
- CLR C
- DA A
- JBC ACC.4,L23
- JMP L24
- L23:SETB C
- L24:ANL A,#0FH
- MOV 34H,A
- MOV A,33H
- ADDC A,#00H
- CLR C
- DA A
- JBC ACC.4,L25
- JMP L26
- L25:SETB C
- L26:ANL A,#0FH
- MOV 33H,A
- MOV A,34H
- ADDC A,#00H
- CLR C
- DA A
- JBC ACC.4,L27
- JMP L28
- L27:SETB C
- L28:ANL A,#0FH
- MOV 34H,A
- MOV A,34H
- ADDC A,#00H
- CLR C
- DA A
- JBC ACC.4,L29
- JMP L30
- L29:SETB C
- L30:ANL A,#0FH
- MOV 34H,A
- POP PSW
- POP ACC
- RETI
- DISP: ;显示函数
- MOV A,38H
- MOV P0,A
- MOV A,#01H
- MOV P3,A
- LCALL DELAY3MS
- MOV A,39H
- MOV A,#80H
- MOV P0,A
- MOV A,#02H
- MOV P3,A
- LCALL DELAY3MS
- MOV A,3AH
- MOV P0,A
- MOV A,#04H
- MOV P3,A
- LCALL DELAY3MS
- MOV A,3BH
- MOV P0,A
- MOV A,#08H
- MOV P3,A
- LCALL DELAY3MS
- RET
- DELAY1MS: ;延时
- MOV R7,#250
- L4:NOP
- NOP
- DJNZ R7,L4
- RET
- DELAY3MS: ;延时
- MOV R6,#3
- L1:LCALL DELAY1MS
- DJNZ R6,L1
- RET
复制代码
所有资料51hei提供下载:
text.rar
(796 Bytes, 下载次数: 11)
|