找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2414|回復(fù): 3
收起左側(cè)

求根據(jù)這段編程畫出proteus仿真圖

[復(fù)制鏈接]
ID:418744 發(fā)表于 2018-10-31 22:10 | 顯示全部樓層 |閱讀模式
20黑幣
  A_BIT EQU 20H  ;用于存放個(gè)位數(shù)
                B_BIT EQU 21H  ;用于存放十位數(shù)
                TEMP1 EQU 24H  ;用于存放要顯示的時(shí)間
                ORG 0000H
                AJMP MAIN
                ORG 0003H ;外部中斷0入口
                AJMP KEY1
            ORG 0013H ;外部中斷1入口
                AJMP KEY2
                ORG 0100H
    ;--------主程序--------        
MAIN:        
                MOV SP. #60    ;定義堆棧區(qū)域
                SETB EA        ;總中斷允許
                SETB EX0           ;外部中斷0允許中斷
                SETB EX1           ;外部中斷1允許中斷
                CLR IT0        ;外部中斷0電平觸發(fā)方式
                CLR IT1                   ;外部中斷1電平觸發(fā)方式
                MOV P1, #00H
                MOV P2, #00H
                SETB P2.0
                MOV TEMP1, #28
                MOV R3, #20    ;定義50ms的循環(huán)次數(shù)
                MOV TMOD, #01H ;定義定時(shí)器0為方式1
                MOV TH0, #3CH  ;置定時(shí)器初值為50ms溢出
                MOV TL0, #0B0H
            SETB TR0       ;軟件啟動(dòng)T1
    ;---狀態(tài)1:東西紅燈亮,南北綠燈亮,時(shí)間(學(xué)號(hào)后兩位加5秒)---
                SETB P1.0       ;P10紅燈亮,禁止東西通行
                CLR P1.1      ;P11黃燈滅
                CLR P1.2      ;P12綠燈滅
                CLR P2.1      ;P21紅燈滅
                CLR P2.2      ;P22黃燈滅
                SETB  P2.3      ;P23綠燈亮,允許南北通行
STLOP0:
                ACALL DISPLAY  ;調(diào)用顯示
                DEC TEMP1      ;時(shí)間夠1s顯示時(shí)間減1     
                MOV A, TEMP1
                CJNE A, #0, STLOP0 ;若顯示時(shí)間不為0,則繼續(xù)循環(huán)
                                   ;若顯示時(shí)間為0,跳到狀態(tài)2
        ;---狀態(tài)2:南北綠燈滅,黃燈亮5秒,同時(shí)發(fā)出報(bào)警聲(蜂鳴器發(fā)聲)---
                SETB P1.0       ;P10紅燈亮,禁止東西通行
                CLR P1.1      ;P11黃燈滅
                CLR P1.2      ;P12綠燈滅
                CLR P2.1      ;P21紅燈滅
                SETB P2.2       ;P22黃燈亮
                CLR P2.3      ;P23綠燈滅,允許南北通行
                MOV TEMP1, #05
STLOP1:
                CLR p2.0      ;發(fā)出報(bào)警聲(蜂鳴器發(fā)聲)
                ACALL DISPLAY  ;調(diào)用顯示
                DEC TEMP1      ;時(shí)間夠1s顯示時(shí)間減1     
                MOV A, TEMP1
                CJNE A, #0, STLOP1 ;若顯示時(shí)間不為0,則繼續(xù)循環(huán)
                SETB P2.0
        ;---狀態(tài)3:南北紅燈亮,東西綠燈亮,時(shí)間(學(xué)號(hào)后兩位加5秒)---
                CLR P1.0      ;P10紅燈滅
                CLR P1.1      ;P11黃燈滅
                SETB P1.2       ;P12綠燈亮,允許東西通行
                SETB P2.1       ;P21紅燈亮,禁止南北通行
                CLR P2.2      ;P22黃燈滅
                CLR P2.3      ;P23綠燈滅
                MOV TEMP1, #28
STLOP2:
                ACALL DISPLAY  ;調(diào)用顯示
                DEC TEMP1     ;時(shí)間夠1s顯示時(shí)間減1      
                MOV A, TEMP1
                CJNE A, #0, STLOP2 ;若顯示時(shí)間不為0,則繼續(xù)循環(huán)
        ;---狀態(tài)4:東西綠燈滅,黃燈亮5秒,同時(shí)發(fā)出報(bào)警聲(蜂鳴器發(fā)聲)---
                CLR P1.0      ;P10紅燈滅
                SETB P1.1       ;P11黃燈亮
                CLR P1.2      ;P12綠燈滅,禁止東西通行
                SETB P2.1       ;P21紅燈亮,禁止南北通行
                CLR P2.2      ;P22黃燈滅
                CLR P2.3      ;P23綠燈滅
                MOV TEMP1, #05
STLOP3:
                CLR p2.0     ;發(fā)出報(bào)警聲(蜂鳴器發(fā)聲)
                ACALL DISPLAY  ;調(diào)用顯示
                DEC TEMP1      ;時(shí)間夠1s顯示時(shí)間減1     
                MOV A, TEMP1
                CJNE A, #0, STLOP3 ;若顯示時(shí)間不為0,則繼續(xù)循環(huán)
                SETB P2.0
                LJMP MAIN
               
        ;--------顯示程序1------
DISPLAY:
                MOV A, TEMP1
                MOV B, #10
                DIV AB
                MOV A_BIT, B ;個(gè)位
                MOV B_BIT, A ;十位
                MOV DPTR, #NUMT        
LP1:        MOV A,A_BIT
        MOVC A,@A+DPTR
                MOV P0, A
                CLR P2.4
                ACALL D1MS
                SETB P2.4
                MOV A,B_BIT
        MOVC A,@A+DPTR
                MOV P0, A
                CLR P2.5
                ACALL D1MS
                SETB P2.5
                JBC TF0,LP2 ;查詢計(jì)數(shù)溢出(若溢出則延時(shí)了5ms)
                SJMP LP1
LP2:         MOV TH0, #3CH
        MOV TL0, #0B0H
                DJNZ R3, LP1
                MOV R3, #20
                RET

        ;-----按K1鍵INT0中斷服務(wù)程序-----
        ;//使東西向綠燈、南北向紅燈
KEY1:   CLR P1.0      ;P10紅燈滅
                CLR P1.1      ;P11黃燈滅
                SETB P1.2       ;P12綠燈亮,允許東西通行
                SETB P2.1       ;P21紅燈亮,禁止南北通行
                CLR P2.2      ;P22黃燈滅
                CLR P2.3      ;P23綠燈滅
                RETI;中斷返回
        ;-----按K2鍵INT1中斷服務(wù)程序-----
        ;//使南北向綠燈、東西向紅燈
KEY2:   SETB P1.0       ;P10紅燈亮,禁止東西通行
                CLR P1.1      ;P11黃燈滅
                CLR P1.2      ;P12綠燈滅
                CLR P2.1      ;P21紅燈滅
                CLR P2.2      ;P22黃燈滅
                SETB  P2.3      ;P23綠燈亮,允許南北通行
                RETI;中斷返回
        ;--------1ms延時(shí)子程序---------
D1MS:   MOV R7, #250
            DJNZ R7,$
            RET
        ;--------10ms延時(shí)子程序--------        
D10MS:  MOV R6,#20  
D1:     MOV R7,#248
        DJNZ R7,$
        DJNZ R6,D1
        RET
        ;--------字形碼表--------
NUMT:   DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
                DB 7FH,6FH
                END

回復(fù)

使用道具 舉報(bào)

ID:149144 發(fā)表于 2018-11-2 18:01 | 顯示全部樓層
大概這么個(gè)東西,看附件
但是有問(wèn)題, MOV SP, #60 不是  MOV SP. #60
還有那個(gè)學(xué)號(hào)在哪,沒(méi)整明白
20181102175717.jpg

SEG.rar

17.63 KB, 下載次數(shù): 4

回復(fù)

使用道具 舉報(bào)

ID:418744 發(fā)表于 2018-11-3 16:08 | 顯示全部樓層
謝謝啊
回復(fù)

使用道具 舉報(bào)

ID:418744 發(fā)表于 2018-11-3 16:08 | 顯示全部樓層
非常感謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表