注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
大西洋的个人空间 https://home.eeworld.com.cn/space-uid-316464.html [收藏] [复制] [分享] [RSS]
日志

硬件版的串口调试助手(C51 数码管版)

已有 2541 次阅读2011-3-29 20:51 |个人分类:创新实用设计

    串口调试助手软件相信大家都用得多了,下面我来介绍本人用AT89S52设计的一款硬件版的串口调试助手。^.^

公司的许多无线通信设备需要测试串行数传功能,而传统的测试方法就是用数传线将设备的数据口与电脑串口连接,使且串口调试助手控制设备进行收发数据。这种方法不好的地方就是测试的时候需要两台笔记本电脑,等开机啦和每次收发数据时都要先手动清空接收区,十分烦人。所以我设计了下面这个电路来解决这一问题。

 

 

硬件版的串口调试助手(C51版),模拟了电脑中的串口调试助手软件的功能,有波特率选择、短句收发和文件收发等功能。累计并显示接收到文件容量大小,当数传通信出现异常自动报错和累计并显示接收到的误码(误码优先显示)。根据实际使用过程的经验,电路中编好有”good!”(好!)”again!”(重来!)两条回复语句,让通信双方相互告知数传后的情况。

硬件版的串口调试助手(C51版)测试夹具的优势:

1、  体积轻巧,携带方便,可手持使用,无需考虑放置的问题;

2、  从被测设备接口中获取电源,不再用担心使用过程中会因没电而被迫中断测试;

3、  性能可靠稳定,即插即用,不必等待开机,恶劣环境下使用也不必担心会有死机等问题;

4、  自动拒绝接收整机刚进入数传时所发出的无意义的乱码,不像电脑上要不停的为收到的的乱码清0,浪费时间;

 一个拇指就能负责完成所有操作,无需敲键盘,动鼠标。测试速度成倍提高。
 
低廉的成本(器件30块钱都不用),就可达到与电脑一模一样的效果。嘿嘿嘿,奸笑一下^.^
 
电路分析:

1、显示  显示采用动态显示,刷屏为4ms,增加驱动。PORT 0口直接输出扫描信号。

2、状态指示  由两只LED显示指示,分别是红色与绿色。指示接收数据的情况。红:bad;绿:good

3、电平转换   MAX232,电平转换ICAEIßàTTL

       4、单片机  AT89S52 

      5、按键  按键功能分别为K1波特率选择、K2回复语句选择、K3发数。

 

电路使用说明

夹具的使用一般都是一对的使用,与电脑也能兼容使用。当一端用夹具而另一端用电脑,使用方法是一样的。电脑传多大的文件,夹具电路就会显示出收到多大的文件;夹具电路发什么,电脑就会显示什么。发回复语句时电脑里也是照样输入”good!””again!”在电路中即可显示出来.

1、  波特率选择  按下轮流选择波特率,并在LED数码管上显示出来。

2、  回复语句选择  按下轮流显示good!bad!

3、  发数  按下后,如此时正显示回复语句,则发送goodbad,如正在显示波特率,则发送1K文件。

 

部分程序:

 void main()

          {

           P0=0XFF;     //初始化

           P1=0X00;

           P2=0XFF;

           rxsz=0;      //收到的字节累计

     badch=0;     //错误次数累计

           btlsz=0;

         //----------------------------串口初始化,默认为4800

           TMOD|=0X20;

           TH1=0XFA;    //波特率4800,不倍增

           TL1=0XFA;

           ET1=0;

           TR1=1;

           SCON=0X50;    //MODE1,允许接收

           PCON=0X00;

           ES=1;     //开串行中断

           EA=1;

         //----------------------------------------------------- 

           while(1)

            {

                    keych();    //查询按键

         if(rxsz==0)  //如果还没有收到数

                     {SHBTL();}     //显示此时的波特率

        else if(rxsz>0)

          {SSHH();}      //显示收到数后的情况    

                   }

          }

//================================================================================
 
后面将依次介绍我的一个比一个强技术含量的创意设计,今天就先介绍这个最低的。^.^
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章