Re: [問題] PC 收 51 傳的0~255,有時會收到奇怪數字
改成這樣看會不會好點= =
#include "AT89X51.h"
/*
P2 讀取ADC
P1,3,0 預留輸出控制
*/
unsigned char ucADC0804,QUERY,swap;
char code HEX[16]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39
,0x41,0x42,0x43,0x44,0x45,0x46};
main()
{
IE=0x90; /* (中斷Enable)EA=1,(串列中斷)ES=1*/
P2=0xFF; /* P2為讀取Port */
SCON=0x70; /*Serial Port mode1*/
TMOD=0x20; /*Timer mode1(Auto Load)*/
TH1=0xFD; /*9600bps@11.0952MHz*/
TR1=1; /*Timer1 啟動!*/
QUERY=0;
while(1)
{
ucADC0804=P2;
if(QUERY=='Q')
{
: swap=(ucADC0804>>4);//&0x0F; //取高4bit
: SBUF=HEX[swap]; //發射高4bit之ASCII
: while(!TI); //等待發射完畢
: TI=0; //這個如果沒加,幾乎都送0出去
: swap=ucADC0804&0x0F; //取低4bit
: SBUF=HEX[swap]; //發射低4bit之ASCII
: while(!TI);
: TI=0; //清除發射中斷旗標
QUERY=0;
}
}
}
void serial_INT(void) interrupt 4
{
if(RI)
{
QUERY=SBUF;
RI=0; //清除發射中斷旗標
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.141.154
推
01/14 12:44, , 1F
01/14 12:44, 1F
→
01/14 12:45, , 2F
01/14 12:45, 2F
推
01/14 13:22, , 3F
01/14 13:22, 3F
→
01/14 13:23, , 4F
01/14 13:23, 4F
→
01/14 13:24, , 5F
01/14 13:24, 5F
推
01/14 13:28, , 6F
01/14 13:28, 6F

→
01/14 14:21, , 7F
01/14 14:21, 7F
→
01/14 14:23, , 8F
01/14 14:23, 8F
→
01/14 14:44, , 9F
01/14 14:44, 9F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章