关于MT8880的收发问题

[复制链接]
2410|2
 楼主| dyq117119 发表于 2007-8-1 09:51 | 显示全部楼层 |阅读模式
请用过MT8880的指点一下,我现在用单片机控制一片MT8880实现收发功能,<br />但我发现接收的时候老是没有中断产生,状态位也没置位,而EST和ST/GT都有变化的,按芯片的时序图看应该有中断产生的啊,,,,怎么回事????是控制的时序不对吗????<br />急呀!!!!各位帮帮忙哦,先谢了!!!
chunyang 发表于 2007-8-1 10:53 | 显示全部楼层

你要先确认输入信号的幅值、失真率等指标合适才行

排除信号问题,就只有编程问题了。
 楼主| dyq117119 发表于 2007-8-1 11:29 | 显示全部楼层

在问 我看了 输入信号的幅值、失真率没问题啊

帮我看看程序吧,谢谢哦!!!就接收的程序!!!!<br />D0到D3对应P1.0到P1.3&nbsp;&nbsp;&nbsp;&nbsp;cs接地&nbsp;&nbsp;&nbsp;datasheet上的典型电路<br />#include&nbsp;&ltAT892051.h&gt<br />#include&ltabsacc.h&gt&nbsp;&nbsp;//引用外部数据存储器XBYTE<br />#include&ltintrins.h&gt&nbsp;&nbsp;//_nop_()引用<br /><br />#define&nbsp;uc&nbsp;unsigned&nbsp;char<br />#define&nbsp;ui&nbsp;unsigned&nbsp;int<br />#define&nbsp;RW&nbsp;P3_4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//RW<br />#define&nbsp;RS0&nbsp;P3_5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//RS0<br />uc&nbsp;data&nbsp;i=0,r_buf[7];<br />uc&nbsp;bdata&nbsp;xbit;<br />#define&nbsp;clk&nbsp;P3_2&nbsp;&nbsp;&nbsp;琐存信号<br /><br /><br />/*&nbsp;子函数(子程序)说明&nbsp;*/<br />void&nbsp;delay200ms(void);<br />void&nbsp;initialize(void);<br />void&nbsp;rece_init(void);<br />void&nbsp;int1_8880(void);<br />void&nbsp;delay_50us(ui&nbsp;t);<br /><br />void&nbsp;main(void)<br />{&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;delay200ms();<br />&nbsp;&nbsp;&nbsp;initialize(&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;delay_50us(600);&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;rece_init(&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;delay_50us(600);<br />&nbsp;&nbsp;&nbsp;while(1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />/*&nbsp;MT8880芯片初始化子函数&nbsp;*/<br />void&nbsp;initialize(void)<br />{&nbsp;<br />&nbsp;&nbsp;clk=0;<br />&nbsp;&nbsp;P1=0x0FF;&nbsp;&nbsp;/*&nbsp;读状态寄存器&nbsp;*/<br />&nbsp;&nbsp;RS0=1;<br />&nbsp;&nbsp;RW=1;&nbsp;<br />&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;clk=1;<br />&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;xbit=P1&0x0f;<br />&nbsp;&nbsp;clk=0;<br /><br />&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;RS0=1;<br />&nbsp;&nbsp;RW=0;&nbsp;<br />&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;clk=1;<br />&nbsp;&nbsp;&nbsp;P1=0x0F0;&nbsp;&nbsp;/*&nbsp;CRA=0000&nbsp;*/<br />&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;clk=0;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clk=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;P1=0x0F0;&nbsp;&nbsp;/*&nbsp;CRA=0000&nbsp;*/<br />&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;clk=0;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clk=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;P1=0x0F8;&nbsp;&nbsp;/*&nbsp;CRA=1000&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;clk=0;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clk=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;P1=0x0F0;&nbsp;&nbsp;/*&nbsp;CRB=0000&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;clk=0;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;P1=0x0FF;&nbsp;&nbsp;/*&nbsp;读状态寄器&nbsp;*/<br />&nbsp;&nbsp;RS0=1;<br />&nbsp;&nbsp;RW=1;&nbsp;<br />&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;clk=1;<br />&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;xbit=P1&0x0f;<br />&nbsp;&nbsp;clk=0;<br /><br /><br />&nbsp;&nbsp;<br />}&nbsp;&nbsp;<br />/*&nbsp;接收初始化子函数&nbsp;*/<br />void&nbsp;rece_init(void)<br />{&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;RS0=1;<br />&nbsp;&nbsp;&nbsp;RW=0;&nbsp;<br />&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;clk=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;P1=0x0F4;&nbsp;&nbsp;/*&nbsp;CRA=0100&nbsp;*/<br />&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;clk=0;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;EX1=1;<br />&nbsp;&nbsp;&nbsp;IT1=1;<br />&nbsp;&nbsp;&nbsp;EA=1;<br />}<br /><br />void&nbsp;delay200ms(void)<br />{<br /><br />uc&nbsp;x,j,k;<br /><br />for(x=3;x&gt0;i--)<br /><br />&nbsp;&nbsp;for(j=132;j&gt0;j--)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(k=150;k&gt0;k--);<br />}<br /><br /><br /><br />void&nbsp;int1_8880(void)&nbsp;interrupt&nbsp;2<br />{<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;P1=0x0FF;&nbsp;&nbsp;/*&nbsp;读状态寄存器&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;RS0=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;RW=1;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;clk=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;xbit=P1&0x0f;<br />&nbsp;&nbsp;&nbsp;&nbsp;clk=0;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(xbit^2==1)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P1=0x0ff;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RS0=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RW=1;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clk=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r_buf[i++]=P1&0x0f;&nbsp;&nbsp;/*&nbsp;读数据寄存器&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clk=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==7)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=0;&nbsp;&nbsp;&nbsp;&nbsp;//反复的接收<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P1_7=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br /><br />void&nbsp;delay_50us(ui&nbsp;t)<br />{<br />uc&nbsp;j;&nbsp;&nbsp;<br />for(;t&gt0;t--)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;for(j=19;j&gt0;j--)&nbsp;<br />&nbsp;&nbsp;;<br />}<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

1

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