tag 标签: PC机

相关博文
  • 热度 21
    2014-7-6 07:23
    1522 次阅读|
    0 个评论
    1 引言 温度是日常生活中非常重要的物理量,其测量包括接触式和非接触式两种,前者需要感温元件与被测物体接触,会产生滞后现象,后者则是通过接收被测介质发出的辐射来实现的。实时温度控制系统运用数字温度传感器DS18B20采集温度,单片机作为主控芯片来对温度值进行处理,控制和传输,通过蜂鸣器实现报警功能,运用VB编程制作上位机管理软件。整个系统设计结构简单,连接方便,易于管理,可以应用于人不宜或者不易接触的地方,达到自动读取环境温度,并具有报警功能,节省人力和物力。 2 系统基本原理 系统结构框图如图1所示,数字温度传感器DS18B20将待测介质温度值传递给单片机,单片机对温度值进行处理,当温度超出所设范围(本系统所设温度极限为31℃)则通过报警电路实现报警。通过RS232串口实现PC机与单片机的通信,单片机将采集到的温度值传递给PC机。 图1 系统结构框图 通过使用VisualBasic中的通信控件MSComm(MicrosoftCommunicationControl),可以在Windows环境下轻松实现串口数据交换,MSComm是Microsoft提供的简化Windows下串行通信编程的ActiveX控件,通过对此控件的属性和事件进行编程,可以方便地发送和接收数据。利用MSComm控件制作上位机软件,可以实时显示环境温度值和提示信息。 3 硬件设计 3.1 单片机控制设计 本设计采用STC公司的STC89C52单片机作为主要控制芯片,此单片机具有4组8位I/O口(DIP-40封装),3个16位定时/计数器,8个中断源,8KBFlash程序存储器,512Byte片内RAM数据存储器,一个全双工串行通信接口。STC单片机性价比高,功能多,抗干扰能力很强,串口编程很方便,保密性很强。 图2 单片机控制电路 采用数字温度传感器DS18B20测量环境温度,DS18B20是美国Dallas公司生产的单线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可以直接将温度值转换为串行数字信号供处理器处理,特别适合多点温度测控系统,每片DS18B20都有惟一的产品号并可存入其ROM中,以便在构成大型温度测控系统时在单线上挂接任意多个DS18B20芯片。从DS18B20读出或写入DS18B20信息仅需要一根端口线,其读写及温度变换功率来源于数据总线,该总线本身也可以将所挂接的DS18B20供电,而无需额外电源。DS18B20能提供9位温度读数,它无需任何外围器件即可方便地构成温度检测系统。如图2所示,只需将DS18B20的第4脚(DQ)和单片机的一个I/O口(P2.2)相连,另外还需接一个上拉电阻即可。单片机通过其I/O口获得温度值,很方便地进行处理,传输和控制。 报警电路采用蜂鸣器作为报警器件,如图2所示,只需很少的器件,就能实现单片机与蜂鸣器的连接。当与蜂鸣器所连单片机的I/O口输出低电平时,蜂鸣器则能发出声音,系统设计中,当温度超过31℃时,蜂鸣器则发出声音,实现报警功能。 3.2 单片机与PC机接口设计 单片机要和PC机实现串口通信,需要进行电平转换,因为单片机使用的是TTL电平,而PC机串口使用的是RS232电平。运用MAXIM公司生产的MAX232芯片实现TTL电平和RS232电平转换,如图3所示,通过其第11脚和第12脚分别与单片机的第11脚和第10脚连接,通过第13脚,第14脚分别与PC机串口的第2脚,第3脚进行连接,就能实现单片机和PC机的电平转换、连接、和通信。单片机与PC机接口电路原理图如图3所示。 图3 单片机与PC机串口通信接口电路 4 软件设计 系统单片机程序采用C51进行编程,主要完成对DS18B20的调用中断管理、测量温度值的计算以及单片机与PC机的串口通信。上位机软件采用VBMSComm控件制作,由于C51程序较长,此处只介绍上位机软件编写程序,VB程序如下: Private SubForm_Load()'........初始化设置 MSComm1.CommPort=1'……使用Com1口 MSComm1.Settings="9600,n,8,1"'.设置通讯参数 MSComm1.InBufferSize=4'设置接收寄存器等待读取的字符数为4 MSComm1.RThreshold=0'初始化为不产生OnComm事件 MSComm1.PortOpen=True'.打开串口 MSComm1.InputLen=4'设置并返回Input属性从接收缓冲区读取的字符数为4 MSComm1.InputMode=comInputModeText'设置接收方式为文本方式 Me.Caption="实时温度控制系统"'设置标题为"实时温度控制系统" End Sub Private SubCommand1_Click()'..自动读取按钮 Timer1.Enabled=True'........开启定时器 MSComm1.RThreshold=1'........开启OnComm事件触发 End Sub Private SubCommand2_Click()'..清空内容按钮 Timer1.Enabled=False'........关闭定时器 MSComm1.RThreshold=0'........停止产生OnComm事件 Shape1.FillColor=RGB(255,255,255) '........设置信号指示灯的颜色为白色 Text1.Text=""'........清空文本框1的内容 Text2.Text=""'........清空文本框2的内容 Text3.Text=""'........清空文本框3的内容 End Sub Private SubCommand3_Click()'..关闭窗口按钮 Unload Me'........卸载窗体 End Sub Private SubMSComm1_OnComm()'......事件触发 Dimrec AsString Select CaseMSComm1.CommEvent Casecom EvReceive rec=MSComm1.Input Text3.Text=rec MyResult=(Text3.Text"31") '........判断当前温度是否达到31℃ If MyResult=FalseThen'....达到31℃ Shape1.FillColor=RGB(255,0,0)'........信号灯为红色 Text1.Text="产生报警"'........同时信息提示显示"产生报警" Else'........未达到31℃ Shape1.FillColor=RGB(0,128,0)'........信号灯为绿色 Text1.Text="温度正常"'........同时信息提示显示"温度正常" End If Text3.Text="" Text3.Text=rec+"℃" MSComm1.InBufferCount=0'清空接收缓冲区 End Select End Sub Private SubTimer1_Timer() Text2.Text=Now'........设置定时器产生时钟,显示当前时间 End Sub 5 系统调试 系统实现功能包括,通过下位机(单片机)将DS18B20所测温度值实时传输给上位机(PC机),通过上位机(PC机)监控环境温度,并具有报警功能。 1.在上位机软件中点击"自动读取"按钮实现自动读取当前时间,温度值。当正常温度情况下,信号指示灯为绿色,同时信息提示为"温度正常"。 2.当温度达到所设温度极限时(本系统所设温度极限为31℃),信号灯变为红色,信息提示为"产生报警",同时硬件部分的蜂鸣器会报警,如图4所示为产生报警时上位机显示部分。 图4 产生报警时上位机显示部分 6 结束语 运用能直接得到数字信号的温度传感器DS18B20采集温度,将温度值通过单片机I/O口传递给单片机进行处理,传输和控制,当温度值达到所设温度极限时产生报警,通过串口数据线实现下位机(单片机)与上位机(PC机)通信,并运用VBMSComm控件制作上位机软件,达到实时显示环境温度和提示信息。系统设计连接简单,实现容易,使用方便。
  • 热度 20
    2013-8-28 08:52
    1185 次阅读|
    0 个评论
    单片微型计算机简称单片机,它是将中央处理器(CPU)、存储器(RAM,ROM)、定时/计数器和各种接口电路都集成到一块集成电路芯片上的微型计算机。随着计算机技术尤其是单片机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、湿度等参数进行检测和控制。PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC机的RS 232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。因此如何实现PC机与单片机之间的通信具有非常重要的现实意义。针对一些远距离控制或者是危险性比较高的数据采集和控制的应用情况,本文主要介绍一种用双工方式实现PC机与单片机之间的串行通信。 1 设计方案 为了通过串口实现PC机与单片机间的双工通信,可有如下设计方案。 (1)设计方案一:有线传输 此方案是指PC机与单片机之间通过电缆线传输数据。有线传输的优势是性能比较稳定,调试简单,而不足之处在于它的应用范围不够广、性能不够好,而且传输距离受限,这样就大大影响了系统的应用范围。 (2)设计方案二:无线传输 此方案是指PC机与单片机通过无线信道传输数据。无线传输的最大优势是应用范围广,受距离约束较小,在一定范围内可以不用考虑距离问题,还可以应用在一些高温、危险的场合。 因此,本文选用无线传输方案通过串口来实现PC机与单片机之间的双工通信。无线传输可以用不同的方式来实现,常用的有红外方式、蓝牙方式,其他的还有射频收发芯片如CC1100,PT2262/2272芯片等。 红外通信是利用950nm近红外波段的红外线作为传递信息的载体,通过红外光在空中的传播来传递信息,由红外发射器和接收器实现。发射端将二进制数字信号调制成某一频率的脉冲序列,经电光转换电路,驱动红外发射管以光脉冲的形式发送到空中。接收端将接收到的光脉冲转换成电信号,再经解调和译码后恢复出原二进制数字信号。其最大优点是:不易被人发现和截获,保密性强;几乎不会受到电气、天电、人为干扰,抗干扰性强。此外,红外线通信机体积小、重量轻、结构简单、价格低廉。不足之处在于它必须在视距内通信,且传播受天气的影响。 CCll00是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计。CCll00构建高性能射频无线数据传输技术方案应用无线通讯模块采用透明模式进行通讯,即所收即所发,具有通讯距离远、低功耗、接口灵活等优点,使用者无需编码和控制。CCll00通信距离(视距)大于300m,而且能隔墙遥控,操作方便。 综合上述分析,本文介绍的是采用CCll00收发器通过串口来实现PC机与单片机之间的双工无线通信。 【 分页导航 】 第1页:设计方案 第2页:硬件设计 第3页:软件设计 第4页:测试结果 《电子技术设计》网站版权所有,谢绝转载 2 硬件设计 2.1 总体框图 此双工无线通信系统的总体框图如图1所示。由于此系统可实现双工通信,因此它可分为两个通信过程:PC机(上位机)通过上位机程序界面发送数据给单片机,并送给液晶屏显示相应的数据;键盘输入数据传给单片机,接着发送给PC机,并在PC机上位机程序界面上显示出来。 2.2 实现电路图 对应于上述框图的电路实物图如图2所示。其左右两个电路分别对应上述框图中的左右两个部分。总体来说,它包括电平转换电路、单片机处理部分、无线收发部分(CCll00收发器)、液晶显示模块和键盘输入模块五个部分。 (1)电平转换电路 PC机的串行口采用的是标准的RS 232接口,单片机的串行口电平是FTL电平,而TTL电平特性与RS 232的电气特性不匹配,因此为了使单片机的串行口能与RS 232接口通信,必须将串行口的输入/输出电平进行转换。通常用MAX232芯片来完成电平转换。 (2)单片机部分 单片机部分包括单片机、复位电路和时钟电路。它将串口送过来的数据传输给CC1100收发器,或者将CCll00收发器传送过来的数据通过串口给PC机。单片机的复位电路和时钟电路是单片机工作所必需的。 (3)无线收发部分 无线收发部分由CC1100收发器组成,它将接收到的数据通过天线发射出去或从天线接收发送过来的数据。 (4)液晶显示模块 此处选用LCDl602液晶模块,其内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码。 (5)键盘输入模块 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4×4=16个按键,比之直接将端口用于键盘多出了一倍。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是比较好的。矩阵式键盘的按键识别方法为行扫描法。此处选用4×4的矩阵键盘来输入O~9的数字和a~f的字母。 【 分页导航 】 第1页:设计方案 第2页:硬件设计 第3页:软件设计 第4页:测试结果 《电子技术设计》网站版权所有,谢绝转载 3 软件设计 本系统的软件设计方面包括上位机程序和单片机程序的设计。上位机程序要实现的功能是在电脑上显示一个操作界面,它可代替串口调试工具。 3.1 上位机程序 上位机程序可以用VB,VC++等语言来编程,但本方案采用比较方便的C#来编程实现,其流程图如图3所示。 3.2 单片机程序 单片机程序主要包括主程序、单片机发送子程序、单片机接收子程序、液晶显示子程序、键盘输入子程序五部分,均采用C语言进行模块化编程。由于篇幅原因,下面只给出了单片机发送子程序和接收子程序,如图4,图5所示。 【 分页导航 】 第1页:设计方案 第2页:硬件设计 第3页:软件设计 第4页:测试结果 《电子技术设计》网站版权所有,谢绝转载 4 测试结果 测试时,连接好硬件打开串行口COM1,并设波特率为9600b/s。单片机发送字符串“675”给PC机,其液晶显示如图6所示,相应的PC机界面显示如图7所示。PC机发送"69asd"给单片机,液晶屏上即可接收到“69asd",如图8,图9所示。测试结果说明:基于串行口的PC机与单片机之间的双工无线通信是切实可行的,而且无线传输的距离至少可达到100m。 5 结语 采用CCll00收发器通过串口实现了PC机与单片机之间的双工无线通信。此系统可应用到一些远距离控制或者是危险性比较高的数据采集和控制的场合,用于采集温度、湿度等参数,还可扩展到无线传感器网络领域,实现诸如无线抄表、智能家居等系统。 【 分页导航 】 第1页:设计方案 第2页:硬件设计 第3页:软件设计 第4页:测试结果 《电子技术设计》网站版权所有,谢绝转载
相关资源
  • 所需E币: 3
    时间: 2019-12-26 01:06
    大小: 27.18KB
    上传者: wsu_w_hotmail.com
    采用PC机实现单片机优化控制……
  • 所需E币: 3
    时间: 2019-12-25 22:50
    大小: 93.82KB
    上传者: givh79_163.com
    对于以数字信号处理器(DSP)为核心的局域网络,在深入了解网络接口控制器(NIC)的工作原理基础上,可以自己制订一套通信协议,通过对网卡直接编程,实现局域网内任意站点之间的通信而完全抛开网络操作系统。但是,如何抛开接口控制卡实现DSP网络与PC机之间的直接通信,从而使以DSP为核心的处理系统与Internet无缝对接呢?TCP/IP协议是Internet的基础,也是PC机网卡网络操作系统的核心,本文通过对TCP/IP协议的具体分析,解决了以数字信号处理器(DSP)为核心的局域网络DSP端的IP地址问题,实现了DSP与PC机之间的UDP协议通信,从而将DSP处理系统带进一个新的数字化网络时代。……
  • 所需E币: 5
    时间: 2019-12-25 22:04
    大小: 438KB
    上传者: quw431979_163.com
    用于PC机与嵌入系统之间串口通讯的功能调试。……
  • 所需E币: 5
    时间: 2019-12-25 16:38
    大小: 14.8KB
    上传者: 978461154_qq
    uCOS-IIv2.52在lpc2000系列ARM上的移植源代码……
  • 所需E币: 3
    时间: 2019-12-25 16:30
    大小: 1.23MB
    上传者: 238112554_qq
    嵌入式入门笔记……
  • 所需E币: 4
    时间: 2020-1-6 13:24
    大小: 21.5KB
    上传者: rdg1993
    自制PC机红外线接口(Irda)……