START: | MOV TMOD,#01H | ;T0为定时器状态,工作方式1 |
MOV TL0,#0CH | ;T0的低位定时初值 | |
MOV TH0,#0FEH | ;T0的高位定时初值 | |
MOV TCON,#10H | ;打开T0 | |
SETB ET0 | ;1ET0,即允许T0中断 | |
SETB EA | ;1EA,即充许全局中断 | |
AJMP $ | ;动态暂存 | |
000BH: | AJMP IST0 | ;转入T0中断服务程序入口地址IST0 |
IST0: | MOV TL0,#0CH | ;重置定时器初值 |
MOV TH0,#0FEH | ;重置定时器初值 | |
CPL P1.0 | ;P1.0取反 | |
RET1 | ;中断返回 |
ORG 2000H | ;1200位/秒的定时器初值 |
MOV TL1,#0F3H | |
MOV TH1,#0F3H | ;使SMOD=0 |
MOV PCON,#00H | ;T1方式2 |
MOV TMOD,#20H | |
SETB EA | |
CLR ET1 | ;关闭T1中断 |
SETB ES | ;开串行中断 |
SETB TR1 | ;开T1定时 |
MOV SCON,#40H | ;串行方式1 |
CLR A | |
MOV SBUF,A | ;串行发送 |
JNB T1,$ | ;等待发送完 |
CLR T1, | ;清标志 |
SJMP $ | |
ORG 0023H | ;串行中断入口地址 |
MOV SBUF,A | ;连续发送 |
JNB T1,$ | |
INC A | |
CLR T1 | |
RET1 | ;中断返回 |
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |