找回密码
 立即注册
查看: 776|回复: 3

点灯程序

[复制链接]
  • TA的每日心情
    开心
    昨天 08:32
  • 签到天数: 95 天

    [LV.6]常住居民II

    70

    主题

    611

    回帖

    1888

    积分

    超级版主

    积分
    1888
    QQ
    发表于 2022-11-22 16:38:01 | 显示全部楼层 |阅读模式
    本帖最后由 国学芯用 于 2022-12-6 09:18 编辑

    STC-ISP里的范例程序I/O口测试程序,可以直接下载&复制&保存&另存为keil文件
    STC的实验箱、核心板的范例程序包里也有点灯程序
    点灯程序0.png

    可以从 STC-ISP V6.91以上版本的 ISP烧录/辅助开发工具包一体化软件的

    //资料下载// 专栏 中下载 开源的 C语言代码, 开源的原理图   

    新网站www.STCAI.COM


    热线19952583534
    www.STCAI.com
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:32
  • 签到天数: 95 天

    [LV.6]常住居民II

    70

    主题

    611

    回帖

    1888

    积分

    超级版主

    积分
    1888
    QQ
     楼主| 发表于 2022-11-23 09:23:03 | 显示全部楼层
    本帖最后由 国学芯用 于 2022-12-6 09:18 编辑


    #include "reg51.h"

    sfr P0M1 = 0x93;
    sfr P0M0 = 0x94;
    sfr P1M1 = 0x91;
    sfr P1M0 = 0x92;
    sfr P2M1 = 0x95;
    sfr P2M0 = 0x96;
    sfr P3M1 = 0xb1;
    sfr P3M0 = 0xb2;
    sfr P4M1 = 0xb3;
    sfr P4M0 = 0xb4;
    sfr P5M1 = 0xC9;
    sfr P5M0 = 0xCA;
    sfr P6M1 = 0xCB;
    sfr P6M0 = 0xCC;
    sfr P7M1 = 0xE1;
    sfr P7M0 = 0xE2;

    sbit P00 = P0^0;
    sbit P01 = P0^1;
    sbit P02 = P0^2;
    sbit P03 = P0^3;
    sbit P04 = P0^4;
    sbit P05 = P0^5;
    sbit P06 = P0^6;
    sbit P07 = P0^7;
    sbit P10 = P1^0;
    sbit P11 = P1^1;
    sbit P12 = P1^2;
    sbit P13 = P1^3;
    sbit P14 = P1^4;
    sbit P15 = P1^5;
    sbit P16 = P1^6;
    sbit P17 = P1^7;
    sbit P20 = P2^0;
    sbit P21 = P2^1;
    sbit P22 = P2^2;
    sbit P23 = P2^3;
    sbit P24 = P2^4;
    sbit P25 = P2^5;
    sbit P26 = P2^6;
    sbit P27 = P2^7;
    sbit P30 = P3^0;
    sbit P31 = P3^1;
    sbit P32 = P3^2;
    sbit P33 = P3^3;
    sbit P34 = P3^4;
    sbit P35 = P3^5;
    sbit P36 = P3^6;
    sbit P37 = P3^7;

    sfr P4   = 0xC0;
    sbit P40 = P4^0;
    sbit P41 = P4^1;
    sbit P42 = P4^2;
    sbit P43 = P4^3;
    sbit P44 = P4^4;
    sbit P45 = P4^5;
    sbit P46 = P4^6;
    sbit P47 = P4^7;

    sfr P5   = 0xC8;
    sbit P50 = P5^0;
    sbit P51 = P5^1;
    sbit P52 = P5^2;
    sbit P53 = P5^3;
    sbit P54 = P5^4;
    sbit P55 = P5^5;
    sbit P56 = P5^6;
    sbit P57 = P5^7;

    sfr P6   = 0xE8;
    sbit P60 = P6^0;
    sbit P61 = P6^1;
    sbit P62 = P6^2;
    sbit P63 = P6^3;
    sbit P64 = P6^4;
    sbit P65 = P6^5;
    sbit P66 = P6^6;
    sbit P67 = P6^7;

    sfr P7   = 0xF8;
    sbit P70 = P7^0;
    sbit P71 = P7^1;
    sbit P72 = P7^2;
    sbit P73 = P7^3;
    sbit P74 = P7^4;
    sbit P75 = P7^5;
    sbit P76 = P7^6;
    sbit P77 = P7^7;

    void delay()
    {
        int i, j;

        for (i=0; i<1000; i++)
        for (j=0; j<500; j++);
    }


    void main()
    {
        P0M0 = 0x00;
        P0M1 = 0x00;
        P1M0 = 0x00;
        P1M1 = 0x00;
        P2M0 = 0x00;
        P2M1 = 0x00;
        P3M0 = 0x00;
        P3M1 = 0x00;
        P4M0 = 0x00;
        P4M1 = 0x00;
        P5M0 = 0x00;
        P5M1 = 0x00;
        P6M0 = 0x00;
        P6M1 = 0x00;
        P7M0 = 0x00;
        P7M1 = 0x00;

        P10 = 0;
        delay();
        P10 = 1;
        P11 = 0;
        delay();
        P11 = 1;
        P12 = 0;
        delay();
        P12 = 1;
        P13 = 0;
        delay();
        P13 = 1;
        P14 = 0;
        delay();
        P14 = 1;
        P15 = 0;
        delay();
        P15 = 1;
        P16 = 0;
        delay();
        P16 = 1;
        P17 = 0;
        delay();
        P17 = 1;

    //    P30 = 0;          //P3.0/P3.1为仿真口和USB下载口时不可演示
    //    delay();
    //    P30 = 1;
    //    P31 = 0;
    //    delay();
    //    P31 = 1;
        P32 = 0;
        delay();
        P32 = 1;
        P33 = 0;
        delay();
        P33 = 1;
        P34 = 0;
        delay();
        P34 = 1;
        P35 = 0;
        delay();
        P35 = 1;
        P36 = 0;
        delay();
        P36 = 1;
        P37 = 0;
        delay();
        P37 = 1;

        P20 = 0;
        delay();
        P20 = 1;
        P21 = 0;
        delay();
        P21 = 1;
        P22 = 0;
        delay();
        P22 = 1;
        P23 = 0;
        delay();
        P23 = 1;
        P24 = 0;
        delay();
        P24 = 1;
        P25 = 0;
        delay();
        P25 = 1;
        P26 = 0;
        delay();
        P26 = 1;
        P27 = 0;
        delay();
        P27 = 1;

        P00 = 0;
        delay();
        P00 = 1;
        P01 = 0;
        delay();
        P01 = 1;
        P02 = 0;
        delay();
        P02 = 1;
        P03 = 0;
        delay();
        P03 = 1;
        P04 = 0;
        delay();
        P04 = 1;
        P05 = 0;
        delay();
        P05 = 1;
        P06 = 0;
        delay();
        P06 = 1;
        P07 = 0;
        delay();
        P07 = 1;

        P40 = 0;
        delay();
        P40 = 1;
        P41 = 0;
        delay();
        P41 = 1;
        P42 = 0;
        delay();
        P42 = 1;
        P43 = 0;
        delay();
        P43 = 1;
        P44 = 0;
        delay();
        P44 = 1;
        P45 = 0;
        delay();
        P45 = 1;
        P46 = 0;
        delay();
        P46 = 1;
        P47 = 0;
        delay();
        P47 = 1;

        P50 = 0;
        delay();
        P50 = 1;
        P51 = 0;
        delay();
        P51 = 1;
        P52 = 0;
        delay();
        P52 = 1;
        P53 = 0;
        delay();
        P53 = 1;
        P54 = 0;
        delay();
        P54 = 1;
        P55 = 0;
        delay();
        P55 = 1;
        P56 = 0;
        delay();
        P56 = 1;
        P57 = 0;
        delay();
        P57 = 1;

        P60 = 0;
        delay();
        P60 = 1;
        P61 = 0;
        delay();
        P61 = 1;
        P62 = 0;
        delay();
        P62 = 1;
        P63 = 0;
        delay();
        P63 = 1;
        P64 = 0;
        delay();
        P64 = 1;
        P65 = 0;
        delay();
        P65 = 1;
        P66 = 0;
        delay();
        P66 = 1;
        P67 = 0;
        delay();
        P67 = 1;

        P70 = 0;
        delay();
        P70 = 1;
        P71 = 0;
        delay();
        P71 = 1;
        P72 = 0;
        delay();
        P72 = 1;
        P73 = 0;
        delay();
        P73 = 1;
        P74 = 0;
        delay();
        P74 = 1;
        P75 = 0;
        delay();
        P75 = 1;
        P76 = 0;
        delay();
        P76 = 1;
        P77 = 0;
        delay();
        P77 = 1;

        while (1)
        {
            P0 = 0x00;
            delay();
            P0 = 0xff;

            P1 = 0x00;
            delay();
            P1 = 0xff;

            P3 = 0x03;          //P3.0/P3.1为仿真口和USB下载口时不可演示
            delay();
            P3 = 0xff;

            P2 = 0x00;
            delay();
            P2 = 0xff;

            P4 = 0x00;
            delay();
            P4 = 0xff;

            P5 = 0x00;
            delay();
            P5 = 0xff;

            P6 = 0x00;
            delay();
            P6 = 0xff;

            P7 = 0x00;
            delay();
            P7 = 0xff;
        }
    }

    热线19952583534
    www.STCAI.com
  • TA的每日心情
    奋斗
    昨天 17:31
  • 签到天数: 122 天

    [LV.7]常住居民III

    34

    主题

    164

    回帖

    284

    积分

    中级会员

    积分
    284
    发表于 2022-12-10 09:14:35 | 显示全部楼层
    ;根据STC官网ISP程序内的范例程序《I/O端口测试》C语言版本翻译而来。
    ;伟福编译器环境调试通过

    P0M0        DATA    094H      ;
    P0M1        DATA    093H
    P1M0        DATA    092H
    P1M1        DATA    091H
    P2M0        DATA    096H
    P2M1        DATA    095H
    P3M0        DATA    0B2H
    P3M1        DATA    0B1H
    P4M0        DATA    0B4H
    P4M1        DATA    0B3H
    P5M0        DATA    0CAH
    P5M1        DATA    0C9H
    P6M0        DATA    0CCH
    P6M1        DATA    0CBH
    P7M0        DATA    0E2H
    P7M1        DATA    0E1H

    P0 DATA 0x80;                  ;
    P00 BIT P0.0;
    P01 BIT P0.1;
    P02 BIT P0.2;
    P03 BIT P0.3;
    P04 BIT P0.4;
    P05 BIT P0.5;
    P06 BIT P0.6;
    P07 BIT P0.7;

    P1 DATA 0x90;                  ;
    P10 BIT P1.0;
    P11 BIT P1.1;
    P12 BIT P1.2;
    P13 BIT P1.3;
    P14 BIT P1.4;
    P15 BIT P1.5;
    P16 BIT P1.6;
    P17 BIT P1.7;

    P2 DATA 0xA0;                   ;
    P20 BIT P2.0;
    P21 BIT P2.1;
    P22 BIT P2.2;
    P23 BIT P2.3;
    P24 BIT P2.4;
    P25 BIT P2.5;
    P26 BIT P2.6;
    P27 BIT P2.7;

    P3  DATA 0xB0;                   ;
    P30 BIT P3.0;
    P31 BIT P3.1;
    P32 BIT P3.2;
    P33 BIT P3.3;
    P34 BIT P3.4;
    P35 BIT P3.5;
    P36 BIT P3.6;
    P37 BIT P3.7;

    P4  DATA 0xC0;                  ;
    P40 BIT P4.0;
    P41 BIT P4.1;
    P42 BIT P4.2;
    P43 BIT P4.3;
    P44 BIT P4.4;
    P45 BIT P4.5;
    P46 BIT P4.6;
    P47 BIT P4.7;

    P5  DATA 0xC8;                 ;
    P50 BIT P5.0;
    P51 BIT P5.1;
    P52 BIT P5.2;
    P53 BIT P5.3;
    P54 BIT P5.4;
    P55 BIT P5.5;
    P56 BIT P5.6;
    P57 BIT P5.7;

    P6  DATA 0xE8;                 ;
    P60 BIT P6.0;
    P61 BIT P6.1;
    P62 BIT P6.2;
    P63 BIT P6.3;
    P64 BIT P6.4;
    P65 BIT P6.5;
    P66 BIT P6.6;
    P67 BIT P6.7;

    P7  DATA 0xF8;                ;
    P70 BIT P7.0;
    P71 BIT P7.1;
    P72 BIT P7.2;
    P73 BIT P7.3;
    P74 BIT P7.4;
    P75 BIT P7.5;
    P76 BIT P7.6;
    P77 BIT P7.7;


    ;------
                ORG     0000H
                LJMP    MAIN

                ORG     0100H
    MAIN:
                MOV     SP, #5FH

                MOV     P0M0,#00H                  ;设置P0.0~P0.7为双向口模式
                MOV     P0M1,#00H
                MOV     P1M0,#00H                  ;设置P1.0~P1.7为双向口模式
                MOV     P1M1,#00H
                MOV     P2M0,#00H                  ;设置P2.0~P2.7为双向口模式
                MOV     P2M1,#00H
                MOV     P3M0,#00H                  ;设置P3.0~P3.7为双向口模式
                MOV     P3M1,#00H
                MOV     P4M0,#00H                  ;设置P4.0~P4.7为双向口模式
                MOV     P4M1,#00H
                MOV     P5M0,#00H                  ;设置P5.0~P5.7为双向口模式
                MOV     P5M1,#00H
                MOV     P6M0,#00H                  ;设置P6.0~P6.7为双向口模式
                MOV     P6M1,#00H
                MOV     P7M0,#00H                  ;设置P7.0~P7.7为双向口模式
                MOV     P7M1,#00H




                CPL  P00
                CALL DELAY500MS
                SETB P00
                CPL  P01
                CALL DELAY500MS
                SETB P01
                CPL  P02
                CALL DELAY500MS
                SETB P02
                CPL  P03
                CALL DELAY500MS
                SETB P03
                CPL  P04
                CALL DELAY500MS
                SETB P04
                CPL  P05
                CALL DELAY500MS
                SETB P05
                CPL  P06
                CALL DELAY500MS
                SETB P06
                CPL  P07
                CALL DELAY500MS
                SETB P07


                CPL  P10
                CALL DELAY500MS
                SETB P10
                CPL  P11
                CALL DELAY500MS
                SETB P11
                CPL  P12
                CALL DELAY500MS
                SETB P12
                CPL  P13
                CALL DELAY500MS
                SETB P13
                CPL  P14
                CALL DELAY500MS
                SETB P14
                CPL  P15
                CALL DELAY500MS
                SETB P15
                CPL  P16
                CALL DELAY500MS
                SETB P16
                CPL  P17
                CALL DELAY500MS
                SETB P17


                CPL  P20
                CALL DELAY500MS
                SETB P20
                CPL  P21
                CALL DELAY500MS
                SETB P21
                CPL  P22
                CALL DELAY500MS
                SETB P22
                CPL  P23
                CALL DELAY500MS
                SETB P23
                CPL  P24
                CALL DELAY500MS
                SETB P24
                CPL  P25
                CALL DELAY500MS
                SETB P25
                CPL  P26
                CALL DELAY500MS
                SETB P26
                CPL  P27
                CALL DELAY500MS
                SETB P27

    ;            CPL  P30                  ;P3.0/P3.1为仿真口和USB下载口时不可演示
    ;            CALL DELAY500MS
    ;            SETB P30
    ;            CPL  P31
    ;            CALL DELAY500MS
    ;            SETB P31
                CPL  P32
                CALL DELAY500MS
                SETB P32
                CPL  P33
                CALL DELAY500MS
                SETB P33
                CPL  P34
                CALL DELAY500MS
                SETB P34
                CPL  P35
                CALL DELAY500MS
                SETB P35
                CPL  P36
                CALL DELAY500MS
                SETB P36
                CPL  P37
                CALL DELAY500MS
                SETB P37

                CPL  P40
                CALL DELAY500MS
                SETB P40
                CPL  P41
                CALL DELAY500MS
                SETB P41
                CPL  P42
                CALL DELAY500MS
                SETB P42
                CPL  P43
                CALL DELAY500MS
                SETB P43
                CPL  P44
                CALL DELAY500MS
                SETB P44
                CPL  P45
                CALL DELAY500MS
                SETB P45
                CPL  P46
                CALL DELAY500MS
                SETB P46
                CPL  P47
                CALL DELAY500MS
                SETB P47

                CPL  P50
                CALL DELAY500MS
                SETB P50
                CPL  P51
                CALL DELAY500MS
                SETB P51
                CPL  P52
                CALL DELAY500MS
                SETB P52
                CPL  P53
                CALL DELAY500MS
                SETB P53
                CPL  P54
                CALL DELAY500MS
                SETB P54
                CPL  P55
                CALL DELAY500MS
                SETB P55
                CPL  P56
                CALL DELAY500MS
                SETB P56
                CPL  P57
                CALL DELAY500MS
                SETB P57

                CPL  P60
                CALL DELAY500MS
                SETB P60
                CPL  P61
                CALL DELAY500MS
                SETB P61
                CPL  P62
                CALL DELAY500MS
                SETB P62
                CPL  P63
                CALL DELAY500MS
                SETB P63
                CPL  P64
                CALL DELAY500MS
                SETB P64
                CPL  P65
                CALL DELAY500MS
                SETB P65
                CPL  P66
                CALL DELAY500MS
                SETB P66
                CPL  P67
                CALL DELAY500MS
                SETB P67
                
                CPL  P70
                CALL DELAY500MS
                SETB P70
                CPL  P71
                CALL DELAY500MS
                SETB P71
                CPL  P72
                CALL DELAY500MS
                SETB P72
                CPL  P73
                CALL DELAY500MS
                SETB P73
                CPL  P74
                CALL DELAY500MS
                SETB P74
                CPL  P75
                CALL DELAY500MS
                SETB P75
                CPL  P76
                CALL DELAY500MS
                SETB P76
                CPL  P77
                CALL DELAY500MS
                SETB P77
                
                MOV P0,#00H
                CALL DELAY500MS
                MOV P0,#0FFH
                MOV P1,#00H
                CALL DELAY500MS
                MOV P1,#0FFH
                MOV P2,#00H
                CALL DELAY500MS
                MOV P2,#0FFH
    ;            MOV P3,#00H          ;P3.0/P3.1为仿真口和USB下载口时不可演示
    ;            CALL DELAY500MS
    ;            MOV P3,#0FFH
                MOV P4,#00H
                CALL DELAY500MS
                MOV P4,#0FFH
                MOV P5,#00H
                CALL DELAY500MS
                MOV P5,#0FFH
                MOV P6,#00H
                CALL DELAY500MS
                MOV P6,#0FFH
                MOV P7,#00H
                CALL DELAY500MS
                MOV P7,#0FFH
                
                
                JMP     MAIN

    DELAY500MS:                        ;@11.0592MHz
            PUSH 30H
            PUSH 31H
            PUSH 32H
            MOV 30H,#4
            MOV 31H,#129
            MOV 32H,#112
    NEXT:
            DJNZ 32H,NEXT
            DJNZ 31H,NEXT
            DJNZ 30H,NEXT
            POP 32H
            POP 31H
            POP 30H
            RET



                END





  • TA的每日心情
    开心
    21 小时前
  • 签到天数: 174 天

    [LV.7]常住居民III

    24

    主题

    130

    回帖

    483

    积分

    中级会员

    积分
    483
    发表于 2023-11-19 16:08:40 | 显示全部楼层
    看起来不错,试试……
    MCU开发者和爱好者
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-18 21:06 , Processed in 0.061085 second(s), 43 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表