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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2893|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: a国产视频 | 国产日韩精品一区 | 久久久免费少妇高潮毛片 | 国产精品午夜电影 | 黄色亚洲网站 | 久久久久久久一区 | 91久久网站 | 一区二区三区日 | 九九热视频这里只有精品 | 少妇一级淫片aaaaaaaaa | 最新中文在线视频 | 日韩欧美在线一区 | 玖玖综合网 | 欧美精品一区二区三区在线 | 久久狠狠 | 亚洲一区二区三区欧美 | 亚洲精品丝袜日韩 | 久久99视频免费观看 | 日韩在线视频一区二区三区 | 夜夜爽99久久国产综合精品女不卡 | 日韩久久中文字幕 | 欧美日韩综合精品 | 久久精品国产一区二区三区不卡 | 国产精品久久久久久久 | 亚洲欧美中文日韩在线v日本 | 精品国产一区探花在线观看 | 91最新在线视频 | 国产99久久久国产精品 | 亚洲精品一区中文字幕乱码 | 一区二区三区高清不卡 | 欧美日韩在线播放 | 一区二区视频在线 | 国产黄色在线观看 | 亚洲成人av| 午夜欧美a级理论片915影院 | 91大神在线资源观看无广告 | 国产精品久久久久久久久久久久冷 | 日干夜干 | 91免费看片 | 国产午夜精品视频 | 综合自拍 |