毕业设计(论文)-单片机与上位机的USB通信系统的设计.doc_第1页
毕业设计(论文)-单片机与上位机的USB通信系统的设计.doc_第2页
毕业设计(论文)-单片机与上位机的USB通信系统的设计.doc_第3页
毕业设计(论文)-单片机与上位机的USB通信系统的设计.doc_第4页
毕业设计(论文)-单片机与上位机的USB通信系统的设计.doc_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

吉 林 农 业 大 学学 士 学 位 论 文 题目名称: 单片机与上位机的USB通信系统的设计 学生姓名: 院 系: 信息技术学院 专业年级: 电子信息2006级 指导教师: 职 称: 讲师 2010年 5 月 25 日目 录题目I摘要及关键字I1 前 言11.1 题目的来源和开发的意义11.2 系统功能概述12 系统硬件设计22.1 系统硬件总体设计概述22.2 方案论证23 系统各模块设计23.1 CH375简介33.1.1 CH375的特点43.1.2 并行接口43.1.3 串行接口53.1.4 CH375引脚图53.1.4 引脚的其他说明63.1.5 命令73.1.6 中断说明83.1.7 功能说明93.1.8 时序参数93.1.9 CH375与设备通信模式103.1.10 CH375与主机通信模式104.1 控制模块104.1.1 STC89LV51单片机的简介114.1.2 主要特性114.1.3 管脚说明124.1.4 振荡器特性134.1.5 芯片擦除134.2 1602液晶显示模块134.2.1 1602使用说明134.2.2 1602外观图144.2.3 1602电路图144.2.4 1602引脚说明154.2.5 1602连接注意事项154.3 按键模块164.4温度检测系统164.4.1温度传感器DS18B20介绍及其设计164.5.2 DS18B20的内部结构164.5.3 DS18B20的测温原理184.5.4 DS18B20测温电路图194.5.5温度采集程序的设计204.6 温度界面设计235 上位机软件设计245.1 MFC介绍245.2 设计步骤256 基于CH375的USB通信的上位机设计286.1 Windows系统配置286.2 升级和配置模块286.3 ch375dll.h头文件介绍296.4 上位机的对话框设计31参考文献32致 谢33附录1 系统总体硬件原理34附录2 单片机程序设计流程图36附录3 单片机程序设计37附录4 上位机程序设计46附录5 测温系统界面的设计63II单片机与上位机的USB通信系统的设计学 生: 专 业:电子信息科学与技术指导教师: 摘 要:随着现代工业领域对数据采集的要求越来越高,传统的以采用数据采集卡为主的方法由于传输速度慢、安装麻烦、抗干扰能力弱等诸多问题已难以适应如今数据采集的要求。通用串行总线USB具有速度快、支持热插拔及传输线少等优点,因此将USB应用于数据采集系统可以很好的解决传统数据采集系统的不足,具有广泛的应用价值。本设计主要是做一个USB接口通信问题,下位机端是用80C51单片机采集信息,通过南京沁恒公司提供的芯片CH375与PC机通信。下位机端可以采集多种数据形式:温度、湿度、声音等等,上位机段采用Microsoft visual c+ 6.0软件,做一个用户界面,用来显示和处理下位机端传送过来的数据,这体现了一个人性化的操作,方便各种知识水平的业内业外人士使用。采集数据广,采集量大,传输速度快,用户处理方便,是本系统的特点、优点。关键字:USB;CH375;单片机;数据采集;通信The Design of MCU and the USB host computer communication systemName:Xu Ning Major:Electronic Information Science and TechnologyTutor: Gong HeAbstract:As the demand to data acquisition is more and more high in modern industry field,the traditional method because of the transmission speed lowly,incovenient installation,weak ability of anti-jamming and other problems which mainly makes use of data acquisition card has not adapted to the high requirement of modern data acquisition.USB(UniversalSerial Bus)has many advantages,such as transmission speed faster,sustaining hot plug andfew transmission lines.So the application of USB in data acquisition system can be thesolution of the deficiency of traditional data acquisition system,and it will has widelyapplication value. This design isUSBinterfacecommunication problems,lower-endmachinewith80C51single-chip collection of information, through Nanjing Qin Heng CH375 chip companies and PCcommunication. Lower-end machines can form a wide range of datacollection:temperature, humidity, sound, etc. PC off using Microsoft visual c+ 6.0 software, a user interface for the display and proceed to the next-bit client machines to send information back, it shows a human of operation, level of knowledge to facilitate a variety of industry and from members to use. Wide data collection, collecting a large amount of transmission speed and convenience of the user to deal with is the systems features, advantages.Keywords:USB; CH375; Single Chip Microcontroller; data collection; communicationII1 前 言1.1 题目的来源和开发的意义如今,PC上使用的大多数外围设备仍然是基于接口的实现,一般为并口或串口。其中有些接口使用了很多年,物理层的协议已经非常的成熟。但是随着计算机技术的飞速发展,这些接口已经无法满足PC与外部设备之间不断提高的速度、稳定性、易用性的要求。对于设备和PC间的通信行为和自身的拓扑结构都没有设计。正是人们对于计算机外围设备高速度和高通用性的要求,使得USB接口已经发展成为计算机主板的标准端口。如今,USB所带给人们的方便是尽人皆知的,生活中常见的如USB接口的鼠标键盘、打印机、MP3、优盘、数码相机等。在数据采集、仪器和控制工程中也有很广泛的应用。USB(Universal Serial Bus)即通用串行总线,从诞生发展到今天,已经将近十年。近几年更是飞速发展,应用普及。从市场的角度来说,USB的“触角”几乎伸向了每一种计算机外设;从USB的开发环境来说,软件厂商为USB提供了越来越完善、甚至是非常漂亮的开发环境和软件支持。在单片机发展领域,单片机正朝着高性能、多品种的方向发展。与之相适应的就是对单片机引脚设计提出了新的要求,单片机正在不断的推进串行扩张总线的发展。本次设计的芯片CH375来自南京沁恒公司,结合该公司提供的资料,本系统以克服大批量数据采集速度慢的问题为目的,具有功能强大、使用方便、技术领先等优点1。1.2 系统功能概述单片机与计算机之间的通信功能实现,这里应用了由南京沁恒公司生产的CH375芯片作为单片机与计算机USB接口芯片。温度传感器采用的是大家熟知的DS18B20。本次设计主要利用单片机STC89LV51作为主要核心模块,利用C51语言行控制,以C语言作为整合的开发环境,可大大缩短软件设计时间4。上位机采用的是VC+编写的界面控制显示软件,USB驱动采用了沁恒公司的通用CH375驱动软件。通过给上位机(PC)输入不同的命令可以让下位机(单片机)工作在不同的状态。如取温度值,设置温度报警值,取湿度值,根据采集到的温度设置适度监控值等。这里支持计算机热插拔,挟带方便,设备占用空间小,功耗低是本设计的创新之处,而且相应的CH375接口模块成了印刷式电路板,为以后学习和开发计算机与单片机通过U口传输数据的同学提供了便捷的硬件环境。2 系统硬件设计2.1 系统硬件总体设计概述硬件设计相应的分两个模块,一方面是控制模块由传说中的8051为核心的单片机做控制;另一方面由CH375做为USB的通信接口芯片的接口模块。控制模块中主要用到了89LV52单片机,其中的P1口与CH375的数据并口相连,所以P1口外不需要再接上拉电阻了,在控制模块上还有一个与通信接口模块相连的插座,共20个引脚其具体对应了控制模块与通信接口模块之间的VCC,GND,相应的复位引脚,还有与CH375并口模式相对应的控制,数据引脚A0,WR,RD,CS ,INT ,D0-D7。温度传感器18B20是单总线模式,所以只需将其数据线接到单片机上。LED为温度报警提示2。 通信接口模块分两个部分一个是与PC机相连的CH375部分,及电压转换部分AMS1117,这里将PC的USB输出的5V电压转换成3.3V电压输送给单片机。CH375芯片的UD+和UD-引脚应该直接连接到USB 总线上。为了芯片安全我们这里选用IN4148 。2.2 方案论证方案一:有关USB控制芯片很多但主要有两个来源,一个是Cypress Semiconductor,另一个是ScanLogic。我们可以选择市面比较通用的Cypresss enCoRe控制器芯片CY4C63743,此芯片电路设计起来比较容易。但此芯片需要固件支持。En指令相对简单,可以使用汇编语言编译器来实现,但固件编程相对繁琐,而且CY4C63743结和了单片机与USB数据传输的功能相对开发需要了解内部的时续与中断控制,类似于嵌入了USB功能的单片机。在开发时要投入新的仿真软件,还要学习相关的通信协议,这需要更多的时间和精力3。 方案二:用南京沁恒公司的CH375芯片,需要外接微控制器,电路稍微麻烦一点,但是我的设计只需要用到USB设备模式一块,而我们可以让CH375工作在内置固件下,我们减轻了单片机方面的固件编写负担,只需按要求让单片机将要发送的数据传给CH375即可,CH375自行与PC进行数据交换,这同样节省了对复杂协议的学习时间。CH375相应的可以使用USB上的5V电源,我们为了降低功耗,使用了可调电压输出的AMS1117电压转换芯片,同样使用USB电源,输出给单片机3.3V电压,甚至可以更低。由此可见方案二更有效。3 系统各模块设计如下为系统的总体框图,主要由本地端单片机通过CH375接口芯片与上位之间通信,D+、D-为USB总线的数据线,由USB线连接到上位机端。本地端由可在线编程芯片STC89LV51组成,它有P0P4四个端口,分别可以做信号的输入输出,同时,P0端口需要外加上拉电阻。本设计用P0端口做信号输出,传输给1602液晶显示芯片,做一个状态和数据的显示。单片机端还有按键、RS232串口芯片,串口可通过串口连线与上位机连接,与上位机通信。本设计用它到它做STC89LV51可在线编程,直接把程序烧入芯片。液晶显示按键DS18B20单片机CH375接口芯片计算机图3-1 系统总体框图Figure 3-1 Overall system block diagram3.1 CH375简介CH375 是一个USB总线的通用接口芯片,USB-DEVICE/SLAVE 设备方式和支持USB-HOST主机方式。在本地端,CH375 具有8 位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。在USB 主机方式下,CH375还提供了串行通讯方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU 等相连接。CH375 的USB主机方式支持常用的USB全速设备,外部单片机可以通过CH375按照相应的USB 协议与USB 设备通讯。CH375 还内置了处理Mass-Storage 海量存储设备的专用通讯协议的固件,外部单片机可以直接以扇区为基本单位读写常用的USB 存储设备(包括USB 硬盘/USB 闪存盘/U 盘)。对USB模块,用户无需编写驱动程式,内置有USB通讯中的底层协议,完全满足USB1.1标准。具有8位数据总线(D0D7)、地址输入(A0)、读(RD#)、 写(WR#)、片选控制线(CS#)及中断输出(INT#),能方便地挂接到单片机的数据总线上。当A0为低电平时选择数据端口,单片机通过8位并口对CH375进行读写数据;为高电平时选择命令端口,能向其写入命令。在本地端,单片机对CH375的操作是采用命令加数据的I/O操作方式,所有操作都是先发命令(其命令格式参考文献3)给CH375,然后执行数据输入输出。CH375接收到上位机发送的数据或发送完给上位机的数据后,以中断方式通知单片机。将CH375芯片的驱动程式、动态链接库拷贝到上位机中,利用CH375动态链接库DLL提供的API函数对其进行操作,对USB设备的通信就几乎和访问本地硬盘中的文件差不多了。3.1.1 CH375的特点(1)低速和全速USB-HOST 主机接口,兼容 USB V2.0,外围元器件只需要晶体和电容。 (2)低速和全速USB设备接口,完全兼容CH372 芯片,支持动态切换主机与设备方式。 (3)主机端点输入和输出缓冲区各64字节,支持 12Mbps 全速 USB 设备和 1.5Mbps 低速设备。 (4)支持USB 设备的控制传输、批量传输、中断传输。 (5)自动检测USB设备的连接和断开,提供设备连接和断开的事件通知。 (6)内置控制传输的协议处理器,简化常用的控制传输。 (7)内置固件处理海量存储设备的专用通讯协议,支持Bulk-Only 传输协议和 SCSI、UFI、RBC 或等效命令集的USB存储设备(包括USB 硬盘/USB 闪存盘/U 盘/USB 读卡器)。 (8)通过U盘文件级子程序库实现单片机读写USB 存储设备中的文件。 (9)并行接口包含8位数据总线,4线控制:读选通、写选通、片选输入、中断输出。 (10)串行接口包含串行输入、串行输出、中断输出,支持通讯波特率动态调整。 (11)支持5V电源电压和3.3V电源电压,支持低功耗模式。 (12)采用SOP-28无铅封装, 兼容RoHS, 提供 SOP28到 DIP28的转换板, 引脚基本兼容CH374芯片。3.1.2 并行接口并口信号线包括:8 位双向数据总线D7D0、读选通输入引脚RD#、写选通输入引脚WR#、片选输入引脚CS#、中断输出引脚INT#以及地址输入引脚A0。通过被动并行接口,CH375芯片可以很方便地挂接到各种8 位单片机、DSP、MCU 的系统总线上,并且可以与多个外围器件共存。CH375 芯片的CS#由地址译码电路驱动,用于当单片机具有多个外围器件时进行设备选择。INT#输出的中断请求是低电平有效,可以连接到单片机的中断输入引脚或者普通I/O 引脚,单片机可以使用中断方式或者查询方式获知中断请求。对于类似Intel 并口时序的单片机,CH375 芯片的RD#引脚和WR#引脚可以分别连接到单片机的读选通输出引脚和写选通输出引脚。对于类似Motorola并口时序的单片机,CH375 芯片的RD#引脚应该接低电平,并且WR#引脚连接到单片机的读写方向输出引脚R/-W。CH375 芯片占用两个地址位,当A0 引脚为高电平时选择命令端口,可以写入新的命令,或者读出中断标志;当A0 引脚为低电平时选择数据端口,可以读写数据。3.1.3 串行接口串行接口只能用于USB 主机方式,CH375 芯片的USB 设备方式不支持串口。串口信号线包括:串行数据输入引脚RXD、串行数据输出引脚TXD、中断输出引脚INT#。通过串行接口,CH375 可以用最少的连线与单片机、DSP、MCU 进行较远距离的点对点连接。CH375 芯片的RXD 和TXD 可以分别连接到单片机的串行数据输出引脚和串行数据输入引脚。INT#输出的中断请求是低电平有效,用于通知单片机。CH375 的串行数据格式是1 个起始位、9 个数据位、1 个停止位,其中前8 个数据位是一个字节数据,最后1个数据位是命令标志位。第9 位为0时,前8 位的数据被写入CH375芯片中,第9 位为1 时,前8 位被作为命令码写入CH375 芯片中。CH375 的串行通讯波特率默认是9600bps,单片机可以随时通过SET_BAUDRATE 命令选择合适的通讯波特率。CH375 芯片的ACT#引脚用于状态指示。在内置固件的USB 设备方式下,当USB设备尚未配置或者取消配置后,该引脚输出高电平;当USB设备配置完成后,该引脚输出低电平。在USB 主机方式下,当USB 设备断开后,该引脚输出高电平;当USB 设备连接后,该引脚输出低电平。CH375的ACT#引脚可以外接串了限流电阻的发光二级管LED,用于指示相关的状态4。3.1.4 CH375引脚图图3-2 引脚图Figure 3-2 Pin map引脚说明如表3-1所示:表3-1 引脚含义表Table 3-1 Meaning form of the pin引脚号引脚名称类型引脚说明28VCC电源正电源输入端,需要外接0.1uF 电源退耦电容12-23GND电源公共接地端,需要连接USB 总线的地线9V3电源在3.3V 电源电压时连接VCC 输入外部电源,在5V 电源电压时外接容量为0.01uF 退耦电容13XI输入晶体振荡的输入端,需要外接晶体及振荡电容14XO输出晶体振荡的反相输出端,需要外接晶体及振荡电容10UD+双向三态USB 总线的D+数据线,内置可控的上拉电阻11UD-双向三态USB 总线的D-数据线2215D7D0双向三态8位双向数据总线,内置上拉电阻4RD#输入读选通输入,低电平有效,内置上拉电3WR#输入写选通输入,低电平有效,内置上拉电阻27CS#输入片选控制输入,低电平有效,内置上拉电阻1INT#输出在复位完成后为中断请求输出,低电平有效8A0输入地址线输入,区分命令口与数据口,内置上拉电阻,当A0=1 时可以写命令,当A0=0 时可以读写数据24ACT#输出在内置固件的USB 设备方式下是USB 设备配置完成状态输出,低电平有效。对于CH375A 芯片,在USB 主机方式下是USB 设备连接状态输出,低电平有效5TXD输出仅用于USB 主机方式,设备方式只支持并口,在复位期间为输入引脚,内置上拉电阻,如果在复位期间输入低电平那么使能并口,否则使能串口,复位完成后为串行数据输出6RXD输入串行数据输入,内置上拉电阻2RSTI输入外部复位输入,高电平有效,内置下拉电阻25RST输出电源上电复位和外部复位输出,高电平有效26RST#输出电源上电复位和外部复位输出,低电平有效7NC.空脚空脚,必须悬空3.1.4 引脚的其他说明CH375芯片的ACT#引脚用于状态指示。在内置固件的USB 设备方式下,当 USB设备尚未配置或者取消配置后,该引脚输出高电平;当USB设备配置完成后,该引脚输出低电平。在USB 主机方式下,当USB设备断开后,该引脚输出高电平;当 USB 设备连接后,该引脚输出低电平。CH375的ACT#引脚可以外接串了限流电阻的发光二级管LED,用于指示相关的状态。 CH375 芯片的 UD+和 UD-引脚是USB 信号线,工作于 USB 设备方式时,应该直接连接到 USB 总线上;工作于USB主机方式时,可以直接连接到USB设备。如果为了芯片安全而串接保险电阻或者电感或者ESD 保护器件,那么交直流等效串联电阻应该在 5之内3。CH375芯片内置了电源上电复位电路,一般情况下,不需要外部提供复位。RSTI 引脚用于从外部输入异步复位信号; 当RSTI引脚为高电平时, CH375芯片被复位; 当RSTI 引脚恢复为低电平后, CH375会继续延时复位 35mS 左右,然后进入正常工作状态。为了在电源上电期间可靠复位并且减少外部干扰,可以在 RSTI引脚与 VCC 之间跨接一个容量为 0.1uF 左右的电容。RST 引脚和 RST#引脚是复位状态输出引脚,分别是高电平有效和低电平有效;当CH375电源上电复位或者被外部强制复位以及复位延时期间,RST引脚和RST#引脚分别输出高电平和低电平;CH375复位完成后,RST 引脚和 RST#引脚分别恢复到低电平和高电平。RST和RST#引脚可以用于向外部单片机提供上电复位信号。 CH375芯片正常工作时需要外部为其提供12MHz的时钟信号。一般情况下,时钟信号由 CH375内置的反相器通过晶体稳频振荡产生。外围电路只需要在 XI 和 XO引脚之间连接一个标称频率为12MHz的晶体, 并且分别为XI和XO引脚对地连接一个高频振荡电容。 如果从外部直接输入12MHz 时钟信号,那么应该从XI引脚输入,而XO引脚悬空。CH375B 芯片支持 3.3V或者 5V电源电压。当使用 5V 工作电压时,CH375 芯片的 VCC 引脚输入外部 5V 电源,并且 V3 引脚应该外接容量为 4700pF 到 0.02uF 左右的电源退耦电容。当使用 3.3V 工作电压时,CH375芯片的 V3引脚应该与VCC 引脚相连接,同时输入外部的 3.3V电源,并且与 CH375芯片相连接的其它电路的工作电压不能超过 3.3V。3.1.5 命令命令是CH375与单片机进行联络的核心,所有的控制都要通过命令来实现所以了解这部分很重要。(1) 命令RESET_ALL该命令使CH375芯片执行硬件复位。通常情况下,硬件复位在40ms时间之内完成。(2) 命令CHECK_EXIST该命令测试工作状态,以检查CH375是否正常工作。该命令需要输入1 个数据,可以是任意数据,如果CH375正常工作,那么CH375 的输出数据是输入数据的按位取反。例如,输入数据是57H,则输出数据是A8H。另外,在CH375 复位后未收到任何命令之前,从其并口通常是读出数据00H。(3) 命令SET_USB_MODE该命令设置USB 工作模式。该命令需要输入1 个数据,该数据是模式代码:模式代码为00H 时切换到未启用的USB 设备方式(上电或复位后的默认方式);模式代码为01H 时切换到已启用的USB 设备方式,外部固件模式;模式代码为02H 时切换到已启用的USB 设备方式,内置固件模式;模式代码为04H 时切换到未启用的USB 主机方式;模式代码为05H 时切换到已启用的USB 主机方式,不产生SOF 包;模式代码为06H 时切换到已启用的USB 主机方式,自动产生SOF 包;模式代码为07H 时切换到已启用的USB 主机方式,复位USB 总线;在USB 主机方式下,未启用是指不自动检测USB设备是否连接,所以需要外部单片机检测;启用是指自动检测USB 设备是否连接,当USB设备连接或者断开时都会产生中断通知外部单片机。在切换到模式代码06H 后,CH375会自动定时产生USB帧周期开始包SOF发送给已经连接的USB 设备5。模式代码07H 通常用于向已经连接的USB 设备提供USB 总线复位状态,当切换到其它工作模式后,USB总线复位才会结束。建议在没有USB 设备时使用模式5,插入USB 设备后先进入模式7 再换到模式6。通常情况下,设置USB 工作模式在20uS 时间之内完成,完成后输出操作状态。(4) 命令GET_STATUS该命令获取CH375 的中断状态并通知CH375取消中断请求。当CH375 向单片机请求中断后,单片机通过该命令获取中断状态,分析中断原因并处理。(5) 命令SET_BAUDRATE该命令设置CH375 的串口通讯波特率。在CH375 工作于串口通讯方式时,复位后默认的通讯波特率是9600bps,如果单片机支持较高的通讯速度,可以通过该命令动态调整串口通讯波特率。该命令需要输入两个数据,分别是波特率分频系数和分频常数。3.1.6 中断说明下面是中断状态的分析说明。在内置固件模式的USB设备方式下,单片机只需要处里表中标注为灰色的中断状态,CH372 内部自动处理了其它中断状态。表3-2 中断状态表Table 3-2 interupt form中断状态值状态名称中断原因分析说明01HUSB_INT_EP1_OUT辅助端点/端点1 接收到数据,OUT 成功09HUSB_INT_EP1_IN中断端点/端点1 发送完数据,IN 成功0AHUSB_INT_EP2_IN批量端点/端点2 发送完数据,IN 成功05HUSB_INT_USB_SUSPENDUSB 总线挂起事件(如果已CHK_SUSPEND)06HUSB_INT_WAKE_UP从睡眠中被唤醒事件(如果已ENTER_SLEEP)3.1.7 功能说明CH375 芯片可以工作于USB-HOST 主机方式或者USB 设备方式。CH375 的USB 设备方式与CH372 芯片完全兼容, CH375的USB 主机方式支持并行接口和串行接口。在USB主机方式下,CH375支持各种常用的USB全速设备,外部单片机需要编写固件程序按照相应的USB协议与USB 设备通讯。但是对于USB 存储设备,CH375 内置了相关协议,通常情况下,外部单片机不需要编写固件程序,就可以直接通讯。CH375工作在并口,设备模式下(毕业设计相应的主要应用就是这类模式,就稍详细介绍这部分,而串口模式只工作在主机模式下不详细介绍了)。 下表为并口I/O 操作的真值表(表中X 代表不关心此位,Z 代表CH372 三态止)。表3-3 并口I/O 操作的真值表Table 3-3 And I/O once operated truth form CS#WR#RD#A0D7-D0对CH375芯片的实际操作1XXXX/Z未选中CH375,不进行任何操作011XX/Z虽然选中但无操作,不进行任何操作001/X1输入向CH375的命令端口写入命令码001/X0输入向CH375的数据端口写入数据0100输出从CH375的数据端口读出数据0101输出从CH375B的命令端口读取中断标志,位7等效于INT#引角3.1.8 时序参数(RD是指RD#信号有效并且CS#信号有效,RD#=CS#=0执行读操作)(WR是指WR#信号有效并且CS#信号有效,WR#=CS#=0执行写操作)图3-3 时序图Figure 3-3 clock fig3.1.9 CH375与设备通信模式CH375可以在设备和主机两种方式下通信,在设备方式下,本地单片机通过调用CH375HF可以实现对USB存储设备进行读写操作,CH375HF为南京沁恒公司提供的文件级子程序API.主要子程序如下:初始化CH375 芯片:CH375Init查询U 盘是否准备好:CH375DiskReady查询U 盘容量:CH375DiskSize查询U 盘信息(总容量及剩余容量):CH375DiskQuery打开文件:CH375FileOpen枚举或者搜索文件:CH375FileEnumer关闭文件:CH375FileClose3.1.10 CH375与主机通信模式本设计主要是研究CH375与主机方式下的通信模式,上位机端通过Visual C+ 6.0设计用户界面,通过MFC(Microsoft Foundation Class Library)框架来实现。Visual C+ 6.0提供可视化界面设计窗口,方便用户对窗口的设计,并且样式自由,使用者完全可以设计出自己想要的风格,并且事件添加简单,要使每个控件获得事件只需双击或通过属性设置以得到相应的事件方法。 4 单片机模块说明4.1 控制模块P0口作为与CH375交流数据,命令的通信并口,INT0作为中断服务程序中断接口其他端口如图接,也可以选择其他单片机端口。P31口与DS18B20相连模块如图4-1。图4-1 单片机模块图Figure 4-1 Module picture of Single Chip Microcontroller4.1.1 STC89LV51单片机的简介本设计由于环保等多方面考虑选择了功耗更低,而功能类似89C51的STC89LV51。STC89LV51是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS-48单片机的体系结构和指令系统。工作电压范围可达2.7V-6.0V,片内含4k bytes的可反复擦写的Flash只读程序存储器和256bytes的内部随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的STC89C51微处理器可为您提供许多高性价比的应用场合6。STC89LV51引脚兼容80C51系列芯片,40个引脚,32个外部双向输入/输出(I/O)端口,2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,其将通用的微处理器和Flash存储器结合在一起,可有效地降低开发成本。此外,STC89C51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。 静态设计使时钟频率可以降至0MHz(停止)。当振荡器停振时,RAM和SFR的值保持不变。该模式允许逐步应用并可将时钟频率降至任意值以实现系统功耗的降低。如要实现最低功耗则建议使用掉电模式。为了进一步降低功耗,通过软件可实现掉电模式。该模式中,振荡器停振并且在最后一条指令执行进入掉电模式。降到2.0V时,片内RAM和SFR保持原值,在退出掉电模式之前Vcc必须升至规定的最低操作电压。硬件复位或外部中断均可结束掉电模式。硬件复位使所有的SFR重新设置,但不改变片内RAM的值。外部中断允许SFR和片内RAM都保持原值。WUPD(AUXR1.3从掉电唤醒)使能或禁止通过外部中断唤醒掉电。4.1.2 主要特性与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路4.1.3 管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号7。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。P3口也可作为AT89C51的一些特殊功能口,如下表所示:表4-1 P3口管脚表Table 4-1 Table I-pin P3 口管脚备选功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2INT0外部中断0P3.3INT1外部中断1P3.4T0记时器0外部输入P3.5T1记时器1外部输入P3.6WR外部数据存储器写选通P3.7RD外部数据存储器读选通RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)8。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。4.1.4 振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4.1.5 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,STC89LV51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止9。4.2 1602液晶显示模块4.2.1 1602使用说明液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。1602B可以显示2行16个字符,有8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。本设计用1602B做数据显示和状态显示,本设计程序一开始运行时显示“Welcome to china”和“today is friday”,当显示”NEXT”时,本地端程序已经进入等待阶段,此时上位机如果发送十六进制,下位机就会受到数据传送状态并执行读取模块数据并对数据取反,把上位机数据转换成十进制数送单片机P0口,由单片机控制1602显示。4.2.2 1602外观图图4-2 1602外观图Figure 4-2 1602 the appearance of Figure4.2.3 1602电路图图4-2 1602电路图Figure 4-2 1602 circuit diagram4.2.4 1602引脚说明表4-2 1602引脚说明Table 4-2 1602 pin description编号符号引脚说明1VSS电源地2VDD电源正极3VL对比度调节4RS数据/命令选择5R/W读/写选择6EN模块使能端7D0双向数据口8D1双向数据口9D2双向数据口10D3双向数据口11D4双向数据口12D5双向数据口13D6双向数据口14D7双向数据口15BLK背光源地16BLA背光源正极4.2.5 1602连接注意事项从该模块的正面看,引脚排列从右向左为:15脚、16脚,然后才是114脚(线路板上已经标明)。VDD:电源正极,4.55.5V,通常使用5V电压;VL:LCD对比度调节端,电压调节范围为05V。接正电源时对比度最弱,接地电源时对比度最高,但对比度过高时会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度,或者直接串接一个电阻到地;RS:MCU写入数据或者指令选择端。MCU要写入指令时,使RS为低电平;MCU要写入数据时,使RS为高电平;R/W:读写控制端。R/W为高电平时,读取数据;R/W为低电平时,写入数据;E:LCD模块使能信号控制端。写数据时,需要下降沿触发模块。D0D7:8位数据总线,三态双向。如果MCU的I/O口资源紧张的话,该模块也可以只使用4位数据线D4D7接口传送数据。本充电器就是采用4位数据传送方式;BLA: LED背光正极。需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右;BLK: LED背光地端。4.3 按键模块按键模块连接P10P14端口,可以做很好的开展功能,单片机根据不同的按键执行不同的操作。例如,当按键1按下时,下位机上传数据给上位机,按键2按下时接受上位机下传数据,按键3和按键4可以选择下传和上传数据类型。4.4温度检测系统4.4.1温度传感器DS18B20介绍及其设计DS18B20数字温度计是DALLAS公司生产的l一Wire,它具有以下特点:.独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。.在使用中不需要任何外围元件。.可用数据线供电,电压范围:+3.0一+5.5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论