熊猫棋牌官方下载

单片机串口通信求助

[复制链接]
1918 0 打印 上一主题 下一主题

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本人单片机小白,想入门单片机,串口通信遇到了问题望大神不吝赐教

这是我用的板子,和他串口通信的是一个扫码枪,想实现扫码枪扫描一个条形码,液晶显示屏上显示条形码上的数字
附上这个板子的原理图 TX-1C型单片机实验板原理图.pdf (1015.98 KB, 下载次数: 0)
扫码枪是串口扫码枪

现在的情况是我在使用串口调试工具的时候送数据是没有问题的,液晶上也有显示,但是扫码枪扫码之后却完全没有反应,网上说要扫码枪和单片机分别供电需要共地,但我不是很懂啊,应该怎么实现呢。这个实验板上有焊接max232模块实现TTL与RS232的转换,是不是就默认共地了??? 很懵逼啊
使用的是c语言,以下是我的代码

  1. #include <REG52.H>
  2. #include <string.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uchar UART_buff;
  6. uchar table[20];
  7. int count;
  8. bit New_rec = 0, Send_ed = 1;

  9. sbit lcden=P3^4;
  10. sbit lcdrs=P3^5;
  11. sbit dula=P2^6;
  12. sbit wela=P2^7;


  13. void delay(uint z) {                 //延时函数
  14.         uint x,y;
  15.         for(x=z; x>0; x--)
  16.                 for(y=110; y>0; y--);
  17. }
  18. void write_com(uchar com) {  //需要看操作时序
  19.         lcdrs=0;
  20.         P0=com;                                  //P0送的指令码
  21.         delay(5);
  22.         lcden=1;
  23.         delay(5);
  24.         lcden=0;
  25. }
  26. void write_dat(uchar dat) {  //需要看操作时序
  27.         lcdrs=1;
  28.         P0=dat;                                  //P0送的指令码
  29.         delay(5);
  30.         lcden=1;
  31.         delay(5);
  32.         lcden=0;
  33. }
  34. void init() {
  35.         dula=0;                                  //关闭数码管锁存端
  36.         wela=0;
  37.         lcden=0;
  38.         write_com(0x38);          //设置显示模式
  39.         write_com(0x0e);          //设置光标
  40.         write_com(0x06);          //设置字符指针
  41.         write_com(0x01);          //清屏指令
  42.         write_com(0x80);          //光标定位


  43. }
  44. //----------------------------------------------
  45. void main (void) {
  46.         int num;
  47.         init();
  48.         SCON = 0x50;   //串口方式1, 8-n-1, 允许接收.
  49.         TMOD = 0x20;   //T1方式2
  50.         TH1 = 0xFD;    //[email protected]
  51.         TL1 = 0xFD;
  52.         TR1 = 1;
  53.         ES  = 1;       //开中断.
  54.         EA  = 1;
  55.         while(1)  {
  56.                 if (New_rec == 1)  {                          //如果收到新数据
  57.                         ES=0;//关闭串口中断
  58.                         SBUF = UART_buff;                         //发送数据
  59.                         table[count++]=UART_buff;
  60.                         while(!Send_ed);                          //等待数据发送完毕
  61.                         if(!(table[9]==0)) {                //如果缓存表满,给LCD送出数据
  62.                                 init();                                        //清屏及光标定位
  63.                                 for(num=0; num<10; num++) {
  64.                                         write_dat(table[num]);
  65.                                 }
  66.                                 count=0;                                                   //缓存表初始化
  67.                                 num=0;
  68.                                 memset(table, 0, 20*sizeof(char)); //缓存表清零
  69.                         }
  70.                         ES=1;//开启串口中断
  71.                         New_rec = 0;                //接收完数据,标记置0
  72.                         Send_ed = 1;                                //发送完数据,标记置0
  73.                 }
  74.         }
  75. }
  76. //----------------------------------------------
  77. void ser_int (void) interrupt 4 {
  78.         if(RI == 1) {                          //处理接收中断
  79.                 RI = 0;                      //接收中断标记置0
  80.                 New_rec = 1;                //通知主函数接收到新数据
  81.                 UART_buff = SBUF;   //取串口数据
  82.         }
  83.         if(TI == 1)  {              //处理发送中断
  84.                 TI = 0;                      //发送中断标记置0
  85.                 Send_ed = 1;                //通知主函数数据发送完成
  86.         }
  87. }
  88. //----------------------------------------------
复制代码

跳转到指定楼层
28 个评论

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

快速回复 返回列表 客服中心 搜索 官方QQ群
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
  • QQ:187196467
  • 周一到周日 8:30-22:00 (全年无休)
快速回复 返回顶部 返回列表

0759棋牌下载 035棋牌官方网站 0.1的棋牌 035棋牌手游官网 035棋牌唯一官网 035棋牌手机版下载 0759棋牌官网下载 10可以的棋牌 035棋牌游戏 035棋牌官网

  • <tr id='87zmz'><strong id='87zmz'></strong><small id='87zmz'></small><button id='87zmz'></button><li id='87zmz'><noscript id='87zmz'><big id='87zmz'></big><dt id='87zmz'></dt></noscript></li></tr><ol id='87zmz'><option id='87zmz'><table id='87zmz'><blockquote id='87zmz'><tbody id='87zmz'></tbody></blockquote></table></option></ol><u id='87zmz'></u><kbd id='87zmz'><kbd id='87zmz'></kbd></kbd>

    <code id='87zmz'><strong id='87zmz'></strong></code>

    <fieldset id='87zmz'></fieldset>
          <span id='87zmz'></span>

              <ins id='87zmz'></ins>
              <acronym id='87zmz'><em id='87zmz'></em><td id='87zmz'><div id='87zmz'></div></td></acronym><address id='87zmz'><big id='87zmz'><big id='87zmz'></big><legend id='87zmz'></legend></big></address>

              <i id='87zmz'><div id='87zmz'><ins id='87zmz'></ins></div></i>
              <i id='87zmz'></i>
            1. <dl id='87zmz'></dl>
              1. h?c ti?ng Trung onlineyoga Viet Nam

                  <dir id='gwwt1'><del id='gwwt1'><del id='gwwt1'></del><pre id='gwwt1'><pre id='gwwt1'><option id='gwwt1'><address id='gwwt1'></address><bdo id='gwwt1'><tr id='gwwt1'><acronym id='gwwt1'><pre id='gwwt1'></pre></acronym><div id='gwwt1'></div></tr></bdo></option></pre><small id='gwwt1'><address id='gwwt1'><u id='gwwt1'><legend id='gwwt1'><option id='gwwt1'><abbr id='gwwt1'></abbr><li id='gwwt1'><pre id='gwwt1'></pre></li></option></legend><select id='gwwt1'></select></u></address></small></pre></del><sup id='gwwt1'></sup><blockquote id='gwwt1'><dt id='gwwt1'></dt></blockquote><blockquote id='gwwt1'></blockquote></dir><tt id='gwwt1'></tt><u id='gwwt1'><tt id='gwwt1'><form id='gwwt1'></form></tt><td id='gwwt1'><dt id='gwwt1'></dt></td></u>
                1. <code id='gwwt1'><i id='gwwt1'><q id='gwwt1'><legend id='gwwt1'><pre id='gwwt1'><style id='gwwt1'><acronym id='gwwt1'><i id='gwwt1'><form id='gwwt1'><option id='gwwt1'><center id='gwwt1'></center></option></form></i></acronym></style><tt id='gwwt1'></tt></pre></legend></q></i></code><center id='gwwt1'></center>

                    <dd id='gwwt1'></dd>

                      <style id='gwwt1'></style><sub id='gwwt1'><dfn id='gwwt1'><abbr id='gwwt1'><big id='gwwt1'><bdo id='gwwt1'></bdo></big></abbr></dfn></sub>
                      <dir id='gwwt1'></dir>
                    1. h?c ti?ng Trung onlineyoga Viet Nam

                      <small id='lf7uq'></small><noframes id='lf7uq'>

                    2. <tfoot id='lf7uq'></tfoot>

                        <legend id='lf7uq'><style id='lf7uq'><dir id='lf7uq'><q id='lf7uq'></q></dir></style></legend>
                        <i id='lf7uq'><tr id='lf7uq'><dt id='lf7uq'><q id='lf7uq'><span id='lf7uq'><b id='lf7uq'><form id='lf7uq'><ins id='lf7uq'></ins><ul id='lf7uq'></ul><sub id='lf7uq'></sub></form><legend id='lf7uq'></legend><bdo id='lf7uq'><pre id='lf7uq'><center id='lf7uq'></center></pre></bdo></b><th id='lf7uq'></th></span></q></dt></tr></i><div id='lf7uq'><tfoot id='lf7uq'></tfoot><dl id='lf7uq'><fieldset id='lf7uq'></fieldset></dl></div>

                            <bdo id='lf7uq'></bdo><ul id='lf7uq'></ul>

                            1. <li id='lf7uq'><abbr id='lf7uq'></abbr></li>
                            2. h?c ti?ng Trung onlineyoga Viet Nam