单片机的双机通信技术研究.doc_第1页
单片机的双机通信技术研究.doc_第2页
单片机的双机通信技术研究.doc_第3页
单片机的双机通信技术研究.doc_第4页
单片机的双机通信技术研究.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

单片机的双机通信技术研究王 银 萍(陕西理工学院电信工程系通信074班,陕西 汉中 723003)指导教师:王战备 摘 要 由单片机构成的双机通信系统采用总线型主从式结构。所谓主从式结构,即在两个单片机中,一个主机负责通信管理,另一个为从机,从机要负责主机的调度与支配。该设计用AT89C51芯片,并用C语言程序来控制AT89C51,使之能实现两个单片机之间的通信。通信方式为单工通信,一个为主单片机,作为发送方,另一个为从单片机,作为接收方。对于两片8051,发送方的数据由串行口TXD端输出,通过74LS05反向驱动,经光电耦合器至平衡差信号输出,经过传输线(双胶线)将信号传送到接收端。接收方通过平衡差分长线接收芯片75175将差分信号转换成TTL电平信号,通过反向驱动后,经光电耦合器到达接收方串行口的接收端。关 键 词 AT89C51;单片机;双机通信 two-machine communicationWang Yinping(Grade07,Class4,Major of Communication Engineering,Dept. of E.I.of Shaanxi University of Technology, Hanzhong 723003,China)Tutor:Wang ZhanbeiAbstract Dual posed by the MCU using bus-based communication system master-slave structure. The so-called master-slave structure, that is, two microcontrollers, a master is responsible for communication management, and the other from the machine, the host from the confidential responsible for scheduling and disposal. AT89C51 chip with the design and use of C language program to control the AT89C51, so that it can achieve communication between two microcontrollers. Communication is simplex, a main microcomputer, as the sender, the other is from the microcontroller, as receiver. For the two 8051, the sender of the data from serial port TXD-ended output, driven by 74LS05 reverse, the optocoupler to balance the difference signal output, through the transmission line (Shuangjiao line) the signal to the receiver. Long-term through a balanced differential receiver chip 75175 to receive the differential signal into a TTL level signal, through the reverse drive, via optocoupler receiver serial port to reach the receiverKey words AT89C51; SCM; two-machine communication不要删除行尾的分节符,此行不会被打印目 录摘 要IAbstractII1 绪 论21.1 课题背景21.1.1单片机21.1.2C语言21.2双机通信 32方案论证52.1基于PC机的双机通信52.2基于单片机的C语言双机通信 52.2方案论证53原理简介63.1原理说明63.2总体设计 73.3运行环境 73.3.1Proteus73.3.2 Keil uVision394元器件介绍114.1AT89C51 114.24*4键盘 134.3排阻 134.4数码管 13结 论15致 谢17参考文献18附 录191绪 论1.1 课题背景1.1.1 单片机单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。在我国,单片机已经不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。在单片机诞生之前,为了满足工程对象的嵌入式应用要求,只能将通用计算机进行机械加固、电气加固后嵌入到对象系统中构成。由于通用计算机的巨大体积和高成本,无法嵌入到大多数对象体系中。单片机则应嵌入式应用而诞生。单片机的单芯片的微小体积和极低的成本,可广泛的嵌入到玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。单片机作为最典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。近年来。除了各种类型的工控机,各种以通用微处理器构成的计算机主模板快、以通用处理器为核,片内扩展一些外围功能电路单元构成的嵌入式微处理器,甚至单片形式的PC及等,都实现了嵌入式应用,成为嵌入式系统的庞大家族。作为典型的嵌入式系统的单片机,在我国大规模应用已有十余年历史。在全国高等工科院校中,已普遍开设单片机及相关课程。单片机已成为电子系统中最普遍的应用手段。除了单设课程外,在涉及的许多环节,如课程设计、毕业设计、研究生论文课题中,单片机系统都是最广泛的应用手段。目前,许多单片机教材都Shiite以80C51系列为基础来讲述其原理及应用的。这是因为MCS-51系列单片机奠定了8位单片机的基础,形成了单片机的经典体系结构。单片机是现代计算机、电子技术的新兴领域,无论是单片机本身还是单片机应用系统设计方案都会随着时代不断发生变变化。1.1.2 C语言:C语言是Combined Language(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。C 语言特点:是一种成功的系统描述语言,用C语言开发的UNIX操作系统就是一个成功的范例;同时C语言又是一种通用的程序设计语言,在国际上广泛流行。世界上很多著名的计算公司都成功的开发了不同版本的C语言,很多优秀的应用程序也都使用C语言开发的,它是一种很有发展前途的高级程序设计语言。1. C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。2.C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。3.C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。 C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。5.C语言文件由数据序列组成,可以构成二进制文件或文本文件。常用的C语言IDE(集成开发环境)有Microsoft Visual C+,Dev-C+,Code:Blocks,Borland C+,Watcom C+ ,Borland C+ Builder,GNU DJGPP C+ ,Lccwin32 C Compiler 3.1,High C,Turbo C,C-Free,win-tc 等等 对于一个初学者,Microsoft Visual C+是一个比较好的软件。界面友好,功能强大,调试也很方便。1.2 双机通信两台机器的通信方式可分为单工通信、半双工通信、双工通信,他们的通信原理及通信方式为:单工通信:是指消息只能单方向传输的工作方式。单工通信信道是单向信道,发送端和接收端的身份是固定的,发送端只能发送信息,不能接收信息;接收端只能接收信息,不能发送信息,数据信号仅从一端传送到另一端,即信息流是单方向的。通信双方采用“按讲”(Push To Talk,PTT)单工通信属于点到点的通信。根据收发频率的异同,单工通信可分为同频通信和异频通信。半双工通信:这种通信方式可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行。也就是说,通信信道的每一段都可以是发送端,也可以是接端。但同一时刻里,信息只能有一个传输方向。如日常生活中的例子有步话机通信等。双工通信:双工通信是指在同一时刻信息可以进行双向传输,和打电话一样,说的同时也能听,边说边听。这种发射机和接收机分别在两个不同的频率上(两个频率差有一定要求)能同时进行工作的双工机也称为异频双工机。双工机的特点是使用方便,但线路设计较复杂,价格也较高。2方案论证2.1方案一:基于PC系统的双机通信该设计用8251A可编程接口电路设计该电路,系统提供时钟384KHZ,使用波特率因子16或64获得4800HZ的频率。设计中要对信号进行分频处理。系统采用中断实现实时的收发处理,其通信程序大多用汇编语言。2.2方案二:基于单片机C语言的双机通信该设计用AT89C51芯片,并用C语言程序来控制AT89C51,使之能实现两个单片机之间的通信。通信方式为单工通信,一个为主单片机,作为发送方,另一个为从单片机,作为接收方。2.3方案论证:由于单片机是靠程序运行的,并且可以修改,通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的。并且应用广泛,操作方便。而且C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,所以本次我们选择用基于单片机C语言程序来实现这个双机通信系统。其原理图为: 图2.3.1 双机通信原理图3原理简介3.1原理说明:由单片机构成的双机通信系统采用总线型主从式结构。所谓主从式结构,即在两个单片机中,一个主机负责通信管理,另一个为从机,从机要负责主机的调度与支配。51单片机的串行口方式二和方式三适用于这种主从式的通信结构。在实际的双机通信系统中,常采用RS-232C,RS-422,RS-485串行标准总线进行数据传输。当采用不同的通信标准时需进行相应的电平转换,有时还要对信号进行光电隔离。 在双机通信中,要保证主从机之间的顺利通信,必须具有从机身份的识别功能,每个从机都有唯一的地址码,该地址码就是从机身份的识别标志。串行口控制寄存器SCON中的SM2位就是为满足这一要求而设置的控制位。串行口以方式2或3实现双机通信时,主机发出的信息有两类:一类为地址信息,用来确定需要和主机通信的从机,其特点是主机串行传送的第九位信息TB8为1,即主机令TB8=1,呼叫从机;另一类是数据信息,特征是穿行传送的第九位信息TB为0,实现主从机间的信息传送。对从机来说,也要利用SCON寄存器中的SM2位的控制功能来区分地址信息和数据信息。在接收时,令RI=0,若SM为1,则仅当接收到的第九位信息RB8为1时,接收到的一帧信息才有效,并将接收到的信息装入SBUF,置位RI,请求CPU对主机发出的信息进行处理。若SM2为1,则仅当接收到的第九位信息RB8为0时,接收到的一帧信息无效。若从机令SM2为0,则接收到一个数据后,不管第九位RB8为0或者为1,都将数据装入接收缓存器SBUF,并置中断标志RI,请求CPU处理。因此对从机来说,在接收地址时,应使SM2=1,以便接收主机发来的地址码,从而确定主从之间的通信关系。主从之间的通信关系一经确定,从机应使SM2=0,以便接收主机发来的命令/数据或者识别下一个地址码。主从机间的通信过程为:(1) 所有从记得SM2位置1,处于接收地址帧状态(监听状态)(2) 主机发送一地址帧,其中8位是地址,第九位为地址/数据的区分标志,该位置1表示该帧为地址帧,即从机RB=1,呼叫从机。(3) 所有从机收到地址帧后,都把接收到的地址与本机地址进行比较。对于地址相符的从机,使自己的SM2位置0,(已接收主机随后发来的数据帧),并把本站地址发回主机作为应答;对于地址不符的从机,仍保持监听状态SM2=1,对主机随后发来的数据帧不予理睬,直至一个主机发送一个新的地址帧。(4) 主机接到从机应答地址后,确认地址是否相符,如果地址不符,发复位信号,如果地址相符,则清TB8,开始发送数据。(5) 从机发送数据结束后,要发送一帧校验和,并置第九位(TB8)为1,作为从机数据传送结束的标志。(6) 主机接收数据时先判断数据接收标志(RB8)。若接收帧的RB8=0,则存数据到缓冲区,并准备接收下一帧信息;若RB8=1,表示数据传送结束,并比较此帧校验和。(7) 从机接收到复位命令后回到监听状态(SM2=1),否则开始接收数据和命令。3.2总体设计: 本次设计,对于两片8051,发送方的数据由串行口TXD断输出,通过74LS05反向驱动,经光电耦合器至平衡差信号输出,经过传输线(双胶线)将信号传送到接收端。接收方通过平衡差分长线接收芯片75175将差分信号转换成TTL电平信号,通过反向驱动后,经光电耦合器到达接收方串行口的接收端。对于接口电路,集中发送的接收端都有三个电阻R1,R2,R3。R1为传输线的匹配电阻,取指在100欧到1000欧之间,其它两个电阻是为了解决第一个数据的误码而设置的匹配电阻。有一点值得注意,那就是光电耦合器必须使用两组独立电源,方能起到隔离抗干扰作用。3.3运行环境:3.3.1Proteus Proteus软件是英国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等多种编译器。其功能特点 Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:(1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真 。革命性的特点 (1)互动的电路仿真:用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。(2)仿真处理器及其外围电路:可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。具有4大功能模块 (1)智能原理图设计(ISIS) 丰富的器件库:超过27000种元器件,可方便地创建新元件;智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。 (2)完善的电路仿真功能(Prospice) ProSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真; 超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件; 多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入; 丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等; 生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动; 高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析;(3)独特的单片机协同仿真功能(VSM) 支持主流的CPU类型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信;实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真;编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试;(4)实用的PCB设计平台 原理图到PCB的快速通道: 原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计; 先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理;完整的PCB设计功能:最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D 可视化预览;多种输出格式的支持:可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工。Proteus提供了丰富的资源 (1)Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。(2)Proteus可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。(3)除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。(4)Proteus可提供的调试手段 Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。 电路功能仿真 :在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。 PROTEUS 是单片机课堂教学的先进助手。PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。使用Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。目前Proteus的最新版为7.7 sp2,今年将推出8.0版本,增加DSP系列及ARM cortex处理器。3.3.2 Keil uVision3 Keil uVision3是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,使您能在很短的时间内就能学会使用keil c51来开发您的单片机应用程序 。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4元器件简介4.1AT89C51:AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示: 4.1.1AT89C51管脚图 管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写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编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 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)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4.2 4*4键盘:矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中的个数是4*4个,这种行列式键盘结构能够有效地提高单片机系统中I/O的利用率。4.3排阻:排阻,就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚,其余引脚正常引出。所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚。它在排阻上一般用一个色点标出来。4.4数码管:数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动,数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。图4.4.1七段数字译码显示器结构图各段对照代码显示数字输入控制代码(a,b,c,d,e,f,g,) 0 1111110 1 0110000 2 1101101 3 1111001 4 0110011 5 1011011 6 0011111 7 1110000 8 1111111 9 1110011千万不要删除行尾的分节符,此行不会被打印。“结论”以前的所有正文内容都要编写在此行之前。结 论 本次设计是通过两块简单的8051单片机实现信息的串行通信。设计过程中,从双机通信背景的了解,到8051单片机具体功能的了解,与8051单片机的区别;从串行通信的原理的熟悉,到掌握具体串行通信在双机之间的实现;从硬件电路设计到程序编写;从硬件调试到软件模拟实现等过程在自己的努力和老师的亲切指导下,都是有条不紊地进行。 设计中,收获不少东西,也遇到了不少的问题。首先,在完成单片机课程学习任务后,对内容的掌握不够,缺乏灵活运用的能力,对于知识的扩展也存在一定的问题,因此,初面对设计课题,无法系统地进行设计思路的拟定。其次,一个星期的学习,在巩固和学习硬件知识的同时,用软件控制协调硬件实现现实功能,通过硬件完成软件的功能等方面的融会贯通,取得了一定的效果。再者,硬件设计过程中,I/O口的扩展,外部ROM的扩展,对于芯片的选择,软件编写时,对于某些指令的功能,功能模块的连接,芯片地址选择等都遇到了很大的障碍,不过在老师帮助和自己查阅资料得到了解决,与此同时,了解了不少的问题。例如,51系列单片机具有多级中断功能(即多重中断嵌套),为了不至于在保护现场或恢复现场的的同时,由于CPU响应其他中断请求,而使现场破坏,一般规定,在保护和恢复现场时,CPU不响应外界的中断请求,即关中断。因此,在编写程序时,应注在保护或恢复现场的之前,关闭CPU中断;在保护和恢复现场后,再根据需要使CPU开中断。另外,设计中犯一些常识性的错误,对设计进程造成了一定的影响。例如,程序调试时,由于粗心录入程序时,将程序敲错,比如将0(零)和字母O混淆,还有中文标点符号和英文标点符号混淆等。这样的错误很难发现,以至于花费了很多时间。同时我也了解了单片机。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!.它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。 通过本次课程设计,不仅使理论知识得到了实践,有效巩固了知识。同时对于单片机发展历史、强大功能、应用领域以及系列知识得到了大概的系统认识,同时也初步了解了一个完整的系统开发的过程,对于创造思维的培养和开发能力的锻炼,本次设计,为此提供了一个很好的平台。不要自己写,要利用word来自动生成。详情请看最后一页致 谢本次设计从选题开始到设计完成共经历了为期三个星期的时间。在设计结束之际,我要向我的指导教师王战备老师致以诚挚的谢意,他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,王老师都始终给予我细心的指导和不懈的支持。几个星期来,王老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀和鼓励。在此我向王老师表示深深地谢意。另外,也非常感谢我的各位授课教师,感谢他们在大学中教给我许多的专业知识和为人处事的态度和方法!同时还要感谢所有帮助我的同学,尤其是在502实验室同学,感谢他们给我提供的建议和帮助。同时我也感谢我的合作伙伴程娇娇,石佩珊感谢他们在给我提供的帮助,让我知道团队精神的重要性及意义。参考文献1冯育长,雷思孝,马金强.单片机系统设计与实例分析 M.西安:西安电子科技大学出版社,2007.2牛昱光,李晓林.单片机原理与接口技术 M.电子工业出版社,2007.附 录总图:发送程序:#ifndef_PMPDATAT_H #define_PMPDATAT_H#include #include #define uchar unsigned char#define uint unsigned int#define SUCC 0x2A#define ERR 0xF0#define MAXLEN 64 uchar buf;uchar addr,get_key,key;#endif#include PMPDataT.hsbit led=P34;uchar num=0;void delay(uint t)uint i;while(t-)for (i=0;i125;i+) uchar keyscan(void)uchar scancode

温馨提示

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

评论

0/150

提交评论