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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

十六進制怎么用單片機串口發送出去?

[復制鏈接]
跳轉到指定樓層
樓主
ID:475031 發表于 2023-6-12 19:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
0X03,0XFD,0X10,0XE8,0X00,0X00,0X0C,0X80,0X6B
上面
十六進制怎么串口發送出去,

下面是我的程序。編譯也沒有錯誤,按鈕按了也沒有見發送出去。
#include <STC15W204S.h>
#include <intrins.h>
#define uchar unsigned char     //定義一下方便后面使用
#define uint  unsigned int            //定義一下方便后面使用
#define ulong unsigned long            //定義一下方便后面使用               
#define COMM_BAUD_RATE  9600    //串口波特率
#define FOSC 11059200L //晶振設置,默認使用11.0592M Hz,
sbit KEY1 = P3^3;  //觸發

void UartInit(void) {
        //8位數據,可變波特率
        SCON = 0x50;
        //串口1選擇定時器2為波特率發生器
        AUXR |= 0x01;
        //定時器2時鐘為Fosc,即1T
        AUXR |= 0x04;
        //內部RC時鐘設置為11.0592的定時器2初值設置
        //設定定時初值
        T2L = 0xE0;
        //設定定時初值
        T2H = 0xFE;
        //啟動定時器2
        AUXR |= 0x10;
        //允許UART串口中斷
        ES = 1 ;
        //允許總中斷
        EA = 1 ;
}



void send(uchar dat)
{
        SBUF=dat;                         //發送指令到SBUF
        while(!TI);                         //等待發送結束
        TI=0;                                 //清除結束標志,以便再發送數據
}
void main()
{
        UartInit();//串口寄存器的初始化設置

        while(1)
        {
  if(KEY1==0)  //判斷是否按下鍵盤
        {
                  
        send(0X03);                 
        send(0XFD);                 
        send(0X14);                 
        send(0XFF);                  
        send(0X00);                 
        send(0X00);                  
        send(0X00);                 
        send(0X0F);                    
        send(0X6B);         
                 }
                while(KEY1==0);//按鍵鎖定,每按一次count只加1.
                 
        }
        
        }
}


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

使用道具 舉報

沙發
ID:116103 發表于 2023-6-12 22:24 | 只看該作者
初始化程序中你開了中斷,ES=1,EA=1,則TI=1時就會進入中斷,而你沒有中斷程序,你是用的查詢方式發碼,所以要把ES=1關了,ES=0.  也就是不用中斷。
回復

使用道具 舉報

板凳
ID:213173 發表于 2023-6-13 07:14 | 只看該作者
  1. #include <STC15W204S.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char     //定義一下方便后面使用
  4. #define uint  unsigned int            //定義一下方便后面使用
  5. #define ulong unsigned long            //定義一下方便后面使用               
  6. #define COMM_BAUD_RATE  9600    //串口波特率
  7. #define FOSC 11059200L //晶振設置,默認使用11.0592M Hz,
  8. sbit KEY1 = P3^3;  //觸發

  9. uchar code Table[]={0X03,0Xfd,0X14,0Xff,0X00,0X00,0X00,0X0f,0X6b};

  10. void Delay10ms()                //@11.0592MHz
  11. {
  12.         unsigned char i, j;

  13.         i = 18;
  14.         j = 235;
  15.         do
  16.         {
  17.                 while (--j);
  18.         } while (--i);
  19. }

  20. void UartInit(void)
  21. {
  22.         SCON = 0x50;//8位數據,可變波特率
  23.         AUXR |= 0x01;//串口1選擇定時器2為波特率發生器
  24.         AUXR |= 0x04;//定時器2時鐘為Fosc,即1T
  25.         //內部RC時鐘設置為11.0592的定時器2初值設置
  26.         T2L = 0xE0;//設定定時初值
  27.         T2H = 0xFE;//設定定時初值
  28.         AUXR |= 0x10;//啟動定時器2
  29.         ES = 1 ;//允許UART串口中斷
  30.         EA = 1 ;//允許總中斷
  31. }

  32. void send(uchar dat)
  33. {
  34.         SBUF=dat;                         //發送指令到SBUF
  35.         while(!TI);                         //等待發送結束
  36.         TI=0;                                 //清除結束標志,以便再發送數據
  37. }
  38. void main()
  39. {
  40.         uchar i;
  41.         UartInit();//串口寄存器的初始化設置
  42.         while(1)
  43.         {
  44.                 if(KEY1==0)  //判斷是否按下鍵盤
  45.                 {
  46.                         Delay10ms();
  47.                         if(KEY1==0)
  48.                         {
  49.                                 for(i=0;i<9;i++)
  50.                                         send(Table[i]);
  51. /*                                send(0X03);                 
  52.                                 send(0XFD);                 
  53.                                 send(0X14);                 
  54.                                 send(0XFF);                  
  55.                                 send(0X00);                 
  56.                                 send(0X00);                  
  57.                                 send(0X00);                 
  58.                                 send(0X0F);                    
  59.                                 send(0X6B);         
  60. */
  61.                         }
  62.                         while(!KEY1);//按鍵鎖定,每按一次count只加1.               
  63.                 }
  64.         }       
  65. }
復制代碼
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产无套一区二区三区久久 | 久久久国产精品 | 亚洲黄色国产 | 超碰美女在线 | 看片一区 | 电影91久久久 | 国产在线观看一区二区 | www四虎com | 国产在线一区二区三区 | 国产精品日韩欧美 | 久久久久国色av免费观看性色 | 久久伦理中文字幕 | 91麻豆精品一区二区三区 | 日日摸夜夜添夜夜添精品视频 | 欧美成人影院在线 | 中文字幕在线观看一区 | 中文字幕欧美日韩 | 欧美日韩久久精品 | 四虎成人免费视频 | 一区二区中文字幕 | 天堂在线1 | 爱爱视频日本 | 理论片免费在线观看 | 91视频久久久久 | 久草高清视频 | av性色全交蜜桃成熟时 | 巨大荫蒂视频欧美另类大 | 国产在线网址 | 国产农村妇女毛片精品久久麻豆 | 天堂在线一区 | 波多野结衣二区 | 91在线视频一区 | 国产精品久久久久久久白浊 | 国产免费av在线 | 亚洲一区二区av | 365夜爽爽欧美性午夜免费视频 | av电影一区二区 | 欧美国产精品一区二区三区 | 久久精品免费观看 | 97国产在线视频 | 一区二区三区av夏目彩春 |