- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机与PC机USB通信的设计.doc
单片机与PC机USB通信的设计
发布者:王伟强??发布时间:2007-4-20 14:58:00阐述了一种基于PDIUSBD12通信芯片的单片机与PC机通信设计方法,对系统进行了硬件电路设计和软件设计,使PDIUSBD12成功枚举,并实现单片机与PC机的数据通信。
1引言
单片机是单片微型计算机(MCU)的简称,主要用于工业控制领域,用来实现对信号的检测,数据的采集以及对应用对象的控制。但单片机有其先天的不足:存储空间太小,运算速度较低。若有大量数据要处理、储存或输出时,PC机的存在不可少。所以单片机和PC机之间的通信至关重要,如何有效、方便、快速、准确的进行数据传递作为一个重要问题产生了,“即插即用”的USB技术为我们提供了一种解决方法, USB总线是一种通用串行总线,以其方便易用、快速、价格低廉的特性,已经被广泛应用于各种数据传输设备。本文正是使用USB这一新型总线形式,实现了一种单片机和PC机
之间数据传输的解决方案。
2系统硬件设计
基于 USB 接口的模块开发方案有两种:一种采用具有 USB 接口的单片机,一种采用普通单片机和 USB,本文采用AT89S52单片机与PDIUSBD12通信芯片的方式,开发成本相对较小。
2.1 AT89S52单片机简介
AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k字节的ISP(可在线编程)的可反复擦写1000次以上的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。
2. 2 PDIUSBD12简介
PDIUSBDI2是PHILIPS公司推出的符合USB1.1规范的通用收发器,内部有6个端点,除默认控制端点外,还各有两个普通端点和主端点。8位数据并行接口可以方便地与外部CPU进行连接,在批量传输模式下可达到1 Mbyte/S的数据传输速率。
2.3系统硬件电路
系统硬件包括PDIUSBD12和与PDIUSBD12接口的微控制器AT89S52。系统中,AT89S52单片机通过P1口对PDIUSBDI2的片选、复位进行控制,PDIUSBDI2的中断输出接入单片机中断源。对单片机进行固件编程,加入设计功能,以实现将单片机内部分数据存储单元读入PC机、将PC机中的指定内容写入单片机中指定位置和用PC机对单片机端口进行控制,在PC机指令控制下对单片机端口读取,采集按键开关及LCD灯状态,实现单片机与PC机之间相互通信的功能。系统硬件电路连接图如图2-1所示
图2-1系统硬件电路连接图
3系统软件设计
系统软件设计包括单片机固件程序设计和上位机程序设计两个部分。本次设计中,上位机以通用驱动程序D12test.sys为驱动,以动态链接库EasyD12.dll控制端口,只进行应用程序设计。
3.1单片机固件程序设计
固件程序设计是本次设计的核心,所有功能的实现都建立于固件程序设计之上。固件程序设计的目的是使单片机与PC机之间的数据实现同步准确传输,并在此基础上实现可靠的传输,使PDIUSBD12在USB上达到最大的传输速率。固件程序模块包过:硬件提取层,PDIUSBD12命令接口,中断服务程序,标准设备请求处理,厂商请求处理,主循环程序,各程序模块介绍如下:
1、硬件提取层:硬件提取层是固件中的最低层代码,其执行对PDIUSBD12和线路板硬件与I/O相关的访问。
2、PDIUSBD12命令接口:对PDIUSBD12各个命令进行编程实现。
3、中断服务程序:中断服务程序代码处理由PDIUSBD12产生的中断,它将数据从PDIUSBD12的内部FIFO取回到CPU存储器,并建立正确的事件标志,以通知主循环进行处理。在ISR入口选择中断源,然后进入相应的子程序中进行处理,子程序包括普通端点OUT处理函数ep1_rxdone()、普通端点IN处理函数ep1_txdone()、主端点OUT处理函数main_rxdone()和主端点OUT处理函数main_txdone()。
普通端点和主端点的IN中断时,PDIUSBD12发送的是上一次的数据,发送完成才产生中断,两者操作相似,流程相同,分别用ep1_txdone()和main_txdone()操作,
普通端点OUT处理函数ep1_rxdone()专门处理对单个存储单元的读写操作和、LCD的开关控制和对P1口的读取。
主端点OUT处理函数main_rxdone()专门处理对成块存储单元的读写操作,是固件程序设计的关键,流程图见图3-1。
图3-1主端点输出流程图
4、标准设备请求处理:对标准设备请求的各个动作进行编程
您可能关注的文档
- 分数、小数直接计算的教学点滴.doc
- 分数的初步认识hao.doc
- 分析主题资源的类型.doc
- 分析化学模拟试题(二).doc
- 分析化学课后思考题答案.doc
- 分析在营销业务领域所面临的系统安全问题研究.doc
- 分析实验模拟试卷一.doc
- 分析方法验证及确认管理规程(原创).doc
- 分析材料四个基本方法.doc
- 分析检测类范文.doc
- 人工智能视角下区域教育评价改革利益相关者协调研究——以均衡发展为目标的应用实践教学研究课题报告.docx
- 《金融科技在消费金融领域的应用:基于金融科技伦理的监管策略》教学研究课题报告.docx
- 智能法律服务2025年法律科技人才培养需求分析报告.docx
- 《智能安防视频监控中的行为分析技术在智能工厂安全监控中的应用》教学研究课题报告.docx
- 智能电网背景下2025年数据中心绿色认证体系构建与优化.docx
- 智能电网背景下2025年储能技术产业政策与市场分析报告.docx
- 智能网联汽车2025年智能网联汽车车联网信息安全与监管报告.docx
- 智能监管2025剧本杀行业,内容技术革新分析报告.docx
- 智能穿戴设备用户付费意愿与市场前景研究报告.docx
- 初中化学家庭实验课程资源开发:以实验探究能力培养为核心教学研究课题报告.docx
文档评论(0)