介绍一种运用PIC16F84单片机实现与PC机串行通信的方法,并给出其硬件接口电路及通信源程序。关键词 异步串行通信 发送与接收 VB4 Win95 串口查询法 1 前言 美国Microchip公司的PIC16系列单片机是一种新型的CMOS工艺的8位单片机。其中,PIC16FXX单片机的程序存储器为电可擦除闪速存储器(flash),可多次修改程序,甚至可以在线编程。PIC16F83和PIC16F84片内数据存储器除RAM外,还有64字节的EEPROM,可以当作一般的或非易失性的数据存储器使用,简单方便。它还具有片内上电复位、延时电路、看门狗电路等。另外,PIC16系列单片机功耗极低,因而是一种非常适合在各种便携式设备中使用的高性价比的单片机,并已经得到了越来越广泛的应用。 但是在许多需要大量计算的运用中,还必须借助微机的强大数据处理能力。这样必须通过通信电路实现PIC单片机与微机间的可靠数据传输。有的PIC16单片机内并没有提供串行口,所以串行通信必须通过自己设计的硬件电路和通信软件来实现。 下面介绍用查询法实现异步串行通讯的方法。同时给出了用PIC16F84单片机的两个I/O口模拟2线串行口的硬件接口电路、程序流程框图、单片机内通信程序以及微机内的通信程序等。2 硬件实现方法与电路 PIC16F84的程序存储器由1K×14的闪速(flash)存储器构成,它只有13条I/O口,1个定时器,为了尽量节省单片机的软硬件资源,采用下述异步串行通信的实现方法。 如图1所示,PIC16F84在4MHz时钟下,采用半双工方式,可实现9600波特率的异步串行数据通信,1位停止位,8位数据位,无校验位。接收和发送以低位在先(一般模式),采用软件延时。为节省篇幅,单片机内的通信程序中未提供任何握手协议,用户可根据自己的需要在软件中加入握手方式。
上传时间: 2014-12-27
上传用户:偷心的海盗
PC机之间串口通信的实现一、实验目的 1.熟悉微机接口实验装置的结构和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.学会串行通信程序的编制方法。 二、实验内容与要求 1.基本要求主机接收开关量输入的数据(二进制或十六进制),从键盘上按“传输”键(可自行定义),就将该数据通过8251A传输出去。终端接收后在显示器上显示数据。具体操作说明如下:(1)出现提示信息“start with R in the board!”,通过调整乒乓开关的状态,设置8位数据;(2)在小键盘上按“R”键,系统将此时乒乓开关的状态读入计算机I中,并显示出来,同时显示经串行通讯后,计算机II接收到的数据;(3)完成后,系统提示“do you want to send another data? Y/N”,根据用户需要,在键盘按下“Y”键,则重复步骤(1),进行另一数据的通讯;在键盘按除“Y”键外的任意键,将退出本程序。2.提高要求 能够进行出错处理,例如采用奇偶校验,出错重传或者采用接收方回传和发送方确认来保证发送和接收正确。 三、设计报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法) 四、8251A通用串行输入/输出接口芯片由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串→并)和“发送移位寄存器”(并→串)。能够完成上述“串←→并”转换功能的电路,通常称为“通用异步收发器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A异步工作方式:如果8251A编程为异步方式,在需要发送字符时,必须首先设置TXEN和CTS#为有效状态,TXEN(Transmitter Enable)是允许发送信号,是命令寄存器中的一位;CTS#(Clear To Send)是由外设发来的对CPU请求发送信号的响应信号。然后就开始发送过程。在发送时,每当CPU送往发送缓冲器一个字符,发送器自动为这个字符加上1个起始位,并且按照编程要求加上奇/偶校验位以及1个、1.5个或者2个停止位。串行数据以起始位开始,接着是最低有效数据位,最高有效位的后面是奇/偶校验位,然后是停止位。按位发送的数据是以发送时钟TXC的下降沿同步的,也就是说这些数据总是在发送时钟TXC的下降沿从8251A发出。数据传输的波特率取决于编程时指定的波特率因子,为发送器时钟频率的1、1/16或1/64。当波特率指定为16时,数据传输的波特率就是发送器时钟频率的1/16。CPU通过数据总线将数据送到8251A的数据输出缓冲寄存器以后,再传输到发送缓冲器,经移位寄存器移位,将并行数据变为串行数据,从TxD端送往外部设备。在8251A接收字符时,命令寄存器的接收允许位RxE(Receiver Enable)必须为1。8251A通过检测RxD引脚上的低电平来准备接收字符,在没有字符传送时RxD端为高电平。8251A不断地检测RxD引脚,从RxD端上检测到低电平以后,便认为是串行数据的起始位,并且启动接收控制电路中的一个计数器来进行计数,计数器的频率等于接收器时钟频率。计数器是作为接收器采样定时,当计数到相当于半个数位的传输时间时再次对RxD端进行采样,如果仍为低电平,则确认该数位是一个有效的起始位。若传输一个字符需要16个时钟,那么就是要在计数8个时钟后采样到低电平。之后,8251A每隔一个数位的传输时间对RxD端采样一次,依次确定串行数据位的值。串行数据位顺序进入接收移位寄存器,通过校验并除去停止位,变成并行数据以后通过内部数据总线送入接收缓冲器,此时发出有效状态的RxRDY信号通知CPU,通知CPU8251A已经收到一个有效的数据。一个字符对应的数据可以是5~8位。如果一个字符对应的数据不到8位,8251A会在移位转换成并行数据的时候,自动把他们的高位补成0。 五、系统总体设计方案根据系统设计的要求,对系统设计的总体方案进行论证分析如下:1.获取8位开关量可使用实验台上的8255A可编程并行接口芯片,因为只要获取8位数据量,只需使用基本输入和8位数据线,所以将8255A工作在方式0,PA0-PA7接实验台上的8位开关量。2.当使用串口进行数据传送时,虽然同步通信速度远远高于异步通信,可达500kbit/s,但由于其需要有一个时钟来实现发送端和接收端之间的同步,硬件电路复杂,通常计算机之间的通信只采用异步通信。3.由于8251A本身没有时钟,需要外部提供,所以本设计中使用实验台上的8253芯片的计数器2来实现。4:显示和键盘输入均使用DOS功能调用来实现。设计思路框图,如下图所示: 六、硬件设计硬件电路主要分为8位开关量数据获取电路,串行通信数据发送电路,串行通信数据接收电路三个部分。1.8位开关量数据获取电路该电路主要是利用8255并行接口读取8位乒乓开关的数据。此次设计在获取8位开关数据量时采用8255令其工作在方式0,A口输入8位数据,CS#接实验台上CS1口,对应端口为280H-283H,PA0-PA7接8个开关。2.串行通信电路串行通信电路本设计中8253主要为8251充当频率发生器,接线如下图所示。
上传时间: 2013-12-19
上传用户:小火车啦啦啦
基于PC机的电子琴设计 一、实验目的1.掌握利用pc机扬声器发出声音的方法。2.学习利用系统功能调用从键盘上读取字符的方法。 二、实验内容与要求利用PC机和扬声器实现简易电子琴的功能。 1.基本要求(1)电子琴功能,编写程序,程序运行时使pc机成为一架可弹奏的“钢琴”。当按下PC机键盘数字键1-8时,依次发出1,2,3,4,5,6,7,i八个音调。(2)音乐盒功能,内部存储至少2首以上的乐曲,根据菜单选择播放。2.提高要求(1)使一组放光二极管随音调变化而改变,实现音乐彩灯 (2)能够实现高、中、低音的选择。 (3)能够存储弹奏的内容,进行回放。 三、实验报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单 5.设计结果和体会(包括遇到的问题及解决的方法) 四、设计原理要使扬声器发出不同的音调,就得输入不同频率的波形。通过给8253定时/计数器装入不同的计数值,可以使其输出不同频率的方波。经过放大器的放大作用,便可驱动扬声器发出不同的音调,只要插入一段延时程序之后,再将扬声器切断,音调的声音就可以持续一端时间。通过计算机的不同按键输出不同的音调,需要使用系统调用功能以接收键入字符,并且要建立一张表,使键入字符与频率构成一个对应关系。
上传时间: 2013-10-16
上传用户:xlcky
protel99电子线路图绘图工具.Protel99SE是Protel公司近10年来致力于Windows平台开发的最新结晶,能实现从电学概念设计到输出物理生产数据,以及这之间的所有分析、验证和设计数据管理。因而今天的Protel最新产品已不是单纯的PCB(印制电路板)设计工具,而是一个系统工具,覆盖了以PCB为核心的整个物理设计。 最新版本的Protel软件可以毫无障碍地读Orcad、Pads、Accel(PCAD)等知名EDA公司设计文件,以便用户顺利过渡到新的EDA平台。 Protel99 SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。 以下介绍一些Protel99SE的部分最新功能: ◆可生成30多种格式的电气连接网络表; ◆强大的全局编辑功能; ◆在原理图中选择一级器件,PCB中同样的器件也将被选中; ◆同时运行原理图和PCB,在打开的原理图和PCB图间允许双向交叉查找元器件、引脚、网络 ◆既可以进行正向注释元器件标号(由原理图到PCB),也可以进行反向注释(由PCB到原理图),以保持电气原理图和PCB在设计上的一致性; ◆满足国际化设计要求(包括国标标题栏输出,GB4728国标库); * 方便易用的数模混合仿真(兼容SPICE 3f5); ◆支持用CUPL语言和原理图设计PLD,生成标准的JED下载文件; * PCB可设计32个信号层,16个电源-地层和16个机加工层; ◆强大的“规则驱动”设计环境,符合在线的和批处理的设计规则检查; ◆智能覆铜功能,覆铀可以自动重铺; ◆提供大量的工业化标准电路板做为设计模版; ◆放置汉字功能; ◆可以输入和输出DXF、DWG格式文件,实现和AutoCAD等软件的数据交换; ◆智能封装导航(对于建立复杂的PGA、BGA封装很有用); ◆方便的打印预览功能,不用修改PCB文件就可以直接控制打印结果; ◆独特的3D显示可以在制板之前看到装配事物的效果; ◆强大的CAM处理使您轻松实现输出光绘文件、材料清单、钻孔文件、贴片机文件、测试点报告等; ◆经过充分验证的传输线特性和仿真精确计算的算法,信号完整性分析直接从PCB启动; ◆反射和串扰仿真的波形显示结果与便利的测量工具相结合; ◆专家导航帮您解决信号完整性问题。
上传时间: 2013-10-14
上传用户:hanwudadi
1.什么是CTP? CTP包括几种含义: 脱机直接制版(Computer-to-plate) 在机直接制版(Computer-to-press) 直接印刷(Computer-to-paper/print) 数字打样(Computer-to-proof) 普通PS版直接制版技术,即CTcP(Computer-to-conventional plate) 这里所论述的CTP系统是脱机直接制版(Computer-to-plate)。CTP就是计算机直接到印版,是一种数字化印版成像过程。CTP直接制版机与照排机结构原理相仿。起制版设备均是用计算机直接控制,用激光扫描成像,再通过显影、定影生成直接可上机印刷的印版。计算机直接制版是采用数字化工作流程,直接将文字、图象转变为数字,直接生成印版,省去了胶片这一材料、人工拼版的过程、半自动或全自动晒版工序。
标签: CTP
上传时间: 2014-01-22
上传用户:鱼哥哥你好
随着总线和接口技术的发展,在工业场合如何更加可靠、快速、便捷地进行数据传输成为该领域通信的研究重点之一。而USB技术以其高速、可靠、通用性强等一系列特点在过去的十多年时间里发展迅猛,而USB OTG技术的诞生,使得两USB设备在没有PC参与的情况下进行数据传输成为可能。本文通过搭建以16位微处理器MSP430F149为核心控制芯片、ISPl362为USB接口芯片的硬件平台,分别实现了USB部分主机和从机功能,使之能进行USB数据的存储与交换。本文完成以下工作:首先,认真研究USB协议,深入理解USB通信的基本概念和传输方式等内容。仔细分析USB Mass Storage类协议,并讨论了采用BULK-ONLY传输实现Mass Storage类协议的方法,并对SCSI指令集等进行了深入的剖析。其次,根据要求,设计出由控制、接口、数据存储、过流保护与供电切换电路等硬件模块组成的系统,在ALTIUM 2004软件上完成原理图的设计和PCB图的布局、布线,并完成硬件调试工作。再次,在已构建的硬件平台上,针对ISPl362 USB接口芯片的主/从机功能,分别设计了USB主机和从机的固件程序。利用IAR Workbench、BusHound等软件进行固件程序的调试,最终USB主机可对u盘进行检测、识别与配置;USB设备实现了USB设备的基本功能,能够被Windows XP操作系统识别,与PC机之间实现数据的批量传输。最后,用DriverWorks软件包的Driver Wizard生成驱动程序框架,并利用Windows DDK和vc++等软件进行驱动程序的编译,最终生成基于Windows操作系统的WDM型USB设备驱动程序。通过对USB通信协议的研究,本人成功地构建了以MsP430F149和ISPl362为核心的硬件试验平台,并在此平台上进行USB主机、从机通信试验。经测试表明,PC机能检测、识别、读写USB设备,其读取与写入速度分别为560KB/s和312Ⅺ玳。而主机能识别、配置接入的U盘。关键词:USB主机、USB从机、MSI'430F149、ISPl362、BuR-Only传输
上传时间: 2013-10-11
上传用户:浅言微笑
vxworks下的GIS系统。 使用说明: 1.下载 "VxEmapgis.out" 或则 "VxEmapgis2.out" 到目标机 2.运行 "main" ,启动应用程序 , 3.按 "ESC" 弹出菜单, 4.选择 "打开图层" , 弹出图打开窗口 , 输入图层文件名称 如 “road.vxw” 或者 “water.vxw” 5.按 大写字母"O",确定, 或者大写字母 “C”取消 6.按方向箭头、pagedown , pageup 实现漫游 , , + , - 实现缩放 7.按 "ESC" 第二次可以取消菜单 8.图层控制窗口中,列出了已打开的图层 , 使用方向箭头移动,选择相应的图层可以关闭,也可以在这里打开图层 9.选择菜单项 退出系统 ,结束应用程序 注:需要支持x86-bios 的PC机 , 我测试所用机器是: 目标机: p2的350M cpu + 256M内存 + Tornado2.02 + windml2.0 主机: p4 + window2000 server 虽然我已经把windml的库连接到程序里,可能还需要安装WINDML2.0,我不大确定. 需要把图层文件(“road.vxw” , “water.vxw” , "region.vxw" , "placename.vxw"),符号文件(symbollib目录)等 拷贝到wftpd的根目录下面 VxEmapgis.out : 没有中断提示 VxEmapgis2.out: 有中断提示
标签: VxEmapgis out vxworks main
上传时间: 2015-03-25
上传用户:stella2015
智能咖啡机的精确恒温方案设计,给出了系统图和方案
上传时间: 2015-05-25
上传用户:stampede
第 一 节 ispDesignEXPERT 简 介 第 二 节 ispDesignEXPERT System 的 原 理 图 输 入 第 三 节 设 计 的 编 译 与 仿 真 第 四 节 ABEL 语 言 和 原 理 图 混 合 输 入 第 五 节 ispDesignEXPERT System 中 VHDL 和Verilog 语 言 的 设 计 方 法 第 六 节 在 系 统 编 程 的 操 作 方 法 第 七 节 ModelSim 的 使 用 方 法 附 录 一 ispDesignEXPERT System 上 机 实 习 题 附 录 二 ispDesignEXPERT System 文 件 后 缀 及 其 含 义
上传时间: 2015-06-22
上传用户:lmeeworm
可编程控制器PLC的应用绝大部分都是通过编写梯形图的方式实现程序控制的,但对于智能低压开关系统来讲,其分、断的控制往往要求由主控操作室远程控制来完成。按传统的方法,主控室要对某一个开关柜进行操作,须先发一个控制命令,PLC接收到该控制命令后,再由PLC程序执行该命令,该段程序必须用梯形图或逻辑指令编程,当开关柜数目巨大或要求多路设备同时控制时,PLC的程序编写就比较复杂,尤其是采用脉冲型输出控制而不是用电平保持型控制时更是如此。因为开关柜的分、合控制须两路继电器输出分别控制“分闸”和“合闸”,而不是由单路继电器保持输出控制,使继电器输出与开关柜分合一致。考虑这些因素,本文采用串行通讯实现PLC的控制,PLC本机无须任何梯形图或逻辑指令,这样不仅实现简单而且方便可靠。
上传时间: 2014-01-09
上传用户:sammi