基于单片机与PC机通信的设计

上传人:卷*** 文档编号:128108221 上传时间:2022-07-31 格式:DOC 页数:35 大小:1.69MB
收藏 版权申诉 举报 下载
基于单片机与PC机通信的设计_第1页
第1页 / 共35页
基于单片机与PC机通信的设计_第2页
第2页 / 共35页
基于单片机与PC机通信的设计_第3页
第3页 / 共35页
资源描述:

《基于单片机与PC机通信的设计》由会员分享,可在线阅读,更多相关《基于单片机与PC机通信的设计(35页珍藏版)》请在装配图网上搜索。

1、 题目:基于单片机与PC机通信的设计 目 录1摘要32设计内容及规定33串口通信原理34设计思路45设计框图56硬件实现56.1AT89C5256.2MAX232芯片66.3 9针串口87用VC+开发串口通信软件97.1顾客界面设计97.2程序设计148硬件电路设计178.1设计思路178.2通信合同178.3电路图178.4单片机程序189软件仿真2110实物电路调试2411总结25参照文献26单片机与PC机串口双向数据通信1摘要PC与PC或PC与端口之间的数据传播可以使用串行通讯和并行通讯二种通讯方式。由于串行具有使用线路少、并且成本相对较低的特点,特别是在距离较远的状况下传播时,避免了多

2、条线路特性大相径庭而被普遍使用。 串行通讯时,规定通讯双方必须使用相似原则的接口,使得不同的设备可以迅速有效地连接起来进行通讯。 RS-232-C接口(又称 EIA RS-232-C)是目前已知最常用的几种串行通讯接口之一。是由各个厂商量共同拟定的用于串行通讯的使用原则。串行通讯原则的全称是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据互换接口技术原则”该原则规定采用一种25个脚的 DB25连接器,对连接器的各个引脚的信号内容加以明确,还对多种信号的电平加以明确。随着PC技术特别是MCU微型计算机技术的延伸,人们已愈来愈多地使用单片机对众多工业控制应用加以管理和检测。例如温

3、度、流量和压力等参数。PC机有着非常强大的监控功能,而MS89C51/52MCU则拥有迅速和灵便的监控特点,通过PC机的RS-232串行接口和外部设备进行连接,是众多监控系统中最为常用的通讯方式之一。因此怎么实现PC机与MCU之间的通讯变得极为故意义。Data transmission between PC and PC or PC and port to use serial communication and parallel communication two communication modes. Because the serial line with the use of sma

4、ll, and relatively low cost characteristics, especially in the long distance transmission case, prevent multiple line characteristics and is widely used to be quite different. Serial communication, communication both sides must use the same set of standard interface, so that different devices can be

5、 connected to communicate quickly and efficiently. The RS-232-C interface (also known as EIA RS-232-C) is one of the most commonly used serial communication interface is known at present. By the various factory negotiate together for serial communication using standard. The standard serial communica

6、tion is the full name of data terminal equipment (DTE) and the data communications equipment (DCE) between the serial binary data interchange interface technology standard DB25 connector of the standard requires the use of a 25 foot, the content of each signal pin connector to be clear, but also a v

7、ariety of signal level to be clear.With PC technology, especially the extension of the MCU micro computer technology, people have more and more use of SCM for many industrial control applications to manage and detection. Such as temperature, flow and pressure parameters. PC machine has a very powerf

8、ul monitoring function, while the MS89C51/52MCU has a fast and flexible monitoring features, are connected through the RS-232 serial interface and the external device PC, is one of the most commonly used means of communication of monitoring system. So how to realize the communication between PC and

9、MCU is very meaningful.2.选题背景PC机与单片机分别作为作为上位机和下位机的控制系统无论是在国内还是在国外都已经很普遍。PC机一般采用以简洁以便的人机界面进行操作,与单片机通过串口通信的方式进行积极交互。单片机系统可以根据被控对象做出反映,从而予以相应的前向,后向信号通道,其运营时被作为作为主控机测目的。单片机作为从机接受PC机监测和管理,不定期发送目的与自身的工作状态信息给PC机。目前,由于电路集成限度增长,随着PC机技术的发展PC越来越微型化和超微型化。微型计算机在军事演习,智能机器人,航空航天,医学研究等众多复杂系统之中扮演着越来越重要的角色。在相称多的工业生产中

10、,常常需要以多台单片机作为下位机执行对被控对象的直接控制,应用PC机作为上位机对复杂的数据进行解决,形成了一种管理相对集中、控制相对分散的集散控制系统。为了使系统管理的先进性和安全性有所提高,集总分算系统在工业生产的自动控制和监测系统被普遍地使用。其中以上位主PC机(主机)管理与下位机(单片机)直接参与控制监测的主从式应用系统成为最常用的方式。因此通讯可以在在主机和从机之间进行调进行。主机的功能:一是可以向从机传播多种命令以及所需要的参数,二是可以对从机发送的信息进行时时收集、整顿和分析,有助于实现下一步的决策与报表。从机则只能接受、执行由主机传播的信息,并且需要向主机反馈比较麻烦实时数据,以

11、及单片机的运营状态。采用串口总线技术就可以大大简化系统硬件设计、缩小系统的体积、提高体统的可靠性。因此系统的更改和扩大也变得更为简朴。MSC51系列单片机,由于有一种对异步通讯可以使用的全双工串行的内部通讯接口,阴齿可以极为以便的构成主从式系统工作系统。串口是PC机上非常常用的设备通讯合同之一,计算机包多数是需要两个基于RS232的串口。众多仪器仪表设备常用的通讯合同也是串口。例如RS-232串口也被诸多使用GPIB设备所兼容。同步收集远程设被的数据也可以用串口通讯合同。因此,对串口通信有关知识认真的理解学习和研究是不可或缺的。本次将“PC机与51型单片机的串口通讯”作为毕业设计,完毕了使用5

12、1单片机来完毕主从式的总线系统通讯。通过本次设计,掌握了串口通讯的原理和应用,为后来的工作和学习储藏知识。3串行通信3.1串行通信的原理及意义 串行通讯对单片机有着极其重要的意义,不仅可以实现将单片机的数据输出到计算机端口,还能实现PC对MCU的控制.因其具有操作简朴,线程短,连接简便等长处而受到普遍的应用。远程控制系统与信息的采集系统的工作方式简朴概括可以分为上位机和下位机。由于串行通讯具有高效性、可行性、灵活性,以及便于管理的特点,因此可以成为常用的通讯方式之一。串行通信其实是指单片机和PC机间使共同使用同一根数据信号线,信息必须在同一根数据信号线上按规定完毕传播,每一位数据有且只有一种明

13、确的时间长度。串行通信使用的数据线少,在远距离通讯中可以减少通信成本,但其传播速度与并行传播相比较慢。综合其优劣势我们选用串行通讯。由于要满足高效率的需求,位于PC机内部的CPU与串口之间的通讯必须采用串行的通讯方式,因此串行通讯的实质就是必须实现CPU与单片机设备的数据以便快捷地进行格式转换(或者称为串并转换器),即当数据从单片机传送到PC机时,数据信息将被位 (bit)转化为字节数据;相反的,当PC机将数据发送到下行单片机设备时,字节数据在串行的方式下又被转化成为位数据串行端口的作用就是在CPU和串行设备之间完毕编码并转换。当数据由通过CPU的串行端口被传播出去时,字节数据被转换成为位数据

14、。当数据被串行端口进行接受时,位数据将被转换成为字节数据。 在Windows操作系统中,串口是系统资源的重要构成部分。 应用程序要通过串行完毕通讯,使用之前操作系统会对与否进行资源申请规定进行提示(串口被打开),通讯结束后一定要将资源释放(关闭串口)。有关串行通讯的理解其实非常简朴,串行按位(bit)发送和接受字节。由于并行通信与字节(byte)相比并行通信的速度较慢,而串行可以一边使用一根线发送数据一边用另一根线接受数据。它的实现非常简朴并且可以实现远距离通讯。例如对IEEE488进行明确并行通行状态时,一般觉得设备总线的长度最佳不要超过20米,并且每两个设备间的间距最佳不要超过超过2米。而

15、串行的长处在于,长度可以达到1200多米。 3.2 串行通讯的应用实例 常用的的的串口通讯应用实例就是ASCII码字符间的传播。通信仅仅使用3根线就可以完毕:(1)地线,(2)发送,(3)接受。由于串行通讯必须通过异步的方式才干完毕,端口可以一边在一根线上发送数据一边在另一根线上接受数据。其她线用于握手,但是可以不使用。串口通讯的参数可以简朴概括为:波特率、数据位、停止位以及奇偶校验。对于PC机与89C51/52间端口的通讯务必要所有参数务必一一相应. 3.3串行通讯的参数a,波特率:波特率是用于通信速度的检测原则。波特率也可以理解为每秒传送的bit的个数。例如200波特代表的就是传播速度为2

16、00个bit每秒。提到这里就不得不提及时钟周期,我们一般觉得时钟周期所需要的波特率为4800波特率,那么,4800Hz就是我们觉得的时钟周期。也阐明了串行通信在数据线上的要使用4800Hz波特率。常用的电话线的波特率一般有14400,28800和36600几种。其她远距离传播的波特率还远远不小于这些数值,且波特率具有和距离成反比的特点。较大的波特率常常被用于几种很近的仪器间的通讯。在对波特率进行选择的时候优先考虑两点:一方面,系统所需的最大的通信速率。这要决定于系统的运营特性,明确规定通信的频率的变化范畴,然后计算通信时的时钟误差,务必要选用用相似频率的晶振。在选择不同的通信时钟时其速率会有很

17、大差别即通讯误差。为了稳定通信,我们一定要选择最小的时钟误差频率进行通信。我们对波特率选择过程举例阐明:设计规定的通讯频率如果局限性0bit/s,则晶振频率就是12MHz,对SMOD进行设立让其等于一(即波特率倍增)。由波特率取值表,我们理解到可以选用的波特率有:1200,2400,4800,9600,19200波特率计数器重载值波特率误差1200207 0.17%2400234 0.17%4800247 0.17%9600246 7.00%19200257 8.61% b,数据位:这是测量通讯中客观数据位的原则。当一种信息包由计算机发出,客观的数据不一定是8位的,其中有着明确原则的值是分别为

18、5、7和8位。怎么设定由你想传送的信息决定。例如,ASCII码的原则是0127(7位)。延伸的ASCII码是由8位(0255)构成的。如果要使用简洁的文本数据(原则 ASCII码),那么使用任意数据包都应当是7位数据。每个包都是由一种字节构成,开始/停止位,数据位和奇偶校验位。由于客观的数据位由通讯合同的选用而决定。c,停止位:用于单个包的最后一位的拟定,其值一般为1,1.5和2。由于数据是在传播线上定/计时使用的,规定每一种设备均有自己的时钟。如果最后一位不相似,因素也许是在两台设备间在通信中浮现了多多少少的不同步。因此停止位不单单是代表结束传播,并且给PC机发明了校正时钟同步的条件。被停止

19、位应用的位数越多,不同步钟同步的容忍限度越大,然而数据传播地速率也随之变慢。 d,奇偶校验位:在串行通讯中非常简朴的检错方式之一。检错方式分为四种:奇、偶、高和低。校验位没有其实也是可行的。有关奇偶校验的分析,串口能将校验位设立好。例如,如果使用011的数据。有关偶校验,校验位为0,可以保证逻辑最高为一定为偶数。有关奇校验,校验位是1,这样逻辑高位会浮现3个。高位和低位并不能对数据进行真正检查。为了使奇偶校验的纠错能力有所提高,最佳使用双向奇偶校验(Row and Column Parity),也被称为双向冗余校验(Vertical and Longitudinal Redundancy Ch

20、ecks)。通过奇偶校验就能使接受设备可以明确是哪一种位的状态,可以辨别噪声与否被通信干扰了或者是数据在传送和接受时与否同步。2串行口的控制寄存器串行口数据缓冲器SBUF采用了互相独立两个接受器。共用一种地址99H的发送的缓冲器SBUF相应着2个寄存器(发送寄存器和接受寄存器)。缓冲发送器用于寄存要发送的数据,只能写入,不能读出。接受缓冲器用于寄存接受到的数据,只能读出,不能写入。对SBUF的指令进行辨认,根据是读指令还是写指令来区别是对接受缓冲器还是对发送缓冲器进行操作。读SBUF,例如MOV A,SBUF指令,就是读接受缓冲器的内容;写SBUF,例如MOV SBUF,A指令,就是修改发送缓

21、冲器的内容。串行控制寄存器SCONSCON可用于拟定串行通信的工作方式和控制串行通道的某些功能,监视和控制串行口的工作状态,也可用于寄存要发送和接受到的第9个数据(TB9、RB8),并没有接受和发送中断标志RI和TI。 四设计规定及内容 4.1设计规定 在PC机控制系统中,难免要使用多机进行通讯。由于单片机在各个行业的普遍应用,因此要优化运用51/52单片机系统与PC机J间的RS232的连接,我们要使用串行连接。可以简朴以便地完毕双通道数据传播。我们使用protues仿真调试软件,反复地向串口传送“1”、“2”、“3”.“8”、“9”、“0”等信号,单片机收到信号之后在数码管上展示出来,并且也

22、将向PC机反馈浮现成功的确认信息,也就是在在PC机串口调试区域也就是接受缓冲区中将浮现“display OK!”的字样。4.2 总体方框图4.3通信过程分析单片机通电后缓存区的数据通过数码管显示出来,对串行中断进行等待。串行中断传播时,先要对接受中断或者发送中断进行判断。如果对中断进行发送,则需要对将TI清零然后中断返回;如果需要对中断进行接受,将进入解决子程序。在子程序的解决过程中,接受到的ASCII码将进行数据转换成为十六进制的数字并由单片机发送出去,在显示缓存区中寄存,调用显示子程序在数码管上显示出接受到的数据,再调用发送子程序给PC端软件回送一种确认显示的信号。4.4 通信方式的选择

23、一、数据通信的传播方式:单工、半双工、全双工和多工方式。A 单工方式:数据只可以一种单一的方向进行传播。由于单工方式的功能十分有限,因此常用于串行口的打印数据传播与简朴系统间的数据采集。B 双工方式:数据的传送也可以是双向的,但不可以同步实现。在平常生活中多要实现收发开关转换采用某种合同一般多使用某种合同。C 全双工方式:可以实现双方同步对数据进行双向传播,与单工方式和双工方式相比较而言要完毕全双工电路的线路和设备的连接还是较为繁琐得。 D.多工方式:以上三种传播方式都是同一线路传播一种频率信号,为了充足的运用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分、或码分复用技术,即可实目

24、前同一线路上资源共享功能,我们称之为多工传播方式。 4.5本设计中串行通信的实现(1)通信合同:PC机一方面发送一种数据(以ASCII码形式表达的数字),单片机接受到之后返回一种商定的数据(本设计商定为2AH)到PC机表达通信正常,并且单片机已经正常显示收到的数据。(2)串行异步通信、不使用奇偶校验位,一种数据涉及,一位起始位、八位数据位、一位停止位。(3)单片机串行口工作于方式一;用定期器1产生9600bit/s的波特率,工作于方式二。 (4)每次通信传播一种数据。5设计框图图5-1 系统框图6硬件实现6.1AT89C52AT89C52:AT89C52是51系列MCU之中功能最多切最常用的单

25、片机,它是由ATMEL公司生产的。 AT89C52是常用的低电压,高功率的CMOS 8位微控制器之一,该单片机重要由8k bytes的可反复擦写的Flash只读程序存储器和256 字节的随机存取数据存储器(RAM)构成,该单片机的元器件一般使用ATMEL公司生产的具有高密度、非易失性存储技术的产品,明确单片机指令系统的使用,该单片机的重要构成是由八位中央解决器和Flash存储单元。具有强大功能的AT89C52微控制器合用于众多较位复杂的系统控制应用服务。 这种类型的单片机共有40个引脚,分别为:32个双向的输入/输出(I/O)的外部端口,2个外中断口,3个16位可编程定期计数器,2个全双工串行

26、通信口,2个读写口线。AT89C52单片机可以通过常规方式下载程序,但是缺陷是不可以使用在线编写程序(S系列的才支持在线编程)。AT89C52将常用的的8位微解决器和Flash存储器有效地结合在一起。特别是使用可以反复使用的Flash存储器可以最大化地节省开发成本。 微解决器的封装形式有三种分别为PDIP、PQFP/TQFP及PLCC,分别用于不同产品的使用。图6-1 AT89c52引脚图6.2 MAX232芯片MAX232芯片的简介:由MAXIM公司生产的MAX232。MAX232使用了IC芯片的两个接受器和驱动器,可以较好地在任意EIA-232C和V.28/V.24的通信端口上使用。MAX

27、232芯片的作用: 由于需要将+5V的电源电压变为RS-232C输出电平正常使用的10V电压因此MAX232涉及了一种电源电压变换器。因此,MAX232芯片接口应用的串行通信系统仅仅在+5V电源下就可以工作了。在诸多状况下没有+12V电压,其具有更强的适应性.图6-2 MAX232芯片引脚 管脚阐明如下C0+、C0-、C1+、C1-是外接电容端;R1IN、R2IN是2路RS-232C电平信号接受输入端;RlOUT、R2OUT是2路转换后的TTL电平接受信号输出端,送8051的RXD接受端;TlIN、T2IN是2路TTL电平发送输入端,接8051的TxD发送端;TlOUT、T2OUT是2路转换后

28、的发送RS-232C电平信号输出端,接传播线;V+经电容接电源+5V;V-经电容接地。这种连接的传播介质一般采用双绞线,通信距离一般不超过15m,传播率不不小于20kB/s。图6-3 MAX232典型工作电路图6.3 9针串口由数据线接法不难观测到,数据线内部引脚并未浮现交叉。其因素是母头与公头的自身的引脚功能是不同的,因此没有必要进行交叉。9真串口在外部体现为计算机COM1口公头的数据引脚并未交叉的连向了开发板的COM2母头。数据线的连接措施有诸多种但仅仅记住一点就可以了:同样的头必须得交叉,不同样的头不用交叉。公头和母头自身的引脚拟定了9针引脚之中大的一头是由5个引脚构成,小的一头是由4个

29、引脚构成的。 为了数据的发送与接受可以顺利实现就不得不提到以上这三个引脚。而其他引脚是用来控制传播规则的,即握手合同。下面是9针串口(DB9),引脚功能。引脚号缩写英文全称功能阐明1DCDData Carrier Detection数据载波检测2RXDReceive Data接受数据3TXDTransmit Data发送数据4DTRData Terminal Ready数据终端准备5GNDSystem Ground信号地6DSRData Set Ready数据设备准备好7RTSRequest to Send祈求发送8CTSClear to Send清除发送9RIRing Indicator振铃

30、批示 表6.3.1九针串口引脚功能图6-4 串口图我们还应当注意串口插座有公母两种类型其中:公的串口插座是带有插针的 (有针)母的串口插座是不带有插针的(有洞).(4)RS-232总线规定2RS-232原则总线为25根,采用原则的D型25芯插头座。引脚及功能如图6-5所示.7用vc+开发串口通信软件7.1顾客界面设计在进行应用程序设计前,一方面需要使用vc+6.0提供的AppWizard工具自动生成一种工程。选择【开始】/【程序】/【Microsoft Visual C+ 6.0】启动程序。在主界面的选择菜单命令FileNew,在如图所示的新建对话框选择【MFC AppWizard(exe)】

31、,输入项目名称单击next按钮,选择基本对话框,其她选项不变,持续单击next,直至最后Finish。至此工程建立完毕。具体环节如下图所示:图7-1 vc+建立工程图图7-2 应用程序类型选择图7-3 工程建立完毕示意图工程建立完毕后,浮现如图所示对话框图7-4 基本对话框示意图将对话框中的两个按钮,及静态文本删除,添加其她控件,将对话框设立如下图所示图7-5 界面设计示意图其中在基本控件框中是没有的,需要把它添加进来。具体环节是【工程】【增长到工程】【Components and controls】如下图所示:图7-6 添加控件图7-7 控件选择单击Insert,拟定。至此控件添加完毕。接下

32、来就是对控件变量的设立,单击【查看】【建立类向导】图7-8t图7-8 控件变量的设立选择IDC-EDIT1,单击add variable,输入控件名称单击ok。用同样措施设立其他控件。完毕后如图所示。图7-9 控件变量设立下来就是添加相应函数,如上对话框选message maps选IDC_BUTTON1,选BN_CLICKED,单击右边add funtion,命名为openport函数。图7-10 添加相应函数以同样措施对IDC_BUTTON3,IDC_BUTTON4,IDC_MSCOMM1,添加相应函数Onclr,Onsend,Oncomm。7.2程序设计初始化组合框BOOL CSamDlg

33、:OnInitDialog()CDialog:OnInitDialog();/ Add About. menu item to system menu. CString str=COM1; m_com.SetWindowText(str);oncomm函数void CSamDlg:OnComm() / TODO: Add your control notification handler code hereVARIANT variant_inp; COleSafeArray safearray_inp; LONG len,k; BYTE rxdata2048; /设立BYTE数组 An 8-b

34、it integerthat is not signed. 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;klen;k+) safearray_inp.GetEle

35、ment(&k,rxdata+k);/转换为BYTE型数组 for(k=0;klen;k+) /将数组转换为Cstring型变量 BYTE bt=*(char*)(rxdata+k); /字符型 strtemp.Format(%02X,bt); /将字符送入临时变量strtemp寄存 m_strEditRXData+=strtemp; /加入接受编辑框相应字符串 m_strEditRXData+=rn; /换行 UpdateData(FALSE); /更新编辑框内容Openport函数void CSamDlg:Openport() / TODO: Add your control notifi

36、cation handler code here int iindex = m_com.GetCurSel(); if(m_ctrlComm.GetPortOpen() m_ctrlComm.SetPortOpen(FALSE); m_ctrlComm.SetCommPort(iindex+1); /选择COM if( !m_ctrlComm.GetPortOpen() m_ctrlComm.SetPortOpen(TRUE);/打开串口 AfxMessageBox(端口已打开); else AfxMessageBox(打开端口错误); m_ctrlComm.SetSettings(9600,

37、n,8,1); /波特率9600,无校验,8个数据位,1个停止位 m_ctrlComm.SetInputMode(1); /1:表达以二进制方式检取数据 m_ctrlComm.SetRThreshold(1); /参数1表达每当串口接受缓冲区中有多于或等于1个字符时将引起一种接受数据的OnComm事件 m_ctrlComm.SetInputLen(0); /设立目前接受区数据长度为0 m_ctrlComm.GetInput();Onclr函数void CSamDlg:Onclr() / TODO: Add your control notification handler code herem

38、_strEditRXData=; m_strEditTXData=;UpdateData(FALSE);Onsend函数void CSamDlg:Onsend() / TODO: Add your control notification handler code hereUpdateData(TRUE); /读取编辑框内容 m_ctrlComm.SetOutput(COleVariant(m_strEditTXData);编译运营。8硬件电路设计8.1设计思路将单片机RXD,TXD分别通过max232进行电平转换后与9针串口TX,RX相接。单片机p0口进行位选,p1口送断码到数码显示。单片机

39、串行口工作方式2,并容许接受。定期器选T1,工作方式2。8.2通信合同 PC机(程序)通过串口向单片机一次发送一种数字,由10位二进制码构成,一位起始位(0),八位ASCII码,一位终结位。 单片机通过串口接受数据之后,将此数字显示出,再向PC发送一种商定的ASCII码(定为02AH),程序被此事件触发,当程序收到这个商定的字符码串之后,即觉得单片机已成功接受并显示,然后串口调试程序的接受缓冲区显示出“Display OK!”。 单片机的串口工作模式为方式2。波特率9600bit/s。8.3电路图图8-1 硬件电路图8.4单片机程序receivedata data 40h ;寄存收到的数据di

40、splaydata data 39h ;寄存显示子程序要显示的数据ORG 0000HJMP STARTORG 0023HJMP COMMJUDGEORG 0100HSTART: MOV SP, #60H MOV SCON, #50H MOV PCON, #80H MOV TMOD,#20H MOV TL1,#0FAH MOV TH1,#0FAH SETB EA SETB ES SETB TR1HERE: JMP HERE COMMJUDGE: JB TI,TT00 ;如果是发送引起的中断,那么就不管 CLR RI CALL CHANGEDIS CALL DISPLAY CALL TRANSTT

41、00: CLR TI RETI;*;=;功能描述: 串口接受数据的解决子程序;创立日期: 8月25日12:37:12;=CHANGEDIS: PUSH Acc PUSH PSW MOV A,SBUF MOV receivedata,A SUBB A,#30H ;数字的ASCII码转换为相应的数字(此程序仅限数字 MOV displaydata,A POP PSW POP Acc RET;=;函 数 名: TRANS;功能描述: 串口发送数据给PC的子程序;创立日期: 8月25日12:43:48;=TRANS: PUSH ACC PUSH PSW MOV A,#2AH ;2AH是事先商定的字符,

42、返回给PC端时,用于确认显示对的 MOV SBUF,A ;此语句产生一种TI=1. MOV R7,#02HDL: MOV R6,#0FFHDL6: DJNZ R6,DL6 DJNZ R7,DL POP PSW POP ACC RET;=;函 数 名: DISPLAY;功能描述: 显示子程序;创立日期: 8月24日22:37:46;=DISPLAY: MOV R1,#displaydata ;取显示缓冲区首地址 MOV A,R1 ;查表获取段选码 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,#0FEH ;对P0口进行位选,FE则最左边那位显示 MOV P1,A ;给P1

43、口送段选码 RET;-LED显示码表-TAB: DB 0c0H, 0f9H, 0a4H, 0b0H, 99H, 92H; 0 1 2 3 4 5; 00H 01H 02H 03H 04H 05H; DB 82H, 0f8H, 80H, 90H, 88H, 83H; 6 7 8 9 A b; 7DH 07H 08H 09H 0AH 0BH; DB 0c6H, 0a1H, 86H, 8eH, 8cH, 0c1H; C D E F P U; 0CH 0DH 0EH 0FH 10H 11H; DB 89H, 0c7H,0bfH, 91H,00H,0ffH; H L - y ON OFF; 12H 13

44、H 14H 15H 16H 17H; DB 92H, 77H, 8bH, 0afH, 0a3H, 0a1H; S t h r o d; 18H 19H 1AH 1BH 1CH 1DH; DB 0f0H, 0FH, 8bH, 0afH, 0a3H, 0a1H; S t h r o d; 1EH 1FEND9软件仿真一方面在protues中画出如下电路图图9-1 protues仿真电路图打开虚拟串口软件,建立COM4和COM5为互相连接的一对端口。如图所示:图9-2 建立虚拟端口单击添加端口,即可完毕端口添加。接下来对串口进行设立,设立内容如下:图9-3 串口设立启动上位机软件,端口选择COM5,

45、进行仿真。图9-3 数据发送前上位机发送数据后图9-4 数据发送后图9-5 上位机软件仿真成果10实物电路调试图10-1 实物调试示意图11总结通过这次课设,我学会了用理论来指引实践的措施,理论指引的重要性;真实的体验到真正做科学研究的艰苦与一丝不苟。由于之前没有学过C+也没用过VC+6.0,一开始做这个VC的串口通信比较迷茫,后来去图书馆借了诸多书回来,查找到诸多信息,也在网上看了不少资料,对基于VC的串口通信有了初步的理解。这次是用MSComm控件完毕的,通过查找资料还懂得串行通信也可以用VB,C语言,C#完毕,因此感觉到知识的无限,如果想在这方面有更深的造诣,还得不断地学习新知识,不断地

46、实践。在做设计的时候遇到了诸多问题,通过问同窗和请教教师都得到了细心地回答,真心的感谢懂得我课设的郭教师,从她身上我学到了诸多。这次课设是真实的一次软硬件结合的综合设计,让我的知识得到了巩固和提高,获益良多。参照文献1求是科技.单片机通信技术与工程实践M.北京:人民邮电出版社, 4月2张毅刚,彭喜媛,彭宇. 单片机原理及应用M.北京:高等教育出版社, 5月3龚建伟,熊光明.Vivual C+/Turbo C串口通信编程实践M.北京:电子工业出版社,.10 4龙马工作室.Visual C+6.0程序设计学与用教程M.北京:电子工业出版社,.45(美)史蒂芬(Stevens,A.), 林丽闽译.原

47、则C+宝典M.北京:电子工业出版社,.26阎石.数字电子技术基本(第五版)M.高等教育出版社,7 樊昌信,曹丽娜.通信原理(第六版)M.北京:国防工业出版社,.02.8田克纯,覃远年等.通信原理实验教程(第三版)M.桂林电子科技大学通信实验室,. 9童诗白,华成英.模拟电子技术基本(第五版)M.北京:高等教育出版社, 10党宏社.电路、电子技术实验与电子实训M.北京:电子工业出版社,毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指引下进行的研究工作及获得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不涉及其她个人已经刊登或撰写过的研究成果。对本论文(设计)

48、的研究做出重要奉献的个人和集体,均已在文中作了明确阐明并表达谢意。 作者签名: 日期: 毕业论文(设计)授权使用阐明本论文(设计)作者完全理解*学院有关保存、使用毕业论文(设计)的规定,学校有权保存论文(设计)并向有关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非获利目的的少量复制并容许论文(设计)进入学校图书馆被查阅。学校可以发布论文(设计)的所有或部分内容。保密的论文(设计)在解密后合用本规定。 作者签名: 指引教师签名: 日期: 日期: 注 意 事 项1.设计(论文)的内容涉及:1)封面(按教务处制定的原则封面格式制作)2)原创性声明3)中文摘要(300字左右)、核心词4

49、)外文摘要、核心词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参照文献8)道谢9)附录(对论文支持必要时)2.论文字数规定:理工类设计(论文)正文字数不少于1万字(不涉及图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件涉及:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表规定:1)文字通顺,语言流畅,书写笔迹工整,打印字体及大小符合规定,无错别字,不准请她人代写2)工程设计类题目的图纸,规定部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术原则规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)顺序装订3)其他

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!