1-1-1框架
  • 项目三作业布线布局

    项目三作业布线布局

  • 意法半导体的三端双向可控硅

    意法半导体的三端双向可控硅

  • 亿光反射式光电开关芯片ITR1204SR10A-TR

    亿光反射式光电开关芯片ITR1204SR10A-TR

  • 如何提升微波网络分析仪的测量精度?

    如何提升微波网络分析仪的测量精度?

  • 14周年庆-发金币,500名额,每人50金币。学堂课程全场半价

    14周年庆-发金币,500名额,每人50金币。学

[资料贡献] 用STC12C2051的点焊机双脉冲程序

[复制链接]
查看2639 | 回复13 | 2019-5-26 16:11:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
    OUT    BIT    P3.7    ;输出
    KEY    BIT    P3.4    ;按键
    INK    BIT    P3.2    ;外部中断1
;-------程序开始
    ORG 0000H   
    NOP
    SJMP MAIN    ;转主程序
;-------中断向量表   
    ORG 0003H    ;外部中断0
    RETI
    ORG 000BH    ;定时器0
    RETI
    ORG 0013H    ;外部中断1
    CLR    IE1
    RETI
    ORG 001BH    ;定时器1
    RETI
    ORG 0023H    ;串行口
    RETI
    ORG 002BH    ;定时器2/ADC/SPI
    RETI
    ORG 0033H    CA/LVD/外部中断2
    RETI
    ORG 003BH    ;外部中断3
    RETI
;-------中断向量表结束
    ORG 0040H
MAIN:    MOV     SP,#6FH        ;系统初始化
    MOV     IE,#0
    MOV     R0,#0
    MOV     R1,#0
    MOV     R2,#4
    MOV     R3,#5
    MOV     20H,#0
    MOV     21H,#8        ;脉冲1时长(单位10ms)
    MOV     22H,#30        ;中间停时长
    MOV     23H,#10        ;脉冲2时长
    SETB    OUT        ;清输出
    SETB    IT1        ;设置外部中断1下降沿触发
    SETB    PX1        ;设置外部中断1高优先级
    MOV    IE,#84H        ;开中断总允许,外部中断1
    SJMP    SLP        ;转停
AGIN:    MOV    C,04        ;读停状态标志
    JC    STOP1        ;停状态标志为1转STOP1
    MOV    C,00        ;读输出标志00
    JC    TOINT1        ;输出标志00为1转TOINT1
    MOV    C,KEY        ;读按键
    JC    LOOP0        ;键没按下转LOOP0
    MOV    C,01        ;键按下读按键前状态01
    JNC    KLOP1        ;按键前状态为0转处理
    MOV    C,02        ;按键前状态为1读按键处理02
    JC    SLP        ;按键处理过转停
    DJNZ    R3,SLP        ;按键没处理计数没到转停
    INC    21H        ;按键计数到脉冲输出加1
    INC    21H        ;按键计数到脉冲输出加1
    INC    23H        ;按键计数到脉冲输出加1
    INC    23H        ;按键计数到脉冲输出加1
    SETB    02        ;置按键处理02
    MOV     R3,#5        ;置按键处理计数
    SJMP    SLP        ;转停
KLOP1:    SETB    01        ;置按键前状态01
SLP:    MOV     A,21H        ;读脉冲输出长
    RR    A        ;除2
    CPL    A        ;取反
    MOV     P1,A        ;脉冲输出长P1
    MOV    PCON,#01H    ;使得芯片睡眠,由中断唤醒
    SJMP    AGIN        ;中断唤醒重来
LOOP0:    CLR    01        ;清按键前状态
    CLR    02        ;清按键处理状态
    MOV    C,INK        ;读起动按键
    JC    SLP        ;起动按键没按下转停
    SETB    00        ;置输出标志00
    SJMP    SLP        ;转停
TOINT1:    MOV    C,OUT        ;读输出
    JNC    OUTOK        ;有输出转OUTOK
    MOV    C,03        ;没输出读输出0状态
    JC    VOUT1        ;输出0状态为1转VOUT1
    CLR    OUT        ;没输出输出1
    MOV     R0,21H        ;写输出时间
    SJMP    SLP        ;转停
VOUT1:    DJNZ    R1,SLP        ;输出0状态为1计数没到转停
    CLR    OUT        ;计数到输出2
    MOV     R0,23H        ;写输出时间
    SJMP    SLP        ;转停
OUTOK:    DJNZ    R0,SLP        ;输出时间没到转停
    SETB    OUT        ;清输出
    MOV    C,03        ;读输出0状态
    JC    LOOP1        ;输出0状态为1转LOOP1
    SETB    03        ;置输出0状态
    MOV     R1,22H        ;写输出0时间
    SJMP    SLP        ;转停
LOOP1:    CLR    00        ;清去输出标志03
    CLR    03        ;清输出0状态
    SETB    04        ;置停状态
    MOV     R2,#0FFH    ;置停时间2.55秒
    SJMP    SLP        ;转停
STOP1:    DJNZ    R2,SLP        ;停时间没到转停
    CLR    04        ;清停状态
    SJMP    SLP        ;转停
    END
回复

使用道具 举报

博弈 | 2019-5-26 16:30:23 | 显示全部楼层
回复

使用道具 举报

yangxf0120 | 2019-5-26 17:42:46 | 显示全部楼层
回复

使用道具 举报

地沟油 | 2019-5-26 19:32:43 | 显示全部楼层
回复

使用道具 举报

cybi1861 | 2019-5-26 22:28:24 | 显示全部楼层
回复

使用道具 举报

marktsui | 2019-5-27 08:18:18 | 显示全部楼层
回复

使用道具 举报

ls1408 | 2019-5-27 08:51:52 | 显示全部楼层
回复

使用道具 举报

mj8abcd | 2019-5-27 11:27:11 | 显示全部楼层
回复

使用道具 举报

天涯哥 | 2019-5-28 08:48:59 | 显示全部楼层
回复

使用道具 举报

briandu | 2020-5-4 18:53:22 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则