说明:

MCU系列文章为我们的球队文章的其他成员。发表在原创和非网络。章集中于此

原地址:http://www.eefocus.com/bbs/article_1156_541662.html

转载须注明原地址

首先说下。我和另外一位同学是在智能家居系统中负责单片机部分的成员,我们是计算机专业的,初次接触单片机。下面内容仅适合菜鸟的单片机新手教程。

我们想要实现的功能是PC和51单片机的串口通信,即PC发指令给51。51可以做出对应的反应,51那边按了有关button后,PC能收到这个信号。这对于电气。动机专业的同学来说是再简单只是的事了。可是我是学计算机软件的,对硬件不懂。所以以下我要写的内容都是我一步一步摸索的过程。希望对那些还没有入门的同学有一些帮助。

我打定主意要学51后。就去网上搜资料。加了2个51群。

有什么不懂的就去群里问。

他们都推荐先看郭天祥的《新概念51单片机        C语言 教程》(绝非打广告)。

于是网上下了一个PDF(附件太大了就不上传了,自己去网上搜)。一点点開始看,当然了。对于学计算机的我来说,C语言还是懂一点的,所以看起书来比較轻松,一边看一边对着KEIL和proteus练习、仿真。总结起来就一点:查表。

各种芯片。哪个管脚有什么功能等等都是查表。然后敲代码,有点繁琐,于是我就直接看和我的任务有关的部分,就是51和PC的串口通信那部分。

关于这一部分,网上也都有非常多教程,因为当时我还没有买各种元件,所以打算先在笔记本上仿真。于是我找了非常多资料。但都说得模棱两可,并且有关于笔记本和51通信的资料非常少,当中我看到一篇文章描写叙述的还算清楚。百度文库地址:http://wenku.baidu.com/view/49c49c0d6c85ec3a87c2c5f0.html
我照着上面的步骤做。PC和51还是不能通信。后来能够说是经过我的各种折腾吧,也不知道怎么的就连上了。

以下把我的具体过程说下。

在笔记本上模拟PC和51通信:

先看一下电路图吧:

此电路的主要功能就是在PC上发送一个数字。7段数码管能显示对应的数字,发送指定的字母,对应的LED灯会亮或灭。

另外LED还能够被物理开关控制。网上说在proteus里仿真不须要MAX232和晶振,可是在实际连电路的时候还是须要的。这里我由于我当时不知道怎么连MAX232所以就没有连。

好了,要想实如今笔记本上模拟51和PC通信,须要下面软件:

1)  proteus

2)  虚拟串口调试软件(由于笔记本没有物理串口。所以仅仅能虚拟出来)

3)  串口调试助手

Proteus安装没什么好说的,虚拟串口调试软件在以下的附件中。安装非常easy,网上找一下,打开虚拟串口软件,它的界面是这种:

左边的physical ports就是物理串口。因为我的笔记本没有物理串口,所以为空;virtual ports就是虚拟串口,我之前用过,所以有4个串口,other virtual ports其它串口,无论。

你如今要做的就是在右边,port一,二上选择com1,com2(由于有些串口调试助手仅仅能选择1,2两个口,所以为了照应后面的操作。最好选择com1,com2),然后点击加入port。这样左边virtual ports就会多出2个串口。像上图。com2后面有[9600-N-8-1]说明有程序在用这个port,波特率是9600,校验位为NONE,数据位为8,停止位为1等。其它的就是空的,没有程序在用。

这样就虚拟出了2个串口,比方COM1和COM2。

然后你打开proteus软件,打开上面的电路图,双击单片机选择对应的.hex文件,设置晶振等。重要的一步是:双击compim。设置见下图。

当中的physical port我们选com1,表明这相当于51引出来的一个串口,波特率设置为9600,注意这里的9600要和你的源码相一致。我的源码(在末尾附件)中有TH1  = 0xfd;这样一句。就是设置了波特率为9600,所以在这里,你必须选择9600. 奇偶校验位NONE。数据位8,停止位1等待。

设定点之后OK保存。此时,你会proteus操作完成。

(由于附件被限制。打开另外一个)

新秀学习51供应链管理的----模拟笔记本PC和51串行通讯1的更多相关文章

  1. 基于51的串行通讯原理及协议详解(uart)

    串行与并行通讯方式并行:控制简单,传输速度快.线多,长距离成本较高且同时接受困难.串行:将数据字节分成一位一位的行驶在一条传输线上进行传输.如图:   同步与异步串行通讯方式同步串行通讯方式:同步通讯 ...

  2. STM32学习笔记——SPI串行通讯(向原子哥学习)

    一.SPI  简介 SPI是 Serial Peripheral interface 的缩写,就是串行外围设备接口.SPI 接口主要应用在  EEPROM, FLASH,实时时钟,AD 转换器,还有数 ...

  3. C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例

    C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...

  4. 芯航线FPGA学习套件之多通道串行ADDA(TLV1544,TLC5620)模块测试手册

    芯航线FPGA学习套件之多通道串行ADDA模块测试手册   本手册以简明扼要的方式介绍芯航线FPGA学习套件提供的ADDA模块的测试方法:   连接开发板,如下所示: 2.将ADDA V1.1模块与开 ...

  5. STM32学习笔记(五) USART异步串行口输入输出(轮询模式)

    学习是一个简单的过程,只要有善于发掘的眼睛,总能学到新知识,然而如何坚持不懈的学习却很困难,对我亦如此,生活中有太多的诱惑,最后只想说一句勿忘初心.闲话不多扯,本篇讲诉的是异步串行口的输入输出,串口在 ...

  6. java web学习总结(二十一) -------------------模拟Servlet3.0使用注解的方式配置Servlet

    一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: 1 <servlet> 2 <servlet- ...

  7. 强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)

    在强化学习(十七) 基于模型的强化学习与Dyna算法框架中,我们讨论基于模型的强化学习方法的基本思路,以及集合基于模型与不基于模型的强化学习框架Dyna.本文我们讨论另一种非常流行的集合基于模型与不基 ...

  8. PHP:面向对象学习笔记,重点模拟Mixin(掺入)

    背景 相对于Python.Node和Ruby来说PHP算是一门容易学习和使用的语言,因为这个特点也使其成为WEB开发领域的佼佼者,本文记录一下我对PHP面向对象部分的学习笔记. 先来一个复杂的例子:M ...

  9. 数据结构算法学习之队列(数组模拟java实现)

    数组模拟队列 数组模拟队列 今天学习数组模拟队列.队列常用于生活中的方方面面.比如银行叫号排队.实际上就是队列.所有人抽号排队.先去的先抽号.所以靠前的号最后会先被叫到然后出队.后边的会随之往前移位. ...

随机推荐

  1. XPSP2 PSDK(还有lostspeed)

    XPSP2 PSDK Full Download with Local Install Use the full download to copy the entire Windows XP SP2 ...

  2. Mysql iot表

    我们知道一般的表都以堆(heap)的形式来组织的,这是无序的组织方式. Oracle还提供了一种有序的表,它就是索引组织表,简称IOT表.IOT表上必须要有主键,而IOT表本身不对应segment,表 ...

  3. Linux内核驱动开发之KGDB原理介绍及kgdboe方式配置

    接博文<Linux内核驱动开发之KGDB单步调试内核(kgdboc方式)>.上篇博文中,仅简单介绍使用串口的Kgbd的流程(kgdboc方式),本文将重点介绍KGDB调试Linux内核的原 ...

  4. c语言实现动态指针数组Dynamic arrays

    c语言实现动态数组.其它c的数据结构实现,hashTable參考点击打开链接 treeStruct參考点击打开链接 基本原理:事先准备好一个固定长度的数组. 假设长度不够的时候.realloc一块区域 ...

  5. Gulp.js简介

    Gulp.js简介 我们讨论了很多关于怎么减少页面体积,提高重网站性能的方法.有些是操作是一劳永逸的,如开启服务器的gzip压缩,使用适当的图片格式,或删除一些不必要的字符.但有一些任务是每次工作都必 ...

  6. poj 3415 Common Substrings

    题目链接:http://poj.org/problem?id=3415 题目分类:后缀数组 题意:给出两个串和一个数字k,求两个串的公共字串大于等于k的数目 代码: //#include<bit ...

  7. Hawk-数据抓取工具

    Hawk-数据抓取工具:简明教程   Hawk: Advanced Crawler& ETL tool written in C#/WPF 1.软件介绍 HAWK是一种数据采集和清洗工具,依据 ...

  8. 持续集成环境Jenkins的搭建和使用

    这几天试着搭了个持续集成环境,我使用的是Jenkins,它的前身是Hadson,由于被Oracle收购了,所以换个名字继续开源,这个有点像MySQL. 持续集成总是跟敏捷开发什么的搞在一起,显得非常高 ...

  9. Amazon.com : The Odyssey of the Manual Toothbrusher

    Amazon.com : The Odyssey of the Manual Toothbrusher The Odyssey of the Manual Toothbrusher

  10. 008实现一个算法从一个单链表中返回倒数第n个元素(keep it up)

    我们维护两个指针, 它们之间的距离为n. 然后.我将这两个指针同步地在这个单链表上移动,保持它们的距离 为n不变. 那么, 当第二个指针指到空时.第一个指针即为所求. #include <ios ...