📄 定时计数器t0作定时应用.htm
字号:
<P class=style28>second=0; </P>
<P class=style28>} </P>
<P class=style28>P0=dispcode[second/10]; </P>
<P class=style28>P2=dispcode[second%10]; </P>
<P class=style28>} </P>
<P class=style28>TF0=0; </P>
<P class=style28>TH0=(65536-50000)/256; </P>
<P class=style28>TL0=(65536-50000)%256; </P>
<P class=style28>} </P>
<P class=style28>} </P>
<P class=style28>} </P>
<P class=style28><STRONG>8. 汇编源程序(中断法) </STRONG></P>
<P class=style28>SECOND EQU 30H </P>
<P class=style28>TCOUNT EQU 31H </P>
<P class=style28>ORG 00H </P>
<P class=style28>LJMP START </P>
<P class=style28>ORG 0BH </P>
<P class=style28>LJMP INT0X </P>
<P class=style28>START: MOV SECOND,#00H </P>
<P class=style28>MOV A,SECOND </P>
<P class=style28>MOV B,#10 </P>
<P class=style28>DIV AB </P>
<P class=style28>MOV DPTR,#TABLE </P>
<P class=style28>MOVC A,@A+DPTR </P>
<P class=style28>MOV P0,A </P>
<P class=style28>MOV A,B </P>
<P class=style28>MOVC A,@A+DPTR </P>
<P class=style28>MOV P2,A </P>
<P class=style28>MOV TCOUNT,#00H </P>
<P class=style28>MOV TMOD,#01H </P>
<P class=style28>MOV TH0,#(65536-50000) / 256 </P>
<P class=style28>MOV TL0,#(65536-50000) MOD 256 </P>
<P class=style28>SETB TR0 </P>
<P class=style28>SETB ET0 </P>
<P class=style28>SETB EA </P>
<P class=style28>SJMP $ </P>
<P class=style28>INT0X: </P>
<P class=style28>MOV TH0,#(65536-50000) / 256 </P>
<P class=style28>MOV TL0,#(65536-50000) MOD 256 </P>
<P class=style28>INC TCOUNT </P>
<P class=style28>MOV A,TCOUNT </P>
<P class=style28>CJNE A,#20,NEXT </P>
<P class=style28>MOV TCOUNT,#00H </P>
<P class=style28>INC SECOND </P>
<P class=style28>MOV A,SECOND </P>
<P class=style28>CJNE A,#60,NEX </P>
<P class=style28>MOV SECOND,#00H </P>
<P class=style28>NEX: MOV A,SECOND </P>
<P class=style28>MOV B,#10 </P>
<P class=style28>DIV AB </P>
<P class=style28>MOV DPTR,#TABLE </P>
<P class=style28>MOVC A,@A+DPTR </P>
<P class=style28>MOV P0,A </P>
<P class=style28>MOV A,B </P>
<P class=style28>MOVC A,@A+DPTR </P>
<P class=style28>MOV P2,A </P>
<P class=style28>NEXT: RETI </P>
<P class=style28>TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH </P>
<P class=style28>END </P>
<P class=style28><STRONG>9. C语言源程序(中断法) </STRONG></P>
<P class=style28>#include <AT89X51.H> </P>
<P class=style28>unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f, </P>
<P class=style28>0x66,0x6d,0x7d,0x07, </P>
<P class=style28>0x7f,0x6f,0x77,0x7c, </P>
<P class=style28>0x39,0x5e,0x79,0x71,0x00}; </P>
<P class=style28>unsigned char second; </P>
<P class=style28>unsigned char tcount; </P>
<P class=style28>void main(void) </P>
<P class=style28>{ </P>
<P class=style28>TMOD=0x01; </P>
<P class=style28>TH0=(65536-50000)/256; </P>
<P class=style28>TL0=(65536-50000)%256; </P>
<P class=style28>TR0=1; </P>
<P class=style28>ET0=1; </P>
<P class=style28>EA=1; </P>
<P class=style28>tcount=0; </P>
<P class=style28>second=0; </P>
<P class=style28>P0=dispcode[second/10]; </P>
<P class=style28>P2=dispcode[second%10]; </P>
<P class=style28>while(1); </P>
<P class=style28>} </P>
<P class=style28>void t0(void) interrupt 1 using 0 </P>
<P class=style28>{ </P>
<P class=style28>tcount++; </P>
<P class=style28>if(tcount==20) </P>
<P class=style28>{ </P>
<P class=style28>tcount=0; </P>
<P class=style28>second++; </P>
<P class=style28>if(second==60) </P>
<P class=style28>{ </P>
<P class=style28>second=0; </P>
<P class=style28>} </P>
<P class=style28>P0=dispcode[second/10]; </P>
<P class=style28>P2=dispcode[second%10]; </P>
<P class=style28>} </P>
<P class=style28>TH0=(65536-50000)/256; </P>
<P class=style28>TL0=(65536-50000)%256; </P>
<P class=style28>} </P>
<P class=style28> </P></TD></TR></TBODY></TABLE></SPAN></TD></TR></TBODY></TABLE><BR>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
<TBODY>
<TR>
<TD width="46%"><SPAN class=style4><a href=more.asp?name=gooker&id=5485>阅读全文(5)</a> | <a href=more.asp?name=gooker&id=5485#comment>回复(0)</a> | <a href=showtb.asp?id=5485 target=_blank>引用(0)</a></SPAN></TD>
<TD width="54%">
<DIV align=right><SPAN class=style6>gooker 发表于 2005-11-8 18:20:00</SPAN> </DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>只有登陆后才能发表留言!请<a href=default.asp target=_blank>返回登陆</a>
<BR></FONT></TD></TR>
<TR>
<TD style="BORDER-RIGHT: black 1px solid; BORDER-LEFT: black 1px solid" vAlign=top align=middle colSpan=2 height=0></TD>
<TR>
<TD style="BORDER-RIGHT: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" vAlign=top align=middle colSpan=2></TD></TR></TBODY></TABLE><BR><BR></DIV>
<SCRIPT language="javascript">
function del_space(s)
{
for(i=0;i<s.length;++i)
{
if(s.charAt(i)!=" ")
break;
}
for(j=s.length-1;j>=0;--j)
{
if(s.charAt(j)!=" ")
break;
}
return s.substring(i,++j);
}
function Verifycomment()
{
//submits();
v = del_space(document.commentform.commenttopic.value);
if (v.length == 0)
{
alert("您忘了填写题目!");
return false;
}
v = del_space(document.commentform.UserName.value);
if (v.length == 0)
{
alert("您忘了留下名字!");
return false;
}
submits();
if (document.commentform.edit.value == "")
{
alert("内容不能为空!");
return false;
}
return true;
}
</SCRIPT>
<div align=center><center><table border=0 bgcolor=#ffffff><tr><td><center><br>本工程师笔记系统由<a href=http://www.21ic.com target=_blank>21IC中国电子网提供服务器支持.<script src=http://www.99count.com/count.asp?user=21ic></a></script></center></td></tr></table></center></div>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -