欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 有了對應(yīng)程序還是報錯是什么鬼,小白求救 [打印本頁]

作者: mond    時間: 2019-12-19 15:22
標(biāo)題: 有了對應(yīng)程序還是報錯是什么鬼,小白求救
大佬們知道這是怎么回事嗎,雖然下邊有對應(yīng)的程序但是還是在報錯,附上程序和截圖
SNF    EQU  00H             //南北通行標(biāo)志位
EWF    EQU  01H             //東西通行標(biāo)志位
URF    EQU  02H             //緊急事件標(biāo)志位
ORG    0000H                //上電轉(zhuǎn)主程序
LJMP   MAIN                 
ORG    000BH                //定時中斷入口
LJMP   DSZD                    
ORG    0003H                //緊急中斷入口
LJMP   URZD
ORG    0030H   
MAIN:  LCALL INIT           //調(diào)用初始化子程序
LOOP:  LCALL DIS            //循環(huán)執(zhí)行顯示子程序
       AJMP  LOOP      

///初始化程序
INIT:  SETB  SNF              
       SETB  EWF           
       SETB  URF           
       MOV   R2,#20         //定時器中斷20次為1s
       MOV   TMOD,#01H      //初始化定時器
       MOV   TL0,#0B0H
       MOV   TH0,#3CH
       SETB  EA             //開定時中斷與緊急中斷
       SETB  ET0
       SETB  TR0
       SETB  EX0
       SETB  IT0            //設(shè)置中斷程控方式
       MOV   DPTR,#TAB      //數(shù)值首地址放入DPTR中
       MOV   40H,#40        //東南西北通行時間設(shè)置
       MOV   41H,#40
       MOV   30H,#40        //通行時間初始化
       MOV   31H,#60
       MOV   P0,#4CH        //初始化時南北通行并把交通燈狀態(tài)分別放在32H和33H中
       MOV   32H,#4CH
       MOV   P2,#15H
       MOV   33H,#15H
       RET
///顯示子程序
DIS:   MOV   P3,#0DFH       //選中南北方向的十位數(shù)碼管
       MOV   A,30H          //把顯示數(shù)據(jù)送入數(shù)碼管顯示
       MOV   B,#10
       DIV   AB
       MOVC  A,@A+DPTR
       MOV   P1,A           
       LCALL D1MS
       MOV   P3,#0EFH       //選中南北方向的個位數(shù)碼管
       MOV   A,B            //把顯示數(shù)據(jù)送入數(shù)碼管顯示
       MOVC  A,@A+DPTR      
       MOV   P1,A
       LCALL D1MS

       MOV   P3,#7FH        //選中第東西方向的十位數(shù)碼管
       MOV   A,31H          //送入數(shù)碼管顯示
       MOV   B,#10
       DIV   AB
       MOVC  A,@A+DPTR
       MOV   P1,A
       LCALL D1MS
       MOV   P3,#0BFH       //選中第東西方向的個位數(shù)碼管
       MOV   A,B
       MOVC  A,@A+DPTR
       MOV   P1,A
       LCALL D1MS

       SETB  P3.0
       SETB  P3.1
       JNB   P3.0,DIS_S     //查詢是否第一個按鍵按下
       JNB   P3.1,DIS_E     //查詢是否第二個按鍵按下
       AJMP  DIS_R          //沒有鍵按下則返回

D5MS:  MOV R7,#10            //延時程序
D1MS:  MOV R7,#10
       MOV R6,#50
L1:    DJNZ R6,$
       DJNZ R7,L1
       RET
       END

DIS_S: LCALL D5MS           //按鍵去抖
       JNB   P3.0,DIS_SN
       AJMP  DIS_R  
        
DIS_SN:MOV   40H,#50        //對通行時間從新分配,南北通行時間加長
       MOV   41H,#30
       AJMP  DIS_R

DIS_E: LCALL D5MS           //按鍵去抖
       JNB   P3.1,DIS_EW
       AJMP  DIS_R

DIS_EW:MOV   40H,#30        //東西通行時間加長
       MOV   41H,#50

DIS_R: RET                  

//---------------------------------------------------------------------------

///定時中斷處理程序
DS_C:  LJMP  DS_R           //接力跳轉(zhuǎn)
DSZD:  PUSH  ACC            //保護現(xiàn)場
       PUSH  PSW
       CLR   TR0            //關(guān)定時器及中斷標(biāo)志位并重新賦值
       CLR   TF0
       MOV   TL0,#0B0H
       MOV   TH0,#3CH
       DJNZ  R2,DS_C        //判斷1m時間是否到達
       MOV   R2,#20         //到達重新賦值
       DEC   30H            //南北方向通行時間減一
       MOV   A,30H          //把減一后的時間送入顯示存儲單元

///南北通行到達最后4秒時黃燈閃爍
DS_10: CJNE  A,#4,DS_11     //如果通行時間剩余4秒
       JNB   SNF,DS_11      //判斷是否是南北通行
       MOV   P0,#8AH        
       MOV   32H, #8AH      //把交通燈狀態(tài)存入存儲單元
DS_11: CJNE  A,#3,DS_12     //不是剩余3秒,返回
       JNB   SNF,DS_12      //不是南北通行時間,返回
       MOV   P0,#88H
       MOV   32H, #88H
DS_12: CJNE  A,#2,DS_13
       JNB   SNF,DS_13
       MOV   P0,#8AH
       MOV   32H, #8AH
DS_13: CJNE  A,#1,DS_14
       JNB   SNF,DS_14
       MOV   P0,#88H
       MOV   32H, #88H
DS_14: JNZ   DS_NE          //通行時間沒有結(jié)束轉(zhuǎn)向改變東西方向的數(shù)碼管
       CPL   SNF            //如果通行時間結(jié)束則對標(biāo)志位取反
       JNB   SNF,DS_1       //判斷是否南北通行
       MOV   30H,40H        //是,點亮相應(yīng)的交通燈
       MOV   P0,#4CH
       MOV   32H,#4CH       //存儲交通燈狀態(tài)
       MOV   P2,#15H
       MOV   33H, #15H      //存儲交通燈狀態(tài)
DS_NE: DEC   31H            //東西方向通行時間減一
       MOV   A,31H          //把通行剩余時間送入顯示存儲單元

///東西方向通行時間剩余4秒鐘黃燈閃爍

DS_20: CJNE  A,#4,DS_21   
       JB    EWF,DS_21
       MOV   P0,#51H
       MOV   32H, #51H
DS_21: CJNE  A,#3,DS_22
       JB    EWF,DS_22
       MOV   P0,#41H
       MOV   32H, #41H
DS_22: CJNE  A,#2,DS_23
       JB    EWF,DS_23
       MOV   P0,#51H
       MOV   32H, #51H
DS_23: CJNE  A,#1,DS_24
       JB    EWF,DS_24
       MOV   P0,#41H
       MOV   32H, #41H     
DS_24: JNZ   DS_R             //東西方向時間沒有結(jié)束,返回
       CPL   EWF              //對通行狀態(tài)取反
       JNB   EWF,DS_2         //東西方向通行時間到來,跳轉(zhuǎn)
       MOV   31H,#80          //東西方向通行結(jié)束,重新顯示時間
       MOV   P0,#89H          //點亮相應(yīng)的交通燈
       MOV   32H, #89H
       MOV   P2,#29H
       MOV   33H, #29H
       AJMP  DS_R     
DS_1:  MOV   30H,#80          //南北通行時間結(jié)束,重新對顯示存儲單元賦值     
       MOV   P0,#89H          //執(zhí)行轉(zhuǎn)彎狀態(tài)1
       MOV   32H, #89H
       MOV   P2,#26H
       MOV   33H, #26H
       AJMP  DS_NE            
DS_2:  MOV   31H,41H          //東西方向開始通行,賦值予顯示存儲單元
       MOV   P0,#61H          //點亮相應(yīng)的交通燈
       MOV   32H, #61H
       MOV   P2,#15H
       MOV   33H, #15H
DS_R:  SETB  TR0
       POP   PSW              //恢復(fù)現(xiàn)場
       POP   ACC
       RETI

//---------------------------------------------------------------------------

///緊急中斷處理程序
URZD:  PUSH  ACC              //保護現(xiàn)場
       PUSH  PSW
       CLR   IE0              //清除中斷標(biāo)志位
       CLR   TR0              //關(guān)定時器
       CPL   URF              //緊急事件標(biāo)志位
       JB    URF,UR_CON       //緊急結(jié)束;跳轉(zhuǎn)
       MOV   P0,#49H          //各路口燈全顯示紅燈亮
       MOV   P2,#15H
       AJMP  UR_R
UR_CON:SETB TR0               //恢復(fù)正常交通
       MOV   A,32H
END


51hei截圖20191219151842.png (327.78 KB, 下載次數(shù): 41)

51hei截圖20191219151842.png

51hei截圖20191219151831.png (356.66 KB, 下載次數(shù): 33)

51hei截圖20191219151831.png

51hei截圖20191219151803.png (356.51 KB, 下載次數(shù): 33)

51hei截圖20191219151803.png

作者: pcbboy    時間: 2019-12-20 10:27
本帖最后由 pcbboy 于 2019-12-22 16:17 編輯

//可以啦
//#include "reg51.h"
//#include "intrins.h"

SNF    EQU  00H             //南北通行標(biāo)志位
EWF    EQU  01H             //東西通行標(biāo)志位
URF    EQU  02H             //緊急事件標(biāo)志位
        
ORG    0000H                //上電轉(zhuǎn)主程序
LJMP   MAIN   

ORG    000BH                //定時中斷入口

LJMP   DSZD                    
ORG    0003H                //緊急中斷入口
LJMP   URZD

        
ORG    0080H   
MAIN:  LCALL INIT           //調(diào)用初始化子程序
LOOP:  LCALL DIS            //循環(huán)執(zhí)行顯示子程序
       AJMP  LOOP      

///初始化程序
INIT:  SETB  SNF              
       SETB  EWF           
       SETB  URF           
       MOV   R2,#20         //定時器中斷20次為1s
       MOV   TMOD,#01H      //初始化定時器
       MOV   TL0,#0B0H
       MOV   TH0,#3CH
       SETB  EA             //開定時中斷與緊急中斷
       SETB  ET0
       SETB  TR0
       SETB  EX0
       SETB  IT0            //設(shè)置中斷程控方式
       MOV   DPTR,#TAB      //數(shù)值首地址放入DPTR中
       MOV   40H,#40        //東南西北通行時間設(shè)置
       MOV   41H,#40
       MOV   30H,#40        //通行時間初始化
       MOV   31H,#60
       MOV   P0,#4CH        //初始化時南北通行并把交通燈狀態(tài)分別放在32H和33H中
       MOV   32H,#4CH
       MOV   P2,#15H
       MOV   33H,#15H
       RET
///顯示子程序
DIS:   MOV   P3,#0DFH       //選中南北方向的十位數(shù)碼管
       MOV   A,30H          //把顯示數(shù)據(jù)送入數(shù)碼管顯示
       MOV   B,#10
       DIV   AB
       MOVC  A,@A+DPTR
       MOV   P1,A           
       LCALL D1MS
       MOV   P3,#0EFH       //選中南北方向的個位數(shù)碼管
       MOV   A,B            //把顯示數(shù)據(jù)送入數(shù)碼管顯示
       MOVC  A,@A+DPTR      
       MOV   P1,A
       LCALL D1MS

       MOV   P3,#7FH        //選中第東西方向的十位數(shù)碼管
       MOV   A,31H          //送入數(shù)碼管顯示
       MOV   B,#10
       DIV   AB
       MOVC  A,@A+DPTR
       MOV   P1,A
       LCALL D1MS
       MOV   P3,#0BFH       //選中第東西方向的個位數(shù)碼管
       MOV   A,B
       MOVC  A,@A+DPTR
       MOV   P1,A
       LCALL D1MS

       SETB  P3.0
       SETB  P3.1
       JNB   P3.0,DIS_S     //查詢是否第一個按鍵按下
       JNB   P3.1,DIS_E     //查詢是否第二個按鍵按下
       AJMP  DIS_R          //沒有鍵按下則返回

D5MS:  MOV R7,#10            //延時程序
D1MS:  MOV R7,#10
       MOV R6,#50
L1:    DJNZ R6,$
       DJNZ R7,L1
       RET
   

DIS_S: LCALL D5MS           //按鍵去抖
       JNB   P3.0,DIS_SN
       AJMP  DIS_R  
        
DIS_SN:MOV   40H,#50        //對通行時間從新分配,南北通行時間加長
       MOV   41H,#30
       AJMP  DIS_R

DIS_E: LCALL D5MS           //按鍵去抖
       JNB   P3.1,DIS_EW
       AJMP  DIS_R

DIS_EW:MOV   40H,#30        //東西通行時間加長
       MOV   41H,#50

DIS_R: RET                  

//---------------------------------------------------------------------------

///定時中斷處理程序

DS_C:  LJMP  DS_R           //接力跳轉(zhuǎn)

DSZD:
        PUSH  ACC            //保護現(xiàn)場
       PUSH  PSW
       CLR   TR0            //關(guān)定時器及中斷標(biāo)志位并重新賦值
       CLR   TF0
       MOV   TL0,#0B0H
       MOV   TH0,#3CH
       DJNZ  R2,DS_C        //判斷1m時間是否到達
       MOV   R2,#20         //到達重新賦值
       DEC   30H            //南北方向通行時間減一
       MOV   A,30H          //把減一后的時間送入顯示存儲單元

///南北通行到達最后4秒時黃燈閃爍
DS_10: CJNE  A,#4,DS_11     //如果通行時間剩余4秒
       JNB   SNF,DS_11      //判斷是否是南北通行
       MOV   P0,#8AH        
       MOV   32H, #8AH      //把交通燈狀態(tài)存入存儲單元
DS_11: CJNE  A,#3,DS_12     //不是剩余3秒,返回
       JNB   SNF,DS_12      //不是南北通行時間,返回
       MOV   P0,#88H
       MOV   32H, #88H
DS_12: CJNE  A,#2,DS_13
       JNB   SNF,DS_13
       MOV   P0,#8AH
       MOV   32H, #8AH
DS_13: CJNE  A,#1,DS_14
       JNB   SNF,DS_14
       MOV   P0,#88H
       MOV   32H, #88H
DS_14: JNZ   DS_NE          //通行時間沒有結(jié)束轉(zhuǎn)向改變東西方向的數(shù)碼管
       CPL   SNF            //如果通行時間結(jié)束則對標(biāo)志位取反
       JNB   SNF,DS_1       //判斷是否南北通行
       MOV   30H,40H        //是,點亮相應(yīng)的交通燈
       MOV   P0,#4CH
       MOV   32H,#4CH       //存儲交通燈狀態(tài)
       MOV   P2,#15H
       MOV   33H, #15H      //存儲交通燈狀態(tài)
DS_NE: DEC   31H            //東西方向通行時間減一
       MOV   A,31H          //把通行剩余時間送入顯示存儲單元

///東西方向通行時間剩余4秒鐘黃燈閃爍

DS_20: CJNE  A,#4,DS_21   
       JB    EWF,DS_21
       MOV   P0,#51H
       MOV   32H, #51H
DS_21: CJNE  A,#3,DS_22
       JB    EWF,DS_22
       MOV   P0,#41H
       MOV   32H, #41H
DS_22: CJNE  A,#2,DS_23
       JB    EWF,DS_23
       MOV   P0,#51H
       MOV   32H, #51H
DS_23: CJNE  A,#1,DS_24
       JB    EWF,DS_24
       MOV   P0,#41H
       MOV   32H, #41H     
DS_24: JNZ   DS_R             //東西方向時間沒有結(jié)束,返回
       CPL   EWF              //對通行狀態(tài)取反
       JNB   EWF,DS_2         //東西方向通行時間到來,跳轉(zhuǎn)
       MOV   31H,#80          //東西方向通行結(jié)束,重新顯示時間
       MOV   P0,#89H          //點亮相應(yīng)的交通燈
       MOV   32H, #89H
       MOV   P2,#29H
       MOV   33H, #29H
       AJMP  DS_R     
DS_1:  MOV   30H,#80          //南北通行時間結(jié)束,重新對顯示存儲單元賦值     
       MOV   P0,#89H          //執(zhí)行轉(zhuǎn)彎狀態(tài)1
       MOV   32H, #89H
       MOV   P2,#26H
       MOV   33H, #26H
       AJMP  DS_NE            
DS_2:  MOV   31H,41H          //東西方向開始通行,賦值予顯示存儲單元
       MOV   P0,#61H          //點亮相應(yīng)的交通燈
       MOV   32H, #61H
       MOV   P2,#15H
       MOV   33H, #15H
DS_R:  SETB  TR0
       POP   PSW              //恢復(fù)現(xiàn)場
       POP   ACC
       RETI

//---------------------------------------------------------------------------

///緊急中斷處理程序
INTEX0:
URZD:  PUSH  ACC              //保護現(xiàn)場
       PUSH  PSW
       CLR   IE0              //清除中斷標(biāo)志位
       CLR   TR0              //關(guān)定時器
       CPL   URF              //緊急事件標(biāo)志位
       JB    URF,UR_CON       //緊急結(jié)束;跳轉(zhuǎn)
       MOV   P0,#49H          //各路口燈全顯示紅燈亮
       MOV   P2,#15H
       AJMP  UR_R
UR_CON:SETB TR0               //恢復(fù)正常交通
       MOV   A,32H
            RETI
           
//共陽:
TAB:  0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e
//共陰:
TAB: 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71


UR_R:

RETI



           
END
作者: mond    時間: 2019-12-21 23:59
pcbboy 發(fā)表于 2019-12-20 10:27
//可以啦
//#include "reg51.h"
//#include "intrins.h"

程序是好了但是顯示器出問題了。。。
作者: baisstg    時間: 2019-12-22 05:26
你的TAB列表哪里去了?
作者: pcbboy    時間: 2019-12-22 16:13
mond 發(fā)表于 2019-12-21 23:59
程序是好了但是顯示器出問題了。。。

“TBA: ”這里要你自己寫哦,里面的數(shù)字是我隨便寫的
作者: pcbboy    時間: 2019-12-23 09:32
mond 發(fā)表于 2019-12-21 23:59
程序是好了但是顯示器出問題了。。。

更新過一次,你看看我的帖子里有兩個TBA,里面有數(shù)碼管的共陰和共陽TBA,按照你的硬件自己選擇試一試。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1