51单片机实现简单的电子表中遇到的问题,求大神解答

2019-07-16 02:59发布

课程设计要求的电路
这是老师给我们下达的课程设计要求,图中的7SEG是共阳极的
但是因为我们学校今年采购的7SEG是共阴极,现在我不知道具体电路该怎么画……
还有,在proteus中放太多东西的话,会提示CPU EXCESSIVE LOAD,7SEG根本就刷新不过来,直接就没显示了

未命名.jpg
这是我现在的电路图,去掉了多余的电阻和三极管,等焊接的时候会加上去的
求教大神:

1.PROTEUS中的三极管反应太慢了怎么办?
2.三极管是正向放大,我如果再在后面加上一个74LS04非门(因为7SEG是共阴极),还用不用加其他的电阻什么了?
3.放太多组件PROTEUS提示 CPU EXCESSIVE LOAD后7SEG就没显示了,去掉组件就能正常显示,这是我的代码问题还是大家都这样?
4.有没有办法在不加74LS04的情况下用三极管实现反向放大驱动?


最后~拜谢各路大神……
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
大头BB
1楼-- · 2019-07-16 03:18
 精彩回答 2  元偷偷看……
WAITXHURT
2楼-- · 2019-07-16 03:26
1.PROTEUS数码管如果用扫描方式的话占CPU100%,这个问题一直在伴随着,我平时仿真的时候通常把晶振调到1M以下就可明显好转
2.位扫描不用加74LS04非门,直接把IO口接到数码管上,不加电阻;段扫描保持现状,但程序字段码要变成共阴的。
3.问题同1,请注意数码管不要放在main函数里执行,放中断里效果能好些
4.问题同2。
希望能帮到你。。。
skysealee
3楼-- · 2019-07-16 06:57
WAITXHURT 发表于 2012-12-26 13:07
1.PROTEUS数码管如果用扫描方式的话占CPU100%,这个问题一直在伴随着,我平时仿真的时候通常把晶振调到1M以 ...

晶振1Hz也会提示Excessive loaded啊>.<

现在老师规定一定要用三极管,请问我该怎么连呢?B,E,C分别该怎么连啊= =  我不是电气专业的……只是这学期开了单片机课程

数码管的刷新代码要不停重复执行的啊……不然怎么在每个位置显示不同的数字呢?

奉上我的代码,求大神指正

        ORG        0000H
        AJMP        INITSYSTEM

        ORG        000BH
        AJMP        TICK

        ORG        0050H
INITSYSTEM:
        SW        EQU        P1.7
        DP        EQU        P2
        EN        EQU        P3
        NUM_1        EQU        20H
        NUM_2        EQU        21H
        NUM_3        EQU        22H
        NUM_4        EQU        23H
        NUM_5        EQU        24H
        NUM_6        EQU        25H
        COUNT        EQU        R1
        HOURH        EQU        R2
        HOURL        EQU        R3
        MINH        EQU        R4
        MINL        EQU        R5
        SECH        EQU        R6
        SECL        EQU        R7
        MOV        TMOD,#01H        ;设定计时器
        MOV        TH0,#3CH
        MOV        TL0,#0B0H
        SETB        TR0
        SETB        EA
        SETB        ET0
        ACALL        RESET
        MOV        DPTR,#NUM
        AJMP        READY
READY:
        JB        SW,$
MAIN:
        MOV        A,#01H
FLASHLED:;DB        3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
        MOV        DP,#0H
        MOV        EN,A
        MOV        DP,NUM_1
        RL        A
        MOV        EN,#0H
        MOV        DP,#0H
        MOV        EN,A
        MOV        DP,NUM_2
        RL        A
        MOV        EN,#0H
        MOV        DP,#0H
        MOV        EN,A
        MOV        DP,NUM_3
        RL        A
        MOV        EN,#0H
        MOV        DP,#0H
        MOV        EN,A
        MOV        DP,NUM_4
        RL        A
        MOV        EN,#0H
        MOV        DP,#0H
        MOV        EN,A
        MOV        DP,NUM_5
        RL        A
        MOV        EN,#0H
        MOV        DP,#0H
        MOV        EN,A
        MOV        DP,NUM_6
        RL        A
        MOV        EN,#0H                       
        AJMP        READY

TICK:
        INC        COUNT
        CJNE        COUNT,#0AH,TICKOVER
        MOV        COUNT,#0H
        INC        SECL
        CJNE        SECL,#0AH,TICKOVER
        MOV        SECL,#0H
        INC        SECH
        CJNE        SECH,#06H,TICKOVER
        MOV        SECH,#0H
        INC        MINL
        CJNE        MINL,#0AH,TICKOVER
        MOV        MINL,#0H
        INC        MINH
        CJNE        MINH,#06H,TICKOVER
        MOV        MINH,#0H
        CJNE        HOURH,#02H,NOT20
        INC        HOURL
        CJNE        HOURL,#04H,TICKOVER
        ACALL        RESET
        SJMP        TICKOVER
NOT20:
        INC        HOURL
        CJNE        HOURL,#0AH,TICKOVER
        MOV        HOURL,#0H
        INC        HOURH
TICKOVER:
        MOV        A,HOURH
        MOVC        A,@A+DPTR
        MOV        NUM_1,A
        MOV        A,HOURL
        MOVC        A,@A+DPTR
        MOV        NUM_2,A
        MOV        A,MINH
        MOVC        A,@A+DPTR
        MOV        NUM_3,A
        MOV        A,MINL
        MOVC        A,@A+DPTR
        MOV        NUM_4,A
        MOV        A,SECH
        MOVC        A,@A+DPTR
        MOV        NUM_5,A
        MOV        A,SECL
        MOVC        A,@A+DPTR
        MOV        NUM_6,A
        RETI

RESET:
        MOV        HOURH,#0H
        MOV        HOURL,#0H
        MOV        MINH,#0H
        MOV        MINL,#0H
        MOV        SECH,#0H
        MOV        SECL,#0H
        RET
NUM:
        DB        3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
        END
spy007868
4楼-- · 2019-07-16 10:19
复制下来!!!!!!!!自己好好学习!!!!!!!!!!!!!!!
谢谢.jpg

一周热门 更多>