標(biāo)題:
這單片機(jī)程序?yàn)槭裁磳?shí)現(xiàn)不了串口控制led燈?
[打印本頁]
作者:
1783807641@qq
時(shí)間:
2021-11-19 10:10
標(biāo)題:
這單片機(jī)程序?yàn)槭裁磳?shí)現(xiàn)不了串口控制led燈?
#include <REG52.H>
#define fck 11059200
//串口初始化代碼*/
// 9600 = 1/32*(fck/12/(256-TH1))
void usart_init(int bound)
{
/*T1定時(shí)模式方式2,與中斷引腳無關(guān)*/
TMOD &=~(0xf<<4);
TMOD |= (0x2<<4);
TH1=(256-(fck/32/12/bound));
TL1=(256-(fck/32/12/bound)); //根據(jù)波特率公式算出預(yù)裝載值
SCON = 0x50;//方式一,使能吸收,失能校驗(yàn),清標(biāo)志位//0101 0000
PCON &=~(1<<7); //不加倍 0111 1111
TR1=1; //開定時(shí)器1
}
void usart_send(char dat)
{
SBUF=dat;//發(fā)送新數(shù)據(jù)
while(TI==0);//等待發(fā)送完成
TI=0;
}
char usart_receive(void)
{
char dat;
while(RI==0);
dat=SBUF;
RI=0;
usart_send(dat);
return dat;
}
int main()
{
char a;
usart_init(9600); //串口初始化
while(1)
{
int strcmp (const char *str1, const char *str2);
(str1"開燈",str2"關(guān)燈");
if(a == '1')
{
P2 = 0x00;
}
else if(a == '0')
{
P2 = 0xff;
}
//usart_receive();
//usart_send('a');
}
}
復(fù)制代碼
為什么實(shí)現(xiàn)不了
作者:
188610329
時(shí)間:
2021-11-19 12:42
你先不要管 控制燈了, 你先管 你控制串口 給你發(fā)送指定的信息: OK 或者 NO 你做到這個(gè)之后,再管控制燈。
作者:
湖南
時(shí)間:
2021-11-19 14:07
先調(diào)試串口通信是否正常,數(shù)據(jù)的收發(fā)是否能正常進(jìn)行,再測試小燈部分
作者:
cdzfan
時(shí)間:
2021-11-19 14:27
程序仿真運(yùn)行,串口接收里設(shè)置斷點(diǎn),看接收得到不
作者:
peng1234567890
時(shí)間:
2021-11-19 14:50
你看看程序或燈本身有沒有問題
作者:
jjwangxu2008
時(shí)間:
2021-11-19 15:40
因?yàn)?你沒實(shí)現(xiàn)串口接收函數(shù)
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1