新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機模擬交通燈

        51單片機模擬交通燈

        作者: 時間:2016-11-29 來源:網絡 收藏

        lcall del500ms
        setb p1.6 ;關南北綠燈
        clr p1.7 ;南北黃燈亮2秒
        mov 34h,#4 ;延時2秒
        loop2:lcall del500ms
        djnz 34h,loop2
        setb p1.7 ;2秒后滅南北黃燈
        clr p2.6 ;5秒后開時間顯示
        clr p2.7 ;
        mov 31h,#30 ;東西時間重賦30秒初值
        mov 32h,#30 ;南北時間重賦30秒初值
        clr p1.1 ;點亮東西綠燈
        clr p1.5 ;點亮南北紅燈
        setb p1.0 ;關東西紅燈
        clr 4fh
        sjmp out
        display:mov a,31h ;東西方向時間顯示
        mov b,#10
        div ab
        mov 20h,a
        mov 21h,b
        disp1:mov a,20h
        mov dptr,#table
        movc a,@a+dptr
        mov p0,a
        clr p2.0
        lcall del1ms
        setb p2.0
        disp2:mov a,21h
        mov dptr,#table
        movc a,@a+dptr
        mov p0,a
        clr p2.1
        lcall del1ms
        setb p2.1
        disp3:mov a,32h ;南北方向時間顯示
        mov b,#10
        div ab
        mov 22h,a
        mov 23h,b
        disp4:mov a,22h
        mov dptr,#table
        movc a,@a+dptr
        mov p3,a
        clr p2.6
        lcall del1ms
        setb p2.6
        disp5:mov a,23h
        mov dptr,#table
        movc a,@a+dptr
        mov p3,a
        clr p2.7
        lcall del1ms
        setb p2.7
        ret
        table:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;0-9數字
        del1ms:mov r7,#10 ;1ms延時子程序
        d1:mov r6,#50
        djnz r6,$
        djnz r7,d1
        ret
        del500ms:mov r5,#5 ;500ms延時子程序
        del3:mov r4,#200
        del4:mov r3,#250
        djnz r3,$
        djnz r4,del4
        djnz r5,del3
        ret
        key:jb p1.3,keyout
        jnb p1.3,$
        clr ea
        inc 36h
        mov a,36h
        cjne a,#2,key4
        mov 36h,#00
        setb p1.6 ;東西綠燈閃滅3秒
        lcall del500ms
        clr p1.6
        lcall del500ms
        setb p1.6
        lcall del500ms
        clr p1.6
        lcall del500ms
        setb p1.6
        lcall del500ms
        clr p1.6
        lcall del500ms
        setb p1.6 ;滅東西綠燈
        clr p1.7 ;東西黃燈亮2秒
        mov 33h,#4 ;延時2秒
        loop3:lcall del500ms
        djnz 33h,loop3
        setb p1.7 ;2秒后滅東西黃燈
        setb p1.0 ;關東西紅燈
        setb p1.6 ;關南北綠燈
        clr p1.1 ;開西綠燈
        clr p1.5 ;開南北紅燈
        setb ea
        sjmp keyout
        key4:clr p1.6 ;;開南北綠燈
        clr p1.0 ;開東西紅燈
        setb p1.1
        setb p1.2
        setb p1.3
        setb p1.4
        setb p1.5
        setb p1.7
        keyout:ret
        end

        本文引用地址:http://www.104case.com/article/201611/323549.htm

        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 读书| 淮北市| 聂拉木县| 保德县| 巨鹿县| 墨竹工卡县| 吴忠市| 铜山县| 肇庆市| 南投市| 林西县| 嫩江县| 金湖县| 石狮市| 阿拉善左旗| 前郭尔| 阿克| 岑巩县| 阳朔县| 望江县| 乡宁县| 容城县| 临沧市| 盐城市| 永昌县| 九江县| 莫力| 都昌县| 镇坪县| 鹤岗市| 稻城县| 台南市| 宜昌市| 盐源县| 台湾省| 明星| 凌源市| 五台县| 阳曲县| 长丰县| 句容市|