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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2204|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

串口屏控制STC8H1K28點(diǎn)燈功能無(wú)法實(shí)現(xiàn) 單片機(jī)代碼如下

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
  1. #include <STC8H.H>

  2. #include "intrins.h"

  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. sbit led=P2^3;

  6. unsigned char a[4];
  7. uchar UART1_TXD_FLAG,UART_RXD,UART_CONTER,UART_KEY_FLAG;


  8. void UartInit()//57600bps 11.0592MHZ
  9. {
  10.         P_SW1=0x00;
  11.         
  12.         SCON=0x50;
  13.         AUXR |= 0x01;                //串口1選擇定時(shí)器2為波特率發(fā)生器
  14.         AUXR |= 0x04;                //定時(shí)器時(shí)鐘1T模式
  15.         T2L = 0xD0;                //設(shè)置定時(shí)初始值
  16.         T2H = 0xFF;                //設(shè)置定時(shí)初始值
  17.         AUXR |= 0x10;                //定時(shí)器2開(kāi)始計(jì)時(shí)
  18. }
  19. void UART1_SEND_BYTE(unsigned char dat)
  20. {
  21.         UART1_TXD_FLAG=1;
  22.         SBUF=dat;
  23.         while(UART1_TXD_FLAG == 1);
  24. }
  25. void KEY_LCD()
  26. {
  27.         uchar KEY_FLAG,i;
  28.         if(a[0]==0xAA)
  29.         {
  30.                 if(a[2]==0xcc&&a[3]==0x33)
  31.                 {
  32.                         if(UART_KEY_FLAG==1)
  33.                         {
  34.                                 UART_KEY_FLAG=0;
  35.                                 KEY_FLAG=1;
  36.                         }
  37.                 }
  38.         }
  39.         if(KEY_FLAG==1)
  40.         {
  41.                         if(a[1]==0x00)
  42.                         {
  43.                                 led=0;
  44.                         }
  45.                         if(a[1]==0x01)
  46.                         {
  47.                                 led=1;
  48.                         }
  49.         }

  50.                 KEY_FLAG=0;                                                                           
  51.                 for(i=0; i<8; i++) a[i]=0x00;                                      

  52. }
  53. void main()
  54. {
  55.     P0M0 = 0x00;
  56.     P0M1 = 0x00;
  57.     P1M0 = 0x00;
  58.     P1M1 = 0x00;
  59.     P2M0 = 0x00;
  60.     P2M1 = 0x00;
  61.     P3M0 = 0xff;
  62.     P3M1 = 0x00;
  63.     P4M0 = 0x00;
  64.     P4M1 = 0x00;
  65.     P5M0 = 0x00;
  66.     P5M1 = 0x00;

  67.     UartInit();
  68.     ES = 1;
  69.     EA = 1;
  70.                 led=0;
  71.     while (1)
  72.     {
  73.              KEY_LCD();
  74.     }
  75. }

  76. void UART1_()interrupt 4
  77. {
  78.         if(RI)
  79.         {
  80.                 RI=0;
  81.                 if(UART_RXD==0)
  82.                 {
  83.                         if(SBUF==0xAA)
  84.                         {        
  85.                                 UART_RXD=1;
  86.                                 UART_CONTER=0;
  87.                         }
  88.                 }
  89.                         if(UART_RXD == 1)
  90.                 {
  91.                         a[UART_CONTER]=SBUF;
  92.                         UART_CONTER++;
  93.                         if(UART_CONTER==4)
  94.                         {        
  95.                                 UART_RXD=0;
  96.                                 UART_CONTER=0;
  97.                                 UART_KEY_FLAG=1;
  98.                         }
  99.                 }
  100.         }
  101.         if(TI)
  102.         {
  103.                 TI=0;
  104.                 UART1_TXD_FLAG=0;
  105.         }
  106. }
復(fù)制代碼

51hei.png (30.42 KB, 下載次數(shù): 37)

串口屏連電腦能接收到數(shù)據(jù)

串口屏連電腦能接收到數(shù)據(jù)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1079614 發(fā)表于 2023-5-24 16:21 | 只看該作者
功能無(wú)法實(shí)現(xiàn),求大神幫我看看哪里有問(wèn)題
回復(fù)

使用道具 舉報(bào)

板凳
ID:213173 發(fā)表于 2023-5-24 17:32 | 只看該作者
A-set 發(fā)表于 2023-5-24 16:21
功能無(wú)法實(shí)現(xiàn),求大神幫我看看哪里有問(wèn)題

你確定是用串口屏控制單片機(jī)?
回復(fù)

使用道具 舉報(bào)

地板
ID:1079614 發(fā)表于 2023-5-25 08:44 | 只看該作者
wulin 發(fā)表于 2023-5-24 17:32
你確定是用串口屏控制單片機(jī)?

是的 串口屏連電腦確定能發(fā)出數(shù)據(jù) 但是連單片機(jī)單片機(jī)沒(méi)得動(dòng)作
回復(fù)

使用道具 舉報(bào)

5#
ID:624769 發(fā)表于 2023-5-25 17:30 | 只看該作者
  • {
  •     if(RI)
  •     {
  •         RI=0;
  •         if(SBUF==0xAA)   UART_CONTER=0;
  •         a[UART_CONTER]=SBUF;
  •         if(++UART_CONTER>=4)
  •         {
  •             UART_CONTER=0;
  •             UART_KEY_FLAG=1;
  •         }
  •     }
  •     if(TI)
  •     {
  •         TI = 0;
  •         UART1_TXD_FLAG=0;
  •     }
  • }

回復(fù)

使用道具 舉報(bào)

6#
ID:213173 發(fā)表于 2023-5-25 21:00 | 只看該作者
A-set 發(fā)表于 2023-5-25 08:44
是的 串口屏連電腦確定能發(fā)出數(shù)據(jù) 但是連單片機(jī)單片機(jī)沒(méi)得動(dòng)作

先把程序減化一下,用實(shí)物STC8G1K08-16測(cè)試 led改到P1^3; 用串口助手交替發(fā)0xaa 0x00 0xcc 0x33和0xaa 0x01 0xcc 0x33 ,led交替亮滅,功能正常。
  1. #include <STC8H.H>
  2. #include "intrins.h"
  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. sbit led=P2^3;

  6. uchar a[4];
  7. bit flag;

  8. void UartInit()                //57600bps@11.0592MHz
  9. {
  10.         SCON = 0x50;                //8位數(shù)據(jù),可變波特率
  11.         AUXR |= 0x01;                //串口1選擇定時(shí)器2為波特率發(fā)生器
  12.         AUXR |= 0x04;                //定時(shí)器時(shí)鐘1T模式
  13.         T2L = 0xD0;                        //設(shè)置定時(shí)初始值
  14.         T2H = 0xFF;                        //設(shè)置定時(shí)初始值
  15.         AUXR |= 0x10;                //定時(shí)器2開(kāi)始計(jì)時(shí)
  16.         EA = 1;                                //開(kāi)總中斷
  17.         ES = 1;                                //開(kāi)串口中斷
  18. }

  19. void KEY_LCD()
  20. {
  21.         uchar i;
  22.         if(flag)
  23.         {
  24.                 flag=0;
  25.                 if(a[2]==0xcc && a[3]==0x33)
  26.                 {
  27.                         if(a[1]==0x00)
  28.                         {
  29.                                 led=0;
  30.                         }
  31.                         if(a[1]==0x01)
  32.                         {
  33.                                 led=1;
  34.                         }
  35.                 }
  36.                 for(i=0; i<4; i++)
  37.                         a[i]=0x00;//清除緩存
  38.         }
  39. }

  40. void main()
  41. {
  42.         P0M0 = 0x00;
  43.         P0M1 = 0x00;
  44.         P1M0 = 0x00;
  45.         P1M1 = 0x00;
  46.         P2M0 = 0x00;
  47.         P2M1 = 0x00;
  48.         P3M0 = 0x00;
  49.         P3M1 = 0x00;
  50.         P4M0 = 0x00;
  51.         P4M1 = 0x00;
  52.         P5M0 = 0x00;
  53.         P5M1 = 0x00;
  54.        
  55.         UartInit();
  56.         led=0;
  57.         while (1)
  58.         {
  59.                 KEY_LCD();
  60.         }
  61. }
  62.        
  63. void UART1_()interrupt 4
  64. {//0xaa 0x0? 0xcc 0x33
  65.         static uchar i=0;        //靜態(tài)計(jì)數(shù)變量
  66.         RI=0;                                        //接收中斷請(qǐng)求標(biāo)志位清0
  67.         a[i]=SBUF;                        //接收到的數(shù)據(jù)串保存在緩存數(shù)組
  68.         if(a[0]==0xAA)                //驗(yàn)證數(shù)據(jù)頭,否則自動(dòng)被覆蓋
  69.         {
  70.                 i++;
  71.                 if(i>=4)
  72.                 {
  73.                         flag=1;                //接收完成標(biāo)志置1
  74.                         i=0;                        //計(jì)數(shù)變量清0
  75.                 }
  76.         }
  77. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 在线视频一区二区三区 | 欧美三区在线观看 | h视频免费在线观看 | 亚洲一区二区三区在线视频 | 精精国产xxxx视频在线野外 | 9999精品视频 | 久久综合伊人 | 天天操网 | 成人精品鲁一区一区二区 | 黄视频免费观看 | 99久久免费精品国产免费高清 | 日本在线免费观看 | 影音先锋中文字幕在线观看 | 精品一区二区三区免费视频 | 欧美一区二区三区四区在线 | 蜜桃精品视频在线 | 国产一区三区在线 | 天天操夜夜操 | 午夜精品网站 | 精品成人一区二区 | 一区网站| 久久久久九九九女人毛片 | 久草视频观看 | 日本不卡高字幕在线2019 | 狠狠综合久久av一区二区小说 | 精品99久久| 日本三级日产三级国产三级 | www国产亚洲精品 | 久久精品91久久久久久再现 | 国产日韩欧美激情 | 国内精品视频在线 | 精精精精xxxx免费视频 | 国产精品一区二区福利视频 | 色久电影| 精品久久久久久久久久久 | 久久国产一区二区 | 国产视频第一页 | 日韩三级在线 | 亚洲免费网址 | 992tv人人草 久久精品超碰 | 伊人啪啪网 |