#include "reg52.h" #include "stdio.h" sbit P3_0=P3^0; sbit P3_7=P3^7; #define CTH1 0xfd //定时器1,波特率设置9600 #define CTL1 0xfd #define CTH0 0xee //定时器0 5ms(用的是定时器MODE2) #define CTL0 0x00 void mDelay(unsigned char Delay) { unsigned int i; for(;Delay>0;Delay--) { for(i=0;i<4004;i++) {;} } } void main() {unsigned char dout; P3_7=0; TMOD=0x21; TH1=CTH1; TL1=CTL1; SCON=0x50; PCON=0; TR1=1; TR0=1; RI=0; TI=1; ET0=1; ES=1; EA=1; printf(".....start.....
"); while(1) { P3_7=!P3_7; mDelay(10000); P3_0=P3_7; mDelay(10000); dout=P3_0; mDelay(10000); printf("%d
",dout); mDelay(10000); } } //目的:从P3_7口处引入数字量,0101这种二进制形式 //把这些二进制数通过串口发出去 //困扰:dout输出为什么是256?而不是1 //是不是因为P3_0,P3_7,都是位 //而dout是整型,怎么改才能让 //从我问的问题也能看出我学的不好,但还是希望能有热心的朋友指点一下 //非常感谢 |