您好,欢迎访问三七文档
《电子系统设计》论文班级:姓名:学号:指导老师:前言本次电子系统设计实验是利用模拟电子技术、数字电子技术、单片机技术、可编程逻辑器件技术等完成一个或多个小型电子系统的设计和调试任务。主要是对单片机进行编程操作,编程的主要目的是使集成电路上集成的数码管显示对应的数字以及对按键的识别操作,最终通过编程的方式通过按键的选择控制数码管上显示数字的变化。小板编程可以熟悉并且进一步掌握汇编语言的编程过程及流程图的设计。本实验的主控芯片的选择是8279和12887芯片。由于需要编程者可以对该芯片进行即时编程,实际实验的时候用到的是单片机仿真器,该仿真器内部存在有单片机及其最小系统电路,因此该仿真器可以完全替代单片机并接入集成电路板中,通过仿真器可以实现电脑与集成电路板的连接,以便于编程者随时修改程序并且可以随时观察到实现的实验现象。一、通用键盘与显示器接口芯片82791、8279芯片的特点8279芯片是一种通用可编程键盘/显示器接口电路芯片,它能完成监视键盘输入和显示控制两种功能。8279对键盘部分提供一种扫描工作方式,能对64个按键键盘阵列不断扫描,自动消抖,自动识别出闭合的键并得到键号,能对双键或N键同时按下进行处理。显示部分为LED或其他显示器提供了按扫描方式工作的显示接口,可显示多达16位的字符或数字。另外,8279还具有以下功能及其特点:(1)、进行键盘扫描及文字显示;(2)、键盘扫描模式(ScannedKeyboardMode);(3)、传感器扫描模式(ScannedSensorMode);(4)、激发输入模式(StrobeInputEntryMode);(5)、8乘8键盘FIFO(先进先出);(6)、具有接点消除抖动,2键锁定及N键依此读出模式;(7)、双排8位数或双排16位数的显示器;(8)、右边进入或左边进入。16位显示示波器。2、实验设计:(1)、设计程序使8279的数码管显示数字“12345678”:8279的数据口地址为7000H,将寄存器R0先存入数01H,讲R0的数据送入7000H,然后显示,并用时延保持,再使R0加1,再送入7000H,然后时延,同样方法重复8次即可存入8个数并显示在数码管上。(2)、8279的16位按键显示:使8279的一个数码管显示,按一次8279上的按键,比如“1”键,则在数码管上显示数字“1”,对应按键显示对应的数字或字母。过程为初始化以后,要读键盘,如果有按键,判断按的是哪个键,然后对应显示按键内容。按键要注意消抖。显示器键码:0—22H1—0AFH2—31H3—25H4—0ACH5—64H6—60H7—2FH8—20H9—2CHA—28HB—0E0HC—72HD—81HE—30HF—0E8H3、实现(1)、初始化7279的命令/状态口地址为7001H,数据口地址为7000H。初始化首先将命令/状态口地址写入DPTR,然后将控制字0D1送入累加器A,D1=11010001为清除命令。然后向命令/状态口地址写入控制字,这时需要读取8279的状态。8279的状态字的第七位DU=1表示显示无效,即显示RAM由于清除显示或全清命令尚未完成时DU=1。所以要检查清除状态是否完成,完成以后再继续。00H为编码扫描键盘,2AH为程控时钟命令。用同样的方法可对8279进行读显示、写显示、读键盘等命令操作。(2)、显示12345678:8279数据入口地址为7000H。先将7001H写入命令字90H,90H为写显示命令,同时每次写入之后,地址会自动加1指向下一个地址,所以下一次顺序写入数据时就不必重新设置写显示RAM命令字。然后设置写入的数从1开始,一共8个数。用寄存器R0存数,写一个数,R0加1,然后再继续写下一个数并显示。要注意加时延,因为程序执行时间很短,如果不加时延不能够持续看清楚数字,数码管会闪烁。4、实验流程图如图所示:5、程序:实验程序见附录1是否有键按下?是否1号键按下?是否2号键按下?显示值加1显示值减1YYNNYN初始化显示1延时是否有键按下?NY二、DS12887时钟芯片:1、芯片12887的引脚特点:DS12887是美国达拉斯半导体公司推出的时钟芯片,此芯片是基于CMOS技术的,把时钟芯片所需的晶振和外部锂电池相关电路集于芯片内部,这无疑大大简化了外围电路。在没有外部电源的情况下可以工作10年;自带晶体振荡器及电池;可计算到2100年前的时分秒、星期、年月日等七种日历信息并带闰年补偿;有12和24小时两种制式;用二进制码或bcd码代表日历和闹钟信息;内建128字节RAM。以下是它的主要特性:(1).具有时钟、闹钟功能及到2100年的日历功能,可选择12小时制或24小时制计时,有AM和PM、星期、夏令时制时间操作及闰年自动补偿功能。(2).DS12887内部有14个寄存器,包括10个时标寄存器、4个状态寄存器。还有114B做掉电保护用的低功耗RAM。(3).具有用软件编程选择的周期性中断方式和多频率输出的方波发生器功能。(4).该芯片可以满足各种不同的待机要求,最长可达24小时。(5).可选择二进制或BCD码来表示时间。(6).工作电压:+4.5V~+5.5V(7).工作电流:7~15mA。(8).工作温度范围:0~+70℃2、设计利用INTEL8279键盘与显示器接口芯片将DS12887内部时钟的时分秒送到8279缓冲区并显示在数码管上。先对8279和DS12887初始化,给8279的六个数码管设置初值,然后开始读取DS12887时钟电路的时间,把时分秒按顺序分配给相应的地址40H、41H、42H,然后再把这个地址的数据送给8279的数据口地址7000H,同时要注意时分秒顺序送数。这样DS12887的时钟的时间就可以显示在8279的6个数码管上。3、实现(1)、初始化8279的初始化同上介绍,下面介绍DS12887内部时钟的初始化设置:DS12887采用连续工作制,一般无需每次都初始化,即使是系统复位时也如此。但初始化时,应首先禁止芯片内部的更新周期操作。所以,先讲DS12887状态寄存器B中的SET位置1,然后初始化00H~09H时标参数寄存器和状态寄存器A。伺候,再通过读状态寄存器C,清除寄存器C中的周期中断标志位PF、报警中断标志位AF、更新周期结束中断标志位UF。寄存器D中的VRT位在读操作后将自动置1。最后,将状态寄存器B中的SET位置0,芯片开始计时工作。(2)、读时间00H~09H为10个时标寄存器,分别将秒(00H)、分(02H)、时(04H)寄存器中的内容对应存入地址40H、41H、42H中。由于时分秒分别都是由2位数组成,显示时也需要2个数码管来显示,因此,在读取时间后并送入8279显示时要注意高低位数据的转换,按顺序送入7000H单元中显示。4、实验流程图如图所示:5、程序:实验程序见附录2三、基于8279和DS12887的综合设计利用实验板上的16个键盘来控制时钟,A、B、C键分别是时、分、秒键,F键为回车键。按A键显示小时,然后按0-9数字键来调整时间,同理,按B键显示分钟,然后按0-9数字键来调整分钟,按C键显示秒,然后按0-9数字键来调整秒。按F键后计算机将修改的时间、分、秒按各个功能键的不同分别传给DS12887中相应功能单元,最后显示器显示正常的时、分、秒。1、实验流程图:开始8279、DS12887初始化(20H)=0?读DS12887,时间送显示读键盘有键?A键?30HR001H(20H)清20HB键?30HR002H(20H)=1?将30、31H中内容送8279显示显示=2?=3?清20HC键?30HR003H(20H)数字键?将键码转换为BCD码将BCD码存入AMOV@R0,AINCR0MOVA,R0ANLA,#0F1H读20H=1?将30H、31H数据送DS12887秒清20H=3?30H、31H数据送DS12887时=2?将30H、31H数据送DS12887分MOVR0,A2、程序:实验程序见附录3四、总结本次的电子系统设计实验,我们学习了51单片机如何具体应用在实际编程系统中,对于8279芯片的学习和使用使得对于单片机和外围芯片综合运用的能力得以了提高。学会了如何用串口发送接收数据,学会了如何编程实现各种不同的功能。并且在老师的悉心帮助下,完成了最后的编程设计,真正做到了学以致用,学习与实践相结合。通过动手实践,原本在理论知识学习中些许不理解的地方也茅塞顿开,终于明白了单片机系统的实际功能和意义,看似小小的一块芯片,却能实现我们生活中最常用最普遍的一些工具。总的来说,这次电子系统设计实验真是收获颇丰。除此之外,在了解其原理的基础上,更加深入得掌握其功能在实际中的运用,熟练的操作对以后的工作会有很大的帮助。增长了我们的知识,而且还培养了我们解决问题的态度和心理素质,如何一步一步建立设计思路,如何解决遇到的问题等,这应该是本次实验,我最大的收获了。附录:附录11.芯片8279程序初始化子程序D1:MOVDPTR,#77FFHMOVA,34HMOVX@DPTR,AMOVDPTR,#77FFHMOVA,#0D1HMOVX@DPTR,ALP:MOVXA,@DPTRJBACC.7,LPMOVA,#00HMOVX@DPTR,AMOVA,#2AHMOVX@DPTR,AMOVA,#90HMOVX@DPTR,ARET2.显示子程序MOVDPTR,#7001HMOVA,#90HMOVX@DPTR,AMOVR0,#01HMOVR7,#08HDL0:MOVA,R0MOVDPTR,#ADSEGMOVCA,@A+DPTRMOVDPTR,#7000HMOVX@DPTR,AINCR0DJNZR7,DL0LUMP:AJMPLUMPADSEG:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH附录21.DS12887日历时钟芯片程序初始化子程序D2:MOVDPTR,#670BHMOVA,#82HMOVX@DPTR,AMOVDPTR,#6700HMOVA,32HMOVX@DPTR,AINCDPTRINCDPTRMOVA,33HMOVX@DPTR,AINCDPTRINCDPTRMOVA,34HMOVX@DPTR,AMOVDPTR,#670BHMOVA,#02HMOVX@DPTR,ARET2.读时间程序DS:MOVDPTR,#6000HMOVXA,@DPTRMOV40H,AINCDPTRINCDPTRMOVXA,@DPTRMOV41H,AINCDPTRINCDPTRMOVXA,@DPTRMOV42H,ADL0:MOVR0,#25HMOVA,40HANLA,#0F0HMOV@R0,AMOVA,40HSWAPAANLA,#0F0HDECR0MOV@R0,ADECR0MOVA,41HANLA,#0F0HMOV@R0,AMOVA,41HSWAPAANLA,#0F0HDECR0MOV@R0,ADECR0MOVA,42HANLA,#0F0HMOV@R0,AMOVA,42HSWAPAANLA,#0F0HDECR0MOV@R0,AMOVR0,#20HMOVR1,#06H附录31.8279与12887的电子时钟的程序ORG00HLJMPSTARTORG100HSTART:MOVSP,#60HMOVDPTR,#77FFHMOVA,#0D1HMOVX@DPTR,ALP:MOVXA,@DPTRJBACC.7,LPLCALLTIMEMOV20H,#0HEE:MOVA,20HCJNEA,#0,J1TT:LCALLKKLCALLDISDIR:MOVDPTR,#77FFHMOVXA,@DPTRANLA,#07HJZEELJMPABCJ1:MOVA,20HCJNEA,#01,J2SJMPJJ2:MOVA,20HCJNEA,#02,J3SJMPJJ3:MOVA,20HCJNEA,#03,J4SJMPJJ:MOVDPTR,#77FFHMOVA,#90HMOVX@DPTR,AMOVA,40HMOVDPTR,#TABMOVCA,@A+DPTRMOVDP
本文标题:电子系统设计论文
链接地址:https://www.777doc.com/doc-7026446 .html