说明:

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. ASP.NET Aries 开发框架

    开源:ASP.NET Aries 开发框架 前言: 随着岁月的推进,不知不觉已在.NET这领域上战斗了十年了. 青春还没来得急好好感受,却已是步入健忘之秋的老人一枚了. 趁着还有点记忆,得赶紧把硬盘里 ...

  2. 与众不同 windows phone (26) - Contacts and Calendar(联系人和日历)

    原文:与众不同 windows phone (26) - Contacts and Calendar(联系人和日历) [索引页][源码下载] 与众不同 windows phone (26) - Con ...

  3. sqlserver自学笔记之的流程控制语句

    1.使用if else语句 ①在学生表中,查找名字为王刚的同学,如果存在,显示该同学的信息,否则显示查无此人 if exists(select sno from student where sname ...

  4. (2)入门指南——(7)添加jquery代码(Adding our jQuery code)

    Our custom code will go in the second, currently empty, JavaScript file which we included from the H ...

  5. ps中图层混合模式算法公式

    网上已经有很多讲解ps的图层混合模式,有些不详细甚至是错误的,参考网上给出的公式及其自己在验证推倒的,给出27种的混合模式算法公式.也许存在一定的错误性,毕竟没有官方给出公式,只能说以供参考吧. 只考 ...

  6. MySQL JDBC事务处理、封装JDBC工具类

    MySQL数据库学习笔记(十)----JDBC事务处理.封装JDBC工具类 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit. ...

  7. nginx做下载限速

    nginx做下载限速-szszszsz-ChinaUnix博客 nginx做下载限速 2009-12-25 14:34:57 分类: 系统运维 nginx做下载服务器,在性能上满足需求.自带limit ...

  8. oschina 手机/移动开发

    手机/移动开发 Android UI 组件(167) React Native 相关(8) 网站客户端(16) NativeScript 插件(18) iPhone/iPad开发工具(16) WP7开 ...

  9. 俄罗斯方块游戏JavaScript代码

    JavaScript代码俄罗斯方块游戏 早就听说网上有人仅仅用60行JavaScript代码写出了一个俄罗斯方块游戏,最近看了看,今天在这篇文章里面我把我做的分析整理一下(主要是以注释的形式). 我用 ...

  10. 传京东副总裁蒉莺春或将接管POP业务-搜狐IT

    传京东副总裁蒉莺春或将接管POP业务-搜狐IT 传京东副总裁蒉莺春或将接管POP业务