新秀学习51供应链管理的----模拟笔记本PC和51串行通讯1
说明:
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的更多相关文章
- 基于51的串行通讯原理及协议详解(uart)
串行与并行通讯方式并行:控制简单,传输速度快.线多,长距离成本较高且同时接受困难.串行:将数据字节分成一位一位的行驶在一条传输线上进行传输.如图: 同步与异步串行通讯方式同步串行通讯方式:同步通讯 ...
- STM32学习笔记——SPI串行通讯(向原子哥学习)
一.SPI 简介 SPI是 Serial Peripheral interface 的缩写,就是串行外围设备接口.SPI 接口主要应用在 EEPROM, FLASH,实时时钟,AD 转换器,还有数 ...
- C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例
C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...
- 芯航线FPGA学习套件之多通道串行ADDA(TLV1544,TLC5620)模块测试手册
芯航线FPGA学习套件之多通道串行ADDA模块测试手册 本手册以简明扼要的方式介绍芯航线FPGA学习套件提供的ADDA模块的测试方法: 连接开发板,如下所示: 2.将ADDA V1.1模块与开 ...
- STM32学习笔记(五) USART异步串行口输入输出(轮询模式)
学习是一个简单的过程,只要有善于发掘的眼睛,总能学到新知识,然而如何坚持不懈的学习却很困难,对我亦如此,生活中有太多的诱惑,最后只想说一句勿忘初心.闲话不多扯,本篇讲诉的是异步串行口的输入输出,串口在 ...
- java web学习总结(二十一) -------------------模拟Servlet3.0使用注解的方式配置Servlet
一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: 1 <servlet> 2 <servlet- ...
- 强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)
在强化学习(十七) 基于模型的强化学习与Dyna算法框架中,我们讨论基于模型的强化学习方法的基本思路,以及集合基于模型与不基于模型的强化学习框架Dyna.本文我们讨论另一种非常流行的集合基于模型与不基 ...
- PHP:面向对象学习笔记,重点模拟Mixin(掺入)
背景 相对于Python.Node和Ruby来说PHP算是一门容易学习和使用的语言,因为这个特点也使其成为WEB开发领域的佼佼者,本文记录一下我对PHP面向对象部分的学习笔记. 先来一个复杂的例子:M ...
- 数据结构算法学习之队列(数组模拟java实现)
数组模拟队列 数组模拟队列 今天学习数组模拟队列.队列常用于生活中的方方面面.比如银行叫号排队.实际上就是队列.所有人抽号排队.先去的先抽号.所以靠前的号最后会先被叫到然后出队.后边的会随之往前移位. ...
随机推荐
- XPSP2 PSDK(还有lostspeed)
XPSP2 PSDK Full Download with Local Install Use the full download to copy the entire Windows XP SP2 ...
- Mysql iot表
我们知道一般的表都以堆(heap)的形式来组织的,这是无序的组织方式. Oracle还提供了一种有序的表,它就是索引组织表,简称IOT表.IOT表上必须要有主键,而IOT表本身不对应segment,表 ...
- Linux内核驱动开发之KGDB原理介绍及kgdboe方式配置
接博文<Linux内核驱动开发之KGDB单步调试内核(kgdboc方式)>.上篇博文中,仅简单介绍使用串口的Kgbd的流程(kgdboc方式),本文将重点介绍KGDB调试Linux内核的原 ...
- c语言实现动态指针数组Dynamic arrays
c语言实现动态数组.其它c的数据结构实现,hashTable參考点击打开链接 treeStruct參考点击打开链接 基本原理:事先准备好一个固定长度的数组. 假设长度不够的时候.realloc一块区域 ...
- Gulp.js简介
Gulp.js简介 我们讨论了很多关于怎么减少页面体积,提高重网站性能的方法.有些是操作是一劳永逸的,如开启服务器的gzip压缩,使用适当的图片格式,或删除一些不必要的字符.但有一些任务是每次工作都必 ...
- poj 3415 Common Substrings
题目链接:http://poj.org/problem?id=3415 题目分类:后缀数组 题意:给出两个串和一个数字k,求两个串的公共字串大于等于k的数目 代码: //#include<bit ...
- Hawk-数据抓取工具
Hawk-数据抓取工具:简明教程 Hawk: Advanced Crawler& ETL tool written in C#/WPF 1.软件介绍 HAWK是一种数据采集和清洗工具,依据 ...
- 持续集成环境Jenkins的搭建和使用
这几天试着搭了个持续集成环境,我使用的是Jenkins,它的前身是Hadson,由于被Oracle收购了,所以换个名字继续开源,这个有点像MySQL. 持续集成总是跟敏捷开发什么的搞在一起,显得非常高 ...
- Amazon.com : The Odyssey of the Manual Toothbrusher
Amazon.com : The Odyssey of the Manual Toothbrusher The Odyssey of the Manual Toothbrusher
- 008实现一个算法从一个单链表中返回倒数第n个元素(keep it up)
我们维护两个指针, 它们之间的距离为n. 然后.我将这两个指针同步地在这个单链表上移动,保持它们的距离 为n不变. 那么, 当第二个指针指到空时.第一个指针即为所求. #include <ios ...