久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
單片機(jī)IO口輸出的數(shù)據(jù)與接收到的數(shù)據(jù)不一致
[打印本頁(yè)]
作者:
hsanper
時(shí)間:
2015-1-17 19:01
標(biāo)題:
單片機(jī)IO口輸出的數(shù)據(jù)與接收到的數(shù)據(jù)不一致
求救,以下程序手機(jī)藍(lán)牙串口助手往單片機(jī)發(fā)數(shù)據(jù)08 P1.0會(huì)亮與滅;正確的應(yīng)該是P2.0會(huì)亮與滅的。
#include<reg51.h> //包含單片機(jī)寄存器的頭文件
sbit S1=P1^0;
sbit S2=P1^1;
sbit S3=P1^2;
sbit S4=P1^3;
sbit S5=P1^4;
sbit S6=P1^5;
sbit S7=P1^6;
sbit S8=P1^7;
sbit S9=P2^0;
sbit S10=P2^1;
sbit S11=P2^2;
sbit S12=P2^3;
sbit S13=P2^4;
sbit S14=P2^5;
sbit S15=P2^6;
sbit S16=P2^7;
/*****************************************************
函數(shù)功能:接收一個(gè)字節(jié)數(shù)據(jù)
***************************************************/
unsigned char keyval;
unsigned char Receive()
{
unsigned char dat ;
while(RI==0) //只要接收中斷標(biāo)志位RI 沒(méi)有被置“1”
; //等待,直至接收完畢(RI=1)
RI=0; //為了接收下一幀數(shù)據(jù),需將RI 清0
dat=SBUF; //將接收緩沖器中的數(shù)據(jù)存于dat
return dat;
}
/*****************************************************
函數(shù)功能:主函數(shù)
***************************************************/
void main(void)
{
TMOD=0x20; //定時(shí)器T1 工作于方式2
SCON=0x50; //SCON=0101 0000B,串口工作方式1,允許接收(REN=1)
PCON=0x00; //PCON=0000 0000B,波特率9600
TH1=0xfb; //根據(jù)規(guī)定給定時(shí)器T1 賦初值 18.432Mhz
TL1=0xfb; //根據(jù)規(guī)定給定時(shí)器T1 賦初值
TR1=1; //啟動(dòng)定時(shí)器T1
REN=1; //允許接收
P1=0x00;
P2=0x00;
while(1)
{
keyval=Receive(); //將接收到的數(shù)據(jù)送IO 口顯示
if(keyval==0) //按鍵S1 被按下
S1=~S1;
if(keyval==1) //按鍵S2 被按下
S2=~S2;
if(keyval==2) //按鍵S3 被按下
S3=~S3;
if(keyval==3) //按鍵S4 被按下
S4=~S4;
if(keyval==4) //按鍵S5 被按下
S5=~S5;
if(keyval==5) //按鍵S6 被按下
S6=~S6;
if(keyval==6) //按鍵S7 被按下
S7=~S7;
if(keyval==7) //按鍵S8 被按下
S8=~S8;
if(keyval==8) //按鍵S9 被按下
S9=~S9;
if(keyval==9) //按鍵S10 被按下
S10=~S10;
if(keyval==10) //按鍵S11 被按下
S11=~S11;
if(keyval==11) //按鍵S12 被按下
S12=~S12;
if(keyval==13) //按鍵S13 被按下
S13=~S13;
if(keyval==14) //按鍵S14 被按下
S14=~S14;
if(keyval==15) //按鍵S15 被按下
S15=~S15;
if(keyval==16) //按鍵S16 被按下
S16=~S16;
}
}
作者:
admin
時(shí)間:
2015-1-18 15:51
sbit S1=P1^0 把這句改為2.0
作者:
hsanper
時(shí)間:
2015-1-18 19:33
admin 發(fā)表于 2015-1-18 15:51
sbit S1=P1^0 把這句改為2.0
sbit S1=P1^0;
sbit S2=P1^1;
sbit S3=P1^2;
sbit S4=P1^3;
sbit S5=P1^4;
sbit S6=P1^5;
sbit S7=P1^6;
sbit S8=P1^7;
sbit S9=P2^0;
sbit S10=P2^1;
sbit S11=P2^2;
sbit S12=P2^3;
sbit S13=P2^4;
sbit S14=P2^5;
sbit S15=P2^6;
sbit S16=P2^7;
IO口定意沒(méi)有錯(cuò),如果再改這個(gè)《sbit S1=P1^0 把這句改為2.0》P1.0口就沒(méi)用了。
作者:
GG276192978
時(shí)間:
2017-10-24 15:23
while(RI==0) //只要接收中斷標(biāo)志位RI 沒(méi)有被置“1” 這句有問(wèn)題,應(yīng)該改成while(!RI)
作者:
xbook_ben
時(shí)間:
2017-10-24 16:14
同樓上所說(shuō),while(RI==0) 導(dǎo)致整個(gè)程序的邏輯亂了。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
天堂av免费观看
|
欧美三区视频
|
97超碰在线免费
|
韩日在线
|
欧美黄色片
|
99久久免费观看
|
亚洲一区二区三区在线播放
|
欧美精品一区二区三区四区 在线
|
91精品国产综合久久婷婷香蕉
|
做a视频在线观看
|
黄色片视频免费
|
欧美一级黄色免费
|
超碰免费观看
|
超碰在线国产
|
www免费视频
|
不卡欧美
|
日本久久网
|
午夜欧美
|
欧美video
|
热久久免费视频
|
天天干天天想
|
国产日韩久久
|
亚洲图片一区二区三区
|
欧美freesex黑人又粗又大
|
精品亚洲一区二区
|
色本道
|
69堂永久69tangcom
|
国产精品久久久亚洲
|
国产成人高清视频
|
亚洲视频欧美视频
|
亚洲精品久久久一区二区三区
|
天天草夜夜骑
|
久久国产一区二区三区
|
欧美成人一级
|
欧美精品一级
|
国产91精品网站
|
成人福利电影
|
综合久久综合久久
|
91在线看
|
亚洲国产成人精品久久
|
欧美一级在线观看
|