使用的是wh-280编译器,开发环境keil51<br /><br />问题一:<br />无法对位进行置位和清零,<br />简单的<br />#include<reg52.h><br />sbit ab=P1^1<br />void main(void)<br />{<br />while(1)<br />{ab=0;<br />ab=1;}<br />}<br />在硬件上无法检测到电平变化。<br />但是下面对P1P2P3直接设置的时候则可以<br />#include <intrins.h><br />#include<stdio.h><br />#include<absacc.h><br />#include<at89x52.h><br />#define LCD_Data P1<br /><br />typedef unsigned char uchar;<br />uchar i,a;<br /><br /><br />void Time0Init(void)<br />{<br /> TMOD=0x06;<br /> TL0=0x30;TH0=0x2a;<br /> EA=1;<br /> ET0=1;<br /> TR0=1;<br />}<br />void Time0_Int(void) interrupt 1<br />{<br />// adc0809(ad);<br /> i++;<br /> if(P1==0xaa){P1=0x55;}<br /> else P1=0xaa;<br />// if(ad[1]>0xa529){ET0=0;}<br /><br />}<br />void main()<br />{<br /> a=0;<br /> Time0Init();<br /> P1=0xaa;<br /> while(1)<br /> { <br /> P3=0x55;<br /> P2=0x55;<br /> P3=0xaa;<br /> P2=0xaa;<br /> }<br />}<br /><br /> |
|