找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机与PC上位机串行口通信调不通

查看数: 3067 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-11-6 16:04

正文摘要:

#include<reg52.h> #define  uchar  unsigned  char #define  uint  unsigned  int #define  zxmaddr  P0 #define  ...

回复

ID:243437 发表于 2017-11-22 15:11
wulin 发表于 2017-11-7 08:47
程序毛病不是语法问题,是语句次序问题。flag=0;要放在ES=0;与ES=1;之间,否在会丢帧。因为中断一旦打开, ...

谢谢
ID:243437 发表于 2017-11-22 15:10
zl2168 发表于 2017-11-6 21:14
介绍你一个虚拟仿真案例
单片机与PC机虚拟串行通信
先Proteus仿真一下,确认有效。以上摘自张志良编著《8 ...

谢谢
ID:243437 发表于 2017-11-22 14:43
wulin 发表于 2017-11-7 08:47
程序毛病不是语法问题,是语句次序问题。flag=0;要放在ES=0;与ES=1;之间,否在会丢帧。因为中断一旦打开, ...

谢谢
ID:243437 发表于 2017-11-22 14:43
zl2168 发表于 2017-11-6 21:14
介绍你一个虚拟仿真案例
单片机与PC机虚拟串行通信
先Proteus仿真一下,确认有效。以上摘自张志良编著《8 ...

谢谢
ID:213173 发表于 2017-11-7 08:47
程序毛病不是语法问题,是语句次序问题。flag=0;要放在ES=0;与ES=1;之间,否在会丢帧。因为中断一旦打开,很可能不是执行flag=0;,而是先响应中断,再返回执行flag=0;,这样就丢了一帧。改后如下:
void  main()
{
        init();
        while(1)
        {
                disp();
                if(flag==1)
                {
                        ES=0;
                        send_char(a);
                        flag=0;
                        ES=1;
                }
        }
}
ID:111634 发表于 2017-11-6 21:14
本帖最后由 zl2168 于 2017-11-6 21:15 编辑

介绍你一个虚拟仿真案例
单片机与PC机虚拟串行通信
实验16 与PC机虚拟串行通信.rar (151.41 KB, 下载次数: 14)

Proteus仿真一下,确认有效。以上摘自张志良编著《80C51单片机实用教程》ISBN 978-7-04-044532-9,高教社出版。     书中电路和程序设计有详细说明,程序语句条条有注解。仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表