欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機串口通訊接口程序報錯 大佬們 求助 謝謝

[復制鏈接]
跳轉到指定樓層
樓主
ID:271732 發表于 2018-1-5 00:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
功能:
編寫通訊接口程序,用串口調試助手向單片機發送字符串,字符串顯示在數碼管上,在目標機上調試好。
將收到的字符再發送回串口調試助手。

剛剛接觸單片機,麻煩各位給指點指點謝謝
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. uchar cgf1[10]={"ABCDEFGHIJ"};        /*發送的字符串*/
  4. uchar cgf2[10]={0xbd,0x18,0x0d5,0xd9,0x78
  5.                                 0x0e9,0x0ed,0x98,0xfd,0xf9};        /*數碼管顯示字形表*/
  6. main(){
  7.         uchar i,j;
  8.         PCON &=0x7F;                //波特率不倍速
  9.         SCON = 0x50;                //8位數據,可變波特率
  10.         AUXR &= 0xBF;                //定時器1時鐘為Fosc/12,即12T
  11.         AUXR &= 0xFE;                //串口1選擇定時器1為波特率發生器
  12.         TMOD &= 0x0F;                //清除定時器1模式位
  13.         TMOD |= 0x20;                //設定定時器1為8位自動重裝方式
  14.         TL1 = 0xFD;                        //設定定時初值
  15.         TH1 = 0xFD;                        //設定定時器重裝值
  16.         ET1 = 0;                        //禁止定時器1中斷
  17.         TR1 = 1;                        //啟動定時器1
  18.         P1=0xf4;                         /*數碼管顯示“P”提示符*/
  19.         while(1)
  20.         {                                 /*循環*/
  21.     RI = 0;                                   
  22.         while(!RI);                         /*RI=0等待*/
  23.         i=SBUF;                                 /*RI=1接收,存入i變量*/
  24.         i=i&0x0f;                         /*保留低4位*/
  25.         PI=cfg2[i];                        /*查字型表送P1口數碼管*/
  26.         RI=0;                                /*清RI*/
  27.         for(j=0;j<200;j++);        /*延時*/
  28.         TI=0;
  29.         SBUF=cgf1[i];                        /*取cgf1字符串中第i個字符發送*/
  30.         while(!TI);     // 等特數據傳送
  31.         TI = 0;      // 清除數據傳送標志
  32.         }
  33. }

復制代碼

代碼運行之后 報錯   不太理解哪錯了
  1. Build target 'Target 1'
  2. compiling whn001.c...
  3. WHN001.C(5): error C141: syntax error near '0x0e9'
  4. WHN001.C(6): error C141: syntax error near '{'
  5. WHN001.C(8): error C129: missing ';' before '&='
  6. Target not created
復制代碼



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

使用道具 舉報

無效樓層,該帖已經被刪除
板凳
ID:266627 發表于 2018-1-6 17:49 | 只看該作者
第4行,0x78后加上逗號
回復

使用道具 舉報

地板
ID:213173 發表于 2018-1-6 21:04 | 只看該作者
uchar cgf2[10]={0xbd,0x18,0x0d5,0xd9,0x78  少了逗號
PI=cfg2[i]; 應該是P1=cgf2[i];
AUXR &= 0xBF; AUXR &= 0xFE; 51頭文件里沒有此寄存器,需要聲明
這是改后的程序,編譯通過,未經實物驗證:
#include<reg51.h>
#define uchar unsigned char
sfr AUXR=0x8E;   // 輔助寄存器
uchar cgf1[10]={"ABCDEFGHIJ"};        /*發送的字符串*/
uchar cgf2[10]={0xbd,0x18,0x0d5,0xd9,0x78,
                0x0e9,0x0ed,0x98,0xfd,0xf9}; /*數碼管顯示字形表*/
void main()
{
        uchar i,j;
        PCON &=0x7F;                //波特率不倍速
        SCON = 0x50;                //8位數據,可變波特率
        AUXR &= 0xBF;                //定時器1時鐘為Fosc/12,即12T
        AUXR &= 0xFE;                //串口1選擇定時器1為波特率發生器
        TMOD &= 0x0F;                //清除定時器1模式位
        TMOD |= 0x20;                //設定定時器1為8位自動重裝方式
        TL1 = 0xFD;                        //設定定時初值
        TH1 = 0xFD;                        //設定定時器重裝值
        ET1 = 0;                        //禁止定時器1中斷
        TR1 = 1;                        //啟動定時器1
        P1=0xf4;                         /*數碼管顯示“P”提示符*/
        while(1)
        {                                 /*循環*/
                RI = 0;                                   
                while(!RI);                         /*RI=0等待*/
                i=SBUF;                                 /*RI=1接收,存入i變量*/
                i=i&0x0f;                         /*保留低4位*/
                P1=cgf2[i];                        /*查字型表送P1口數碼管*/
                RI=0;                                /*清RI*/
                for(j=0;j<200;j++);        /*延時*/
                TI=0;
                SBUF=cgf1[i];                        /*取cgf1字符串中第i個字符發送*/
                while(!TI);     // 等特數據傳送
                TI = 0;      // 清除數據傳送標志
        }
}

       
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表