久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4096|回復(fù): 4
收起左側(cè)

單片機(jī)IO口輸出的數(shù)據(jù)與接收到的數(shù)據(jù)不一致

[復(fù)制鏈接]
ID:71991 發(fā)表于 2015-1-17 19:01 | 顯示全部樓層 |閱讀模式
求救,以下程序手機(jī)藍(lán)牙串口助手往單片機(jī)發(fā)數(shù)據(jù)08   P1.0會亮與滅;正確的應(yīng)該是P2.0會亮與滅的。

#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ù)功能:接收一個字節(jié)數(shù)據(jù)
***************************************************/
unsigned char keyval;
unsigned char Receive()
{
unsigned char dat ;
while(RI==0) //只要接收中斷標(biāo)志位RI 沒有被置“1”
; //等待,直至接收完畢(RI=1)
RI=0; //為了接收下一幀數(shù)據(jù),需將RI 清0
dat=SBUF; //將接收緩沖器中的數(shù)據(jù)存于dat
return dat;
}
/*****************************************************
函數(shù)功能:主函數(shù)
***************************************************/
void main(void)
{
TMOD=0x20; //定時器T1 工作于方式2
SCON=0x50; //SCON=0101 0000B,串口工作方式1,允許接收(REN=1)
PCON=0x00; //PCON=0000 0000B,波特率9600
TH1=0xfb; //根據(jù)規(guī)定給定時器T1 賦初值 18.432Mhz
TL1=0xfb; //根據(jù)規(guī)定給定時器T1 賦初值
TR1=1; //啟動定時器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;
}
}
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2015-1-18 15:51 來自手機(jī) | 顯示全部樓層
sbit S1=P1^0   把這句改為2.0
回復(fù)

使用道具 舉報(bào)

ID:71991 發(fā)表于 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口定意沒有錯,如果再改這個《sbit S1=P1^0   把這句改為2.0》P1.0口就沒用了。
回復(fù)

使用道具 舉報(bào)

ID:237942 發(fā)表于 2017-10-24 15:23 | 顯示全部樓層
while(RI==0) //只要接收中斷標(biāo)志位RI 沒有被置“1”   這句有問題,應(yīng)該改成while(!RI)
回復(fù)

使用道具 舉報(bào)

ID:212797 發(fā)表于 2017-10-24 16:14 | 顯示全部樓層
同樓上所說,while(RI==0) 導(dǎo)致整個程序的邏輯亂了。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品免费 | 黄色一级毛片 | 亚洲精品区 | 日本三级电影免费观看 | 美女一级黄 | 欧美精品一二三 | 成人高清在线 | 国产91在线播放 | 日韩一区二区三区在线视频 | 天天干天天想 | 在线中文字幕亚洲 | 亚洲一区中文字幕在线观看 | 中文字幕日韩在线观看 | 欧美成人一区二区 | 日韩高清黄色 | 超碰97在线免费 | 久久国产精品一区 | 国产欧美日韩一区二区三区在线观看 | 国产精品高清一区二区三区 | 日韩在线精品 | 日本国产精品视频 | 91新视频 | 欧美性受xxxx白人性爽 | 成人午夜影院 | 网黄在线 | 青娱乐av | 国产激情一区二区三区 | 色婷婷亚洲国产女人的天堂 | 久久噜噜噜精品国产亚洲综合 | 9久久 | 久草网站 | 国产精品久久久久久久久久久久午夜片 | 日韩精品在线视频免费观看 | 毛片免费观看 | 在线日韩视频 | 欧美日韩成人在线 | 99精品欧美一区二区蜜桃免费 | 91免费在线看| 精品欧美黑人一区二区三区 | 91精品国产综合久久久久蜜臀 | 激情三区 |