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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2648|回復: 11
打印 上一主題 下一主題
收起左側

使用單片機串口控制LED亮滅

[復制鏈接]
跳轉到指定樓層
樓主
ID:695930 發表于 2020-2-21 07:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 你速度發生的 于 2020-2-21 08:49 編輯

請問各位大神我的程序哪里有錯誤呢??
我這個程序為啥發送控制led亮0x01控制led滅0x00都沒有反應呢?


#include "reg52.h"    //此文件中定義了單片機的一些特殊功能寄存器
typedef unsigned int u16;   //對數據類型進行聲明定義
typedef unsigned char u8;
u8 i;
sbit led=P0^0;
/*******************************************************************************
* 函數名         :UsartInit()
* 函數功能     :設置串口
* 輸入           : 無
* 輸出           : 無
*******************************************************************************/
void UsartInit()
{
SCON=0X50;   //設置為工作方式1
TMOD=0X20;   //設置計數器工作方式2
PCON=0X80;   //波特率加倍
TH1=0XF9;    //計數器初始值設置,注意波特率是9600的
TL1=0XF9;
ES=1;      //打開接收中斷
EA=1;      //打開總中斷
TR1=1;     //打開計數器
}
/*******************************************************************************
* 函 數 名       : main
* 函數功能   : 主函數
* 輸    入       : 無
* 輸    出      : 無
*******************************************************************************/
void main()
{
led=0;
UsartInit(); // 串口初始化  
  while(1);
}
/*******************************************************************************
* 函數名         : Usart() interrupt 4
* 函數功能    : 串口通信中斷函數
* 輸入           : 無
* 輸出           : 無
*******************************************************************************/
void Usart() interrupt 4
{
u8 receiveData;
   i=SBUF;
    switch(i)
   {
    case 0x01 :led=0;break;
    case 0x00 :led=1;break;
    default : ;
   }
   receiveData=SBUF;
   RI=0;
   SBUF=receiveData;
while(!TI);    //等待發送數據完成
TI=0;       //清除發送完成標志位
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:612392 發表于 2020-2-21 10:31 | 只看該作者
1.串口收發正常嗎?
2.上位機發送命令是否是16進制?
回復

使用道具 舉報

板凳
ID:695930 發表于 2020-2-21 12:09 | 只看該作者
cjjdemon 發表于 2020-2-21 10:31
1.串口收發正常嗎?
2.上位機發送命令是否是16進制?

串口收發正常,上位機發送命令是16進制
回復

使用道具 舉報

地板
ID:695930 發表于 2020-2-21 14:19 | 只看該作者
cjjdemon 發表于 2020-2-21 10:31
1.串口收發正常嗎?
2.上位機發送命令是否是16進制?

你好,串口收發正常。上位機發送命令是16進制
回復

使用道具 舉報

5#
ID:560467 發表于 2020-2-21 15:46 | 只看該作者
考慮一下你接受到的數據有沒有問題,波特率是否一致,
回復

使用道具 舉報

6#
ID:695930 發表于 2020-2-21 15:54 | 只看該作者
CZ1 發表于 2020-2-21 15:46
考慮一下你接受到的數據有沒有問題,波特率是否一致,

你好接受到的數據是指我使用上位機向單片機發送的數據嗎?我的波特率是一致的
回復

使用道具 舉報

7#
ID:419968 發表于 2020-2-21 19:48 | 只看該作者
stc51 p0.0 初始化成 推挽輸出
回復

使用道具 舉報

8#
ID:213173 發表于 2020-2-21 21:18 | 只看該作者
樓主串口初始化設置不當,根據晶振頻率選擇如下設置:
void UartInit()                //9600bps@11.0592MHz
{
        PCON = 0x00;                //波特率不倍速
        SCON = 0x50;                //8位數據,可變波特率
        TMOD = 0x20;                //設定定時器1為8位自動重裝方式
        TL1 = 0xFD;                        //設定定時初值
        TH1 = 0xFD;                        //設定定時器重裝值
        TR1 = 1;                                //啟動定時器1
        ES=1;                                        //打開接收中斷
        EA=1;                                        //打開總中斷
}
void UartInit()                //4800bps@12.000MHz
{
        PCON = 0x80;                //使能波特率倍速位SMOD
        SCON = 0x50;                //8位數據,可變波特率
        TMOD|= 0x20;                //設定定時器1為8位自動重裝方式
        TL1 = 0xF3;                        //設定定時初值
        TH1 = 0xF3;                        //設定定時器重裝值
        TR1 = 1;                                //啟動定時器1
        ES=1;                                        //打開接收中斷
        EA=1;                                        //打開總中斷
}
回復

使用道具 舉報

9#
ID:470755 發表于 2020-2-21 23:44 | 只看該作者
把你要調用的函數在主函數前面聲明一下,或者是寫在主函數前面
回復

使用道具 舉報

10#
ID:695930 發表于 2020-2-22 16:37 | 只看該作者
wulin 發表于 2020-2-21 21:18
樓主串口初始化設置不當,根據晶振頻率選擇如下設置:
void UartInit()                //9600bps@11.0592MHz
{

你好我試了一下發現也還是不行。。
回復

使用道具 舉報

11#
ID:696761 發表于 2020-2-22 23:36 來自手機 | 只看該作者
首先確認下數據有沒有發出,串口是否正常傳輸數據,這個沒問題就試下給數據燈會不會亮
回復

使用道具 舉報

12#
ID:695930 發表于 2020-4-3 21:52 | 只看該作者
我這個整體來說沒問題,我之前自己發現問題主要是晶振不穩定,建議大家使用11.0592MHz,wulin那有兩種晶振的串口設置具體的大家自己弄吧
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产日本精品视频 | 国产精品国产精品国产专区不卡 | 欧美人成在线视频 | 网站黄色av| 精品久久久久久中文字幕 | 粉嫩一区二区三区四区公司1 | 国产精品一区二区三级 | 在线视频91| 精品av| 国产亚洲一区二区三区 | 欧美日韩国产一区二区三区不卡 | 日本特黄a级高清免费大片 特黄色一级毛片 | 亚洲精品一二三区 | 国产精品污www一区二区三区 | 四虎影视在线 | 国产精品久久久久久久久久久久久 | 国产女人与拘做受免费视频 | 91手机精品视频 | xx性欧美肥妇精品久久久久久 | 久久久久久亚洲精品不卡 | 欧美在线观看网站 | 中文字幕一级毛片 | 欧美一二三 | 久久合久久 | 天天天堂| 日本天天操 | 久久精品色欧美aⅴ一区二区 | 成人欧美一区二区三区在线观看 | 中文字幕一区二区三区四区五区 | 91成人在线 | 狠狠的操 | 成人在线视频网址 | 亚洲高清视频在线 | 亚洲视屏 | 亚洲第一成年免费网站 | 国产极品车模吞精高潮呻吟 | 99精品99久久久久久宅男 | 欧美在线小视频 | 久艹网站| 久久精品青青大伊人av | 亚洲成人精品 |