[ZLG-MCU] 901不工作请帮忙看看

[复制链接]
1808|3
 楼主| xiaoxin1986 发表于 2009-4-18 00:45 | 显示全部楼层 |阅读模式
用superpro编程器,不知道是什么原因,所有脚位都是低电平。程序如下,麻烦帮忙看看。附件是keil的project,是不是配置字设置错误了?<br />#include&nbsp;&ltreg932.h&gt<br />sbit&nbsp;pin_LED1&nbsp;=&nbsp;P0^4;<br />sbit&nbsp;pin_LED2&nbsp;=&nbsp;P0^5;<br />void&nbsp;main()<br /><br />{<br /><br />P0M1&nbsp;|=&nbsp;0x30;<br /><br />P0M2&nbsp;|=&nbsp;0x30;<br /><br />pin_LED1&nbsp;=&nbsp;1;<br /><br />pin_LED2&nbsp;=&nbsp;0;<br /><br />while&nbsp;(1);<br /><br />}
kenand 发表于 2009-4-18 10:08 | 显示全部楼层

re

&nbsp;http://www.zlgmcu.com/download/downs.asp?ID=1476
linhai1986 发表于 2009-4-18 14:28 | 显示全部楼层

最简的测试程序

#include&nbsp;&quot;reg935.h&quot;<br />#include&nbsp;&ltintrins.h&gt&nbsp;//包括有下面可用函数_nop_,_cror_,_iror_,_lror_,_crol_,_chkfloat_等<br />#include&nbsp;&ltabsacc.h&gt&nbsp;&nbsp;//包括有下面可用函数CBYTE,DBYTE,XBYTE等<br />#define&nbsp;uchar&nbsp;unsigned&nbsp;char<br />#define&nbsp;uint&nbsp;unsigned&nbsp;int&nbsp;&nbsp;<br /><br />void&nbsp;Delay1ms(unsigned&nbsp;int&nbsp;t);&nbsp;<br />void&nbsp;sendbyte(unsigned&nbsp;char&nbsp;value);<br /><br />void&nbsp;main&nbsp;(void)<br />{<br />unsigned&nbsp;char&nbsp;x&nbsp;=&nbsp;0;<br /><br />//DIVM&nbsp;=&nbsp;3&nbsp;;&nbsp;&nbsp;&nbsp;//进行6分频和IO配置成双向口方式,即变成标准单片机了<br /><br />P0M1&nbsp;=&nbsp;0x00;<br />P0M2&nbsp;=&nbsp;0x00;<br /><br />P1M1&nbsp;=&nbsp;0x00;<br />P1M2&nbsp;=&nbsp;0x00;<br /><br />P2M1&nbsp;=&nbsp;0x00;<br />P2M2&nbsp;=&nbsp;0x00;<br /><br />P3M1&nbsp;=&nbsp;0x00;<br />P3M2&nbsp;=&nbsp;0x00;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;while&nbsp;(1)<br />&nbsp;&nbsp;{<br />&nbsp;//&nbsp;for&nbsp;(x=0;&nbsp;x&lt15;&nbsp;x++)<br />&nbsp;//&nbsp;{<br />&nbsp;//&nbsp;}<br />&nbsp;&nbsp;}<br />}<br />&nbsp;&nbsp;<br />/********************************************************************<br />**&nbsp;函数名称:Delay1ms<br />**&nbsp;函数功能:LPC900用内部RC,占用TO延时<br />**&nbsp;入口参数:要延时的时间<br />**&nbsp;出口参数:无<br />**********************************************************************/<br />/*<br />void&nbsp;Delay1ms(unsigned&nbsp;int&nbsp;t)&nbsp;&nbsp;<br />{&nbsp;<br />&nbsp;unsigned&nbsp;char&nbsp;tempTMOD;<br />&nbsp;tempTMOD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=TMOD;<br />&nbsp;TMOD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=0xF0;<br />&nbsp;TMOD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|=0x01;<br />&nbsp;do<br />&nbsp;{<br />&nbsp;&nbsp;TH0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=0xF1;<br />&nbsp;&nbsp;TL0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=0x60;<br />&nbsp;&nbsp;TR0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=1;<br />&nbsp;&nbsp;while(TF0&nbsp;==&nbsp;0);<br />&nbsp;&nbsp;TF0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=0;<br />&nbsp;&nbsp;TR0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=0;<br />&nbsp;}while(--t);<br />&nbsp;TMOD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=tempTMOD;<br />}<br />*/&nbsp;&nbsp;<br /><br />&nbsp;<br /><br />/********************************************************************<br />**&nbsp;函数名称:UartIntIni<br />**&nbsp;函数功能:UART初始化,打开串行中断,串口要随时处于中断的状态<br />&nbsp;&nbsp;&nbsp;&nbsp;用内部晶振,9600,用T1作为波持率发生器<br />&nbsp;&nbsp;&nbsp;&nbsp;硬件上要接上TXD,RXD引脚<br />**&nbsp;入口参数:无<br />**&nbsp;出口参数:无<br />**********************************************************************/&nbsp;<br />/*<br />static&nbsp;unsigned&nbsp;char&nbsp;&nbsp;UartGetChar=0;<br />static&nbsp;bit&nbsp;UartIntFlag=0;&nbsp;<br />void&nbsp;UartIntIni&nbsp;(void)<br />{<br />&nbsp;TMOD&=&nbsp;0x0F;<br />&nbsp;TMOD|=&nbsp;0X20;<br />&nbsp;TH1&nbsp;&nbsp;=&nbsp;0xF4;&nbsp;<br />&nbsp;TL1&nbsp;&nbsp;=&nbsp;0XF4;<br />&nbsp;&nbsp;&nbsp;&nbsp;TR1&nbsp;&nbsp;=&nbsp;1;<br />&nbsp;SCON&nbsp;=&nbsp;0X50;&nbsp;<br />&nbsp;ES&nbsp;&nbsp;&nbsp;=&nbsp;1;<br />&nbsp;EA&nbsp;&nbsp;&nbsp;=&nbsp;1;<br />}<br />void&nbsp;UartInt&nbsp;(void)&nbsp;interrupt&nbsp;4<br />{<br />&nbsp;EA&nbsp;=&nbsp;0;<br />&nbsp;if&nbsp;(RI&nbsp;==&nbsp;1)<br />&nbsp;{<br />&nbsp;&nbsp;UartGetChar&nbsp;=&nbsp;SBUF;<br />&nbsp;&nbsp;RI&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;UartIntFlag&nbsp;=&nbsp;1;<br />&nbsp;}<br />&nbsp;P00&nbsp;&nbsp;=&nbsp;&nbsp;~P00;&nbsp;<br />&nbsp;EA&nbsp;=&nbsp;1;<br />}<br />*/<br /><br /><br />/********************************************************************<br />**&nbsp;函数名称:SendAndGetByte<br />**&nbsp;函数功能:查询法来实现向串**换数据<br />&nbsp;&nbsp;&nbsp;&nbsp;调用这个函数,先向PC送参数value,然后等待PC送数,之后把数据回送到PC表示应答,最后收到的数据作为返回值。<br />&nbsp;&nbsp;&nbsp;&nbsp;即如果用串口助手查看当处于等待的时候,光标前的一个数是函数的参数,当点击发送数据的按键后,则再出现一个数,<br />&nbsp;&nbsp;&nbsp;&nbsp;这个数一方面表明你刚才发送的数,另一方面,作为函数的返回值加以利用。<br />&nbsp;&nbsp;----&nbsp;用内部晶振,9600,用T1作为波持率发生器----&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;硬件上要接上TXD,RXD引脚。<br />**********************************************************************/&nbsp;<br />/*用专用的波特率发生器,使用内部7.3768MHz晶振,9600波特率*/<br />/*<br />#define&nbsp;&nbsp;BRGR1_DAT&nbsp;0x02<br />#define&nbsp;&nbsp;BRGR0_DAT&nbsp;0xF0&nbsp;&nbsp;<br />void&nbsp;sendbyte(unsigned&nbsp;char&nbsp;value)<br />{&nbsp;&nbsp;&nbsp;P1M1&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置P1口为准双向口<br />&nbsp;P1M2&nbsp;=&nbsp;0x00;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;SCON&nbsp;=&nbsp;0x50;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置串口工作模式<br />&nbsp;BRGCON&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;//&nbsp;关波特率发生器<br />&nbsp;BRGR1&nbsp;=&nbsp;BRGR1_DAT;&nbsp;&nbsp;&nbsp;//&nbsp;设置波特率值<br />&nbsp;BRGR0&nbsp;=&nbsp;BRGR0_DAT;&nbsp;&nbsp;<br />&nbsp;BRGCON&nbsp;=&nbsp;0x03;&nbsp;&nbsp;&nbsp;//&nbsp;起动波特率发生器<br />&nbsp;<br />&nbsp;SBUF&nbsp;&nbsp;=&nbsp;value;<br />&nbsp;while&nbsp;(TI&nbsp;==&nbsp;0);<br />&nbsp;TI&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;0;&nbsp;&nbsp;&nbsp;<br />}&nbsp;*/<br /><br /><br />/*用T1作为波特率发生器,使用内部7.3768MHz晶振,9600波特率*/<br />/*<br />void&nbsp;sendbyte(unsigned&nbsp;char&nbsp;value)<br />{<br />&nbsp;TMOD&nbsp;=&nbsp;0X20;<br />&nbsp;TH1&nbsp;&nbsp;=&nbsp;0xF4;&nbsp;<br />&nbsp;TL1&nbsp;&nbsp;=&nbsp;0XF4;<br />&nbsp;&nbsp;&nbsp;&nbsp;TR1&nbsp;&nbsp;=&nbsp;1;<br />&nbsp;SCON&nbsp;=0X50;&nbsp;<br /><br />&nbsp;SBUF&nbsp;&nbsp;=&nbsp;value;<br />&nbsp;while&nbsp;(TI&nbsp;==&nbsp;0);<br />&nbsp;TI&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;<br />*/&nbsp;&nbsp;&nbsp;<br />/*<br />unsigned&nbsp;char&nbsp;SendAndGetByte(unsigned&nbsp;char&nbsp;value)&nbsp;<br />{<br />&nbsp;bit&nbsp;tempTR1;<br />&nbsp;unsigned&nbsp;char&nbsp;tempTMOD,tempTH1,tempTL1,tempSCON,GetByte;<br /><br />&nbsp;tempTR1&nbsp;&nbsp;=&nbsp;TR1;<br />&nbsp;tempTMOD&nbsp;=&nbsp;TMOD;&nbsp;<br />&nbsp;tempTH1&nbsp;&nbsp;=&nbsp;TH1;<br />&nbsp;tempTL1&nbsp;&nbsp;=&nbsp;TL1;<br />&nbsp;tempSCON&nbsp;=&nbsp;SCON;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;TMOD&nbsp;=&nbsp;0X20;<br />&nbsp;TH1&nbsp;&nbsp;=&nbsp;0xF4;&nbsp;<br />&nbsp;TL1&nbsp;&nbsp;=&nbsp;0XF4;<br />&nbsp;&nbsp;&nbsp;&nbsp;TR1&nbsp;&nbsp;=&nbsp;1;<br />&nbsp;SCON&nbsp;=0X50;&nbsp;<br /><br />&nbsp;SBUF&nbsp;&nbsp;=&nbsp;value;<br />&nbsp;while&nbsp;(TI&nbsp;==&nbsp;0);<br />&nbsp;TI&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;0;<br />&nbsp;while&nbsp;(RI&nbsp;==&nbsp;0);<br />&nbsp;RI&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0;<br />&nbsp;GetByte&nbsp;&nbsp;=&nbsp;SBUF;<br />&nbsp;SBUF&nbsp;&nbsp;=&nbsp;GetByte;<br />&nbsp;while&nbsp;(TI&nbsp;==&nbsp;0);<br />&nbsp;TI&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;0;&nbsp;&nbsp;<br /><br />&nbsp;TR1&nbsp;=&nbsp;0;<br /><br />&nbsp;TR1&nbsp;&nbsp;=&nbsp;tempTR1;<br />&nbsp;TMOD&nbsp;=&nbsp;tempTMOD;<br />&nbsp;TH1&nbsp;&nbsp;=&nbsp;tempTH1;<br />&nbsp;TL1&nbsp;&nbsp;=&nbsp;tempTL1;<br />&nbsp;SCON&nbsp;=&nbsp;tempSCON;&nbsp;&nbsp;<br />&nbsp;TR1&nbsp;=&nbsp;tempTR1;&nbsp;<br /><br />&nbsp;return&nbsp;GetByte;<br />}&nbsp;<br />*/<br /><br />/*<br />提供一些常用的语句<br />LED3A_B(LED_yellow);<br />Delay1ms(500);<br />LED3A_B(LED_off);<br />Delay1ms(500);&nbsp;<br /><br />bit&nbsp;myflag&nbsp;=&nbsp;0;<br />if(&nbsp;myflag&nbsp;==&nbsp;0)<br />{<br />LED3A_B(LED_yellow);&nbsp;<br />}<br />else<br />{<br />LED3A_B(LED_off);&nbsp;<br />}<br />myflag&nbsp;=&nbsp;~myflag;<br />*/<br />/*<br />//value&nbsp;为0灭,为1点红灯,为2点绿灯,为3点橙灯。<br />//双色二极管,P0.6,P0.7,推挽,01,高电平亮,要接上LED3A和LED3B&nbsp;<br />void&nbsp;LED3A_B&nbsp;(unsigned&nbsp;char&nbsp;value)&nbsp;&nbsp;<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;#define&nbsp;LED_off&nbsp;&nbsp;&nbsp;&nbsp;0<br />&nbsp;#define&nbsp;LED_red&nbsp;&nbsp;&nbsp;&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;#define&nbsp;LED_green&nbsp;&nbsp;2<br />&nbsp;&nbsp;&nbsp;&nbsp;#define&nbsp;LED_yellow&nbsp;3&nbsp;&nbsp;<br /><br />&nbsp;P0M1&nbsp;&=0x3f;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//双推挽方式去点亮双色二极管&nbsp;&nbsp;<br />&nbsp;P0M2&nbsp;|=0xC0;&nbsp;<br />&nbsp;switch&nbsp;(value)<br />&nbsp;{<br />&nbsp;&nbsp;case&nbsp;0:&nbsp;&nbsp;&nbsp;&nbsp;P0&nbsp;&nbsp;&=&nbsp;0x3F;&nbsp;break;&nbsp;<br />&nbsp;&nbsp;case&nbsp;1:&nbsp;&nbsp;P0&nbsp;&nbsp;&=&nbsp;0x3F;&nbsp;P0&nbsp;&nbsp;|=&nbsp;0x40;&nbsp;break;&nbsp;&nbsp;<br />&nbsp;&nbsp;case&nbsp;2:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P0&nbsp;&nbsp;&=&nbsp;0x3F;&nbsp;P0&nbsp;&nbsp;|=&nbsp;0x80;&nbsp;break;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P0&nbsp;&nbsp;|=&nbsp;0xC0;&nbsp;break;&nbsp;<br />&nbsp;&nbsp;default:&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;<br />&nbsp;}<br />}<br />*/&nbsp;&nbsp;<br /><br />
linhai1986 发表于 2009-4-18 14:29 | 显示全部楼层

配置字中的状态字要设置成0

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

本版积分规则

176

主题

1487

帖子

0

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