毕业设计]数控直流稳压电源.doc_第1页
毕业设计]数控直流稳压电源.doc_第2页
毕业设计]数控直流稳压电源.doc_第3页
毕业设计]数控直流稳压电源.doc_第4页
毕业设计]数控直流稳压电源.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

综合设计第页1目录一、前言.2二、总体设计方案.32.1方案论证.32.2方案比较及选择.4三、单元模块设计.53.1电压调节电路.错误!未定义书签。3.2LM317标准电路.错误!未定义书签。3.3数码管显示电路.53.4ST89C52最小系统.9四、实验程序.104.1延时模块.104.2键盘扫描.错误!未定义书签。4.3数码管显示程序.错误!未定义书签。4.4利用按键调节输出电压值程序.错误!未定义书签。五、硬件调试.14六、心得体会.15七、参考文献.16八、附录.17综合设计第页2一、前言随着现代科技的不断进步,高质量的生活无疑是人们追求的目标之一,如今这个世界已近进入数字化的时代。数字化的产品也层出不穷,它已经深深的融入人们的日常生活、工作和学习当中。它所给人带来的方便也是不可否定的,而且它让我们的生活更加简单,所以人们对数字化的电子产品要求与需要都不断提高。要为现代人工作、科研、生活、提供更好的更方便的设施就需要一切向着数字化控制,智能化控制方向发展。其中基于单片机的电子计算器就是一个典型的例子,它是以单片机为控制核心的智能仪器并且在各行各业中应用越来越广泛。基于单片机控制的电子计算器具有体积小、功能强、精确度高等优点。综合设计第页3二、总体设计方案2.1方案论证方案一:此方案采用8051、4X4键盘、74LS373、6264、液晶显示器LCD1602组成。其中74LS373是地址锁存器,它实质是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块74ls373芯片。6264是8K*8位静态随机存储器芯片,采用CMOS工艺制造,单一+5V供电,额定功耗200mW,典型存取时间200ns,28线双列直插式封装.方框图如图1所示。图1原理方框图方案二:此方案采用4X4键盘、STC89C52、数码管组成。在该方案中我们利用ADC0832将模拟信号转化为数字信号并与数码管相连将相应的电压值显示出来。方框图如图2所示。STC89C524X4键盘数码管626474LS3738051Lcd16024X6键盘综合设计第页4图2原理方框图方案三:此方案采用PS2键盘、STC89C52、LCD1602组成。方案三利用PS2键盘作为数字以及符号的输入,并通过单片机来控运算的过程,计算的过程以及结果由LCD1602显示出来。方框图如图3所示。图3原理方框图2.2方案比较及选择方案一由于用了4X6键盘所以外加了地址锁存器,6264采用的是5V的电源。电路连接比较复杂。因而不采用一方案。方案二虽然可以利用4X4键盘来实现电路中必要数字符号的的输入,从而来达到计算的目的,且实验电路简单,但数码管的显示功能不强,显示的数字位数有限。因此不宜选择方案二。方案三,电路原理简单,成本低,方案简单易行,固选用方案三。STC89C52PS2键盘LCD1602综合设计第页5三、单元模块设计3.1液晶显示电路1602可以显示2行、每行显示16个ASCII字符,并且可以自定义图形,只需要写入相对应字符的ASCII码就可以显示,使用上相对数码管更能显示丰富的信息,我们主要通过1602的显示程序来学习一下如何看时序图。下面是1602各引脚的功能,具体不同厂家生产的引脚可能不一样,大家使用前要注意看厂家提供的资料。综合设计第页6图一D0D7端为8位数据口,进行数据传送,而RS、R/W、E端则配合可以做出不同的操作,对1602进行操作主要有四种,如下:1、读状态,输入:RSL,RWH,EH。输出:D0D7状态字2、写指令,输入:RSL,RWL,D0D7指令,E高脉冲。输出:无3、读数据,输入:RSH,RWH,EH。输出:D0D7数据4、写数据,输入:RSH,RWL,D0D7数据,E高脉冲。输出:无从以上可以看出,如果想对1602进行何种操作,只要按其相对应的操作规程来做即可。虽然以上有四种操作,但实际上归类起来只有二种,一种读一种写。好了,我们接着看看,进行读与写时时序图:综合设计第页7这张图初学者看起来可能有点晕,其实我们只要关注的地方是中间的ValidData即有效数据区,我们进行读或写,无非都是想进行数据的传送,在时序图中,为了看起来更清楚些,我们画上两根红色,大家注意这个位置各个引脚的状态,先看读操作时序。在进行读操作的时候,RW置于1,RS则根据读的内容(状态或数据)置为1或0,注意看图中的A和B两根红线,在A位置,E置为1,经过td时间后,可以在数据口读到正确的数据,由于td的时间极短(ns级),我们的单片机操作一般是us级,所以可以不考虑这个时间差,在将E置为1之后,就可以紧跟着指令去读取数据,在读到数据后,再将E置为0,经过THD2时间后,数据口上的数据失效。在进行写操作的时候,RW要置为0,RS根据写的内容不同(指令或数据)置为1或0,同时,大家注意C和D两根红线,我们在将E置为1之前,要先将数据送到数据口上,然后,在C位置,将E置为1,经过tPW综合设计第页8延时后,再将E置为0,在这个时间段内必须保证数据口上的数据稳定不变,为有效的数据。同理,由于tPW这些延时相对较短(ns级),所以在单片里也不必考虑延时问题。我们下面来看看,程序上如何做到。我们看下面两个子程序,Read1602()用于读取1602的状态(读数据比较少用,这里不写了,大家自己改改就可以),并且将状态判断也写在这个子函数里面。Write1602()用于写入数据到1602里面,写指令、数据共用一个函数。大家对照图二的时序图看看是否一致。为了防止读忙状态里陷入死循环,在Read1602()函数里加入一个循环变量i,在读状态时,数据线最高位是由1602内部拉为低电平的(表示空闲),当器件发生问题或者1602没有接好时,程序就会在这里等待,所以,加入一定时间限制是有必要的。以上是两个基本的函数,在使用1602之前,必须对其进行初始化操作,初始化过程是往1602固定写入一定的指令,里面包括指定使用模式、清屏等等,各种指令的含义我们在课程后附上详细说明,来看下面的程序(mDelay函数和以前课程一样)。综合设计第页9有了以上三个函数,我们就可以把1602控制起来了。在1602上,分为二行,每行有16个字符位置,如何来在我们需要的位置上显示出对应的字符呢?我们先来看看这两行对应的地址是什么。上图是1602显示RAM缓冲区对应的地址,要在对应的位置显示出字符,首先要写入一个设置数据地址的指令码(80H地址),然后紧跟着写入要显示的数据即可。应用我们上面的Write1602()指令,执行下面二条指令。写指令:Write1602(0x80+地址,0)写数据:Write1602(字符ASCII码,1)为了更直观的应用,我们编写下面两个函数,使用起来就更方便了。WrByte1602()用于在固定位置写入一个字符,一次只能写一个,WrString1602()则是用来整行写入字符串的,一次只能写一行,字符串需要先定义好。这样,我们

温馨提示

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

评论

0/150

提交评论