久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2991|回復: 6
打印 上一主題 下一主題
收起左側

大神幫忙看一下這個單片機匯編程序,為什么動態數碼管只能顯示一個數字啊?

[復制鏈接]
跳轉到指定樓層
樓主
ID:846769 發表于 2020-11-28 20:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
MAIN:   
        MOV P1,#0FFH
        MOV A,P1
        CPL A              ;輸入此時溫度
        LED_0        EQU         30H
    LED_1         EQU         31H
    LED_2         EQU         32H
zhuanhuan:
                MOV         B,#100
                DIV         AB
                MOV         LED_2,A
                MOV         A,B
                MOV         B,#10
                DIV         AB
                MOV         LED_1,A
                MOV         LED_0,B  
                MOV   DPTR, #TABLE
DISP:      

                        
            MOV                A,LED_0                        ;數碼顯示子程序
                MOVC        A,@A+DPTR
                CLR                P2.2
                MOV                P0,A
                LCALL        DELAY
                SETB        P2.2

                MOV                A,LED_1
                MOVC        A,@A+DPTR
                CLR                P2.1
                MOV                P0,A
                LCALL        DELAY
                SETB        P2.1

                            MOV                A,LED_2
                MOVC        A,@A+DPTR
                CLR                P2.1
                                CLR              P2.2
                MOV               P0,A
                LCALL        DELAY
                SETB        P2.0

                RET

DELAY:        MOV                R6,#10
D1:                MOV                R7,#250
                DJNZ        R7,$
                DJNZ        R6,D1
                RET
DELAY2:        MOV                R5,#20
D2:                MOV                R6,#20
D3:                MOV                R7,#250
                DJNZ        R7,$
                DJNZ        R6,D3
                DJNZ        R5,D2
                RET
TABLE:         DB                 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
                END

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:235200 發表于 2020-11-29 01:26 | 只看該作者
程序結構有問題,第一,主程序未構成循環并且去調用DISP顯示子程序,第二,轉換程序到底是主程序的一部分還是單獨的一個子程序,若為子程序,沒有RET指令,第三,延時程序DELAY2在本程序中未調用,可刪去。因為對程序結構未搞清,所以不能正常顯示
回復

使用道具 舉報

板凳
ID:851000 發表于 2020-11-29 09:37 | 只看該作者
程序結構確實有點亂.....
回復

使用道具 舉報

地板
ID:401564 發表于 2020-11-30 14:14 | 只看該作者
整個程序沒有用到一個JMP指令來循環
程序結構太亂
回復

使用道具 舉報

5#
ID:255377 發表于 2020-12-4 17:33 | 只看該作者
回復

使用道具 舉報

6#
ID:255377 發表于 2020-12-4 17:33 | 只看該作者
回復

使用道具 舉報

7#
ID:517466 發表于 2020-12-5 11:30 | 只看該作者
DISP:      
            MOV         A,LED_0           ;取得第一個顯示數據
            MOVC        A,@A+DPTR         ;取得筆段數據           
            CLR         P2.2              ;關閉顯示
            MOV         P0,A              ;筆段數據輸出到IO口
            SETB        P2.2              ;打開顯示
            LCALL       DELAY             ;延遲顯示一段時間
            CLR         P2.2              ;關閉第一個數碼顯示,防止下一個筆段數據串位顯示到第一個數碼管上

            MOV         A,LED_1           ;取得第二個顯示數據
            MOVC        A,@A+DPTR
            CLR         P2.1
            MOV         P0,A
            SETB        P2.1
            LCALL       DELAY
            CLR         P2.1              ;關閉第二個數碼顯示顯示,防止下一個筆段數據串位顯示到第二個數碼管上
            

            MOV         A,LED_2           ;取得第三個顯示數據
            MOVC        A,@A+DPTR
            CLR         P2.0
            MOV         P0,A
            SETB        P2.0
            LCALL       DELAY
            CLR         P2.0              ;不加這個代碼,并且沒有下面的LJMP語句的話,第三個數碼管會一直亮下去
            
            LJMP        DISP              ;循環顯示


你之前的代碼有幾個問題:
1、在顯示下一個數碼管之前,一定要關閉位驅動,否則會出現一個筆段數據同時顯示給幾個數碼管。
2、在DISP處理中最后執行的是RET。在執行了
CLR                P2.1
CLR              P2.2
SETB        P2.0
之后,P0口保持著第三個數碼管的筆段數據,第三個數碼管被點亮,并一直保持。

如果想循環顯示,必須及時點亮一段時間,然后關閉,處理下一個,并且要保持不斷的循環才行
注意,以上代碼,是基于P2的IO口輸出‘1’時點亮數碼管的前提下,才成立。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线亚洲人成电影网站色www | www成人免费视频 | 91亚洲精品在线观看 | 在线视频第一页 | 久久精品一区二 | 丁香久久 | 欧美一级黑人aaaaaaa做受 | 亚洲a人 | 成人免费视频观看 | 亚洲视频一区二区三区四区 | 一区二区三区四区五区在线视频 | 日本成人中文字幕 | h视频免费观看 | 涩涩鲁亚洲精品一区二区 | 九九热在线免费视频 | 亚洲网站在线播放 | 国产精品一区二区日韩 | 国产精品国产三级国产a | 一区二区福利视频 | 免费看国产片在线观看 | 成人在线免费视频观看 | 国产精品久久久久久久久图文区 | a级毛片毛片免费观看久潮喷 | 三a毛片| 精品一区二区三区四区视频 | 99精品在线| 中文字幕 国产精品 | 96av麻豆蜜桃一区二区 | 玖玖免费 | 欧美1页| 91国产在线视频在线 | 久久99精品国产 | 久久久国产一区二区三区 | 在线免费av电影 | 日韩精品久久久久 | 一区二区三区四区在线 | 日韩在线免费 | 成人av在线播放 | 天天曰天天曰 | 成人精品一区二区三区中文字幕 | 欧美激情综合色综合啪啪五月 |