您好,欢迎访问三七文档
合肥学院计算机科学与技术系课程设计报告2008~2009学年第1学期课程微机原理与接口技术课程设计名称竞赛评分系统学生姓名胡日明学号0604032029专业班级06网工(2)班指导教师肖连军2009年2月微机原理课程设计1一.题义分析及解决方案1.题义需求分析题目要求是用8086接口芯片设计一个四评委使用的评分系统,接受四个评委的打分,输出的是平均得分。由题目要求分析如下:(1)题目要求四个评委给出自己的打分,可知设计的第一步就是主持人给出一个开始打分的指令,否则任何打分都是无效的;(2)评委们接到打分指令后即可为选手输入分数,先设想用通用可编程键盘/显示接口芯片INTEL8279与小键盘结合实现该步;(3)接收所有评委的打分到指定缓冲区后,开始对数据进行处理,求出平均分;(4)将(3)步求出的平均分显示出来。综合题目要求分析提出以下四个问题:(1)如何实现主持人发出指令表示评分结束?(2)用什么来作为外设让评委进行打分?(3)怎样求平均分?(4)采用什么设备将平均分显示出来?2问题解决方法及思路基于以上问题分析此评分系统是由四个评委组成的一个评分系统。对每位评委给出的分数进行累加,并求出平均分。评委分数范围是0~~10的整数,将4位评委给出的分数累加,由于最高分为10分,则用4位二进制就可以表示每位评委的分数,用8279的RL0~RL7八位连接小键盘,将评委的分数保存到8279的缓冲寄存器中,可同时将4位评委的分数同时输入。对求得平均分进行分析,将4位评委累加后除以4即得到平均分数,除以4后将会出现小数部分如:0.0、0.25、0.50、0.75这4种情况,要将最后得分显示在LED上,就要用4个LED显示,其中第二个LED存在小数点,故用八段LED显示,3个显示要分别进行输出,通过位选码对每一位的显示进行控制,还要通过段选码对每一个LED的每一段进行控制。这样,就能将整个最后得分显示出来了,还要考虑在显示后一位时前一位会不会消失的情况。1)硬件部分问题(1)可以利用小键盘上的任意一位输入或逻辑开关的一位来实现。微机原理课程设计2问题(2)评委可通过很多设备进行数据输入,但对其编程接受输入数据相对复杂。选择小键盘作为输入设备。输入数据会很方便。问题(4)输出设备既可用发光二极管也可用LED显示器,但相对于前者,后者对结果的显示一目了然,故本设计选择LED显示器作输出设备。2)软件部分(1)读数据程序:采用小键盘与8279芯片相结合,故可8279的相应端口进行合适的参数设置,数据端口地址为0B0H,控制端口的地址为0B1H。(2)数据处理:每次读数据累加求和,并取数据整数和小数部分,从OUTA0~OUTA3输出到LED显示器.当四个评委均输入完毕,将累加和采用逻辑右移2位的方式求平均分.在计算输入的时候,用两位输入来控制一位数的输入,将AL的值赋给中间变量TEMP,然后将TEMP*10,然后累加,求出输入的数,进行和的累加。(3)数据输出:平均分整数和小数部分分别输出到LED.分析整数0-40之间的数除以4的小数部分,平均分处理方法。表1-1:小数部分的求解方法见下表:十进制和二进制和右移二位平均值十进制整数二进制整数小数部分00000001100.2500321000.500531100.75008410011110510111.25113611011.5115711111.7511881000102210091001102.252103十进制和二进制和右移二位平均值十进制整数二进制整数小数部分101010102.52105111011102.752108……151111113.253113……2010100101551010……35100011……401010001010101010100微机原理课程设计3数据缓冲器I/O控制FIFO/传感器RAM的状态寄存器显示地址寄存器168显示RAM控制与定时寄存器88FIFO/传感器RAM键盘去抖动与控制显示寄存器定时与控制扫描计数器回复时钟复位D0D7RDWRCSA0IROOUTA0OUTA3OUTB0OUTB3BDSL0SL3RL0RL7SHIFTCNTL/STB二.硬件设计1选择芯片82791)芯片8279在本设计中的作用8279连接4*4的键盘及8位显示器的电路,即可显示按下键对应的键值。2)芯片8279的功能分析图2-18279内部逻辑框图【INTEL8279是一种通用可编程键盘/显示接口芯片,它能同时完成键盘输入和显示控制两种功能。键盘接口电路可最多控制64个按键或传感器组成的阵列,可自动消除开关抖动、自动识别键码并具有多键同时按下保护功能。显示接口电路采用自动扫描方式工作,最多可连接16位LED显示器。采用该芯片设计键盘与显示接口电路可简化程序,从而减少CPU运行时间,提高工作效率。】1、8279内部结构及基本工作原理1)数据缓冲器及I/O控制数据缓冲器为双向缓冲器,连接内、外总线,用于传送CPU和8279之间的命令或数据。I/O控制线实现CPU对8279内部各种寄存器、缓冲器读写数据和读写控制命令进行控制。2)控制与定时寄存器及定时控制控制与定时寄存器用于寄存键盘及显示工作方式控制字以及其它操作方式控微机原理课程设计4制字。该寄存器接收并锁存CPU送来的命令,然后通过译码产生相应的控制信号,从而完成相应的控制功能。定时与控制电路由N个基本计数器组成,其中,第一个计数器是一个可编程N级分频器,N可由软件编程在2~31间取值。该分频器将外部时钟CLK分频得到内部所需的100kHz时钟,再经分频为键盘提供适当的扫描频率和显示时间。3)扫描计数器该电路为键盘和显示器提供扫描信号,有两种工作方式:编码方式和译码方式。按编码方式工作时,计数器进行二进制计数并由扫描线SL0~SL3输出,经外部译码器译码后,为键盘和显示器提供扫描信号。按译码方式工作时,扫描计数器的最低两位被译码后,从SL0~SL3输出,提供了4选1的扫描译码。4)回复缓冲器、键盘去抖动及控制(1)在键盘工作方式中,从SL0~SL3送出的扫描信号,将会去扫描键盘,如有按键被按下时,去抖电路被置位,延时等待10ms后,再检查该键是否仍处在闭合状态。若不闭合,则视作干扰信号;若仍闭合,则将该键的地址和附加的移位、控制状态一起形成键盘数据送入8279内部的FIFO(先入先出)存储器,数据格式如下:表2-1D7D6D5D4D3D2D1D0控制移位扫描回复(2)在传感器开关状态矩阵方式中,回复线的内容直接被送往相应的传感器RAM(即FIFO存储器)中。(3)在选通输入方式工作时,回复线的内容在CNTL/STB线的脉冲上升沿被送入FIFO存储器。5)FIFO/传感器RAM及其状态寄存器FIFO/传感器RAM是一个双重功能的8×8位RAM。在键盘或选通工作方式时,它是FIFORAM,其输入/输出遵循先入后出的原则。此时,FIFO状态寄存器存放FIFO的工作状态,若FIFO不空,IRQ信号为高电平,向CPU申请中断。在传感器矩阵方式工作时,该存储器用于存放传感器矩阵中每一个传感器的状态。在此方式中,若检出传感器发生变化,则IRQ信号变为高电平,向CPU申请中断。6)显示RAM和显示地址寄存器显示RAM用于存储显示数据,容量为16×8。在显示过程中,存储的显示数据轮流从显示寄存器输出。显示寄存器分为A、B两组,OUTA3~0、OUTB3~0。它们即可以单独送数,也可以组成一个8位的字,OUTA输出高4位,OUTB输出低4位。显示寄存器的输出与显示扫描配合,轮流驱动被选中的显示器件,实现稳定的动态显示。显示地址寄存器用来寄存CPU读/写显示RAM的地址,它可以由命令设定,微机原理课程设计5也可以设置成在每次读出或写入之后自动递增。2、8279工作方式1)键盘工作方式通过命令字可将键盘工作方式设定为双键互锁与N键巡回两种工作方式。1)双键互锁:若有两个键或多个键同时按下,8279电路只识别最后一个释放的键,并把键值送入FIFO/传感器RAM中。2)N键巡回:若有多个按键同时按下时,键盘扫描将各键键值依按下顺序依次存入FIFO/传感器RAM中。2)显示器工作方式通过设置键盘/显示命令字和写显示RAM命令字,显示数据写入显示缓冲器时可置为左端送入和右端送入两种方式。左端送入为依次填入方式,右端送入为移入方式。3)传感器矩阵方式通过设置读FIFO/传感器命令字,8279可工作于传感器矩阵方式,此时传感器的开关状态直接送到传感器RAM。CPU对传感器阵列扫描时,如果检测到某个传感器状态发生变化,则产生中断请求信号IRQ。3、8279命令字1)键盘/显示方式设置命令表2-2D7D6D5D4D3D2D1D0000DDKKKD7、D6、D5是方式设置的特征位。D4、D3为显示方式设定位,D2、D1、D0位键盘/显示工作方式设定位。2)时钟编程命令表2-3D7D6D5D4D3D2D1D0001PPPPPD7、D6、D5是时钟编程命令的特征位,D4、D3、D2、D1用于设定对CLK输入端输入的外部时钟信号进行分频的分频系数N。3)读FIFO/传感器RAM命令表2-4D7D6D5D4D3D2D1D0010AI×AAAD7、D6、D5是读FIFO/传感器RAM命令的特征位,D4自动递增设置位,D2、D1、D0为FIFO/传感器RAM地址。4)读显示RAM命令表2-5微机原理课程设计6D7D6D5D4D3D2D1D0011AIAAAAD7、D6、D5是读显示RAM命令的特征位,D4自动递增设定位,D3、D2、D1、D0为显示RAM的存储单元地址。5)写显示RAM命令表2-6D7D6D5D4D3D2D1D0100AIAAAAD7、D6、D5是写显示RAM命令的特征位,D3、D2、D1、D0为写入显示RAM的存储单元地址。6)显示禁止写入/消隐命令表2-7D7D6D5D4D3D2D1D0101×IWAIWBBLABLBD7、D6、D5是显示禁止写入/消隐命令的特征位,D3、D2为A、B组显示RAM写入屏蔽位,当D3=1时,A组的显示RAM禁止写入,从CPU写入显示RAM数据时,这种情况通常用于双4位显示器,当D2=1时,可屏蔽B组显示器。D1、D0位A、B组的消隐设置位。7)清除命令表2-8D7D6D5D4D3D2D1D0110CDCDCDCFCAD7、D6、D5是清除命令的特征位,D4、D3、D2为清除显示RAM方式设定位,D1为置空FIFO存储器设定位,D0为总清楚设定位。8)结束中断/出错方式设置命令表2-9D7D6D5D4D3D2D1D0111E××××D7、D6、D5为111是结束中断/出错方式设置命令的特征位,D4为1时,N键轮回工作方式可工作得特殊出错方式,对传感器工作方式,此命令使IRQ变低,结束中断,并允许对RAM进一步写入。3)、芯片8279的技术参数微机原理课程设计7表2-108279技术参数2.选择芯片LED1)LED在本设计中的作用显示最后得分,共三块,一块用来显示其整数部分的十位,一块用来显示其整数部分个位,另一块用来显示其小数部分(保留一位小数)。2)LED的功能分析LED显示电路较为简单,成本也较低,在功能单一的仪器仪表与机电设备中应用较广。但当设备显示的点或位较多时,就需要采用一定的驱动电路与相应的驱动方式。利用专用接口芯片如8255作为计算机芯片的端口扩展,并通过软件编程加外部驱动实现。图2-2LE微机原理课程设计8表2-2.LED显示管段选码编码表数字dpgfedcba二进制编码011000000C0H111111001F9H210100100A4H310110000B0H41001100199H51001001092H61000001082H711111000F8H81000000080H91000011090HLED数码管的显示方式(1)静态:数码管显示过程持续得到信号,与数码管接口的I/O口线为专用。特点是无闪烁,元器件多,占I/O线多,无须扫描,节省CPU时间,编程简单。(2)动态:数码管显示过程轮流得
本文标题:竞赛评分系统
链接地址:https://www.777doc.com/doc-6678370 .html