毕业设计基于51单片机的上位机通讯系统课程设计说明书.doc
《毕业设计基于51单片机的上位机通讯系统课程设计说明书.doc》由会员分享,可在线阅读,更多相关《毕业设计基于51单片机的上位机通讯系统课程设计说明书.doc(35页珍藏版)》请在咨信网上搜索。
武汉理工大学单片机课程设计报告 目录 摘要 1 1.总体任务 2 1.1设计目的 2 1.2设计内容和要求 2 1.3 设计思路 2 2.设计原理分析 3 2.1上位机通信系统框图 3 2.1.1串行通信工作原理 3 2.2各部分设计原理 4 2.2.1 +5V电源原理及设计 4 2.2.2单片机复位电路工作原理 5 2.2.3单片机晶振电路工作原理 6 2.2.4 RS-232接口电器特性 6 3.硬件电路设计 9 3.1系统硬件总电路构成及原理 9 3.2 主控制部分――AT89C52单片机简介 10 3.3其它外围器件 17 4.系统软件程序的简单设计 18 5.课程设计总结 32 参考文献 33 摘要 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。 现代化集中管理需要对现场数据进行统计、分析、制表、打印、绘图、报警等,同时,又要求对现场装置进行实时控制,完成各种规定操作,达到集中管理的目的。加之单片机的计算能力有限,难以进行复杂的数据处理。因此在功能比较复杂的控制系统中,通常以PC机为上位机,单片机为下位机,由单片机完成数据的采集及对装置的控制,而由上位机完成各种复杂的数据处理及对单片机的控制。 本文介绍了一种基于AT89C52 单片机与上位机通信系统, 并对其工作原理及软、硬件的设计和实现方法进行了详细的阐述。 在单片机的输入输出控制中,除直接接上小键盘和LCD显示等方法外,一般都通过串口和上位机PC进行通信,后面一种方法由于PC机拥有强大的数据处理功能以及友好的控制界面并且能实现远程控制所以显得尤为有用。此系统可以由上位机控制,通过串口操作单片机模块实现其相应功能。 本次设计就是来完成由上位机通过串口控制来实现,以发光二极管的发光状态模拟开关电路的通断,用上位机的DOS命令对其进行控制。并用LED屏显示程序的传输。 关键字 AT89C52单片机;上位机;串口通信;开关电路. 1 1.总体任务 1.1设计目的 1) 通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。 2) 通过上位机通信系统的设计,了解上位机通信系统的工作原理和简单的程序编写,最终提高我们的逻辑思维能力。 1.2设计内容和要求 1) 内容:设计一个AT80C52单片机上位机通信系统,由上位机通过串口操作控制单片机模块。 2) 要求:以发光二极管的发光状态模拟开关电路的通断,用上位机DOS命令,对发光二极管进行控制。 1.3 设计思路 1) 熟悉设计原理,熟练掌握 μVision和ISIS Professional软件的应用,了解上位机通信系统的工作过程和工作原理。 2) 了解各个硬件的工作原理。 3) 绘制电路原理图,编写程序,并进行仿真,DOS命令对其进行控制,基本实现上位机通信系统的功能。 1 2.设计原理分析 2.1上位机通信系统框图 电源电路 AT89C52 单片机 发光二极管 上位机接口 复位电路 晶振电路 LED显示电路 图2.1 基于AT89C52单片机与上位机通信系统框图 2.1.1串行通信工作原理 串行通信是指利用一条传输线将数据一位位的顺序传送。其特点是通信线路简单,利用电话或电报就可实现通信,降低成本,适用于远距离通信,但传输速度较慢。这里需要说明几个概念。 1) 波特率:单片机需要根据使用的系统时钟频率(fo ),结合选定的通信波特率, 计算出UART寄存器设置值为1280。 为了保证数据传输的准确性,上位COM口的通信波特率也必须设置成和单片机采用的速率相一致。 2) 数据格式:数据格式采用1位起始位、8位数据位、无奇偶校验位、1位停止位组成,如图所示。 START D0 D1 …… D6 D7 STOP START—启动位 D0—D7—8位数据 STOP—停止位 图2.1.1串口通信数据格式 数据位标准的值有5、7和8位,如何设置取决于系统设计时需要传送的信 息。比如,标准的ASCII码是0 —127 (7位),扩展的ASCII码则是0—255 (8位)。停止位用于表示单个包的最后一位,典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有 自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供系统校正时钟同步的机会。奇偶校验位在串口通信中仅是一种简单的检错方式,可以不考虑。 2.2各部分设计原理 2.2.1 +5V电源原理及设计 稳定直流源设计的一般思路是让输入电压先通过电压变压器,再通过整流网络,然后经过滤波网络最后经过稳压网络。以全波整流电路作为整流网络,以极性电容作为滤波网络,采用固定式三端集成稳压电路7805和7905设计制作连续可调的双极型直流稳压电源。如下图所示,220V(幅值311V)50Hz市电经变压器220:25输出两组独立的25V交流,经桥堆整流、大电容滤波后分别经过集成稳压块LM7805C与LM7905C作用得到±5V的直流输出。 图2.2.1直流电源系统方框图 电源变压器:将电网提供的220V交流电压转换为各种电路设备所需的交流电压。 整流电路:利用单向导电器件将交流电转换成脉动直流电路。 滤波电路:利用储能元件(电感或电容)把脉动直流电转换成比较平坦的直流电。 稳压电路:利用电路的调整作用使输出电压稳定的过程称为稳压。 具体电路如下: 图2.2.1 ±5V设计电原理图 输入电容C1、C2用于抑制纹波电压,输出电容C3、C4用于消振,缓冲冲击性负载,保证电路工作稳定。同时由于输出电容C3、C4的存在,容易发生电容放电而损坏稳压器,RV1和RV2是滑动变阻器,可以调节输出的电压。R1和R2是限流电阻,防止线路电流太大。LM7805集成稳压三极管输出电流可达1A,输出电压5V,过热保护,过流保护,输出晶体管SOL保护。 2.2.2单片机复位电路工作原理 电容在上接高电平,电阻在下接地,中间为RST。这种复位电路的工作原理是:通电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程度,即为低电平,单片机开始正常工作。 首先RST保持两个机器周期以上的高电平时自动复位 1) 上电复位:上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。 2) 手动复位:首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,正常工作。 图2.2.2复位电路电原理图 2.2.3单片机晶振电路工作原理 晶振分为有源晶振和无源晶振两种,其作用是在电路产生震荡电流,发出时钟信号。它是时钟电路中最重要的部件,它的作用是向IC等部件提供基准频率,它就像个标尺,工作频率不稳定会造成相关设备工作频率不稳定,自然容易出现问题。由于制造工艺不断提高,现在晶振的频率偏差、温度稳定性、老化率、密封性等重要技术指标都很好,已不容易出现故障,但在选用时仍可留意一下晶振的质量。 图2.2.3晶振电路电原理图 2.2.4 RS-232接口电器特性 目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。R S-232被定义为一种在低速率串行通信中增加通信距离的单端标准。R S-232采用不平衡传输方式,即所谓单端通信,该接口具有使用方便、连线少等优点。RS-232接口主要电气特性如下: 1) RS-232串口通信最远距离为15m。 2) 不带负载时的驱动器输出电平为 -25V— +25V 。 3) 接收器输入电压的允许范围为-25V — +25V 。 4) RS-232上传送的数字量采用负逻辑,且与地对称。逻辑1:-3V — -15V ; 逻辑0: +3V — +15V 。 5) 最大负载电容2500pF。 6) 信号有效(接通,ON状态,正电压)为+3V— +15V,信号无效(断开,OFF状态,负电压 )为 -3V— -15V。 由RS-232标准对逻辑电平的定义可知,在发送引脚(TxD )和接收引脚(RxD )上, 对于数据信息:逻辑“1”的电平要低于-3V,逻辑“0”的电平要高于+3V;对于控制信号,接通状态(ON )即信号有效的电平高于+3V,断开状态(OFF )即信号无效的电平低 于 -3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于 -3— +3V之间的电压无意义,低于-15V高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在4—(3—15 )V之间。 表2.2.4 TTL逻辑电平与RS-232逻辑电平对比关系表 电平状态 TTL RS-232 逻辑电平“1” ≥ +2.4V -3— -15V 逻辑电平“0” ≤ +0.4V +3— +15V 图2.2.4上位机通信与RS-232接口电原理图 3.硬件电路设计 3.1系统硬件总电路构成及原理 实现本设计具体功能,可选用AT80C52单片机及外围器件,实现最小控制通信系统。电源电路为单片机及其他模块提供标准的+5V外界电源,晶振模块为单片机提供时钟标准,使系统各部分能协调工作。复位电路模块为单片机提供复位电路功能,单片机作为主控器,根据输入信号对系统进行相应的控制。9针接口与单片机和上位机的RS-232相连,实现上位机和单片机之间的通信,发光二极管是单片机控制的控制对象,实际应用中,它连接光电隔离器和驱动电路,可以作为电路开关。本次设计还提供LED显示屏,显示程序的传输过程。 图3.1单片机上位机通信系统电原理图 本次设计的所需元件清单如表3.1 元件名称 型号 数量/个 用途 单片机 AT80C52 1 控制核心 晶振 12MHz 1 晶振电路 电容 30pF 2 电解电容 10μF/10V 1 复位电路 电阻 10KΩ 1 按键 1 串口 9针 1 接微机 集成芯片 MAX232 1 电平转换电路 电解电容 1μF/10V 2 发光二极管 6 控制对象 电阻 1KΩ 6 电源 +5V/0.5A 1 提供电源 LED 1 显示程序传输 3.2 主控制部分――AT89C52单片机简介 AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。 AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。 AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 AT89C52P为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0—P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32—39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 P0 口 P0 口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。 在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1 口 P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,P1 接收低8 位地址。 表3.2 P1.0和P1.1的第二功能 引脚号 功能特性 P1.0 T2,时钟输出 P1.1 T2EX(定时/计数器2) P2 口 P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX @DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX @RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。 P3 口 P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能。P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。 RST 复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。 PSEN 程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP 外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H—FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。 XTAL1 振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2 振荡器反相放大器的输出端。 特殊功能寄存器 在AT89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFE),SFR 的地址空间映象如表2 所示。并非所有的地址都被定义,从80H—FFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。AT89C52除了与AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位位于T2CON(参见表3)T2MOD(参见表4),寄存器对(RCAO2H、RCAP2L)是定时器2 在16 位捕获方式或16 位自动重装载方式下的捕获/自动重装载寄存器。 数据存储器 AT89C52 有256 个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问7FH 以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128 字节RAM 还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。 例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2 口)地址单元。 MOV 0A0H,#data 间接寻址指令访问高128 字节RAM,例如,下面的间接寻址指令中,R0 的内容为0A0H,则访问数据字节地址为0A0H,而不是P2 口(0A0H)。 MOV @R0,#data 堆栈操作也是间接寻址方式,所以,高128 位数据RAM 亦可作为堆栈区使用。 定时器0和定时器1: AT89C52的定时器0和定时器1 的工作方式与AT89C51 相同。 定时器2 定时器2 是一个16 位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的C/T2 位选择。定时器2 有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON 的控制位来选择。定时器2 由两个8 位寄存器TH2 和TL2 组成,在定时器工作方式中,每个机器周期TL2 寄存器的值加1,由于一个机器周期由12 个振荡时钟构成,因此,计数速率为振荡频率的1/12。在计数工作方式时,当T2 引脚上外部输入信号产生由1 至0 的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2 期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1 期间寄存器加1。由于识别1 至0 的跳变需要2 个机器周期(24 个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。 捕获方式 在捕获方式下,通过T2CON 控制位EXEN2 来选择两种方式。如果EXEN2=0,定时器2 是一个16 位定时器或计数器,计数溢出时,对T2CON 的溢出标志TF2 置位,同时激活中断。如果EXEN2=1,定时器2 完成相同的操作,而当T2EX 引脚外部输入信号发生1 至0 负跳变时,也出现TH2 和TL2 中的值分别被捕获到RCAP2H 和RCAP2L 中。另外,T2EX引脚信号的跳变使得T2CON 中的EXF2 置位,与TF2 相仿,EXF2 也会激活中断。捕获方式如图4 所示。 自动重装载(向上或向下计数器)方式 当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器T2CON的DCEN 位(允许向下计数)来选择的。 复位时,DCEN 位置“0”,定时器2 默认设置为向上计数。当DCEN置位时,定时器2 既可向上计数也可向下计数,这取决于T2EX 引脚的值,当DCEN=0 时,定时器2 自动设置为向上计数,在这种方式下,T2CON 中的EXEN2 控制位有两种选择,若EXEN2=0,定时器2 为向上计数至0FFFFH 溢出,置位TF2 激活中断,同时把16 位计数寄存器RCAP2H 和RCAP2L重装载,RCAP2H 和RCAP2L 的值可由软件预置。 若EXEN2=1,定时器2 的16 位重装载由溢出或外部输入端T2EX 从1 至0 的下降沿触发。这个脉冲使EXF2 置位,如果中断允许,同样产生中断。定时器2 的中断入口地址是:002BH ——0032H。当DCEN=1 时,允许定时器2 向上或向下计数。这种方式下,T2EX 引脚控制计数器方向。T2EX 引脚为逻辑“1”时,定时器向上计数,当计数0FFFFH 向上溢出时,置位TF2,同时把16 位计数寄存器RCAP2H 和RCAP2L重装载到TH2 和TL2 中。 T2EX 引脚为逻辑“0”时,定时器2 向下计数,当TH2 和TL2 中的数值等于RCAP2H 和RCAP2L中的值时,计数溢出,置位TF2,同时将0FFFFH 数值重新装入定时寄存器中。当定时/计数器2 向上溢出或向下溢出时,置位EXF2 位。 波特率发生器 当T2CON(表3)中的TCLK 和RCLK 置位时,定时/计数器2 作为波特率发生器使用。如果定时/计数器2 作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器1 用于其它功能。若RCLK 和TCLK 置位,则定时器2工作于波特率发生器方式。波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2 翻转使定时器2 的寄存器用RCAP2H 和RCAP2L 中的16位数值重新装载,该数值由软件设置。在方式1 和方式3 中,波特率由定时器2 的溢出速率根据下式确定:方式1和3的波特率=定时器的溢出率/16定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T2=0)。定时器2 作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12 振荡频率)寄存器的值加1,而作为波特率发生器使用时,在每个状态时间(1/2 振荡频率)寄存器的值加1。波特率的计算公式如下: 方式1和3的波特率=振荡频率/{32*[65536-(RCP2H,RCP2L)]} 式中(RCAP2H,RCAP2L)是RCAP2H 和RCAP2L中的16 位无符号数。 定时器2 作为波特率发生器使用的电路如图7 所示。T2CON 中的RCLK 或TCLK=1 时,波特率工作方式才有效。在波特率发生器工作方式中,TH2 翻转不能使TF2 置位,故而不产生中断。但若EXEN2 置位,且T2EX 端产生由1 至0 的负跳变,则会使EXF2 置位,此时并不能将(RCAP2H,RCAP2L)的内容重新装入TH2 和TL2 中。所以,当定时器2 作为波特率发生器使用时,T2EX 可作为附加的外部中断源来使用。需要注意的是,当定时器2 工作于波特率器时,作为定时器运行(TR2=1)时,并不能访问TH2 和TL2。因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的数值。 然而,对RCAP2 则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和/或重装载出错。在访问定时器2或RCAP2 寄存器之前,应将定时器关闭(清除TR2)。 可编程时钟输出 定时器2 可通过编程从P1.0 输出一个占空比为50%的时钟信号,如图8 所示。P1.0 引脚除了是一个标准的I/O 口外,还可以通过编程使其作为定时/计数器2 的外部时钟输入和输出占空比50%的时钟脉冲。当时钟振荡频率为16MHz 时,输出时钟频率范围为61Hz—4MHz。当设置定时/计数器2 为时钟发生器时,C/T2(T2CON .1)=0,T2OE (T2MOD.1) =1,必须由TR2(T2CON.2)启动或停止定时器。时钟输出频率取决于振荡频率和定时器2 捕获寄存器(RCAP2H,RCAP2L)的重新装载值,公式如下: 输出时钟频率=振荡器频率/{4*[65536-(RCP2H,RCP2L)]} 在时钟输出方式下,定时器2 的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。定时器2 作为波特率发生器使用时,还可作为时钟发生器使用,但需要注意的是波特率和时钟输出频率不能分开确定,这是因为它们同使用RCAP2L和RCAP2L。 UART AT89C52的UART 工作方式与AT89C51 工作方式相同。 中断 AT89C52 共有6 个中断向量:两个外中断(INT0 和INT1),3 个定时器中断(定时器0、1、2)和串行口中断。所有这些中断源如图9 所示。 这些中断源可通过分别设置专用寄存器IE 的置位或清0 来控制每一个中断的允许或禁止。IE 也有一个总禁止位EA,它能控制所有中断的允许或禁止。 时钟振荡器 AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图10。外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10F。用户也可以采用外部时钟。采用外部时钟的电路如图10 右图所示。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。由于外部时钟信号是通过一个2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。 3.3其它外围器件 在设计原理部分,我们已经讲述了晶振电路、复位电路、单片机与上位机的RS-232相连部分的相关原理,这里就不再详述。发光二极管是单片机控制的控制对象,实际应用中,它连接光电隔离器和驱动电路,可以作为电路开关。 图3.2 发光二极管 图3.2 LED显示屏 4.系统软件程序的简单设计 4.1程序流程图 开始 初始化 读取命令子程序 发控制命令 图4.1 程序流程图 4.2程序清单 基于AT80C52单片机与上位机通信系统程序清单: RXBUFFSTART EQU 040H ;接受队列首址(170字节) XBUFFSTART EQU 050H ;发送队列首址(170字节) RXBUFFEND EQU 0F0H ;接收缓冲区队列末址 CMDANDLEN EQU 0080H ;命令字符最大长度 ;编程延时 P15MS EQU 0C9H P1US EQU 0FEH P50US EQU 0D1H ;控制键 BACKSPACE EQU 00B0H ;退后删除键 ;内部寄存器定义 T2CON EQU 0C8H ;T2控制寄存器 T2MOD EQU 0C9H TL2 EQU 0CCH ;T2计时寄存器低字节 TH2 EQU 0CDH ;T2计时寄存器高字节 TR2 EQU 0CAH ;T2启动位 RCAP2L EQU 0CAH ;T2计数重载寄存器低字节 RCAP2H EQU 0CBH ;T2计时重载寄存器高字节 CHPCON EQU 0BFH ;在系统编程控制寄存器 CHPENR EQU 0F6H ;编程状态下MTP ROM的控制 ;控制标志位定义 TXOKFLAG EQU 04H ;发送OK标记 CMDSPACEFLAG EQU 06H ;命令删除OK标记 RXCMDOKFLAG EQU 07H ;命令接受OK标记 ;全局变量定义 ;串口 RXBUFFTAIL EQU 3BH ;接受缓冲区尾指针 RXBUFFHEAD EQU 3AH ;接受缓冲区头指针 RXBUFFLEN EQU 39H ;命令长度计数 BLKCHK EQU 35H ORG 0000H LJMP START ORG 0030H ;中断入口表 RETI ORG 00B0H RETI ORG 0013H RETI ORG 001BH RETI ORG 0023H LJMP S_INT ORG 002BH RETI ORG 00B0H ;在线编程控制 STARTAB: DB "ONLINE OPERATION SYSTEM",00DH ,00AH DB "INPUT?TO HELP", 0FFH FRQUTAB:DB 00DH,"0)38400 1)19200 2)9066 3)4800 4)EXIT INPUT:",0FFH B_TAB:DB 0F6H,0ECH,0D9H,0B2H,0FFH ;12.0000MHZ设置 ;功能控制 CMDTAB:DB "?",00DH,00AH,0FFH,0FFH,0FFH,0FFH DB "0P5",00dh,00AH,0FFH,0FFH,0FFH DB "0P0",00DH,00AH,0FFH,0FFH,0FFH DB "0P1",00DH,00AH,0FFH,0FFH,0FFH DB "0P2",00DH,00AH,0FFH,0FFH,0FFH DB "0P3",00DH,00AH,0FFH,0FFH,0FFH DB "SETB",00DH,00AH,0FFH,0FFH DB "APROM",00DH,00AH,0FFH DB 0FFH,0FFH,0FFH,0FFH HLPTAB: DB 00DH,00AH DB "在线帮助命令",00DH,00AH DB "**************************",00DH,00AH DB "*? online help CAMand",00DH,00AH DB "* SETB set mcu baud rate *0p2 opreation2*",00DH, 00AH DB "op1 operation * 1 op3 operation 3*",00DH,00AH DB "* APROM in APROM* op4 operation 4*",00AH DB "***",0FFH,0FFH ROMMARKTAB:DB 00DH,00AH,"pass:>",0FFH CMDERROR:DB 00DH,00AH,"bad CMDand",0FFH WARNTAB: DB 00DH,00AH,"are you sure(Y/N)",0FFH INPUTTAB: DB 00DH,00AH," INPUT:",0FFH INPUTERROR: DB 00DH,00AH,"Error!!! input:",0FFH ;初始化程序 START: MOV R0,#0F0H ;把01到F0清零 CLR A CLRAM: MOV @R0,A DJNZ R0,CLRAM MOV P0,#0FFH ;P0—P3置1 MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV DPL, #00H MOV DPH,#00H ;DPTR清零 MOV PSW,#00H ;标志寄存器清零 MOV SP,#F1H ;设置堆栈指针 MOV SCON,#50H MOV TMOD,#11H MOV TH1,00DBH MOV TL1,#0FFH MOV A,#01H LCALL B_SET SETB ES SETB ET0 SETB ET1 MOV IP,#00H SETB TR1 SETB TR2 SETB REN CLR TI CLR RI SETB EA MOV RXBUFFHEAD,#RXBUFFSTART MOV RXBUFFTAIL,#RXBUFFSTART MOV DPTR,#STARTAB LCALL DIS_FUN MOV DPTR,#ROMMARKTAB LCALL CMD_GET MAIN: LCALL CMD_GET NOP CPL P2.0 LJMP MAIN NOP NOP NOP LJMP START CMD_GET: LCALL RG_CMD MOV A,RXBUFFTAIL XRL A,#RXBUFFSTART JZ RETT JNB RXCMDOKFLAG,RET- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 51 单片机 上位 通讯 系统 课程设计 说明书
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文