毕业设计(论文)-VC编程软件来开发上位机与下位机之间通信编程
摘 要
本文主要描述了利用机与单片机之单的通信程序单单单单度单示。温PCAT89C51
并单述了在单境下~上位机利用通信控件单片机之单串口通信单与VC6.0MSCOMM
单度单示。由单片机采集一度信~采集到的度信单送单温个温号将温号机单示~PCPC机用单程序~单片机程序用写单言单~最后用写单件单行单单仿真VC6.0CPROTUES温度单示。
单单单,单片机 控件 温度单示MSCOMMVC6.0 AT89C51
目 单
摘要
单束单..........................................................................................................................27致单..............................................................................................................................28
参献考文......................................................................................................................29
引言1
随断着人单生活水平的不提高,单片机控制无疑是人单追求的目单之一~所单它人单的方便也是不可否定的~要单单代人工作、科、生活、提供更好的更方便的单来研
施就需要单片机技单入手~一切向着字化控制~智能化控制方向单展。从数
单代化集中管理需要单单单据单行单单、
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
、制
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
、打印、单单、单警等数,同单,又要求单单单置单行单单控制~完成各单单定操作~到集中管理的目的。加之单片机的单算能力装达
有限~单以单行单单的据单理。因此在功能比单单单的控制系单中~通常以数PC机单上位机~单片机单下位机~由单片机完成据的采集及单置的控制~而由上位机完成数装
各单单单的据单理及单单片机的控制。数
1
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
单单2
硬件方案单单2.1
单片机的单单2.1.1
本单单采用的是单片机~AT89C51是一单单4K字单单存可单程可擦除只单AT89C51
存单器;FPEROMFlash Programmable and Erasable Read Only Memory—,的低单单、高性能CMOS 8位微单理器~俗单片机称。是一单高效微控制器~因单更单它它
单单惠~用起活方便~而且单单了用单单型的单片机~所以单单来灵号单片机。AT89C51
单平单单2.1.2
本单单采用MAX232芯片单行单平单单~MAX232芯片是美信公司单单单单单的RS232单准串口单单的接口单路,使用+5V单单源供单~的作用就是它完成TTL单平与RS232单平的单单。PC机的串行口采用的是单准的RS 232接口~单片机的串行口单平是FTL单平~而TTL单平特性与RS 232的单特性不匹配~因此单了使单片机的串气
行口能与RS 232接口通信~必单串行口的单入将/单出单平单行单单。通常用MAX232芯片完成单平单单。来
单片机与pc机通信原理2.1.3
MCS-51单片机有一全工的串行通单口个双UART。利用其RXD和TXD外与界单行通信~其部有内2物理上完全立的接收、单送单器个独冲SBUF~可同单单送和接收据。所以单片机和数PC机之单可以方便地单行串口通单。单片机串口有3引单,条TXD(单送据数)、RXD(接收据数)和GND(信地号)。因此在通信距单短单可采用离零MO?
DEM方式~单单三单单单。构IBMPC—机有单准的两个RS,232串行口~其单平采用的是EIA单平~而MCS-51单片机的串行通信是由TXD(单送据数)和
RXD(接收据数)单行全工通信的~单的单平是来双它TTL单平~单了Pc机与MCS-51机之单能可地单行串行通信~需要用单平单单芯片~我单采用了靠MAXIM公司生单的单用芯片MAX232单行单单。单路如单所示。
2
单2.2 MAX232工作原理单
单件方案单单2.2
上位机单程方案单单2.2.1
本单单采用来与写单单单程~上位机单片机单行通信的程序单可用、VC6.0++VBVC等单件。由于作单面向单象的单程工具不单完全~效率比低~提供的命令单言单VBVC
境单弱~通单串口单单一次最多只能交单的据~单单大据量的单单存在大的局数数很16B
限性~单单单单单单单的据单理~很数是一单功能强大的面向单象的单程单VC6.0++Windows单平台。的单点是界面单单~占用单源少~操作方便。所以本单单采用作单串口单VC6.0VC程工具。
单片机单程方案单单2.2.2
本单单单片机的单程单单单言单~因单写它单单单、活方便、算符富、据单凑灵运丰数构C
丰富、是单式单言、构单法限制不太单格~程序单单自由度大、单言允单直接单单物理CCC
地址~可以直接单硬件单行操作、单言程序生成代单单量高~程序单行效率高~一般C
只比单单程序生成的目单代单效率低へ、单言适用范单大~可移植性好单言1020%CC有一个突出的单点就是适合于多单操作系单如、也适用于多单机型。单, DOSUNIX,C言具有单单能力强~可移植性~具单强的据单理能力~因此并很数写适于单系单单件~三单~二单单形和单是单单算的高单单言。所以我单用画它数单言单单此程序。来写C
2.3 单方案单单体
温来温来将温度单感器单量出的度单由单片机采集出~然后单片机再采集出的度数据单理后~通单串行口单送单上位机。
MAX2AT89CPC机
325111
单单单单方案体流程单2.1
3
4
硬件单单3
3.1 单片机主要特性?与MCS-51 兼容
?4K字单可单程单单存单器 ?命,寿1000写/擦循单 ?据数保留单单,10年 ?全单工作,静0Hz-24MHz ?三单程序存单器单定 ?128×8位部内RAM ?32可单程I/O单
?两个16位定单器/单器 数 ?5中源 个断
?可单程串行通道
?低功耗的单置和掉单模式 ?片内振单器和单单单路单片机AT89C51的引脚单明,
单3.1 AT89C51的引脚排列
引脚描述,
,单源单单 VCC
,地GND
口,P0口是一单8位漏极双单路向I/O口~地址即/据单单单用口。作单单出口数P0
单~每一管个脚都能单单单8个TTL单路。当“1”被写入P0口单~每个管脚都能单作单
5
高阻抗单入端。P0口单能单在单单外部据存单器数数或程序存单器单~单单地址和据单单单用~并内在单单激活部的上拉单阻。P0口在单单单程单~P0口接收指令~在程序校单单~单出指令~需要接单阻。
口,P1口一单单部上个内拉单阻的8位向双I/O口~P1的单出单单可单单冲4个P1
TTL单路。单端口写“1”~通单部的单内阻把端口拉到高单平~此单可作单单入口。因单内个号个部有单阻~某引脚被外部信拉低单单出一单流。单单单程单和程序校单单~P1口接收低8位地址。
口,P2口是一部单有上个内拉单阻的8位向双I/O口~P2的单出单单可单单冲4P2
个TTL单路。单端口写“1”~通单部的单内阻把端口拉到高单平~此单~可作单单入口因单部有单内个号会个阻~某引脚被外部信拉低单单出一单流。在单单外部程序存单器或16位地址的外部据存单器单~数P2口送出高8位地址据。在单单数8位地址的外部数据存单器单~P2口单上的内个运容在整行期单不单。单单单程或校单单~P2口接收高位地址和其控制信。它号
口,P3口是一单单有部单内阻的8位向双I/O口~P3口单出单冲故可单单4个P3
TTL单路。单P3口如写“1”单~单它内并被部单阻拉到高单平可作单单入端单~被外部拉低的P3口用单将阻单出单流。
P3口除了作单一般的I/O口外~更重要的用途是的它第二功能~如下表所示
端口引脚第二功能
P3.0RXD
P3.1TXD
P3.2INT0
P3.3INT1
P3.4T0
P3.5T1
P3.6WR
P3.7RD
表口第二功能2..1 P3
P3口单接收一些用于单单存单器单程和程序校单的控制信。号
,RST
单位单入。当震单器工作单~RET引脚出单机器两个将周期以上的高单平使单片机单位。
6
PROGALE/,
当数单单外部程序存单器或据存单器单~ALE单出用于单存地址的低脉冲8位字单。即使不单单外部存单器~ALE以单单震单单率的1/16单出固定的正脉冲号它信~因此可单单出单单或用于定单目的。要注意的是,每当数将个单单外部据存单器单跳单一ALE脉冲个脉冲区单~单单存单器单程单~单引脚单用于单入单程。如果必要~可单特殊寄存器中的8EH单元的D0位置禁止ALE操作。单位置后只有一个条MOVX和MOVC指令ALE才被会个会单用。此外~单引脚微弱拉高~单片机单行外部程序单~单单置ALE无效。
,程序单存允单单出是外部程序存单器的单单通信~号当AT89C51由外部PSEN
程序存单器单取指令单~每个两机器周期次PSEN 有效~单出。在此即两个脉冲期单~当数两单单外部据存单器单~单次有效的PSEN 信不出单。号
,外部单单允单。欲使中央单理器单单单外部程序存单器~EA端必单保持低单EA/VPP
平。需要注意的是,如果加密位LBI被单程~单位单部单存内会EA端状单。如EA端单高单平~CPU单单行部程序存单器中的内指令。单单存单器单程单~单引脚加上+12V的单程允单单单VPP~当然单必单是单器件是使用12V单程单单VPP。
,震单器反相放大器及部单单单生器的单入内端。XTAL1
,震单器反相放大器的单出端。XTAL2
单单震单器,AT89C51中有一用于成部个构内震单器的高增益反相放大器~引脚XTAL1和XTAL2分单是单放大器的单入端和单出端。单个与放大器作单反单元件的片外石英晶或陶瓷体构体单振器一起成自然震单器。 外接石英晶及单容C1~C2接在放大器的反单回路中成单构并震单单路。单外接单容C1~C2单然没有十分单格的要求~但单容容量的大小会响单微影震单单率的高低、震单器工作的单定性、起振的单易程序及温体荐度单定性。如果使用石英晶~我单推单容使用30PF?10PF~而如果使用陶瓷振单器建单单单40PF?10PF。用单也可以采用外部单单。采用外部单单的单路如单示。单单情况下~外部单单接到脉冲XTAL1端~部单单单生器的单入即内端~XTAL2单单空。由于外部单单信是通单一号个2分单单器后作单部单单信的~所以单外部单单信的占触内号号空比没条有特殊要求~但最小高单平持单单单和最大的低单平持单单单单符合单品技单件的要求。
单3.2部内振单单路 单3.3单散单单模式
AT89C51有单可用单件单程的两它两省单模式~单是单散模式和掉单工作模式。单单方式是控制单用寄存器PCON中的PD和IDL位单单的。来PD是掉单模式~当PD=1
7
单~激活掉单工作模式~单片机单入掉单工作单。状IDL是单散等待方式~当IDL=1~激活单散工作单~单片机单入状状两即睡眠单。如需要同单单入单工作模式~PD和IDL同单单1~单先激活掉单模式。在单散工作模式单~中状央单理器CPU保持睡眠状单~而所有片的外单内状内随数仍保持激活单~单单方式由单件单生。此单~片机存取据存单器和所有特殊功能寄存器的内断容保持不单。单散模式可由任何允单的中单求或硬件单位单止。单止单散工作模式的方法有单~一是两条断任何一被允单中的事件被激活~IDL被硬件除~清即会响断断刻单止单散工作模式。程序首先影中~单入中服单程序~单行完中断并随服单程序~单单RETI指令后~下一要单行的条指令就是使单片机单入单散工作模式~那指条条将令后面的一指令。二是通单硬件单位也可单散工作模式单止需要注意的是,由硬件单位单当来止单散工作模式单~中央单理器CPU通常是从激活空单模式那指条条内脉令的下一单始单单单行程序的~要完成部单位操作~硬件单位冲两个况内要保持机器周期有效~在单单情下~部禁止中央单理器CPU单单片内RAM~而允单单单其他端口~单了避免可能单端口单生的意外入,写激活单散模式的那指条条条写令后面的一指令不单是一单端口或外部存单器的入指令。
掉单模式,
在掉单模式下~振单器停止工作~单入掉单模式的指令是最后一条被单行的指令~片内RAM和特殊功能寄存器的内容在中指掉单模式前被单单。退出掉单模式的唯一方法是硬件单位~单位后将从新定单全部特殊功能寄存器但不改单RAM中的内容~在VCC恢单到正常工作单平前~单位单无效切必单保持一定单单以使振单器从启并新单单单定工作。
模式程序存单器ALEP0P1P2P3PSEN
单散模式部内数据数据数据数据11
单散模式部内浮空数据地址据数11
掉单模式外部数据数据数据数据00
掉单模式外部数据数据数据数据00
表单散和掉单模式外部引脚状单。2.2
程序存单器的加密
AT89C51可使用单芯片上的三加个密位LB1~LB2~LB3单行单程;P,或不单程;U,得到如下表所示的功能,
程序加密位保单单型
没有程序保单功能1UUU
2PUU禁止从外部程序存单器中单行MOVC指令单取内内部程序存单器的
容
除上表功能外~单禁止程序校单3PPU
除以上功能外~同单禁止外部单行4PPP
表程序存单器的加密2.3
当LB1被单程单~在单位期单~EA端的单平被单存~如果单片机上单后一直有单没位~单存起的来个确数个确数会真初始单是一不定~单不定一直保存到正单位位置。单了使单片机正常工作~被单存的EA单平单引与个当脚单前单单平一致。机密位只能通单整片擦除的方法除。清
8
单平芯片介单3.2MAX232
芯片是美信公司单单单单单的单准串口单单的接口单路使用单单MAX232RS-232,+5v源供单。
部单内构个基本可分三部分,
第一部分是单荷单单路。由、、、、、脚和只单容构成。功能是单生和1234564+12v-
两个单源~提供单串口单平的需要。12vRS-232
第二部分是据单单通数道。由、、、、、、、脚构两个数成据通道。7891011121314
其中脚;,、脚;,、脚;,、脚;,单13R1IN12R1OUT11T1IN14T1OUT第一据通数道。
脚;,、脚;,、脚;,、脚;,单第二数据8R2IN9R2OUT10T2IN7T2OUT通道。
数从据、单入单单成数从据、送到TTL/CMOST1INT2INRS-232T1OUTT2OUT单单插单~插单的数从据、单入单单成数据后DP9DP9RS-232R1INR2INTTL/CMOS从、单出。R1OUTR2OUT
第三部分是供单。脚、脚;,。15DNG16VCC+5v
单平单单单路如下,
单3.4 MAX232单平芯片
3.3 硬件单路单单单
机单片机通信接口单路单单单与框3.3.1 PC
本文采用MAx232作单PC机单片机的串行通信接口芯片。硬件单接单~可与从
MAX232中的2路单送器和接收器中任单一路~只要注意单送接收的引与脚单单单系即可。接口单路如单3.5所示。
9
单3.5 机单片机通信接口单路单单单与框PC
整体单单原理单3.3.2
单单单体体按照整单单思路方案单制原理单如下所示,
单3.6整体单单原理单单件单单4
上位机程序单单4.1
void CTem_conDlg::OnOnCommMscomm1()
10
{
// TODO: Add your control notification handler code here
每次单入单单单将框内清数容空等待单示新的单据m_strRXData=" "; //
VARIANT variant_inp;
LONG len,k;
单置数单BYTE rxdata[2048]; //BYTE
CString strtemp;
事件单单表示接收单有字符冲区内if(m_ctrlComm.GetCommEvent()==2)//2
以下可以你根据自己的通信单单加入单理代单{ ////
单单冲区variant_inp=m_ctrlComm.GetInput();//
型单量单单单型单safearray_inp=variant_inp; //VARIANT//ColeSafeArray
量
得到有效据单度数len=safearray_inp.GetOneDimSize();//
for(k=0;k
晶振单率#define XTAL 11059200 // CUP
通信波特率#define baudrate 9600 //
#define uchar unsigned char
#define uint unsigned int
定单端口sbit DQ = P3^3; // DS18B20DQ
sbit BEEP = P3^7;
unsigned char presence ;
unsigned char code LEDData1[ ]
~={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xff}
unsigned char code LEDData[ ] =
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,0xff};unsigned char data temp_data[2] = {0x00,0x00};
unsigned char data display[5] = {0x00,0x00,0x00,0x00,0x00};
unsigned char code ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,
0x05,0x06,0x06,0x07,0x08,0x08,0x0
11
9,0x09};
void beep();
小数点sbit DIN = P0^7; //
单示单单单单bit flash=0; //
正单度单温志bit flag_zf=0; //
/**********************************************************/
延单函数void Delay(unsigned int num)// {
while( --num );
}
/**********************************************************/
初始化uchar Init_DS18B20(void) // ds1820
{
单位DQ = 1; // DQ
稍做延单Delay(8); //
单片机将拉低DQ = 0; // DQ
精延确单 大于 Delay(90); // 480us
拉高单单DQ = 1; //
Delay(8);
如果单初始化成功 单初始化失单presence = DQ; // =0=1
Delay(100);
DQ = 1;
返回信~号return(presence); // 0=presence,1= no presence
}
/**********************************************************/
单一字单个uchar ReadOneChar(void) // {
unsigned char i = 0;
unsigned char dat = 0;
for (i = 8; i > 0; i--)
{
单信脉冲号DQ = 0; //
dat >>= 1;
单信脉冲号DQ = 1; //
if(DQ)
dat |= 0x80;
Delay(4);
}
return (dat);
}
/**********************************************************/
写个一字单void WriteOneChar(unsigned char dat)//
12
{
unsigned char i = 0;
for (i = 8; i > 0; i--)
{
DQ = 0;
DQ = dat&0x01;
Delay(5);
DQ = 1;
dat>>=1;
}
}
/*********************************************************/
单取温度void Read_Temperature(void)// {
Init_DS18B20();
if(presence==1)
{
beep();
flash=1;
不正常~蜂单器单警} // DS18B20
else
{
flash=0;
跳单单序号号列的操作WriteOneChar(0xCC); //
启温单单度单单WriteOneChar(0x44); // Init_DS18B20();
跳单单序号号列的操作WriteOneChar(0xCC); //
单取温度寄存器WriteOneChar(0xBE); //
温度低位temp_data[0] = ReadOneChar(); // 8
温度高位 temp_data[1] = ReadOneChar(); // 8
}
}
/*********************************************************/
单示度温void Disp_Temperature()// {
unsigned char n=0;
当温度高八位中的高五位全单if(temp_data[1]>7) //O
所单度单单单~要单行单单温{ flag_zf=1; //
~temp_data[1]=!( temp_data[1])
temp_data[0]=!( temp_data[0]);temp_data[0]= temp_data[0]+1;if(temp_data[0]=0)
{ temp_data[1]= temp_data[1]+1;}}
13
Else
判断温数单得的度据是正单是单~如果单正~不做任何{flag_zf=0} //理 //
display[4]=temp_data[0]&0x0f;
单表得小数位的单display[0]=ditab[display[4]]; //
display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4);
display[3]=display[4]/100;
display[1]=display[4]%100;
display[2]=display[1]/10;
display[1]=display[1]%10;
if(flag_zf=1)
{p0=0xbf;
P2=0x02;
温数个数号度单单单第二单管单示单Delay(300);} //
高位单~不单示if(!display[3]) // 0
{
display[3]=0x0a;
次高位单~不单示if(!display[2]) // 0
display[2]=0x0a;
}
单示 P0 = 0xc6; // C
位单单单口~单共阳极当单示~位单单单低单平单单通P2 = 0xfe; // P2.7LED
Delay(300);
单示 P0 = 0x9c; // ?
单中口P2 = 0xfd; // P2.6
Delay(300);
单示小数位P0 =LEDData[display[0]] ; //
P2 = 0xfb; //p2.5
Delay(300);
单示位个P0 =LEDData1[display[1]]; //
P2 = 0xf7;
Delay(300);
单示十位P0 =LEDData[display[2]]; //
P2 = 0xef;
Delay(300);
单示百位P0 =LEDData[display[3]]; //
P2 = 0xdf;
Delay(300);
14
单单单示P2 = 0xff; // }
/*********************************************************/
void beep(void)
{
unsigned char i;
for (i=0;i<100;i++)
{
Delay(60);
取反BEEP=!BEEP; // BEEP
}
单单蜂单器BEEP=1; // }
/*********************************************************/
void init(void)
{
中单允单断EA = 1; // ""
定单器工作于位自单重单模式用于单生波特率TMOD = 0x20; // 18,
TH1=(unsigned char)(256 - (XTAL / (32L * 12L * baudrate)));
定单器单初单TL1=(unsigned char)(256 - (XTAL / (32L * 12L * baudrate))); // 0
单定串行口工作方式SCON = 0x50; //
波特率不倍增PCON &= 0x00; //
启单定单器TR1 = 1; // 1
禁止任何中断IE = 0x00; //
}
/*********************************************************/
void send_char(void)
单送十六位的度据~低位在温数前//
{
unsigned i=0;
while (i < 2)
{
SBUF = temp_data[i];
等特据单送数while (!TI); //
清数除据单送单志TI = 0; //
i++;
}
}
/*********************************************************/
void main(void)
{
uchar receive;
init();
15
while(1)
{
单取温度Read_Temperature(); //
if (flash==0)
{
单示度温Disp_Temperature(); //
}
else
{
不正常~单单单示P2 = 0x00 ; // DS18B20
}
是否有据到数来if (RI) //
{
RI = 0;
receive = SBUF;
是否单始采集度温if (receive == 49) //
{
单送采集的度温send_char(); //
}
}
}
}
16
仿真与单单5
5.1PROTEUS单件仿真
单介5.1.1 Protues
Protues单件是英国Labcenter electronics公司出版的EDA工具单件;单单件中单代理单国广它它州单单单子技单有限公司,。不单具有其EDA工具单件的仿真功能~单能单片机及外单器件。是目仿真它仿真前最好的单片机及外单器件的工具。单然目前推国内广从教学教单起步~但已受到单片机单好者、事单片机的单、致力于单片机单单单用的科技工作者的单。青Proteus是世界上著名的EDA工具(单件仿真)~从与仿真原理单布单、代单单单到单片机外单单路单同~一单切单到PCB单单~真从正单单了概将仿真念到单品的完整单单。是目前世界上唯一单路单件、PCB单单单件和单虚模型仿真单件三合一的单单平台~其单理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等~2010年
即将增加Cortex和DSP系列单理器~并持单增加其他系列单理器模型。在单单方面~也它支持IAR、Keil和MPLAB等多单单单器。
protues支持前当的主流单片机~如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。
1,提供单件单单功能
2,提供富的外单接口器件及其 丰仿真
RAM~ROM~单单~单~达LED~LCD~AD/DA~部分SPI器件~部分IIC器件。单单接很近单单。
17
3, 提供富的单单器 丰虚
利用单单器在单程中可以单量外单单路的特性~虚仿真学培单生单单硬件的单单能力。
4, 具有强大的原理单单制功能
在PROTUES单制好原理单后~单入已单单好的目单代单文件,*.HEX~可以在PROTUES的原理单中看到模单的单物行单和单程。 运状
PROTUES 是单片机单堂教学的先单助手。
PROTUES不单可单多单片机单将将运例功能形象化~也可单多单片机单例行单程形象化。前者可在相当程度上得到单物演示单单的效果~后者单是单物演示单单单以达到的效果。
它当的元器件、单接单路等却和单单的单片机单单硬件高度单单。单在相程度上替代了单单的单片机单单的功能~教学例,元器件单单、单路单接、单路单单、单路修改、单件单单、运行单果等。
单程单单、单单单单是生学践走向就单的重要单单单。由于PROTUES提供了单单室无法相比的大量的元器件单~提供了修改单路单单的活性、提供了单单灵数室在量、单量上单以相比的单单器、单表~因而也提供了虚学践培单生单精神、单造精神的平台
随仿真着科技的单展~“单算机技单”已成单单多单单部单重要的前期单单手段。它灵减具有单单活~单果、单程的单一的特点。可使单单单单大单单短、耗单大单少~也可降低工程制造的单单。相信在单片机单单单用中PROTUES也能茯得愈愈泛来广的单用。
仿真单路单5.1.2 protues
18
单5.1单单路原理单体仿真
用搭建好的原理单放在protues单件中单行~单片机采集到据单通单一系仿真当数
列的单单最单送到上位机单行据单示~上位机可数从即数从得到下位机采集到的据~而完成上位机下位机的通信。与
单件仿真5.2 VC
步单,打单单件~新建文件~单单【】单~工程名取单1VCMFC AppWizard exe【】~单单【】按单~如单所示。tem_conOK
单5.2打单VC单件界面
步单2单单【】单~单单【】按单~如单所示Dialog basedFinish
19
单5.3单单基本单单框
步单3,单单【】菜单单~如单所Project->Add to project->Components and Controls...示。
20
单5.4添加工程
步单4,等待单件打单文件单~单双【】文件单~如单所示。Registered ActveX Controls
21
单5.5单件打单文件单
步单5,单单【】列表单~单单【】Microsoft Communications Control,version 6.0Insert按单~如单所示。
22
单5.6单单 Microsoft Communications Control,version 6.0
步单6,接着单出【】单单~框默单不修改~单单【】按单~如单所示。Confirm ClassesOK
23
单5.7单出单单框Confirm Classe
步单7,控件工具中的串行口控件将条框拖单到单单中~用鼠单左单点住~一直拖到单单中~在框任意位置单放左单~如单所示。
24
单5.8添加串口控件
步单8,单单【】菜单单打单【】单单~单中框View->ClassWizardMFC ClassWizard【】和【】列表单~单单【】按单~如单所示。IDC_MSCOMM1OnCommAdd Function...
单5.9 Add Function
步单9,一直单单【】按单~我单就会看到增加【】函数~OKOnOnCommMscomm1()如单所示。
25
单5.10增加函数OnOnCommMscomm步单10,单单控件工具中的单单控件条框,在单单中框框添加单单控件~如单所示。abl
单5.11添加单单控件框
步单11,在【】单单中~单单框【】单单~单单单卡框MFC ClassWizardMember Variables和串行口单单单单单量和,单单【】按单~如单所示。m_strRXDatam_ctrlCommOK
26
单5.12单单单单单量和m_strRXDatam_ctrlComm步单12,在【】函数中添加代单~添加完代单后的界面OnOnCommMscomm1()如单所示。
单5.13在函数中添加代单OnOnCommMscomm1()步单13,在【】函数中添加代单~添加完代单后的界面如单所示。OnInitDialog()
27
单514在函数中添加代单OnInitDialog()
单件界面仿真5.4 VC
如下单5.2所示单VC单件界面单,仿真
5.2 VC单件界面单仿真此界面单仿真当温果表示前的单境度单28.7度。
28
单束单
本文主要单述了单片机与机的串行通信的单单的单单和内容~AT89C51PC
是一单单字单单单可单程可擦除只单寄存器;AT89C514KFPEROM—Flash
,的低单单~高性能位微单Programmable and Erasable Read Only MemoryCMOS 8理器。单器件采用高密度非易失存单器制造技单制造~工单单准的与ATMELMCS-51指令集和单出管脚相兼容。由于多功能将位和单单存单器单合在单芯片中个~8CPU
的是一单高效微控制器~所以的使用它会当广与前景是相泛受ATMELAT89C51
单迎。因此我单有必要单单单来学它与机的通信。PC
主要单述内容单单如下,
介单了单片机的在单单生活中的使用情况与与来单用单境单域~市单前景未单用~1.
并体概单单单单做了单括性的描述。
单述了单片机的单展、特点、单用~各部件的原理~串行口的通信方式概况个2.
单示管的工作原理~使各部件个从来都能被单者所了解~而方便人单单单AT89C51与机串行通信的原理。PC
介单了单件单单~流程~通信单单~初始化~波特率单算等单件上的准单单单~与从3.
而单整个运将个单单的单单单段做好准单。最后采用用单单单言整单单上的单单单单单单的单用。
当很然本单单也存在着大的单单~比如单功能上相单单单容易出单等~单些单单可以在以后的工作中单单完善。
29
单单几个没月的单单单单~因单单单和任单的性单的单系~有完全按照上述的单单方法单行单单~但单单一些单单的步单的单单~单明本单单的串行通信的单定性单用性。在单单的单程中与
我到了单程的体会悦几个快单和单果的喜。人单常常单不要看重单果~主要是单程~单月的单程也单我深深的到了自体会将来断己知单的单乏和掌握的不牢固单此在单必要不地单单单学与断深造~单此不单地完善自我。
致 单
单单几个月的努力~单于完成了PC机单片机的串行通信单单单单单。在此~我要与个
衷心感单我的指单老单王单老单~在整个单单单单单程中~他单予了我悉心的指单和无私的帮助,同单单要感单同班的单多同~我单在学学决相互单和交流中~解单单共同单步。有了单单多的支持和无私助帮~才使我得以单利完成单单单单。
衷心感单在百忙之中单单单文的各位老单,感单单子工程系的所有老单~感单单单我您单的单成学与条才单造的各单单件和付出的辛勤单单。感单同室室友、单兄、单姐和朋友单在平单的单、生活中单学很予了我大的支持~在此表示衷心的感单!
最后感单我的家人~是他单单予我精神上的鼓励学、生活上的照单、单上的支持~才使单篇单文得以单利完成。
30
参献考文
梅单单.单片机原理及接口技单~北京,单大出清学版社.[1]2004-9何立民.单片机单用系单单单~北京,航空航天大出学版社.[2] 1990-8
单毅单.单片机原理及单用~北京,高等教育出版社[3].2003-3王忠单.单片机原理及嵌入式系单单用.西安,西安单子科技大出学版社.[4] MCS-51
2007-7
晁阳.单片机原理及单用单单程教,北京,单大出清学版社[5] MCS-51.2007-8
单单平.微型单算机接口技单.北京,单大出清学版社.[6]2007-6
单睿.单片机原理及单用单单技单.北京,单道部出版社[7]MCS-51.2006-4单洪单.单片机单用单单例.北京,北京航空大出学版社[8] 200.2006-9
周杰英.微型单算机原理及单用.北京,机械工单出版社[9].2006-7
单雪单.单单单言程序单单.北京,单大出清学版社[10].2007-3本单单号档来网个您布文源于互单和人收集~单用于技单分享交流~版单单原作者所有。如果侵犯了的知单版单~单提出指正~我单立单除将即内相单单料。免单格式单单单单豆丁站信。网易博客单单微博
新浪微博直接单系 QQ2218108823
31