標(biāo)題: 51單片機通過串口控制LED [打印本頁]
作者: zhang1314hong 時間: 2018-11-23 00:02
標(biāo)題: 51單片機通過串口控制LED
通過串口助手控制led,還有加了蜂鳴器,也有響聲,不過不是太大,一點學(xué)習(xí),希望大家多指教。
#include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
typedef unsigned int u16; //對數(shù)據(jù)類型進行聲明定義
typedef unsigned char u8;
sbit beep=P1^5;
void delay(u16 i)
{
while(i--);
}
/*******************************************************************************
* 函數(shù)名 :UsartInit()
* 函數(shù)功能 :設(shè)置串口
* 輸入 : 無
* 輸出 : 無
*******************************************************************************/
void UsartInit()
{
SCON=0X50; //設(shè)置為工作方式1
TMOD=0X20; //設(shè)置計數(shù)器工作方式2
PCON=0X80; //波特率加倍
TH1=0X30; //計數(shù)器初始值設(shè)置,注意波特率是300的
TL1=0X30;
ES=1; //打開接收中斷
EA=1; //打開總中斷
TR1=1; //打開計數(shù)器
}
/*******************************************************************************
* 函 數(shù) 名 : main
* 函數(shù)功能 : 主函數(shù)
* 輸 入 : 無
* 輸 出 : 無
*******************************************************************************/
void main()
{
UsartInit(); // 串口初始化
while(1);
}
/*******************************************************************************
* 函數(shù)名 : Usart() interrupt 4
* 函數(shù)功能 : 串口通信中斷函數(shù)
* 輸入 : 無
* 輸出 : 無
*******************************************************************************/
void Usart() interrupt 4
{
u8m;
m=SBUF;
beep=m;
beep=~beep;
delay(10);
P2=m;
RI= 0;//清除接收中斷標(biāo)志位
SBUF=m;//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
while(!TI); //等待發(fā)送數(shù)據(jù)完成
TI=0;
}
1.png (37.81 KB, 下載次數(shù): 76)
下載附件
2018-11-22 23:35 上傳
1:如果輸入fe,那么P2口p2.0就亮,如果輸入ff,p2.0就滅,如果想有閃爍,就輸入ff fe ff,然后在定時發(fā)送那里有多長時間一次,我們自己設(shè)置,然后勾選,就會看到閃爍的led燈。
2:輸入0011就會有響聲,可以調(diào)節(jié)發(fā)送的次數(shù),聲音也會變化。
3:流水燈,點開擴展,會看到多條字符串定義,依次輸入之后,點自動循環(huán)發(fā)送,就會出現(xiàn)流水燈,可以自己設(shè)置時間。
2.png (14.15 KB, 下載次數(shù): 70)
下載附件
2018-11-22 23:58 上傳
作者: wxxl 時間: 2018-11-23 12:19
u8m; 這是什么意思?
作者: 13976778401 時間: 2018-11-23 15:01
估計是樓主忘了u8和m之間空格了
作者: 關(guān)外螻蟻 時間: 2019-12-6 15:17
樓主漏了個空格,u8 m 相當(dāng)于unsigned char m
作者: 小屁歪歪 時間: 2019-12-14 14:07
我這里為什么不能實現(xiàn)串口控制
作者: zcg888 時間: 2019-12-14 23:09
學(xué)習(xí)一下,謝謝
作者: zijun 時間: 2020-4-16 20:50
貌似并沒有效果
作者: xhw3 時間: 2020-4-17 08:42
求電路
作者: wetzhy 時間: 2020-6-1 13:04
為啥我的不管,愁死我了
作者: zhaobolove 時間: 2020-10-12 16:25
中斷里面加延時??? 這樣 還敢連續(xù)PC發(fā)3個數(shù)據(jù)? 數(shù)據(jù)不會丟失的?
而且 中斷里面 還有有發(fā)送的, 不知道 發(fā)送也會觸發(fā)這個中斷嗎? 我的天, 這樣會不會亂套哦??
歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |