1、摘要摘要单片机自20世纪70年代问世以来,以其极高的性价比,受到人们的重视和关注,应用很广,发展很快。单片机体积小,重量轻,抗干扰能力强,环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用于各个领域。本课题设计为以单片机为核心的扩展板按照为实验室现有的控制理论实验箱配套来确定功能和技术指标,设计中需要的技术数据从计算机控制技术实验指导书和实验箱相关资料获得。本课题设计一个USB接口的计算机功能扩展板,实现基于PC机的。用于计算机控制技术实验中对控制算法的研究。扩展板是一个单片机系统,具有多路模拟量输入输出功能,少量开关量输入输出的能力。扩展板
2、使用AT89S52单片机作控制核心,通过与上位机(PC机)通信,根据上位机传来的指令设置输出,把检测到的数据送到上位机。扩展板本身不处理数据,完全听命于上位机工作。本课题设计实现这个功能扩展板。关键词:单片机;AT89S52;虚拟测控系统 ;USB接口II AbstractAbstract目录Since the 20th century 1970s, EMCU with its Cost-effective has earned the peoples attention and concern, which has applied very broadly and developed ver
3、y quickly. EMCU is small size, light weight, anti-interference capability and the environment request is not high, low price, high reliability, flexibility, and its development is easier.This topic design for expands the exhibition board take the monolithic integrated circuit as the core according t
4、o form a complete set for the laboratory existing control theory experiment box determined the function and the technical specification, in the design need the engineering data instructs the book and the experiment box correlation data from the computer control technology experiment obtains.The topi
5、cs to design a computer USB interface extensions board, and PC-based virtual monitoring system. Control technologies for the computer control algorithms in the experimental study. Expansion plate is a microcontroller system, with multi-channel analog input and output functions, a small amount of swi
6、tching of input and output capacity. Expansion boards for control of the use of AT89S52 EMCU core, through the USB bus and the host computer (PC machine) communications, according to commands from the top of the output set to test the data to the PC. Expansion board is not dealt with data itself, in
7、stead completely take orders from the PC. This issue features designed to achieve this expansion board.Key words: EMCU; AT89S52; virtual monitoring system; USB interface50 河北工程大学毕业设计论文目 录摘要IAbstractII目 录11绪 论31.1 前言31.2 选择本课题的目的及意义41.3 系统设计方法42软件设计52.1设计流程52.2 主程序流程图62.3 模拟量输入检测模块92.4 A/D转换模块92.5 D/
8、A转换模块102.6 开关量输入输出模块102.7 通信模块102.8 逻辑电路的实现143系统的硬件设计153.1 虚拟测控接口板技术说明153.2 设计中单片机的选型153.3 AT89S51型单片机的引脚功能163.4 设计中采用的可编程逻辑器件193.4.1 EPM7032可编程逻辑器件的结构193.4.2 EPM7032器件的性能特点203.5 通讯系统213.5.1 CH375芯片213.5.2 CH375内部结构243.5.3 CH375与单片机的连接253.6模拟量输入通道的设计273.7模拟量输出通道的设计293.8开关量输入输出通道设计304 虚拟测控系统PID实验324.
9、1PID控制概述324.2数字PID控制实验内容324.2.1系统结构324.2.2PI调节及PID调节器的增益33结 论35致 谢36参考文献37附 录38附录A 科技文章摘译401绪 论1.1 前言在科学技术发展史上,科学实验的出现是一个重要分水岭。自从出现科学实验以后,科学技术以神奇般的速度向前发展,在欧洲是如此,在中国也是如此。为了降低科学实验中的风险性,不至于浪费大量的人力物力,同时也是为了提高实验效率,实验者选择采用部分虚拟实验来代替实际实验。计算机的诞生和相关技术的发展为这类虚拟实验提供了更为广阔的空间,因此可以说虚拟实验的出现本身是与现代利一学技术的发展相一致的。在教育领域中使
10、用虚拟实验系统辅助实验教学,是实验教学改革发展的需要,原因是:实验教学是把理论知识和实践活动、间接经验与直接经验、抽象与形象相结合的教学过程,相对于理论教学更具有直观性、实践性、科研性、综合性.少创新性等特点,决定了它在育人方面尤其是在学生能力培养和综合素质提高方面有其独特的作用。但由于受传统教育观念的影响,实验教学中还存在着不少令人担忧的问题(如:实验室硬件建设的资金投入相对不足、仪器设备更新率低、实验方式单一等)。而虚拟现实技术及相关技术的发展水平已使虚拟实验室可以胜任对真实实验室的模拟。虚拟实验系统通过计算机把教学内容、实验设备、教师指导、学生生操作等有机地融合为一体,不仅可以部分代替实
11、际实验(如一些实验室没有条件添置的仪器设备的操作、现实中可能会危及人体安全的实验、实验时间持续得很长以致无法开设的实验等),而且在实际实验前和实验后都发挥着积极的作用:在实际实验前利用虚拟实验进行预习,有助于学生对实验的整体到局部建立起直观的感性认识,能有效地克服在实际实验中出现的盲目操作和实验“走过场”现象,缩短了实际实验的时间。对一些难度少的、操作步骤多的实验,在做完实际的实验后再做虚拟实验,可以使学生了解侮一实验步骤在实验过程中所起的作用。进一步理解实验原理、消化实验内容。虽然虚拟实验系统在实验教学中发挥着重要的作用,但是人们普遍认为虚拟实验并不能取代真实实验,因为虚拟实验不能提供近乎真
12、实的体感,以致使用者无法得到真实实验中所获得的全部经验(如动手能力的某些细节)。即便如此,我们也应该看到,借助虚拟实验系统有助于丰富学生相关领域的认识和部分经验,虚拟试验的存在又是有着特殊的意义的。1.2 选择本课题的目的及意义自动化实验室的控制理论实验箱购于八年前,由于实验箱上的接口板及实验软件设计不够成熟,经常出现死机,检测数据波动大甚至出现紊乱;由于设计中没有考虑对接错线的保护,所以经常烧坏接口板上的器件。该实验设备对每个实验单独设计软件,实验简单但不利于学生了解测试方法和过程,不利于提高实践能力。另外,由于生产厂已解散多年,已无法升级换代,也没有充足资金购买新设备。研制自己的升级换代产
13、品是非常必要的,也是可行的。本课题的设计过程就是一个基于PC机的虚拟测控系统的开发过程,可以训练我们虚拟测控系统的研发能力。只有亲自动手,才能真正的学好它,用好它。毕业设计为学习与工作的中间点,它正好起到了承接的作用:让我们知道自己的不足之处,及时改正,也为我们自己将来的工作奠定基础。通过所学过的知识点的应用,培养我们学生良好的设计制作思想,培养学生综合分析、开发创新、设计制作的能力。理论与实践相结合,使学生有了更强的动手能力,在就业竞争中增加有力的条件和砝码,为顺利走上工作岗位做良好的过渡和训练。1.3 系统设计方法USB接口的计算机功能扩展板是一个单片机系统,具有多路模拟量输入输出功能,少
14、量开关量输入输出的能力。在硬件和软件设计上,采用USB并行接口的设计方法。硬件设计包括模拟量输入通道的设计,模拟量输出通道的设计,开关量输入输出通道设计几部分,选择所用器件,利用protel99绘制原理图,然后设计软件流程图,利用89S52单片机进行汇编语言编写程序。 电路板采用89S52单片机和一片CPLD芯片EPM7032设计。CPLD实现单片机的外围逻辑和一些特定功能,单片机执行上位机指定的检测和控制输出。接口板与上位机之间通过USB传送数据和命令。USB通信采用CH375A型通信控制器。2软件设计 2.1设计流程本课题以自动控制理论实验所用的设备由计算机、USB数据通道接口板、实验平台
15、及运放电路板组成。实验平台配以运放电路板接插阻容元件,可以用来模拟多种特性的被控对象。USB数据通道接口板插于实验平台上,它起模拟信号与数字信号的转换作用,可以用计算机控制产生不同的信号。系统连接方法见下图2-1计算机USB通信A/D D/A转换信号引出区运放电路板2-1系统连接图随机配备的SAC-ACT软件包设计了自控理论的实验,所有的自动控制理论实验都是在这套装置上进行的。接口板上的功能实现,模拟量输入与检测通过模拟开关MAX354输入,经过高速8位转换器TLC0820,把模拟量转换成数字量,A/D转换后由AT89S52单片机通过USB接口CH375把数据送给上位机进行处理与显示。由单片机
16、接收上位机传来的数据,把数据有选择性的模拟量输出或者数字量输出、数字量输入。模拟量输出用双路8位乘法数模转换器TLC7628,把数字量转换成模拟量送出去。数字量输出端由74LS07驱动,数字量输入端都由史密特触发器74LS14接收输入信号。根据本课题系统的功能和技术指标要求,我将软件的设计分成五部分:第一部分对一些必要的外设进行初始化;第二部分为模拟量调节;第三部分A/D转换,D/A转换;第四部少量开关量输入输出;第五部分为CH375网络通信。在主函数里对各个不同部分进行调用从而实现整体的功能。硬件框图如2-2所示2-2硬件框图单片机负责采集上位机所要的数据并传给上位机,接收上位机传来的输出数
17、据并输出上位机需要的数据。单片机通过CH375与上位机通信。各种功能部件的操作方法和地址见下文,注意单片机对片外数据的存取一律使用由R0或R1作间接寻址寄存器的MOVX指令。2.2 主程序流程图通讯数据长度有效值是0至8,第一个字节定义命令种类,第二个字节定义通道号,三个字节为数据,其中通道号和数据可为0,为了容易识别上传和下载采用一样的命令代码。通信协议如表2-1 2-2所示:2-1命令种类代码说明命令种类代码开关量输入信号001开关量输出信号010模拟量输入信号011模拟量输出信号1112-2端口号代码说明模拟量输入端口号代码模拟量输出端口号代码11100122201033-44-55-6
18、6-77-88-为了增强程序的可读性,我们将程序模块,在程序中合理的调用各个模块即可实现整体的功能。主程序流程图如图2-5所示2-5主程序流程图2.3 模拟量输入检测模块模拟量输入与检测通道,是由模拟开关MAX354实现八路输入的切换,其中六路为模拟量输入(AI0AI5),两路为检测模拟量输出信号(AQ0AQ1)。检测通道的设置。要进行A/D转换的通道通过AT89S52单片机的P2.0P2.2构成的二进制数给出,P2.0是最低位,P2.2是最高位。该二进制数为000B时指定检测AI0通道;二进制数为001B时指定检测AI1通道;为101B时指定检测AI5通道;为110B时指定检测AQ0通道;为
19、111B时指定检测AQ1通道。2.4 A/D转换模块从模拟开关MAX354选通一路通道,经模拟开关MAX354的COM脚AIN送到高速8位转换器TLC0820,启动A/D通道只需对相应口地址进行写操作即可。由AT89S52单片机P3口的P3.1来检测模拟信号的极性,P0口读取数据。AT89S52单片机和CPLD芯片EPM7032来控制A/D转换读写,TLC0820工作在写读模式,操作地址是10H。通过对操作地址执行写操作起动转换,P1.3端为低电平表明转换完毕(也可软件延时2S),然后对操作地址执行读操作取回转换结果。A/D转换结束后,计算机即可通过USB接口读取单片机寄存器数据得到转换数据。
20、具体的流程图如图2-6所示2-6 A/D转换流程图致谢2.5 D/A转换模块上位机送来的数据给下位机,AT89S52单片机和CPLD芯片EPM7032来控制D/A转换读写,TLC7628写读模式把转换完成的数据送出去。实现模拟量输出。输出信号作为模拟系统的信号源。D/A输出时,进行I/0口写操作即可。第一个模拟量输出通道AQ0的地址是20H,第二个通道AQ1的地址是21H。操作方法是把要转换输出的值直接送入相应地址。河北工程大学毕业设计论文2.6 开关量输入输出模块开关量输入输出共4个接线端,4个(K0K3)是输入输出共用的。所有的输出端由74LS07驱动,所有开关量输入端都由史密特触发器74
21、LS14接收输入信号,以便提高抗干扰性能。共用的四个接线端K0K3用做输出时,把要输出开关量的值送到单片机P2口的P2.4P2.7即可,P2.4对应K0,P2.7对应K3。P2.4P2.7为低电平时OC输出端输出低电平。若想检测输出值(自检)可从P1口的P1.4P1.7读入对比,各对应位应该相反。共用的四个接线端K0K3用做输入时,要保证相应的输出端为高阻态,即P2.4P2.7的对应位输出“1”。程序从单片机P1口的P1.4P1.7读取输入值,P1.4对应K0,P1.7对应K3。注意读取的逻辑值与输入相反。共用的四个接线端的输出来自单片机P2口的P2.4P2.7,输入信号送到单片机P1口的P1
22、.4P1.7。 P2.4P2.7为低电平时OC输出端输出低电平,即输出端对地短接,一般作为有效输出。输入信号为高电平时(2.8V)对应的P1.4P1.7端得到低电平输入。为了防止输出对输入的影响,共用的端点用作输入时,相应的输出端应输出 “1”,使输出为高阻态。2.7 通信模块本设计通过CH375芯片实现USB通信接口。CH375设定为并行通信模式和内部固件模式。此程序用来实时的将A/D转换完成的数据传给上位机或者接收上位机传来的数据由单片机选择数字量或者模拟量输出出去。CH375芯片占用两个地址位,当A0引脚为高电平时选择命令端口,可以写入命令;当A0引脚为低电平时选择数据端口,可以读写数据
23、。单片机通过8位并口对CH375芯片进行读写,所有操作都是由一个命令码、若干个输入数据和若干个输出数据组成,部分命令不需要输入数据,部分命令没有输出数据。命令操作步骤如下:1在A0=1时向命令端口写入命令代码;2如果该命令具有输入数据,则在A0=0时依次写入输入数据,每次一个字节;3如果该命令具有输出数据,则在A0=0时依次读取输出数据,每次一个字节;4命令完成,可以暂停或者转到(1)继续执行下一个命令。CH375芯片专门用于处理 USB通讯,在接收到数据后或者发送完数据后,CH375以中断方式通知单片机进行处理。单片机通过CH375芯片接收数据的处理步骤如下:1当CH375接收到USB主机发
24、来的数据后,首先锁定当前USB缓冲区,防止被后续数据覆盖,然后将INT#引脚设置为低电平,向单片机请求中断;2单片机进入中断服务程序,首先执行GET_STATUS命令获取中断状态;3CH375在GET_STATUS命令完成后将INT#引脚恢复为高电平,取消中断请求;4由于通过上述 GET_STATUS 命令获取的中断状态是“下传成功”,所以单片机执行RD_USB_DATA 命令从 CH375 读取接收到的数据;5CH375在RD_USB_DATA命令完成后释放当前缓冲区,从而可以继续USB通讯;6单片机退出中断服务程序。单片机通过CH375芯片发送数据的处理步骤如下:1单片机执行WR_USB_
25、DATA命令向CH375写入要发送的数据;2CH375被动地等待USB主机在需要时取走数据;3当USB主机取走数据后,CH375首先锁定当前USB缓冲区,防止重复发送数据,然后将INT#引脚设置为低电平,向单片机请求中断;4单片机进入中断服务程序,首先执行GET_STATUS命令获取中断状态;5CH375在GET_STATUS命令完成后将INT#引脚恢复为高电平,取消中断请求;6由于通过上述 GET_STATUS 命令获取的中断状态是“上传成功”,所以单片机执行WR_USB_DATA 命令向 CH375 写入另一组要发送的数据,如果没有后续数据需要发送,那么单片机不必执行WR_USB_DATA
26、命令;7单片机执行UNLOCK_USB命令;8CH375在UNLOCK_USB命令完成后释放当前缓冲区,从而可以继续USB通讯;9单片机退出中断服务程序;10如果单片机已经写入了另一组要发送的数据,那么转到,否则结束。 具体的程序如下主程序的例子主程序如下ORG0000H ;复位后单片机入口LJMPSTARTORG0003H ;CH375中断LJMPCH375_INTERSTART: LCALLREST ;初始化SETBEA ;允许中断WAIT_REQUEST:NOPSJMPWAIT_REQUEST ;主循环 初始化子程序USE:ACC,R7,DPTRREST:LCALLCH375_INITR
27、ETCH375_INIT: MOVDPTR,#CH375_CMD_PORT ;命令口地址MOVA,#CMD_SET_USB_MODEMOVXDPTR,A ;设置USB工作模式MOVDPTR,#CH375_DAT_PORT ;数据口地址MOVA,#02HMOVXDPTR,A ;设置为使用内置固件的USB设备方式CH375_INIT_WT: MOVXA,DPTR XRLA,#CMD_RET_SUCCESSJNZCH375_INIT_WT ;等待操作成功,通常需要等待10uS-20uS;下述三条指令用于启用中断CLRIT0 ;置外部信号为低电平触发SETBPX0 ;置高优先级CLRIE0 ;清中断标
28、志SETBEX0 ;允许CH375中断RETCH375_INTER:PUSHPSW ;现场保护PUSHACCPUSHDPLPUSHDPHPUSH01H ;R1PUSH02H ;R2MOVDPTR,#CH375_CMD_PORT ;命令口地址MOVA,#CMD_GET_STATUSMOVXDPTR,A ;获取中断状态并取消中断请求MOVDPTR,#CH375_DAT_PORT ;数据口地址MOVXA,DPTR ;返回操作状态CLRIE0 ;清中断标志,对应于INT0中断LJMPCH375_DOWN_OK ;USB数据接收成功,USB端点2的OUTCH375_INT_4:MOVDPTR,#CH37
29、5_CMD_PORT ;命令口地址MOVA,#CMD_UNLOCK_USBMOVXDPTR,A ;释放当前USB缓冲区SJMPCH375_INT_RETCH375_INT_RET: POP02H ;R2POP01H ;R1POPDPHPOPDPLPOPACCPOPPSW ;恢复寄存器RETI ;中断返回;USB数据接收成功CH375_DOWN_OK: MOVDPTR,#CH375_CMD_PORT ;命令口地址MOVA,#CMD_RD_USB_DATAMOVXDPTR,A ;从当前USB中断的端点缓冲区读取数据块,并释放缓冲区NOP ;如果时钟频率低于16MHz则无需该指令延时NOP ;如果时
30、钟频率低于16MHz则无需该指令延时MOVDPTR,#CH375_DAT_PORT ;数据口地址MOVXA,DPTR ;首先读取后续数据长度MOVR2,AJZCH375_INT_RET ;长度为0,没有数据则直接退出MOVRECV_LEN,AMOVR1,#RECV_BUFFER ;接收缓冲区CH375_INT_RECV: MOVXA,DPTR ;接收数据MOVR1,AINCR1DJNZR2,CH375_INT_RECV ;继续接收数据直至结束CALLPROCESS ;分析下传数据并准备应答LJMPCH375_INT_RETend2.8 逻辑电路的实现本设计的外围逻辑电路由EPM7032实现。A
31、ltera公司的MAXPLUS(Multiple ArrayMatrix and Programmable Logic User System)开发系统可对该器件提供软件设计支持。程序见附录C3系统的硬件设计3.1 虚拟测控接口板技术说明1虚拟测控接口板概述虚拟测控接口板是针对“沈飞电子公司生产的CCT3型自动控制原理计算机控制技术实验箱(以下简称控制理论实验箱)”设计的,用于代替原接口板,也可用于其它对检测控制精度要求不高的设备。2功能和技术指标虚拟测控接口板是一块PC机功能扩展接口板,其接口板为120的长方形电路板,在四个角上有四个固定孔,孔距分别为100mm和80mm。具有扩展模拟量检测
32、和控制输出以及开关量输入输出的功能,通过USB接口与PC机连接。该板通过4针(或5针)接插件从实验箱取得“+ 5V和12V”电源。各输入输出端通过1号实验导线插座连接到实验箱的电路。主要性能指标如下:1模拟量检测模拟量输入通道为6 路单端输入,可为双极性输入。输入信号的检测范围为“-5V+5V”,模数转换的分辨率为8bit(LSB5V25619.5 mV)。2模拟量输出模拟量输出为2路单端输出,8bit分辨率。通过跳线可设置为单极性或双极性输出。单端输出范围为“05V”(LSB19.5 mV),双极性输出范围为“-5V+5V”(LSB39.1 mV)。3 数字量输入数字量(开关量)输入最多6路
33、,其中4个输入端与输出共用(不能同时既用作输出,也用作输入)。高电平输入电压应高于2.8V,低电平输入电压应低于0.7V 。4数字量输出数字量(开关量)输出最多6路,其中4个输出端与输入共用(不能同时既用作输入,也用作输出)。数字量输出为集电极开路型输出(OC),允许最高电压30V,最大电流30mA。带负载时注意输出端串有470的电阻。3.2 设计中单片机的选型在基于实验专用虚拟测控系统设计中,我采用了AT98S52型单片机为核心,因为AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C
34、51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。AT89S52与MCS-51单片机产品兼容,具有8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.3 AT89S51型单片机的引
35、脚功能89S52单片机采用40脚的双列封装方式。在40条引脚中,有2条专用于主电源的引脚,2条外晶体的引脚,4条控制引脚,3条I/O引脚。AT89S52的引脚如图3-13-1引脚图 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输
36、出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在
37、系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和
38、一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,在flash编程和校验时,P3口也接收一些控制信号。 引脚号第二功能P3.0 RXD(串行输入)P3.1 TXD(串行输出)P3.2 INT0(外部中断0)P3.3 INT0(外部中断0)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 WR(
39、外部数据存储器写选通)P3.7 RD(外部数据存储器写选通)RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE
40、脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。 EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行
41、内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。RCLK:串行口接收数据时钟标志位。若RCLK=1,串行口将使用定时器2 溢出脉冲作为串行口工作模式1 和3 的串口接收时钟;RCLK0,将使用定时器1计数溢出作为串口接收时钟。 TCLK:串行口
42、发送数据时钟标志位。若TCLK=1,串行口将使用定时器2 溢出脉冲作为串行口工作模式1 和3 的串口发送时钟;TCLK0,将使用定时器1计数溢出作为串口发送时钟。 EXEN2:定时器2外部允许标志位。当EXEN2=1时,如果定时器2没有用作串行时钟,T2EX(P1.1)的负跳变见引起定时器2 捕捉和重载。若EXEN20,定时器2将视T2EX端的信号无效。 TR2: 开始/停止控制定时器2。TR2=1,定时器2开始工作,定时器2 定时/计数选择标志位。TR20,定时; TR21,外部事件计数(下降沿触发)捕捉/重载选择标志位当EXEN2=1时, 1,T2EX出现负脉冲,会引起捕捉操作;当定时器2
43、溢出或EXEN2=1时T2EX出现负跳变,都会出现自动重载操作。0 将引起T2EX 的负脉冲。当RCKL=1或TCKL1时,此标志位无效,定时器2溢出时,强制做自动重载操作。3.4 设计中采用的可编程逻辑器件 本设计中使用可编程逻辑器件实现单片机的外围逻辑和一些特定功能,可编程逻辑器件采用了复杂可编程逻辑器件(CPLD)。 因为CPLD 具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,它可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎
44、所有应用中小规模通用数字集成电路的场合均可应用CPLD器件。CPLD芯片采用了Altera公司的可编程逻辑器件EPM7032,在 MAXPlus开发环境可编程技术来实现其特定功能。 3.4.1 EPM7032可编程逻辑器件的结构可编程逻辑器件EPM7032是基于Altera公司第二代多阵列矩阵(MAX)结构,并采用先进的CMOSEEPROM技术制造的。该器件由逻辑阵列块(LAB)、可编程连线阵列(PIA)和IO控制块等部分组成。其结构如图3-2所示。 3-2结构框图 EPM7032中的每个逻辑阵列块由16个宏单元阵列组成,其中多个逻辑阵列块通过可编程连线阵列连接在一起。PIA全局总线可由所有的
45、专用输入、IO引脚以及宏单元馈入信号之中。EPM7032的宏单元可以单独地配置成时序逻辑或组合逻辑工作方式。每个宏单元又由逻辑阵列、乘积项选择矩阵和可编程寄存器等三个功能块组成。 通过可编程连线阵列可把各个LAB相互连接起来以构成所需的逻辑。同时,通过在PIA上布线,也可把器件中任一信号源连接到其目的地。 IO控制块允许每个IO引脚单独地配置为输入、输出和双向工作方式。所有IO引脚都有一个三态缓冲器。它们由两个专用的低电平有效的输出使能引脚OE1和OE2来控制。 3.4.2 EPM7032器件的性能特点1逻辑密度为600个可用门;2EPM7032器件可100模仿TTL,并可将SSI、MSI和LSI的逻辑功能高密度的 集 成,它也可以集成从PAL、GAL、22V10到MACH和PLSI器件的多种可编程逻辑器件; 3引脚到引脚的逻辑延迟为50ns,计数器工作频率达1786MHz;4可编程宏单元触发器具有专用清除、置位、时钟和时钟使能控