[size=4] cs直接接地,程序是這樣的: void main() { unsigned char i; a0=1; P1=0x15; wr=0; for(i=0;i<255;i++); wr=1;
a0=0; P1=0x02; wr=0; for(i=0;i<255;i++); wr=1; } 幫忙看一看,有問題請指出。[/size][Emot]1[/Emot][Emot]2[/Emot]
[size=4] cs直接接地,程序是這樣的: void main() { unsigned char i; a0=1; P1=0x15; wr=0; for(i=0;i<255;i++); wr=1;
a0=0; P1=0x02; wr=0; for(i=0;i<255;i++); wr=1; } 幫忙看一看,有問題請指出。[/size][Emot]1[/Emot][Emot]2[/Emot]
不知道你的單片機速度是多快的需要這么多延時,
模擬并口的三個讀寫子程序,大體可以按下面的流程:
寫命令: 向并口輸出數(shù)據(jù)、A0=1 ;注意,A0一定要在CS和WR變化之前 CS=0和WR=0 延時幾十納秒 CS=1和WR=1 I/O禁止輸出、A0=0 ;注意,A0一定要在CS和WR變化之后,建議操作完后的A0默認為低電平
寫數(shù)據(jù): 向并口輸出數(shù)據(jù)、A0=0 CS=0和WR=0 延時幾十納秒 CS=1和WR=1 ;如果A0默認為低電平,則一定要注意,A0不能早于CS和WR為高電平 I/O禁止輸出
讀數(shù)據(jù): 并口I/O方向設為輸入 A0=0 ;注意,A0一定要在CS和WR變化之前,如果A0默認為低電平則此處可省掉 CS=0和RD=0 延時幾十納秒 ;對于低速單片機無所謂,對高速單片機很關鍵,要讓并口有20nS的準備時間 從并口輸入數(shù)據(jù) CS=1和RD=1
并且命令與命令之間延時2um,命令與數(shù)據(jù)之間延時2um,數(shù)據(jù)與數(shù)據(jù)之間延時1um。