線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1307
推到 Plurk!
推到 Facebook!

請問rs-232問題

 
小強
一般會員


發表:36
回覆:39
積分:15
註冊:2005-03-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-07-31 16:55:11 IP:163.23.xxx.xxx 未訂閱
請問我的程式在RS-232要讓電腦控制IO的P0和P1狀態,然而每次按電腦1.2.3都使得IO沒動作,請問是我寫錯還是其他問題呢?請指教...謝謝
附加檔案:1.c
小強
一般會員


發表:36
回覆:39
積分:15
註冊:2005-03-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-07-31 16:57:32 IP:163.23.xxx.xxx 未訂閱

SORRY ~我把檔案變成夾代檔.....再PO一次

/*12133*/
#include
#define timer 50000
int z=0xff;
int t=10;
int time=50;
char s='0';
void delay(int count)
{
int i,j;
for(i=0;i for(j=0;j<1940;j );
}
void main()
{
int k=0;
char led[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
char led_1[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE};
P3=P3|0x04;
IE=0x93;
TCON=0x01;
SCON=0x50;
PCON=PCON|0x80;
TMOD=0x21;
TH1=0xFD;
TL1=0xFD;
TR1=1;
TL0=(65536-timer)%6;
TH0=(65536-timer)/256;
TR0=1;

while(1)
{
switch(s)
{
case 0x31:
for(k=0;k>7;k )
{
P1=led[k];
P0=led_1[k];
delay (time);
}
break;
case 0x32:
for(k=0;k>7;k )
{
P1=led[k];
P0=z;
delay (time);
z=~z;
}
break;
case 0x33:
for(k=0;k>7;k )
{
P0=led_1[k];
P1=z;
delay (time);
z=~z;
}
break;
default:
P1=led[k];
delay(time);
k ;
if(k==8) k=0;
break;
}
}
}
void EXINT0(void) interrupt 0
{
IE=0x00;
P2=~P2;
P2=P2*20;
time=P2;
IE=0x83;
IE0=0;
}
void timer0(void) interrupt 1
{
TR0=0;
P0=z;
t--;
if(t==0)
{
t=10;
z=~z;
}
TL0=(65536-timer)%6;
TH0=(65536-timer)/256;
TR0=1;
}
void RS232(void) interrupt 4
{
ES=0;
if(RI==1)
{
RI=0;
s=SBUF;
}
ES=1;
}

系統時間:2024-05-21 5:16:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!