单片机最小系统试验设计_第1页
单片机最小系统试验设计_第2页
单片机最小系统试验设计_第3页
单片机最小系统试验设计_第4页
单片机最小系统试验设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。单片机最小系统是在以51单片机为基础上扩展,使其能更方便地运用于测试系统中。本设计主要在51单片机上扩展I/O口,扩展定时器定时范围,扩展键盘显示接口并写好底层程序。本文首先在绪论介绍了此系统的研究意义和使用的开发环境,以及使用MCS-51系列的单片机芯片。在第二章论述了总体设计过程及器件的选择,第三章着重描述了系统硬件电

2、路设计、硬件设计框图及所使用的各种芯片功能与特性,在第四章中重点剖析了软件设计的过程.关键词:单片机技术,8255A, 液晶显示ABSTRACTWith the infiltration in the social field of the computer in recent years, the application of the one-chip computer is moving towards deepening constantly, drive tradition is it measure crescent benefit to upgrade day to control

3、 at the same time. In measuring in real time and automatically controlled one-chip computer application system, the one-chip computer often uses as a key part, only one-chip computer respect knowledge is not enough, should also follow the structure of the concrete hardware , and direct against and u

4、se the software of target's characteristic to combine concretly, in order to do perfectly. The smallest system one chip computer is in expands at the base of MCS-51 one chip computer. Make it used more convient in the test system. this design mainly expands I/O in the take 51 on chip computer, e

5、xpands the timer fixed time scope, expands the keyboard to demonstrate the connection and writes the first floor procedure.This text has introduced the research meaning of this system and development environment used in the introduction at first, developing the one-chip computer chip of MCS-51 serie

6、s used. Have described the overall design process in chapter two, have confirmed chapter three of choice of device has described emphatically that designs the block diagram and various kinds of chip functions and characteristics used in circuit design of the systematic hardware , hardware, have anal

7、yzed the design course of the software especially in chapter four. Keyword:technology of the one-chip computer, 8255A, Liquid crystal display46 / 52文档可自由编辑打印目录第一章 绪论.11.1 选题意义.11.2 单片机的发展和应用.11.3 单片机编程语言介绍.3第二章 系统设计及工作原理.52.1 系统原理框图及器件选择.52.2 系统工作原理及总体电路框图.5第三章 系统硬件设计.83.1 硬件模块设计.83.1.1 数字输入输出模块设计.9

8、3.1.2 显示接口电路的设计.93.1.3 键盘接口电路的设计133.1.4 定是模块设计163.1.5 数据存储器单元的设计173.1.6 模数转换单元设计193.2 相关芯片的介绍.213.2.1 AT89C52芯片的介绍.213.2.2 并行接口芯片8255A.223.2.3 8254可编程计数/定时芯片简介233.2.4 D/A转换器.24第四章 系统软件设计.274.1 系统工作主程序流程图274.2 系统软件流程284.2.1 液晶驱动程序流程图.284.2.2 键盘扫描程序流程.30第五章 结论.33致谢35参考文献37附录1.39附录2.43附录3.45附录4.46第一章 绪

9、论1.1 选题意义由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。目前,可用于MCS-51系列单片机开发的硬件越来越多,与其配套的各类开发系统、各种软件也日趋完善,因此,可以极方便地利用现有资源,开发出用于不同目的的各类应用系统。单片机最小系统是在以MCS-51单片机为基础上扩展,使其能更方便地运用于测试系统中,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大

10、幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为在实时检测和自动控制领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。本课题设计主要在MCS-51单片机上扩展I/O口,扩展定时器定时范围,扩展键盘显示接口。本文以它为例进行介绍,希望能收到举一反三和触类旁通的效果。1.2 单片机的发展和应用自1971年美国INTEL公司制造出第一块4位微处理器以来,其发展十分迅猛,到目前为止,大致可分以下五个阶段。(1) 四位单片机(19711974)1971年11月,INTEL公司设计了集

11、成度为2000只晶体管片的4位微处理器INTEL4004,并配有RAM、ROM和移位寄存器,构成第一台MCS-4微处理。这种微处理器虽仅用于简单控制,但价格便宜,至今仍不断有多功能的4位机问世。(2) 低档8位单片机(19741978)这类单片机不带串行接口,寻址范围一般在4KB内。其功能可满足一般工业控制和智能化仪器等的需要,如INTEL公司的8048,MOSTEK公司的3870等。(3) 高档8位单片机(19781982)这类单片机带有串行接口,寻址范围可达64KB,有多级中断处理系统、16位定时计数器。其功能较强,是目前应用的主要产品,如INTEL公司的8051、MOTOROLA公司的Z

12、8和NEC公司的MPD7800等产品。(4) 16位单片机(1982-1990)MOSTEK公司于1982年首先推出了16位单片机68200,随后和INTEL公司于1983年推出了16位单片机8096,其公司也相继推出了同档次的产品。由于16位单片机采用最新的制造工艺,其计算速度和控制功能大幅度提高,具有很强的实时处理能力。Microchip新推49款16位单片机和数字信号控制器(5) 新一代单片机(90年代以来)这类单片机在结构上采用双CPU或内部流水线,CPU位数有8位、16位、32位,时钟频率高达20MHZ片内带有PWM输出、监视定时器WDT、可编程计数器阵列PCA、DMA传输、调制解调

13、器等。芯片向高度集成化、低功耗方向发展,使得单片机在大量数据的实时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人以及局域网等方面得到大量应用。这类单片机有NEC公司的MPD7800,MITSUBISHIM公司337700,REVKWELLR公司6500 21、 R65C29 ,INTEL公司的8044、UPI-452等。单片机的应用:单片机具有体积小、重量轻、价格便宜、低功耗、控制功能强及运算速度快等特点,故在国民经济建设、军事及家用电器的领域均得到广泛的运用。在一个应用系统中,只有一个单片机,这是目前应用最多的方式,主要应用领域有:(1) 测控系统。用单片机可构成各种工业控制

14、系统、自适应系统、数据采集系统等。例如,温室人工气候控制、水闸自动控制、电镀生产线自动控制、汽轮机电液调节系统、车辆检测系统、机器人轴处理器。(2) 智能仪表。用单片机改造原有的测量、控制仪表,数字化、智能化、综合化、柔性化发展。如温度、压力、流量、能度等的测量、显示及仪表控制。通过采用单片机软件编程技术,使测量仪表中长期存在的误差修正,线性化处理等难题迎刃而解。(3) 机电一体化产品。单片机与传统的机械产品结合,使传统机械产品结构简化,控制智能化。这类产品如:简易数控机床,电脑绣花机,医疗器械等。1.3 单片机编程语言介绍对于51系列单片机,现在主要有两种语言支持,即汇编、单片机C语言。C语

15、言是一种源于UNIX编写操作系统的语言,它是一种结构化语言,可产生压缩代码。C语言结构是以括号而不识字和特殊符号的语言。C可以进行许多机器函数控制而不用汇编语言。与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对51的存储器结构由初步了解寄存器分配、不同存储器的寻址及数据类型等细节可由编译管理程序有规范的结构,可分为不同的函数。这种方式可使程序结构化将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性编程及程序调试时间显著缩短,从而提高效率,提供的库包含许多标准子程序,具有较强的数据处理能力将已编好程序可统一的植入新程序,因为他又方便的模块化编程技术C语言作为一种非常方便的语

16、言而得到广泛的支持,C语言程序本并不依赖于硬件系统,基本上不作修改就可根据单片机的不同较快地移植过来。51的汇编语言非常像其他汇编语言。指令系统比第一代微处理器要强一些。51的不同存储区域使得其复杂一些。懂得汇编语言指令就可以使用在片内RAM作变量的优势,因为片外变量需要几条指令才能设置累加器和数据指针进行存取。要求使用浮点和启用函数是只有具备汇编编程经验才能避免生成庞大的、效率低的程序,单片机编程者应是由汇编转用C而不是原来用过标准C语言的人。第二章 系统设计及工作原理2.1 系统原理框图及器件选择本系统的硬件电路图结构由AT89C52单片机,并行扩展接口芯片8255,键盘输入,液晶显示器M

17、GLS-12032A,定时/计数器8254,数据存储器EEPROM2864A,DAC1208及串行接口电路组成。单片机系统原理框图如图2.1所示。8255AMCS-51串行接口复位电路数据存储器接口电路PC机键盘输入LCD显示D/A转换器接口电路路图2.1 单片机最小系统原理框图通过键盘输入指令或数字,单片机经过键盘扫描从8255读回键值,根据键值执行相应的子程序。假设输入测试命令键,单片机将调用测试子程序,并将测试结果送到显示器上显示(“good”or“bad”);假设输入数字键,单片机会自动将输入的数字显示到显示器上;假设输入其它命令键,单片机将调用相应的功能子程序,执行相应的命令。 2.

18、2 系统工作原理及总体电路框图系统软件由主程序和若干子程序构成。有显示子程序、键盘扫描子程序、键值处理子程序组成。系统开机后,首先执行主程序,完成系统初始化工作,然后调用显示子程序,在显示器上给出提示符rd,告诉操作者机器已准备好,可以接收键盘输入;当显示器上出现提示符rd后,立即调入键盘扫描子程序,此时,操作者可通过键盘输入数据或命令,经键盘扫描后从8255读回键值并进行按键分析,判断按下的键是数字键还是功能键,如果是数字键,则将与键号相对应的数据送往显示缓冲区显示;如果是功能键,则转入相应的功能键处理程序,最后返回到显示程序,开机状态一直重复这个过程。相应功能键处理程序功能包括8254定时

19、器定时范围扩展的功能,单片机需要每隔一定的时间就对处理对象进行采样,再对获得的数据进行处理,所以要对单片机设定一定的时间范围值。EEPROM2864数据存储器功能用于存储现场采集的原始数据,运算结果等。D/A转换器DAC1208功能可以直接从89C52输入数字量,并转换成模拟量而推动执行机构动作,以控制被控实体的工作过程。液晶显示模块MGLS-12032A功能,在单片机89C52的控制下,通过选通8255的PB口作为对数据的输出端口,按照要求的格式显示接收到的数据。各部分的功能具体连接系统总体电路框图如图2.2所示。图2.2 系统总体电图框图编制软件时,在扫描键盘前应熄灭显示器,这样,不会因为

20、对键盘的扫描而干扰显示器的显示。键盘扫描的延时10ms消抖,既可用专用的延时子程序实现,也可用采用RS触发器构成的硬件电路来实现。本设计中,采用的键盘消抖方法是常用的软件延时方法,在键盘输入的扫描过程中嵌入一段程序段,则能方便的实现键盘输出的消抖功能。 第三章 系统硬件设计3.1 硬件模块设计一个单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换

21、器等,根据本次设计要求,做出一下设计。3.1.1 数字量输入输出模块设计可编程的接口芯片是指其功能可由微处理机的指令来加以改变的接口芯片,利用编程的方法,可以使一个接口芯片执行不同的接口功能。MCS-51单片机常用的两种接口芯片是8255以及8155,本设计主要用8255来扩展I/O端口。8255和MCS-51相连,可以为外设提供3个8位的I/O端口,A口、B口和C口,三个端口的功能完全由编程来决定。8255和单片机的接口需要一个8位的地址锁存器即可。锁存器用来锁存P0口输出的低8位地址信息。通过Q6、Q7及读写信号对8255A的A口、B口和C口进行选通控制,图3.1为8255A的接口原理图。

22、 图3.1 8255的接口电路原理图在图3.1中,8255的8根数据线D0D7直接和P0口一一对应相连。复位线RESET与89C52的复位端相连,都接到89C52的复位电路上(在图中未画出)。8255的和与89C52的和相连。A,A控制信号分别由89C52的P0.7、P0.6经地址锁存器74LS373后提供,对A口、B口、C口进行选择。当然的接法不是唯一的。当系统要同时扩展外部RAM时,就要和RAM芯片的片选端一起经地址译码电路来获得,以免发生地址冲突。根据上述接法,8255的A、B、C以及控制口的地址分别为0000H、0040H、0080H和00C0H(假设无关位都取0)。根据设计需要连接的

23、外部设备。本设计中A口作为键盘扩展接口,列输出由PAPA口提供,行输入由PAPA口提供,B口作为LCD液晶显示器的接口, B口作输出口。C口未用。3.1.2 显示接口电路的设计在单片机系统中,液晶显示是单片机系统中反映输出和输入的有效操纵。本课题选择了较为常用的点阵图形液晶模块,从而使设计更具备广泛性。系统使用的液晶显示模块为香港精电公司(VARITRONIX)点阵图形式液晶显示模块,型号为MGLS-12032A,是内置SED1520控制驱动器的图形液晶显示模块,点阵数为120×32,点大小0.6×0.425mm,模块尺寸75.0×54.0mm,视频尺寸60

24、15;26.5mm,如图附录4所示。1 MGLS-12032A液晶模块的特性:MGLS-12032A液晶模块是由两片SED1520驱动的,两个SED1520都只用了其中的60个列驱动口(SEG0SEG59)。分别驱动液晶显示器的左右半屏。其内部逻辑电路如图3.2所示。2 液晶模块接口的设计:由于单片机通用并行接口有限,只能利用其他输入输出接口芯片来实现连接,因此本课题选择了并行接口的扩展芯片8255A的PB口作为液晶显示器的接口,接口电路如图3.3所示,将液晶模块的数据总线与8255A的PB口直接相连,液晶模块的片选控制引脚与高8位地址总线P2.2、P2.3、P2.4、P2.5相连,这样对液晶

25、模块的各种指令操作,实际上就是与相应的控制地址交换数据。MGLS-12032A液晶模块的接口端共16个管脚,各管脚的具体说明见表3.1所示。LCD MGLS-12032ASED1520(1)SED1520(2) VCCGNDV0E1E2RSR/WDB0DB7 图3.2 SED1520显示RAM结构图 按照图3.3的连接方式,当要显示接收到的数据时,首先单片机对8255A的控制口A,A写入控制字01,选中PB口作为数据输出端口,同时单片机的高8位地址线P2.2、P2.3、P2.4、P2.5对液晶显示模块输入控制指令。当P2.2=A0=1选择指令通道,P2.3=R/W=0选通写操作。由于LCD并没

26、有独立的片选信号,所以使用单片机的读写信号进行选通,而74LS00、74LS04则是转换读写信号的电平,同时作为片选信号,E1=1选择驱动器1,E2=1时选择驱动器2。相反当P2.2= A=0、P2.3=R/W=1时液晶显示器就对数据或结果进行输出显示。液晶模块的各基本指令操作对应的控制地址如表3.2所示。表3.1 MGLS-12032A液晶模块接口的定义序号管脚符号管脚名称说明1GND逻辑电源地2Vcc逻辑电源+5V3V0工作负电压提供对比度调节负电压4A0数据/指令通道选择A0=0选择数据通道A0=1选择指令通道5R/W读/写选择信号R/W=0写操作;R/W=1读操作6E1控制器1的读写使

27、能E1=0禁用;E1=1允许使用7E2控制器2的读写使能E2=0禁用;E2=1允许使用8NC空916DB0DB7三态数据总线图3.3 液晶模块和8255A的接口电路表3.2 液晶模块控制地址的定义操作E1地址E2地址写指令代码1440H2440H读状态字1C40H2C40H写显示数据1040H2040H读显示数据1840H2840H要对液晶模块进行控制,需要3个最基本的控制操作:分别向两个SED1520控制器写指令代码、写显示数据和读显示数据,完成这三项操作的前提条件是相应SED1520处与准备好的状态,当SED1520处于忙得状态时,除了读状态字指令外,其他指令均不起作用,因此在访问SED1

28、520前,都要先去读控制字当前状态,判断是否准备好。3 液晶显示的字符输出:由于单片机内部ROM容量的限制,使用西文字符库进行显示,每个字符大小为6×8点阵,以二维数组的格式存放在ROM中,二维数组的一行表示一个字符,行号即为字符的代码,计算公式:字符代码=ASC码-30H;二维数组的每个元素对应各字符的每列中8点状态得列数据。像液晶模块输出1个字符的过程就是,有液晶屏显示区的制定字符的指定列开始,连续输出该字符对应的字符库中的6个列数据。MGLS-12032A液晶模块中液晶屏显示区为120×32点阵,每8个像素行组成1页(字符行),整个显示区共分为4页;显示区的左半区受E

29、1控制器的60个列驱动器控制,右半区受E2控制器的60个列驱动器控制。4 液晶显示的汉字输出:ASCII码只对英文字母、数字和标点符号进行了编码。为了用计算机处理汉字,同样也需要对汉字进行编码。汉字编码主要分为四大类:汉字输入码、汉字交换码、汉字内码和汉字字形码。这几种编码的关系如图3.4所示。汉字输入码(外码)汉字交换码(国标码)汉字内码(机内码)汉字字形码(输出码) 图3.4 编码关系图 汉字的外部码即输人码,是输人汉字的一组键盘符号。交换码即为国标码,国标码规定,每个汉字用两个字节表示,每个字节仅用低7位,最高位为0。汉字的内码和国标码有一对应关系,即将高位加l,国标码就变为内

30、码。字形码又称输出码,可通过编程使有笔画处的点为1,无笔画处的点为0。这样,汉字的点阵可以对应若干字节长的字形码。由于一个SED1520显示控制器能控制80×16点阵液晶的显示,其显示RAM共16行,分2页,每页8行。连续16列相邻2页的32字节显示RAM就可以控制一个汉字的显示区域。对这些显示RAM赋以相应值就可以显示出一个汉字。可知MGLS12032A液晶显示器一次可显示两排14个汉字。在液晶显示器上要显示“单片机测试系统设计”首先在键盘上输入汉字的外部码即十进制的区位码,如“单”为2105,第一字节为区号值,第二字节为位号值,及21为区号,05为位号,通过键盘输入。第二步转换成

31、汉字交换码及国标码GB2312码,即在区号值和位号值上分别加上32,转换后高位为0x35H,低位为0x25H,编码为3525H。再转变成GB2312的通行编码,即在原始编码3525H高低位上分别再加128,最后为B5A5H。第三步再转换成汉字内码,通过编程来实现,即两个字节的高位由“0”变“1”。第四步是模块显示,通过编程在RAM区有笔画处点为1,无笔画处为0,汉字“单”就在液晶模块上显示出来。依次类推,单片机测试系统设计分别输入:2105、3812、2790、1866、4252、4721、4519、4172、2838,在GB2312编码表上对应的编码“B5A5、C6AC、BBFA、B2E2、

32、CAD4、CFB5、CDB3、C9E8、BCC6。3.1.3 键盘接口电路的设计在单片机测试系统中,数据和控制信号的输入主要使用键盘。键盘接口,尤其是键入信号的软件处理方法是影响系统使用和操作性能的主要因素。键盘接口及其软件的任务主要包括检查并判断是否有健按下,按键开关的延时消抖,计算并确定按键的键值,程序根据键值进行一系列的动作处理和执行。本设计选择非编码式行列键盘作为系统的输入装置。键盘布局图如图3.5所示。147*23M156M289M30#M4图3.5 键盘布局图1 键盘结构设计:行列式键盘中的键实际上就是一个机械开关,位于行线和列线的交点处,图3.6所示为本课题中使用的4行×

33、;4列的16键行列式键盘,当键被按下时,其交点的行线和列线接通,使相应行线或列线上的电平发生变化,根据电平变化情况确定被按下的键。 图3.6 4×4行列式键盘示意图2 键盘工作方式选择:为提高CPU工作效率,本课题采用了中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。图3.6是键盘接口电路,该键盘是由8255 PA口的高、低字节构成的4×4键盘。键盘的列线与PA口的高4位相连,键盘的行线与PA口的低4位相连,因此,PAPA是键输出线,PAPA是扫描输入线。图中的4输入与门用于产生按键

34、中断,其输入端与各列线相连,再通过上拉电阻接至+5 V电源,输出端接至89C52的外部中断输入端。 具体工作如下:当键盘无键按下时,与门各输入端均为高电平,保持输出端为高电平;当有键按下时,输出端为低电平,向CPU申请中断,若CPU开放外部中断,则会响应中断请求,转去执行键盘扫描子程序。键盘接口原理如图3.7所示。 图3.7 4×4行列式键盘原理图3 键值识别处理: 键盘上有很多键,每一个键对应一个键码,以便根据键码转到相应的键处理子程序,进一步实现数据输入和命令处理的功能。键盘识别的具体方法如下。判断是否有键按下。设置行线输出方式,列线输入方式;向所有行线输出低电平;读取PA口状态

35、,并从PA口状态中分离出列线状态;若列线状态皆为高电平,则无键按下,若有低电平状态,则有键按下;当有键按下时,保留此时的列线状态。按键本身是机械开关,在触点闭合或断开的瞬间会出现电压抖动的现象,必须去除抖动的影响,才能正确识别被按下的键。为简单起见,使用软件方法消抖,延时10ms,读取所有行线输出低电平情况下的列线状态,若两次烈线状态相同,说明信号稳定,可以继续确定按键的物理位置。确定物理位置得到键码。将改变列线和行线的工作方式,由列线输出,行线输入。列线输出前次读取的列线状态,由行线读取相应的行线状态。闭合键对应的行线和列线的状态均为低电平,其他键均为高电平状态。将此行线和列线状态组合即可得

36、到该闭合键对应的键码。 表3.3 按键功能及键码键号功能键码010EEH120EDH230EBH3M10E7H440DEH550DDH660DBH7M20D7H870BEH98OBDH1090BBH11M30B7H12*7EH1307DH14#7BH15M477H等待键释放。得到闭合键对应的键码以后,继续延时并判断按键状态,直到闭合的按键被释放,再跟据键码转到响应的键处理子程序中。4 获取键盘按键键值:采用行反转法计算按键键值,先将行线工作在输出方式,列线工作在输入方式,程序使CPU通过输出端口往各行线上全部送低电平,然后读入列线的值。如果此时有某一个键被按下,则必定会使某一列线值为0。然后,

37、程序再对两个并行端口进行方式设置,使接行线的并行端口工作在输入方式,而使接列线的并行端口工作在输出方式,并且将刚才读的列线值从所接的并行端口输出,在读取行线的输入值,那么,在闭合键所在的行线上的值必定为0,这样,当一个键被按下时,必定可以读的一对唯一的行值和列值。比如,图3.6中标号为0的键闭合,则第一次往行线输出全0后,读的列值为1110,第二次从列线输出刚才读得的值1110后,会从行线上读得行值1110,于是,行值和列值合起来得到一个数值11101110即0EEH,这个值对应了键0,它一定是唯一的。因此,根据读得的行值和列值为EEH便可确定按下的位键0。依次类推可得4×4行可列键

38、盘的16个键值分别如表3.3所示。系统中使用的4×4行列式键盘上16个按键的功能定义与相应的键码见表3.3所示3.1.4 定时模块设计在单片机测试系统中,CPU需要每隔一定的时间就对处理对象进行采样,再对获得的数据进行处理,一般说,定时信号可以用软件和硬件两种方法来获得。用软件方法定时,一般都是跟据所需要的时间来设计一个延时子程序,这种方法的优点是节省硬件,缺点是在执行延时程序期间CPU一直被占用,降低了CPU的效率。用硬件方法定时,就要用到定时/计数器,在简单的软件控制下产生准确的时间延迟。这种方法的主要思想是根据需要的定时时间,用指令对计数器/定时器设置定时常数,并用指令启动计数

39、器/定时器,在计数器/定时器开始工作以后,CPU不必去管它,而可以去做别的工作,这种方法的突出优点是计数时不占用CPU,并且,如果利用计数器/定时器产生中断信号,就可以建立多作业的环境,所以,可以大大的提高CPU的利用率。通过上述的比较可得,在提高CPU利用率的基础上,本文选择了硬件方法定时,选用计数器/定时器8254。8254芯片内部具有三个独立的16位定时/计数器,它可用程序设置成多种工作方式,按十进制计数或二进制计数,最高计数速率可达10MHz。8254 能用于多种应用场合,例如外部事件计数器、可编程方波频率发生器、分频器、实时时钟以及程控单脉冲发生器等。8254的全部功能是由CPU编程

40、设定的。CPU通过输出指令给8254装入控制字,从而设定其功能。接口原理图如图3.8所示。在图3.8中8254的D0口与单片机89C52P0口相连,其功能往计数器设置计数初值;从计数器读取计数值;往控制寄存器设置控制字。、信号分别和单片机的读/写信号相连,与单片机进行读写操作。当为低电平时有效,表示CPU正在对8254的一个计数器进行读操作。当为低电平时有效,表示CPU正在 图3.8 定时器接口电路原理图对8254的一个计数器写入计数初值或者对控制寄存器写入控制字。A、A与89C52地址线P2.0、P2.1相连,用来对三个计数器和控制寄存器进行寻址。规定当A、A为00时,选中计数器0;为01时

41、,选中计数器1;当为10时,选中计数器2;当为11时,无意义。8254时钟信号由外部晶振提供,频率为10MHZ,3个输出端接口接9管脚的插针,作外部输出用。8254芯片内部具有三个独立的16位定时/计数器,它可用程序设置成多种工作方式,按十进制计数或二进制计数,最高计数速率可达10MHz。又因为16位的定时/计数器的最大定时时间为2=65536,所以可得计数周期T=1/10MHZ=0.1us,最大计数时间为0.1×65535=6.5535ms,所以计数器/定时器8254的定时范围是06.5535ms。3.1.5 数据存储器单元的设计在单片机最小系统设计中,数据存储器用于存储现场采集的

42、原始数据,运算结果等。电擦除可编程只读存储器EEPROM是一种可用电气方法在线擦除和再编程的只读存储器,它既有RAM可读可改写的特性,又具有非易失性存储器ROM在掉电后仍能保持所存储数据的优点。因此EEPROM在单片机存储器扩展中,可以用作程序存储器,也可以用作数据存储器,至于具体做什么使用,由硬件电路确定。本设计采用8K的EEPROM2864A作为外部数据存储器。 选用2864A芯片来完成扩展8KB EEPROM,2864A的封装是DIP28,采用单一+5V供电,最大工作电流为150mA,维持电流为55mA,读出时间最大为250ns。片内设有编程所需的高压脉冲产生电路,无需外加编程电源和写入

43、脉冲即可工作。2864A在写入一个字节的指令码或数据之前,自动地对所要写入的单元进行擦除,因而无需进行专门的字节 / 芯片擦除操作。2864A的读操作与普通EPROM的读出相同,所不同的只是可以在线进行字节的写入。2864A的写入过程如下:CPU向2864A发出字节写入命令后,2864A便锁存地址、数据及控制信号,从而启动一次写操作。2864A的写入时间大约为16ms左右,在此期间,2864A的RDY/脚呈低电平,表示2864A正在进行写操作,此时它的数据总线呈高阻状态,因而允许CPU在此期间执行其它的任务。当一次字节写入操作完毕,2864A便将RDY/线置高来通知CPU。电路原理图如图3.9

44、所示。 图3.9 扩展2864A EEPROM电路原理图图3.9中,2864A的8位数据线D0-D7直接与单片机的P0口相连。13条地址线(AA,容量为8K ×8位,213=8×1024=8K),低8位AA通过锁存器74LS373与P0口连接,高5位AA直接与P2口的P2.0P2.4连接。片选端CE与高位地址线P2.7连接,P2.7=0时才选中2864, 89C52的程序存储读选通信号和数据存储器读信号经过“与” 操作后与2864A的读允许信号相连。这样,只要、中有一个有效,就可以对2864A进行读操作了。与89C52的数据存储器写信号相连的WE信号,只要执行数据存储器写操

45、作指令时,就可以往2864A中写入数据。单片机中用于控制存储器的管脚有以下3个:控制程序存储器的读操作,执行指令的取指阶段和执行MOVC A,A+DPTR指令时有效;控制数据存储器的读操作,执行MOVX DPTR,A和MOVX Ri,A时有效;控制数据存储器的写操作,执行MOVX A,DPTR和MOVX A,Ri时有效。单片机与2864A的控制线连接方法采用了将外部数据存储器空间和程序存储器空间合并的方法,使得2864A既可以作为程序存储器使用,又可以作为数据存储器使用。所以可得2864A的地址范围是0000H1FFFH(无关的管脚取0,该地址范围不是唯一的)。3.1.6 模数转换单元设计D/

46、A转换器可以直接从89C52输入数字量,并转换成模拟量而推动执行机构动作,以控制被控实体的工作过程。按照输入数字量位数,DAC常可分为8位、10位、12位三种。为了提高DAC的分辨率,本课题采用12位的DAC1208作为单片机的接口电路来进行数模的转换。主要功能:输入的数字量为12位;采用CMOS工艺,所有引脚的逻辑电平与TTL兼容;数字的输入可采用双缓冲,单缓冲或直通方式;转换精度为0.012;分辨率为12位;单一电源5V15V,功耗20mV;参考电压+10V-10V。89C52和DAC1208的电路原理图如图3.10所示。因为DAC1208芯片本身不带数据锁存器,而CPU向D/A芯片输出一

47、个数据只在DB上持续很短时间,所以必须用外部芯片74LS373作为D/A转换的数据锁存器。单片机的8位数据线与DAC1208的12位数据线相连,当89C52选中DAC1208时,89C52给DAC1208送12位输入数字量时,但必须先送高8位,再送低4位。则否,结果就不会正确。与单片机A0相连的BYTE/线,来区分4位还是8位输入寄存器。在和都为低电平时,BYTE/为“0”时,选中4位输入寄 图3.10 DAC1208的接口电路原理图存器,BYTE/为“1”时,选中8位和4位输入寄存器工作。与单片机写信号相连的、控制线,当89C52要往D/A转换器中输入数据时,、同时变为有效信号低电平。由图3

48、.10可见,由于和相连的译码器输出线为: Q Q Q QQ Q Q=1 1 1 1 1 1 1 B,而XFER的译码输出线为:Q Q Q QQ Q Q=1 1 1 1 1 1 0 B, BYTE/和89C52地址线中A0(即Q0)相连,因此,DAC1208 内部三个I/O端口就占用了四个I/O端口地址。其中,“4位输入寄存器”端口地址为FEH,“8位输入寄存器”地址为FFH,12位DAC寄存器地址为FCH或FDH。DAC1208是以双缓冲方式工作的,89C52首先送高8位和后送低4位原则,分两批把12位数字量送到输入寄存器,然后通过FCH或FDH端口使12位DAC寄存器同时从输入寄存器接受数字

49、量,进行D/A转换。因此,V端不会出现“毛刺”。相反,如果让DAC1208工作在单缓冲方式,那么V输出必然会在89C52两次送数字间产生电压突变而形成“毛刺”。3.2 相关芯片的介绍3.2.1 AT89C52芯片的介绍AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(EPROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为你提供许多较复杂系统控制应用场合。AT89C52有

50、40个管脚,32个外部双向输入输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。表3.4 AT89C52主要功能特性表主要功能特性:l 兼容MCS51指令系统l 8K可反复擦写(1000)Flash ROMl 32个双向I/O口l 256*8bit内部RAMl 3个16位可编程定时/计数器中断l 时钟频率0-24MHZl 2个串行中断l 可编程UART串行通信l 2个外部中断源l

51、共6个中断源l 2个读写中断口线l 3级加密位l 低功耗空闲和掉电模式l 软件设置睡眠和唤醒功能AT89C52提供以下标准功能,8K字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时计数器,一个向量两极中断结构,一个双工串行通信口,片内振荡器即时钟电路,同时,AT89C52可降至0HZ的静态逻辑操作,并支持两种软件可选的节点工作模式,空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作知道下一个硬件复位。主要功能特性如表3.4所示。3.2.2 并行接口芯片8255A82

52、55A是并行接口芯片,它具有3个八位数据接口,分别是PA口、PB口、PC口,其中PC口有可分为高四位和低四位口;可以通过软件编程来设置芯片I/O的工作方式,所以用连接外部设备时,通常不需要再附加外部电路,给使用带来很大的方便。8255A寻址方式及相应操作表如表3.5所示。表3.5 8255A寻址方式及相应操作表A0A1操作00001读端口A(获得数据)01001读端口B(获得数据)10001读端口C(获得数据或状态)00010写端口A(写入数据)01010写端口B(写入数据)10010写端口C(写入数据)11010写控制端口(写入控制字)××1××数据总线高阻××011数据总线高阻11001非法操作8255A的方式

温馨提示

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

评论

0/150

提交评论