大家帮看看好吗?我的8251中断怎么一点反映都没有啊

[复制链接]
 楼主| ccjchen 发表于 2007-3-3 10:52 | 显示全部楼层 |阅读模式
这是我编的第一个程序,但是都快一个月了,还是没有反应,请大家一定帮看看啊!其中硬件部分是没有问题的,因为有人用汇编实现过这个程序是用8251扩展串口与电脑通信,其中用8251的Txrdy和Rxrdy或非产生中断信号接89C52的T0端<br />#define&nbsp;_TEST_C_<br />#include&nbsp;&quot;reg52.h&quot;<br />#include&nbsp;&quot;stdlib.h&quot;<br />#include&nbsp;&quot;absacc.h&quot;<br />#include&nbsp;&quot;intrins.h&quot;<br />#include&nbsp;&quot;test.h&quot;<br /><br />#define&nbsp;uchar&nbsp;unsigned&nbsp;char<br />#define&nbsp;uint&nbsp;&nbsp;unsigned&nbsp;int<br />#define&nbsp;COM8251&nbsp;XBYTE[0x8701]<br />#define&nbsp;DAT8251&nbsp;XBYTE[0x8700]<br />uchar&nbsp;data_temp[10]={0xAA,10,22,32,0,0};<br />uchar&nbsp;&nbsp;i&nbsp;=&nbsp;0;<br />uchar&nbsp;s;<br />void&nbsp;&nbsp;initmcu(void);<br />void&nbsp;&nbsp;wait(uchar&nbsp;p,q);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />void&nbsp;Trans8251()&nbsp;&nbsp;interrupt&nbsp;1&nbsp;using&nbsp;2<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;=&nbsp;COM8251;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}while((s&0x01)==0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DAT8251&nbsp;=&nbsp;data_temp;//写<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(i==4)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br /><br />}<br />void&nbsp;main(void)&nbsp;<br />{&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;EA&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;wait(11,82);//8251工作速度慢,每送一个控制字,等待一会儿延时2ms<br />&nbsp;&nbsp;&nbsp;&nbsp;COM8251&nbsp;=&nbsp;0x00;<br />&nbsp;&nbsp;&nbsp;&nbsp;wait(11,82);<br />&nbsp;&nbsp;&nbsp;&nbsp;COM8251&nbsp;=&nbsp;0x00;<br />&nbsp;&nbsp;&nbsp;&nbsp;wait(11,82);<br />&nbsp;&nbsp;&nbsp;&nbsp;COM8251&nbsp;=&nbsp;0x00;<br />&nbsp;&nbsp;&nbsp;&nbsp;wait(11,82);<br />&nbsp;&nbsp;&nbsp;&nbsp;COM8251&nbsp;=&nbsp;0x40;//以上为8251复位部分<br />&nbsp;&nbsp;&nbsp;&nbsp;wait(11,82);<br />&nbsp;&nbsp;&nbsp;&nbsp;COM8251&nbsp;=&nbsp;0x4e;//9600baud,1停止位,无校验,8位数据,X16<br />&nbsp;&nbsp;&nbsp;&nbsp;wait(11,82);<br />&nbsp;&nbsp;&nbsp;&nbsp;COM8251&nbsp;=&nbsp;0x37;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;initmcu();<br />&nbsp;&nbsp;&nbsp;&nbsp;EA&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />}<br /><br />void&nbsp;&nbsp;wait(uchar&nbsp;p,q)<br />{<br />&nbsp;&nbsp;&nbsp;uchar&nbsp;&nbsp;i,j;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//(2*j+3)*i+4<br />&nbsp;&nbsp;&nbsp;for&nbsp;(i=p;i&gt0;i--)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(j=q;j&gt0;j--);<br />}<br /><br />void&nbsp;&nbsp;initmcu(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TMOD&nbsp;=&nbsp;0x06;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//9600波特11.0592MHz,方式2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TL0&nbsp;&nbsp;=&nbsp;0XFF;&nbsp;&nbsp;&nbsp;&nbsp;TH0&nbsp;=&nbsp;0XFF;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IT0&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;IP&nbsp;&nbsp;=&nbsp;0x02;&nbsp;TR0&nbsp;=&nbsp;1;ET0&nbsp;=&nbsp;1;<br />}<br /><br /><br />
 楼主| ccjchen 发表于 2007-3-5 15:07 | 显示全部楼层

大虾们,别不理我呀

  
 楼主| ccjchen 发表于 2007-3-7 19:05 | 显示全部楼层

我快崩溃了!

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

本版积分规则

175

主题

446

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

175

主题

446

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部