单片机汇编程序
ORG0000H
LJMPMAIN
ORG000BH
LJMPT0ISR
ORG001BH
LJMPT1ISR
ORG4000H
MAIN:
MOVTMOD,#11H
MOVTH0,#HIGH(65536-50000)
MOVTL0,#LOW(65536-50000)
MOVTH1,#HIGH(65536-50000)
MOVTL1,#LOW(65536-50000)
SETBTR0
SETBET0
SETBTR1
SETBET1
SETBEA
MOVR2,#0
MOVR3,#0
MOVR7,#10
MOVR6,#20
SJMP$
T0ISR:
CLRTR0
MOVTH0,#HIGH(65536-50000)
MOVTL0,#LOW(65536-50000)
SETBTR0
DJNZR7,T0E
MOVR7,#10
MOVA,R2
MOVDPTR,#TABL
MOVCA,@A+DPTR
ANLA,#0FH
ORLA,P1
MOVP1,A
INCR2
CJNER2,#5,T0E
MOVR2,#0
T1ISR:
CLRTR1
MOVTH1,#HIGH(65536-50000)
MOVTL1,#LOW(65536-50000)
SETBTR1
DJNZR6,T0E
MOVR6,#10
MOVA,R3
MOVDPTR,#TABR
MOVCA,@A+DPTR
ANLA,#0F0H
ORLA,P1
MOVP1,A
INCR3
CJNER3,#5,T1E
MOVR3,#0
TABL:
DB0FEH,0FCH,0F8H,0F0H,0FFH
TABR:
DB0EFH,0CFH,08FH,0FH,0FFH
更多追问追答
大神,谢谢了
麻烦还能做一个不(;`O′)o
提问题出来就好。
单片机用汇编做个程序单片机用汇编做个程序,谢谢,有大神吗发光二极管的定时控制
①使用P1口作为信号输出口。
②四支发光二极管中,每隔2S左循环点亮,第九秒时四支全亮,第十秒时四支全灭,以后又从头开始,一直循环下去。(注:试验系统晶振频率为6MHZ)
③选用定时器1,按方式1工作。
④编写程序的首地址设为4000H。
本回答由提问者推荐
单片机 汇编程序
ORG0000H;以下汇编代码存放到ROM的0000H开始的连续单元内(主程序入口)
LJMPSTART;转主程序
ORG001BH;以下汇编代码存放到ROM的001BH开始的连续单元内(中断服务程序入口)
KKKK:INCA;A加1
CJNEA,#100,KKKK;没有加到100转KKKK
RETI;加到100中断返回
ORG0030H;主程序
START:MOVTMOD#50H;设置T1方式1计数
REPEAT:MOVTH1,#73H;
MOVTL1,#98H;设置定时初值(50ms)
MOVIE#82H;开中断,允许T1溢出中断
SETBTR1;启动T1计数
LOOP:JNBTF1,$;等待溢出中断
CLRTF1;清T1溢出中断标志位
MOVTH1,#73H
MOVTL1,#98H;设置定时初值(50ms)
SJMPLOOP;循环继续
END;汇编结束
参考资料:
本回答由提问者推荐