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

点灯程序

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:186
  • 最近打卡:2025-06-14 09:52:20
已绑定手机

95

主题

976

回帖

2475

积分

超级版主

积分
2475
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
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:186
  • 最近打卡:2025-06-14 09:52:20
已绑定手机

95

主题

976

回帖

2475

积分

超级版主

积分
2475
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
  • 打卡等级:以坛为家II
  • 打卡总天数:413
  • 最近打卡:2025-06-16 22:32:59

40

主题

198

回帖

739

积分

高级会员

积分
739
发表于 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





  • 打卡等级:以坛为家II
  • 打卡总天数:558
  • 最近打卡:2025-06-16 09:30:46
已绑定手机
已实名认证

46

主题

162

回帖

662

积分

高级会员

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 10:58 , Processed in 0.115866 second(s), 70 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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