dmx512信号的接受汇编程序.txt

来自「描述了用汇编语言对dm512信号接受与处理的过程」· 文本 代码 · 共 49 行

TXT
49
字号
org 0000h
ajmp main      主程序
org 0003h       
ajmp wgd0          外中断0程序
org 000bh
ajmp dsh0          定时中断0程序
org 0013h
ajmp wgd1           外中断1程序
org 0023h
ajmp chd                 串行中断
org 0040h
main:mov p1,#0ffh           地址入口
     mov r7,#00h                  数据包记数
     mov p0,#0ffh                 输出口
     mov scon,#90h                   定义串行输出
     setb ea                            开总中断
     setb px0                                外中断0优先
     setb px1                                   外中断1优先
     setb ex0                         开外部0中断
     sjmp $                            等待中断
wgd0:clr ex0                      关外部中断0
     setb ex1                        开外部中断1
     mov tmod,#02h            定时器0定义2模式
     mov th0,#8bh                  初始值88U秒的
     mov tl0,#8bh                    初始值
     setb et0                     开0中断
     setb tr0                       开0中断
     reti                               中断返回
wgd1:clr et0                  关定时器0
     clr tr0                      关定时器0
     clr ex1                     关外部中断1
     setb ex0                    开外部中断0
     reti                            返回中断
dsh0:clr ex1            关外部中断1
     clr et0            关定时器0
     clr tr0                 关定时器0
     setb es           开串行中断
     reti                       返回中断
chd:clr ri                   清串行中断标志
     jnb rb8,uatr1             判断是不是数据包RB8等1吗
     inc r7                         将数据包记数加1
     mov a,r7                     
uatr0:cjne a,#02,uatr1         判断等本地的地址吗
      mov a,sbuf                    等将数据传给A
      mov p0,a                        数据传给P0口显示
     reti                             中断返回
uatr1:                                  
     reti                           中断返回
   end                            程序结束

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?