精华内容
下载资源
问答
  • 随着PC的广泛应用,其外设也越来越,打印机、鼠标、扫描仪、游戏杆、音箱……,每外设都需要通过一个接口与PC相连。外设了,PC的I/O插口自然也就不够用了。在很特定的应用场合,如工业数据采集等领域,常常...
  • 引 言:  通用串行总线(USB)是一种支持...将USB转UART技术应用于单片机与PC机之间的数据通信,在计算机上产生一虚拟的COM口,用户只需按照通用串行口一样使用USB口即可。这样不仅能使单片机具备USB通信的诸多优点
  •  一个USB口理论上可以连接127个USB设备:连接的方式也十分灵活,既可以使用串行连接,也可以使用集线器(Hub),把多个设各连接在一起,再同PC机的USB口相接。  基于上述优点,很多计算机外设和数据采集系统都...
  • 文中还对使用不同的USB芯片组成的应用系统作了比较 1 概 述 随着PC的广泛应用,其外设也越来越,打印机、鼠标、扫描仪、游戏杆、音箱……,每外设都需要通过一个接口与PC相连。外设了,PC的I/O插口自然也...
  • 利用USB接口技术,采用USB模块CH375,在加速器核辐射监测系统中实现了 探测通道USB接口与计算机通信。给出了CH375与单片机接口电路的原理简图,并详细介 绍了实现通道USB数据传输的上、下位机的程序设计
  • USB2.0摄像头微处理器支持高速USB2.0接口,内嵌强劲的图像后处理单元,JPEG高速编译码器,支持高达200万像素的CMOS传感器接口和CCD传感器接口,处理器设计的产品可以实现独特的运动监测功能脸部追踪功能,这不仅...
  • 正是基于这一特点,现在很的计算机外设都有USB接口。本文正是利用这一新型USB接口来设计上位机下位机系统之间的通信。利用新型的一线式数字温度传感器测量温度,并通过USB接口和计算机端应用软件进行通信。   ...

    文末下载完整资料

                                  摘 要
       USB(Universal Serial Bus)是一种新型的通用串行总线,它是快速的、双向的、同步的、可以热插拨的、动态连接且价格低廉的串行接口。正是基于这一特点,现在很多的计算机外设都有USB接口。本文正是利用这一新型USB接口来设计上位机与下位机系统之间的通信。利用新型的一线式数字温度传感器测量温度,并通过USB接口和计算机端应用软件进行通信。
       本文首先介绍了本系统相关的背景知识以及USB的通信协议,进而介绍温度控制的基本意义,提出利用USB设备芯片CH372、一线式数字温度传感器DS18B20和单片机AT89C51来开发基于USB温度控制系统。采集的温度数据通过USB接口上传到上位PC机上,并利用应用软件对其进行处理。上位机应用软件用C ++ builder 编写,其运用CH372接口芯片的动态链接库建立起上位机和下位机之间的通信机制。上位机将采集到的温度数据在PC机上显示出来,并且显示实时温度采集图像。
    此外,应用软件可以对下位机进行温度极限设置等简单控制功能,当采集到的温度超过某一设定极限温度,则对系统进行报警。另外下位机还为今后的扩展保留一定的资源。

    关键词: AT89C51;USB协议; 温度采集 ;一线式温度传感器 ;CH372

    2 系统概述
       本章将对基于USB接口的温度控制系统在工业上的应用进行分析,并介绍系统的特点、功能以及使用到的开发工具。
    2.1 系统的特性
       由于该系统利用USB接口,所以具有USB的实时传送数据,与上位机进行信息交流,而上位机又可以连接在互联网上,所以远程的PC机也可以利用互联网对温度检测系统进行查看等各种操作。该系统利用先进的温度传感器,可以对温度快速的进行反应,把温度数据传到下位机进行初步处理数据,进而与上位机通信。总的来说,该系统有以下几点特点:
       ·工作人员可以远离生产环境通过计算机对其进行查看处理;
       ·多点温度测量;
       ·全天候检测温度,并可以在没有工作人员的参与下对生产环境进行简单处理;
       ·对生产环境的温度进行设计极限温度,一旦超过极限温度,系统将对起进行报警,并停止生产环境的工作;
       ·测量温度误差比较精确,在0.5℃内;
    2.2 系统的功能
       该系统主要有以下功能:
          (1)对温度进行检测。利用该系统可以远离恶劣生产环境的情况下,对其进行温度测量;
          (2)对现场温度进行实时采集;并在PC机上显示出来;
          (3)在PC机上实时做出温度图像;工作人员在电脑上便可以直观的得到系统温度图像;
          (4)简单的系统控制;通过计算机上的应用软件可以对温度设置,一旦超过极限温度,发出报警,进而通知工作人员快速的对生产现场进行各种相应操作,这样可以防止温度超出极限温度;
          (5)在上位机端的应用软件上提供系统使用帮助。用户可以利用该功能帮助对系统进行操作。
    2.3 系统开发平台
       本次系统需要用到的开发工具为:keil C、 C++ builder、Protel、计算机、烧写器。
    Keil C是目前世界上最好的MC-51单片机的汇编和C语言的开发工具。支持汇编、c语言以及混合编程。同时具备功能强大的软件仿真和硬件仿真。C++ builder 是计算机高级语言C++比较好用的编程工具,它是属于一种可视化的计算机语言。 Protel是世界上最好的硬件电路图制作的工具。

    3 系统总体设计
    3.1 系统整体方框图
       根据前面的分析,知道系统要实现以上功能,必须由以下几部分组成:温度采集单元、下位机温度初步处理单元、USB设备接口、上位机应用程序。
    系统的结构原理图如图3.1:
    在这里插入图片描述
       温度传感器单元对生产温度环境进行测量,将测量温度传给下位机(单片机),单片机对采集到的温度进行初步处理后,将处理了的数据通过USB接口上传给PC机上位机,而上位机将实时的显示采集到的温度,如果要对现场环境进行处理,则上位机可以发送命令,经过USB接口传送到下位机,下位机根据接受到的数据并对其进行分析,进而做出处理,如报警等各种操作。
    3.2 系统方案比较
       对于本系统,方案的选择是根据温度传感器来选择。
       目前市场上有两种传感器:模拟传感器和数字集成传感器,对于选择不同的传感器将会有不同的方案。下面给出两种不同的方案,并对其进行分析,最终选择其中一种方案。
    3.2.1系统两种可行方案
       方案1:选择模拟传感器
       所谓模拟传感器,简单的说就是传感器对被测量的物质感应,并随着检测的不同做出不同的反应,但这一反应是有规律的,而且有规律的输出模拟信号。由于单片机是数字信号系统,只能识别数字信号,所以这种方案要想利用单片机对温度信号进行处理,必须将对模拟输出量数字化,也就是说要对其输出的模拟电压或电流转换成数字信号,这么一来就系统要加入模拟信号转换成数字信号的处理单元,通常,实现这一功能的是A/D转换器,市场对于这一A/D转换器有不少类型。所以选择这一方案也是可以有效而快速的设计出本系统。
    图3.2给出使用模拟传感器这一方案的设计原理图。
    在这里插入图片描述
       方案2:选择数字传感器
       今天随着计算机的飞速发展以及单片机的日益普及,世界进入了数字时代,人们在处理被测信号时首先想到的是信息处理器(单片机或计算机)。具有输出数字信号便于电脑处理的传感器就是所谓的数字传感器。
       数字传感器是近几年才出现的并得到广泛的应在在实践当中,所谓数字传感器,进一步的讲,就是将模拟传感器产生的信号经过放大、A/D转换、线性化及量纲处理后变成纯粹的数字信号,是在模拟传感器上加入数字处理单元,并将数字单元集成在一块芯片上,所以输出的是数字信号,便于数字处理机对其直接进行处理。图3.3给出利用数字传感器设计的方案图:
    在这里插入图片描述
    4 系统硬件设计
    4.1 中央处理器----AT89C51
       AT89C51由美国Atmel 公司生产的,是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位单片机,该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。下文将对AT89C51单片机做简单介绍。
       (1) AT89C51的特点
          AT89C51具有以下几个特点:
             ①中央处理器CPU;
             ②AT89C51与MCS-51系列的单片机在指令系统和引脚上完全兼容;
             ③片内有4k字节在线可重复编程快擦写程序存储器;
             ④全静态工作,工作范围:0Hz~24MHz;
             ⑤三级程序存储器加密;
             ⑥128×8位内部RAM;
             ⑦32位双向输入输出线;
             ⑧两个十六位定时器/计数器
             ⑨五个中断源,两级中断优先级;
             ⑩一个全双工的异步串行口;
       (2)AT89C51的结构图如图4.1
    在这里插入图片描述
    4.2 温度传感器DS18B20
       温度传感器是该系统的测量器件,温度传感器的好坏直接影响到测量结果,所以本文将对温度传感器的选择详细介绍。根据本次设计论文的要求,包括精度要求等,经过分析,本文决定选择数字温度传感器DSB8B20。下面将给予介绍。
       (1) DS18B20的概述
          DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测环境的温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。
       (2)DS18B20的内部结构
          图4.3是DS18B20的内部结构图
    在这里插入图片描述
      由图可知,DS18B20主要由4部分组成:64位ROM、温度传感器、非挥发的温
    警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图4.4所示,
    在这里插入图片描述
    DS18B20的3个管脚说明如下:
      DQ为数字信号输入/输出端。是漏极开路一线接口。也在寄生电源接线方式时,给设备提供电源。
      GND为电源地。
      VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
      DS18B20的64位ROM保存了设备的唯一序列码,是DS18B20的地址序列码,每一个DS18B20的地址序列码是不同的,这样就可以实现一根总线上挂接多个DS18B20。高速闪存(scratchpad)包括2个字节的温度寄存器。保存了温度传感器的数字输出。该闪存还提供了对上限(TH)和下限(TL)的超标报警寄存器、配置寄存器(一个字节)的访问。TH、TL和配置寄存器是  EEPROM,所以系统掉电时可以保存数据。
      DS18B20利用DALLAS的单总线控制协议,实现了利用单线控制信号在总线上进行通信。由于所有的设备通过漏极开路端(DQ脚)连在总线上,控制线需要一个大约5K上拉电阻。在这一总线控制系统中,微控制器通过唯一的64位地址序列码识别和访问总线上的器件。由于地址序列码不同,所以连接在总线上的DS18B20可以说是无限的 。
    (3)DS18B20的寄存器
      DS18B20存储器组织结构如表4.2所示:
    4.3 温度采集模块电路设计
       以上已经介绍了AT89C51和数字温度传感器DS18B20基本知识,下面将利用它们来设计本系统的温度采集电路。DS18B20连接到单片机的方法很简单,它有两种方法连接到电路上,既外接电源方式和寄生电源方式,这里使用的是系统提供的外接电源方式,而不采用寄生电源,只要VCC、DQ、GND连接到单片机的电源正极、一个I/O端口、电源地就可以了。但是要注意的是在DQ数据线中要加一个4.7K的上拉电阻,这一个是必须要加的,无论它是接在P1口还是P0口,这点特别注意,特别提醒。之外在电源两端之间加个0.01U的电容,这样的作用主要是滤波。

    在这里插入图片描述
      由图4.7,知DS18B20工作在外部电源供电方式。单片机采用采用P1.1口与DS18B20通信。下面根据单片机的初始化时序和读写时序,写出DS18B20和单片机之间的读写操作,这里只给了温度的读取,下位机部分程序在附录中给出。
      这里特别提醒的是DS18B20对时序要求很高,精度要求很高,所以程序的延时对是否能读起数据起到非常关键的作用。
      DS18B20读写数据程序如下:

    void delaym(int time)  //延时为(time*2+2)us
    {  
    	int s;
    	for(s=0;s<time; s++)
    }
    void  write_bite(unit8  bite)  //写一位数据位
    {  
    	DQ=0;
    	if(bite==1)
    		DQ=1;   //如果写"1",DQ=1;
    	delaym(29);//延时60us提供DS18B20采样
    	DQ=1;    //释放DQ
    }
    unit8 read_bite(void)  //读一位数据位
    { 
    	DQ=0;     //将总线DQ拉低开始读时序
    	delaym(0); //延时2us
    	DQ=1;    //释放DQ;
    	delaym(1); //延时4us后再读数据
    	return(DQ);
    }
    void  write_byte(unit8 dat)  //写一字节数据
    {  
    	unit8 i;
    	unit8  temp;
    	for(i=0;i<8;i++)
    	{   
    		temp=dat>>1; //右移一位
    		temp&=0x01;
    		write_bite(temp);
    	}
    }
    unit8  read_byte(void)    
    {  
    	unit8 i,value=0;
    	for(i=0;i<8;i++)
    	{ 
    		if(read_bite())
    			value|=0x01<<i;//读一字节数据,一个读时序读一位,并做移位
    		delaym(29) ;  //延时60us有以完成读一位,之后再读下一位
    	}
    	return(value);  
    }  
    unit8 DS18B20_RESET(void)
    {  
    	unit8 data;
    	DQ=0;
    	delaym(239); //保持DQ低480us
    	DQ=1;
    	delaym(35);
    	da=DQ;
    	delaym(211);
    	return (data);//有芯片应答data=0,无则data=1
    }
    
    

    4.4 系统接口模块电路设计
      本系统的采集模块采集到数据后,必须要经过CH372传到上位机应用软件才能实现控制下位机的各种操作。而CH372是USB接口芯片,下位机和上位机通信的要通过CH372接口芯片来完成,其和计算机的连接很简单,所以这一部分主要的硬件实现是CH372和单片机AT89C51的连接问题。
    4.4.1 USB简介
      USB(Universal Serial Bus)是外围设备与计算机进行连接的新型接口,既一种新型的通用串型总线接口,USB具有即插即用、热插拨、接口体积小、节省系统资源、传输可靠、提供电源、良好的兼容性、共享试通信等优点。
      在USB产生之前,外部设备和计算机的通信主要是通过计算机主板所提供的各种接口,比如ISA接口、PCI接口、PS/2接口、串行接口,并行接口等,这些接口,存在这样那样的缺陷,比如接口规格不统一、不共享等为了克服上述外围设备的缺陷,P制造商和用户迫切需要一种新型的外设接口,  USB正是在这样的环境下产生的,它是一种快速、双向、同步、廉价、并支持热插拨功能的串行接口。
      USB是一种新型的接口,那么它必定有它的通信标准,也就是我们所说的协议,下面简单介绍USB的通信协议。
      一般的,对终端用户来看,USB系统是USB设备连接到主机的简单连接,但对开放人员来说,这中连接可分为三个层次:功能层、USB设备层、USB总线接口层,且每一层都由主机和USB设备的不同功能模块组成。可以用下面的图型来形容。下图4.8是这种分层通信机制的简化。
    在这里插入图片描述
      由图,一个USB设备由三个功能模块组成:USB总线接口、USB逻辑设备、功能单元。USB总线接口是USB设备中的串行引擎(SIE);USB逻辑单元被看作是一个端点的集合;功能单元客户软件被看作接口的集合。
      USB传输类型包括批量传输、同步传输、中断传输和控制传输,每种传输类型的传输速度、可靠性以及应用范围都不同。控制传输可靠性是最高的,但速度最慢;同步传输速度快,满足实时性,但可靠性低。在具体应用中,端点传输类型可根据传输速度和可靠性选择。
      在USB通信协议中,主机取得绝对主动权利,设备只能是“听命令行事”,通过一定的命令格式(设备请求)完成通信。USB设备请求包括标准请求、厂商请求和设备类请求。设备的枚举是标准请求命令完成的;厂商请求是用户定义的请求;设备类请求是特定的USB设备类发出的请求,例如海量储存类、打印机类和HID(人机接口)类。固件编程中设备请求必须遵循一定的格式,包括请求类型、设备请求、值、索引和长度。
    4.4.2 USB芯片选择
      USB的传输速度可分为低速(1.5Mbps)、全速(12Mbps)和高速(480Mb/s),按传输速度来分,供选择的USB芯片类型主要有:低速(1.5Mbps)和全速(12Mbps),可选择Philips公司的PDIUSBD12和Cypress公司的EZ-USB2100系列以及国产的CH372芯片; 高速(480Mbps)可选Philips公司的ISP1581和Cypress公司的USB接口芯片CY7C68013。
      本次系统要传输的速率比较少,可以所以选择全速的USB接口芯片,由于国产的芯片已经有所好转,再加上资料比较齐全,这次系统设计所选择的USB接口芯片是国产芯片CH372。
    芯片介绍:
      CH372是南京沁恒电子有限公司生产的新型USB接口芯片,具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上;它屏蔽了USB通信协议,用户如果没有涉及到底层开放,那么只要了解芯片的普通用法就可以快速的设计USB设备。利用CH372进行USB设备的通信设计可以如下的方框图4.9
    5 系统软件设计
      本系统进行软件设计包括下位机软件设计和上位机软件设计,下位机软件设计可以使用汇编语言和单片机C语言,上位机设计可以采用的很多计算机高级语言,比如VC++、Delphi、C++ builder等,在这里选择C++ builder来编写上位机程序。至于下位机程序,主要有汇编语言、PL/M语言和C语言。汇编语言有执行效率高、速度快、与硬件结合紧密等特点,尤其在I/O端口管理时,使用汇编语言有快捷、直观的优点。但是使用汇编语言相对于高级语言,比如单片机C语言来讲,难度要大很多,而且汇编语言的呈现可读性低、开放性差。所以下位机的程序设计选择单片机C语言。下面简单介绍本次软件设计的编程工具。


    全套资料免费下载:
    关注v-x-公-众-号:【嵌入式基地
    后-台-回-复:【毕业设计】 即可获资料
    回复【编程】即可获取
    包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料
    在这里插入图片描述

    展开全文
  • 参考资料: TTL电平、CMOS电平、232电平、USB电平的区别转换方法 USB转TTL、USB转232的区别...一般来说,在PC端,能与单片机通信的接口有两种:DB9(九针口)和USB口,其中DB9的电平逻辑遵循RS232原则,USB口的电平逻辑

    参考资料:
    TTL电平、CMOS电平、232电平、USB电平的区别与转换方法
    USB转TTL、USB转232的区别以及各电平信号的特性分析


    1. TTL电平、COMS电平、232电平、USB电平信号的主要特性

    在这里插入图片描述
    *噪声容限:指在前一极输出为最坏的情况下,为保证后一极正常工作,所允许的最大噪声幅度,噪声容限越大说明容许的噪声越大,电路的抗干扰性越好。

    2. 六种单片机与PC端通信的情况

    在单片机通信端,根据买的开发板不同,可能有三种情况:

    1. 开发板集成了USB转TTL模块,相应地,电平逻辑从USB原则转换为TTL原则,单片机通信物理接口为USB口;
    2. 开发板集成了RS232转TTL模块,相应地,电平逻辑从RS232原则转换为TTL原则,单片机通信物理接口为DB9(九针口);
    3. 开发板未集成电平转换模块(只能通过芯片内部的UART进行通信,UART电平逻辑遵循TTL原则),没有进行电平逻辑的转换。

    在PC端,能与单片机通信的接口有两种:

    1. DB9(九针口),电平逻辑遵循RS232原则;
    2. USB口,电平逻辑遵循USB原则。

    根据单片机的三种情况和PC端的两种情况延伸出六种通信情况,接下来对这六种情况逐一讲解。

    2.1 集成了USB转TTL模块的单片机与PC的DB9通信

    使用USB转RS-232模块。
    在这里插入图片描述

    该模块核心是在DB9的一端有一块CH340或CH341电平转换芯片,把RS-232电平转换为USB电平。
    在这里插入图片描述

    2.2 集成了USB转TTL模块的单片机与PC的USB口通信

    直接用USB线连接即可,只是单片机上的USB接口形式有时会不同,根据A-USB、B-USB、micro-USB、mini-USB分别选择合适的接线。
    在这里插入图片描述

    2.3 集成了RS232转TTL模块的单片机与PC的DB9通信

    直接用DB9连接即可。
    在这里插入图片描述

    2.4 集成了RS232转TTL模块的单片机与PC的USB口通信

    使用USB转RS-232模块。
    在这里插入图片描述

    该模块核心是在DB9的一端有一块CH340或CH341电平转换芯片,把RS-232电平转换为USB电平。
    在这里插入图片描述

    2.5 未集成电平转换模块的单片机与PC的DB9通信

    外购RS232转TTL模块。
    在这里插入图片描述

    该模块一端是DB9与PC机DB9连接,一端是RXD、TXD、VCC、GND与单片机相应引脚连接。其核心是一块max232电平转换芯片,将RS-232电平转换为TTL电平。
    在这里插入图片描述

    2.6 未集成电平转换模块的单片机与PC的USB口通信

    外购USB转TTL模块。
    在这里插入图片描述

    该模块一端接入PC机的USB接口,另一端有TXD、RXD、GND、5V、3.3V五个引脚,分别与单片机的RXD、TXD、GND、5V引脚相连,对于采用3.3V供电的单片机则把5V改为3.3V即可。该模块核心就是一块PL2303、CP2102芯片进行USB与TTL电平的转换。
    在这里插入图片描述

    3. 结论

    总的来说,本质上是因为不同设备遵循的电平逻辑不同,导致通信情况不同。

    以上列出的六种通信情况只是常见情况。随着科技发展,还会有更多通信协议出现,但只要抓住本质,通信问题就迎刃而解。

    展开全文
  • 如何利用usb转串口实现单片机和电脑的通信1.首先,单片机和微机通信的电气标准要一致,微机串口一般是RS232电气标准,所以要加电平转换芯片,大多用MAX232,一般单片机实验板上都提供这样的标准串口。2.其次,要分别...

    如何利用usb转串口实现单片机和电脑的通信

    1.首先,单片机和微机通信的电气标准要一致,微机串口一般是RS232电气标准,所以要加电平转换芯片,大多用MAX232,一般单片机实验板上都提供这样的标准串口。

    2.其次,要分别编写上位机和下位机软件程序,单片机程序参照例程、教科书进行编写;上位机微机可采用VB,组态软件,Labview等软件编写,一般若是简单的通信,上位机程序编写很简单,例如VB中学会使用mscomm控件,有VB最基础知识的一天就能学会。

    3.最后,大可以没有单片机,没有MAX232,没有串行接口这些硬件就可以实现学习并掌握单片机与微机之间的串口通信。proteus可以仿真单片机,也是主流软件。另外,如今的笔记本电脑几乎都没有保留串口,而用USB接口取而代之,不过没关系,有了虚拟串口和串口调试助手,这些都解决了。

    拓展

    应用领域

    现代工控领域最广泛的应该莫过于RS232、RS485、并口接口,发展历史悠久,很多领域都广泛应用的到,比如一些编程爱好者,在使用编程器的时候会用到串口。还有一些机械控制系统,门禁系统,都离不开使用RS232、RS485来通讯。传统的主板都有这个接口,但由于主板市场定位不同,很多新主板并不带串口接口,比如,笔记本就很少再带有这些老式接口。使用USB接口替代其它大部分通讯接口,使得一些主板在连接RS232串口或者并口通讯时遇到了难点。针对这种情况一些厂商推出了一系列产品,来解决这个问题。

    USB转串口(5张)

    一些常识

    如何知道串口号COM ?

    在首次安装USB转串口驱动时,其串口号由WINDOWS自动分配(通常从COM2开始分配),安装完成后可在设备管理中点击属性修改串口号。

    USB转RS232、RS485串口(4张)

    修改方法:右键点击“我的电脑”,选择“属性”,然后在弹出的“系统属性”对话框中点击“硬件”标签,点击“设备管理器”。在弹出的设备管理器对话框中点击“端口COM和LPT”前面的“+号”,然后右键点击“USB-SERIAL CH340”,选择“属性”,然后再弹出的对话框里选择“端口设置”标签,点击“高级”按钮,然后在弹出的对话框中将会看到在“COM端口号”右边有个下拉选择组合框,点击选择想要设置的COM端口号,最后依次点击“确定”。

    特征

    SMT工艺、小体积嵌入式模块

    提供16位或8位数据总线

    高速USB2.0接口读写速度大于35MB/Sec

    提供所有Windows版本驱动程序

    提供各种高级语言编程源代码

    提供大量单片机控制实例源代码

    提供FPGA控制VHDL编程代码

    模块尺寸:35×55×10mm

    6bc70f678a5438b6231e849447d21db7.png

    展开全文
  • 一、原理简介51单片机内部有一全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行...

    一、原理简介

    51单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。其缺点是传输速度较低。

    与之前一样,首先我们来了解单片机串口相关的寄存器。

    SBUF寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF 的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据,实现全双工。

    串行口控制寄存器SCON(见表1) 。

    表1 SCON寄存器

    表中各位(从左至右为从高位到低位)含义如下。

    SM0 和SM1 :串行口工作方式控制位,其定义如表2 所示。

    表2 串行口工作方式控制位

    其中,fOSC 为单片机的时钟频率;波特率指串行口每秒钟发送(或接收)的位数。

    SM2 :多机通信控制位。 该仅用于方式2 和方式3 的多机通信。其中发送机SM2 = 1(需要程序控制设置)。接收机的串行口工作于方式2 或3,SM2=1 时,只有当接收到第9 位数据(RB8)为1 时,才把接收到的前8 位数据送入SBUF,且置位RI 发出中断申请引发串行接收中断,否则会将接受到的数据放弃。当SM2=0 时,就不管第位数据是0 还是1,都将数据送入SBUF,并置位RI 发出中断申请。工作于方式0 时,SM2 必须为0。

    REN :串行接收允许位:REN =0 时,禁止接收;REN =1 时,允许接收。

    TB8 :在方式2、3 中,TB8 是发送机要发送的第9 位数据。在多机通信中它代表传输的地址或数据,TB8=0 为数据,TB8=1 时为地址。

    RB8 :在方式2、3 中,RB8 是接收机接收到的第9 位数据,该数据正好来自发送机的TB8,从而识别接收到的数据特征。

    TI :串行口发送中断请求标志。当CPU 发送完一串行数据后,此时SBUF 寄存器为空,硬件使TI 置1,请求中断。CPU 响应中断后,由软件对TI 清零。

    RI :串行口接收中断请求标志。当串行口接收完一帧串行数据时,此时SBUF 寄存器为满,硬件使RI 置1,请求中断。CPU 响应中断后,用软件对RI 清零。

    电源控制寄存器PCON(见表3) 。

    表3 PCON寄存器

    表中各位(从左至右为从高位到低位)含义如下。

    SMOD :波特率加倍位。SMOD=1,当串行口工作于方式1、2、3 时,波特率加倍。SMOD=0,波特率不变。

    GF1、GF0 :通用标志位。

    PD(PCON.1) :掉电方式位。当PD=1 时,进入掉电方式。

    IDL(PCON.0) :待机方式位。当IDL=1 时,进入待机方式。

    另外与串行口相关的寄存器有前面文章叙述的定时器相关寄存器和中断寄存器。定时器寄存器用来设定波特率。中断允许寄存器IE 中的ES 位也用来作为串行I/O 中断允许位。当ES = 1,允许 串行I/O 中断;当ES = 0,禁止串行I/O 中断。中断优先级寄存器IP的PS 位则用作串行I/O 中断优先级控制位。当PS=1,设定为高优先级;当PS =0,设定为低优先级。

    波特率计算:在了解了串行口相关的寄存器之后,我们可得出其通信波特率的一些结论:

    ① 方式0 和方式2 的波特率是固定的。

    在方式0 中, 波特率为时钟频率的1/12, 即fOSC/12,固定不变。

    在方式2 中,波特率取决于PCON 中的SMOD 值,即波特率为:

    当SMOD=0 时,波特率为fosc/64 ;当SMOD=1 时,波特率为fosc/32。

    ② 方式1 和方式3 的波特率可变,由定时器1 的溢出率决定。

    当定时器T1 用作波特率发生器时,通常选用定时初值自动重装的工作方式2( 注意:不要把定时器的工作方式与串行口的工作方式搞混淆了)。其计数结构为8 位,假定计数初值为Count,单片机的机器周期为T,则定时时间为(256 ?Count)×T 。从而在1s内发生溢出的次数(即溢出率)可由公式(1)所示:

    从而波特率的计算公式由公式(2)所示:

    在实际应用时,通常是先确定波特率,后根据波特率求T1 定时初值,因此式(2)又可写为:

    二、电路详解

    3

    图1 串行通信实验电路图

    下面就对图1 所示电路进行详细说明。

    最小系统部分(时钟电路、复位电路等)第一讲已经讲过,在此不再叙述。我们重点来了解下与计算机通信的RS-232 接口电路。可以看到,在电路图中,有TXD 和RXD 两个接收和发送指示状态灯,此外用了一个叫MAX3232 的芯片,那它是用来实现什么的呢?首先我们要知道计算机上的串口是具有RS-232 标准的串行接口,而RS-232 的标准中定义了其电气特性:高电平“1”信号电压的范围为-15V~-3V,低电平“0”

    信号电压的范围为+3V~+15V。可能有些读者会问,它为什么要以这样的电气特性呢?这是因为高低电平用相反的电压表示,至少有6V 的压差,非常好的提高了数据传输的可靠性。由于单片机的管脚电平为TTL,单片机与RS-232 标准的串行口进行通信时,首先要解决的便是电平转换的问题。一般来说,可以选择一些专业的集成电路芯片,如图中的MAX3232。MAX3232 芯片内部集成了电压倍增电路,单电源供电即可完成电平转换,而且工作电压宽,3V~5.5V 间均能正常工作。其典型应用如图中所示,其外围所接的电容对传输速率有影响,在试验套件中采用的是0.1μF。

    值得一提的是MAX3232 芯片拥有两对电平转换线路,图中只用了一路,因此浪费了另一路,在一些场合可以将两路并联以获得较强的驱动抗干扰能力。此外,我们有必要了解图中与计算机相连的DB-9 型RS-232的引脚结构(见图2)。

    图2 DB-9连接器接口图

    其各管脚定义如下(见表4)。

    表4 DB-9型接口管脚定义

    三、程序设计

    本讲设计实例程序如下:

    #include “AT89X52.h” (1)

    void Init_Com(void) ( 2)

    {

    TMOD = 0x20; ( 3)

    PCON = 0x00; ( 4)

    SCON = 0x50; ( 5)

    TH1 = 0xE8; ( 6)

    TL1 = 0xE8; ( 7)

    TR1 = 1; ( 8)

    }

    void main(void) ( 9)

    {

    unsigned char dat; ( 10)

    Init_Com(); ( 11)

    while(1) ( 12)

    程序详细说明:

    (1)头文件包含。

    (2)声明串口初始化程序。

    (3)设置定时器1 工作在模式2,自动装载初值(详见第二讲)。

    (4)SMOD 位清0,波特率不加倍。

    (5)串行口工作在方式1,并允许接收。

    (6)定时器1 高8 位赋初值。波特率为1200b/s(7)定时器1 低8 位赋初值。

    (8)启动定时器。

    (9)主函数。

    (10)定义一个字符型变量。

    (11)初始化串口。

    (12)死循环。

    (13)如果接收到数据。

    (14)将接收到的数据赋给之前定义的变量。

    (15)将接收到的值输出到P0 口。

    (16)对接收标志位清0,准备再次接收。

    (17)将接收到的数据又发送出去。

    (18)查询是否发送完毕。

    (19)对发送标志位清0。

    四、调试要点与实验现象

    接好硬件,通过冷启动方式将程序所生成的。hex文件下载到单片机运行后,打开串口调试助手软件,设置好波特率1200,复位单片机,然后在通过串口调试助手往单片机发送数据(见图3),可以观察到在接收窗口有发送的数据显示,此外电路板上的串行通信指示灯也会闪烁,P0 口所接到LED 灯会闪烁所接收到的数据。

    图3 串口软件调试界面

    另外串口调试助手软件使用时应注意的是,如果单片机开发板采用串口下载而且和串口调试助手是使用同一串口,则在打开串口软件的同时不能给单片机下载程序,如需要下载,请首先点击“关闭串口”,做发送实验的时候,注意如果选中16 进制发送的就是数字或者字母的16 进制数值,比如发送“0”,实际接收的就应该是0x00,如果不选中,默认发送的是ASCII 码值,此时发送“0”,实际接收的就应该是0x30,这点可以通过观察板子P0 口上的对应的LED 指示出来。

    五、总结

    本讲介绍了单片机串口通信的原理并给出了实例,通过该讲,读者可以了解和掌握51 单片机串口通信的原理与应用流程,利用串口通信,单片机可以与计算机相连,也可以单片机互联或者多个单片机相互通信组网等,在实际的工程应用中非常广泛。从学习的角度来说,熟练的利用串口将单片机系统中的相关信息显示在计算机上可以很直观方便的进行调试和开发。

    责任编辑;zl

    展开全文
  • USB学习1--ST单片机USB简介

    千次阅读 2018-08-02 20:32:20
    关于USB协议 USB传输线 USB OTG FS模式简介 ...USB,英文全称是Universial Serial Bus(通用串行总线)的缩写,其中文简称为通串线,是一外部总线标准,用于规范电脑外部设备的连接和通讯。是应用在P...
  • 51单片机怎么用usb烧写程序

    千次阅读 2020-12-31 01:44:10
    单片机怎样用usb烧写程序首先,需要安装keil软件和STC_ISP程序下载软件。先对你想要实现对单片机的功能用keil编程,然后用STC_ISP下载...实验板与PC机的连接:一般对现成购买的开发板来说,会有一个USB接口提供5v电...
  • 毕业设计(论文)课题: 单片机与PC机串口通信实现学生: 孙波 系部: 通信工程班级: 通信1301 学号: 2013120325指导教师: 童华装订交卷日期:2016年x月x日装订顺序: (1)封面(2)毕业设计(论文)成绩评定记录(3)标题、中文...
  • 这次我们来试着一步步的去掌握PC与单片机通过RS-232进行通讯和控制。先说说我硬件的情况。我用的PC二手的IBM240小本本,十寸屏,赛扬400,机子很老了。但也有它的优点:1、串口,并口,PS鼠标口、USB口、PCM插槽...
  • 单片机usb和串口通信

    千次阅读 2021-01-15 14:25:28
    单片机 1 单片机定义 单片机是一种集成电路芯片,是...2.台式电脑或者笔记本电脑(这种计算机叫PC)也是一种计算机系统,这种计算机系统由很多个零部件组成。这些零部件由不同的厂商生产,可以去组合组装成一台电脑。
  • 51单片机与sd卡接口设计.pdf 51单片机应用系统软件抗干扰初探.pdf 51单片机液位控制系统控制算法及实现.pdf 51单片机温度控制系统设计.pdf 555电路在单片机测控系统中的应用.pdf 74ls164在2051单片机led显示电路中的...
  • 利用USBUART桥接器实现单片机在线编程 作 者: 西南交通大学 邬芝权 靳桅 肖波 引 言: 通用串行总线(USB)是一种支持即插即用的...将USB转UART技术应用于单片机与PC机之间的数据通信,在计算机上产生一虚拟的COM口
  • (二) APP的JAVA代码部分(使用Android Studio 4.1...得益于这工作流畅的驱动包,本APP在实际工作的使用中稳定可靠,在此我谨向这位无私的开源者致谢。 以下是这driver驱动包在项目中的具体位置,它和我的唯一的主活动
  • 嵌入USB控制器的51系列单片机EZ-USB的应用 ?主要介绍嵌入USB控制核的51系列单片机EZ-USB的特性及传输控制...随着PC的广泛应用,其外设也越来越,打印机鼠标扫描仪游戏杆音箱,每外设都需要通过一个接口与PC相连外设
  • 1、中文名  USART:通用同步异步收发器   UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)  I2C(INTER IC BUS:意为IC之间总线) ... USB:Universal Serial BUS(通...
  • 今天给大侠带来基于 FPGA 的 USB 接口控制器设计(VHDL),由于篇幅较长,分三篇。今天带来第二篇,中篇,USB通信原理、USB 系统开发以及设计实例。话不说,上货。 之前有关于 Veriliog HDL 实现的USB 接口控制器...
  • 0背景 1.手机USB接口通信特点 - 1.1 使用方便 - 1.2 通用性强 - 1.3 速度快 - 1.4 可采用总线供电 2. 手机USB接口通信原理...3. 手机USB接口与外设通信方案 - 3.1 USB(手机)USB(外设) - 3.1.1 USB Host简述
  • 在工业生产和科学技术研究中,常利用PC或工控机对各种数据进行采集,以获得所需要的控制信息和实验数据。传统的数据采集系统以ISA,EISA或PCI插卡的形式完成数据传输,这种方式存在安装麻烦,受计算机插槽数量、...
  • 电子DIY:用单片机设计一款USB游戏手柄

    千次阅读 多人点赞 2020-06-28 19:59:06
    本次DIY使用单片机stm32f103c8t6,其自带USB资源,通过移植USB功能,修改相关配置和描述符,使其识别为USB-HID设备,再通过按键检测,检测到不用的按键就发送不同键值给电脑,以实现手柄不同的操作,实现原理同电脑...
  • 单片机实现USB主机接口

    千次阅读 2006-06-10 09:13:00
    The Design Of USB Interface Based On The Single Chip刘井权 王宪 戴旻 来源:自动化仪表杂志(江南大学通信控制工程学院 江苏无锡 214122)摘要提出了一种基于单片机的智能仪表扩展USB接口的方法。介绍了USB...
  • 枚举就是利用端点0主机HOST交换各个描述符,让主机HOST知晓你谁,加载相应的驱动你匹配。 各个描述符如下: 1、设备描述符:一设备只有一设备描述符 typedef struct _USB_DEVICE_DESCRIPTOR_ {
  • 转:https://blog.csdn.net/qq_30668481/article/details/78483032注:串口发送数据(USART)是STM32调试中经常使用的功能,但是电脑USB的电平标准串口所使用的TTL标准不同,所以需要一条USB转TTL线来完成它们之间的...
  • 800单片机毕业设计

    千次阅读 2021-10-09 21:21:44
    对大部分同学来说,毕业设计根本不知道从哪下手,完全处于蒙圈状态,为帮助大家能顺利毕业,精心准备800单片机毕业设计您分享! 其中有基于单片机设计的数字示波器、倒车雷达、电子密码锁、智能家居、停车场...
  • 这几天放寒假,又因为xx宅家里无所事事考率到学校宿舍的厕所没有装排气扇,每次有人方便后下个人要等非常长的时间才敢进去……...为避免这种情况发生我设计了一定时器,用于控置USB口的通断电↓↓IMG_20200210_...
  • 单片机类相关论文资料89C51 AduC812 AT89C52...基于CAN总线实现的PC与单片机的通信.pdf 基于CIP51单片机的温度采集系统.pdf 基于CPLD和单片机实现的无线报警系统.pdf 基于DM642和单片机的彩色印品质量检测系统研究.pd

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,807
精华内容 1,522
关键字:

usb接口pc与多个单片机