标题: 求一个单片机与PC机串行通信的程序!!! 怎么做都是错误 [打印本页]

作者: 笨鸟先飞    时间: 2013-6-22 20:45
标题: 求一个单片机与PC机串行通信的程序!!! 怎么做都是错误
求帮忙啊大神们!!!
设计要求:PC机通过串口助手向单片机发送任意十六进制数,共8位,单片机接收到后,将其在LED数码管显示;单片机接收到8位数据后,向PC机返回“OK!”
本人初学,只会简单的串行通信,求教大神帮忙!!!!!!!!!!万分感谢{:soso_e196:}

作者: 笨鸟先飞    时间: 2013-6-27 19:30
游客 110.205.101.x 发表于 2013-6-22 21:07
数码管与单片机相连的电路图是什么样子的啊

不是用的仿真  用的实验箱  电脑用keil编写软件然后写入单片机
作者: livingliving    时间: 2015-4-7 19:00
不懂,但是还是要顶,安抚楼主受伤心灵,每一个新手都是痛苦的开始,快乐的结局
作者: 月阿拉山口飞机    时间: 2016-4-26 09:36
/******************************************************************************* *                  *                                        普中科技 -------------------------------------------------------------------------------- * 实 验 名                 : RS232串口试验 * 实验说明       : 单片机将接收到的数据以10进制显示在LCD1602上面。 * 连接方式       : 见连接图 * 注    意                 :  *******************************************************************************/  #include<reg51.h> #include"lcd.h"  //--定义全局函数--// unsigned char ChCode[14] = "Received data:"; //--声明全局函数--//            void UsartConfiguration(); /******************************************************************************* * 函 数 名         : main * 函数功能                   : 主函数 * 输    入         : 无 * 输    出         : 无 *******************************************************************************/  void main() {         unsigned char i, receiveData;          LcdInit();         for(i=0; i<14; i++)         {                 LcdWriteData(ChCode[i]);         }         UsartConfiguration();         while(1)         {                 if(RI == 1)                                //查看是否接收到数据                 {                         receiveData = SBUF;        //读取数据                         RI = 0;                                //清除标志位                         LcdWriteCom(0xC0);                          //--因为一次接受只能接收到8位数据,最大为255,所以只用显示百位之后--//                         LcdWriteData('0' + (receiveData / 100));      // 百位                         LcdWriteData('0' + (receiveData % 100 / 10)); // 十位                         LcdWriteData('0' + (receiveData % 10));                  // 个位                 }         } } /******************************************************************************* * 函 数 名         :UsartConfiguration() * 函数功能                   :设置串口 * 输    入         : 无 * 输    出         : 无 *******************************************************************************/  void UsartConfiguration() {         SCON=0X50;                        //设置为工作方式1         TMOD=0X20;                        //设置计数器工作方式2         PCON=0X80;                        //波特率加倍         TH1=0XF3;                    //计数器初始值设置,注意波特率是4800的         TL1=0XF3;         TR1=1;                                            //打开计数器 }
作者: Action    时间: 2016-4-26 11:12
我玩过这个  这个需要你在普中科技上把跳线帽接到rs232  然后使用stc-spi下载器下载程序 下载时需要冷启动  下载完成后  在串口助手中查看单片机发送给pc的信息
作者: lvwenqiang1988    时间: 2016-4-26 14:05
楼主先给出具体的电路图,这样大家猜帮得到,因为写程序要看IO口的,要不然写好的程序下载进单片机也不能实现你想要的功能




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1