课程设计报告打字练习程序设计.doc
《课程设计报告打字练习程序设计.doc》由会员分享,可在线阅读,更多相关《课程设计报告打字练习程序设计.doc(23页珍藏版)》请在三一办公上搜索。
1、课程设计任务书学生姓名: * 专业班级: 电信0802 指导教师: * 工作单位: 信息工程学院 题 目:打字练习程序设计初始条件:具备数字电路的理论知识;具备微机原理的理论知识和实践能力;熟悉汇编语言编程技术;熟悉80X86的CPU结构和指令系统;熟悉相关常用接口电路的设计使用方法。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、随机显示一段字符(可含有字母和数字)2、根据屏幕显示进行打字练习,出错时声响报警3、打字完成后统计正确率和打字时间4、程序采用汇编语言在PC机上完成5、完成符合学校要求的设计说明书时间安排:一周,其中2天程序设计,2天程序调试,1
2、天完成课程设计报告书及答辩指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日1.设计概述2设计题目2设计要求2设计方案22.硬件说明38255a介绍38253a介绍33.软件流程9软件流程图94.部分结果截图115.调试正确的程序清单126.设计心得16 摘要本次课程设计是利用微机原理知识和汇编语言来完成打字练习的程序设计,是要求可以显示打字时间,正确率等趣味练习。能够正确运用书上的语句进行简单功能的设计,在不断的编程与检查问题的过程中提高自己的能力,真正达到学习知识的目的。对典型的微机应用系统进行设计,要求根据具体的课题题目画出系统结构框图、系统接线图;能用所学习的汇编语言进行
3、典型的程序设计并上机进行调试。本次设计主要运用了8255A和8253A两个芯片。其中8255A是Intel公司生产的为x86系列CPU配套的可编程并行接口芯片,也可以用于其他微处理器系统中。通过对它进行编程,芯片可工作于不同的工作方式。在微型计算机系统中,用8255A作接口时,通常不需要附加外部逻辑电路就可直接为CPU提供数据通道,因此得到了极为广泛的应用。8253A是可编程定时计数器,它是Intel公司专为x86系列CPU配置的外围接口芯片。它在微机系统中可用作定时器和计数器。定时时间与计数次数由用户事先设定。 关键词:汇编语言、8255A、8253A1. 设计概述 设计题目 打字练习程序设
4、计 设计要求1、随机显示一段字符(可含有字母和数字)2、根据屏幕显示进行打字练习,出错时声响报警3、打字完成后统计正确率和打字时间4、程序采用汇编语言在PC机上完成5、完成符合学校要求的设计说明书用LED 点阵显示器LDM-1088AX 来随机显示26 个英文字母,以按 az 26 个键来模拟打字,如果在某个字母点亮期间按下相应字母键,表示打字正确并熄灯,记录击中次数。实现下列功能:1.用数字按键选择打字练习的速度(即点阵上字母刷新的速度);2.按键开始打字练习;3.点阵显示的字母以一定速度(如每1 秒或2 秒换一个字母)刷新,打字需在该字母的点亮期间进行才算有效;4.若在某个字母的出现时间内
5、未有打字动作,则该次打字失败,屏幕上显示“超时”;5.若一次打字错误,屏幕上显示“错误”, 微机发出一次短暂的鸣响,并且在该字母未被更新之前还可以进行第二次、第三次打字动作;6.每次打字正确,屏幕上显示“正确”,并将灯全部熄灭,分数加1;7.按键退出打字过程,显示所得的分数;.退出后屏幕上显示继续游戏的提示。 设计方案 设计方案选择与讨论(1)本课程设计通过对8253 的设置,使之产生一定频率的波形,将该波形输出到中断口IRQ。每次进入中断都刷新LED点阵上的字母显示,从而控制打字练习的速度。通过改变8253的计数初值可以改变速度。(2)8253 通道1 工作于方式3,输入1MHZ 的时钟,设
6、置分频系数为1000,输出1KHZ 的方波,此输出作为通道0 的输入时钟。通道0 工作于方式3,分频系数为 用户输入的速度等级1000。 注:速度等级:1-快速 2-中速 3-慢速(3)将8255 的A 口接到LED 点阵的COL18,C 口接到LED 点阵的ROW18,每当进入中断,就把在数据段存好的字母的段码送到A 口和C 口,显示相应的字母。(4) 每个字母都需要分段循环显示,利用人眼的视觉暂留便可看见点阵上显示整个字母。(5)为避免中断服务程序过长,在写中断服务程序时,只需要把中断标志置1即可,其余操作可在主程序中进行。(6)在字母显示期间,要不断读取按键输入,直到按键正确或进入下一次
7、中断(即表示该字母的出现时间已经结束),准备出现下一个字母。(7)在字母显示期间,若读入的按键是错误的,则在屏幕上显示“错误”,并继续显示该字母,等待按键或中断;若未能在字母消失前按下正确的键,则在屏幕上显示“超时”,并显示下一个字母;若在字母消失前按下正确的键,则在屏幕上显示“正确”,往A 口和C 口输出00H,使字母消失,分数加1,并准备显示下一个字母。(8)在字母显示期间,若按键输入是键则结束本次游戏。每次游戏结束后进入等待按键的状态按键退出程序,按键则开始下一次游戏。2. 硬件说明 8255A介绍8255A是Intel公司生产的为x86系列CPU配套的可编程并行接口芯片,也可以用于其他
8、微处理器系统中。通过对它进行编程,芯片可工作于不同的工作方式。在微型计算机系统中,用8255A作接口时,通常不需要附加外部逻辑电路就可直接为CPU提供数据通道,因此得到了极为广泛的应用。B 组控制部件内部DB(8)数据总线缓冲器读/写控制逻辑A0A组端口A(8)A组端口C(高4位)B组端口C(低4位)B组端口B(8)A 组控制控制部件部件件PA7PA0PC7PC4PC3PC0PB7PB0D7D0CSA1RDWR 8255A内部结构框图RESET1. 8255A内部结构8255A的内部结构框图如上图所示,其内部由以下四部分组成。 (1) 端口A、端口B和端口C端口A、端口B和端口C都是8位端口,
9、可以选择作为输入或输出。还可以将端口C的高4位和低4位分开使用,分别作为输入或输出。当端口A和端口B作为选通输入或输出的数据端口时,端口C的指定位与端口A和端口B配合使用,用做控制信号或状态信号。 (2) A组控制和B组控制部件这两组控制部件有两个功能:一是接收来自芯片内部数据总线上的控制字;二是接收来自读写控制逻辑电路的读写命令,以此来决定两组端口的工作方式和读写操作。(3)数据总线缓冲器它是一个双向三态的8位数据缓冲器,8255A正是通过它与系统数据总线相连。输入数据、输出数据、CPU发给8255A的控制字都是通过该部件传递的。(4) 读写控制逻辑电路读/写控制逻辑电路的功能是负责管理82
10、55A的数据传输过程。它接收CS及来自地址总线的信号A1、A0(在8086总线中为A2、A1)和控制总线的信号RESET、WR、RD,将它们组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令送给这两个部件,再由它们完成对数据信息,状态信息和控制信息的传输。2. 8255A的工作方式8255A共有三种工作方式:1方式0为基本输入/输出方式,方式0下,可供使用的是两个8位口(A口和B口)及两个4位口(C口高4位部分和低4位部分)。四个口可以是输入和输出的任何组合。方式0适用于无条件数据传送,也可以把C口的某一位作为状态位,实现查询方式的数据传送。2方式1为选通输入/输出方式,A口和B口分
11、别用于数据的输入/输出。而C口则作为数据传送的联络信号。A口和B口的联络信号都是三个,如果A或B只有一个口按方式1使用,则剩下的另外13位口线仍然可按方式0使用。如果两个口都按方式1使用,则还剩下2位口线,这两位口线仍然可以进行位状态的输入输出。方式1适用于查询或中断方式的数据输入/输出。8255作为输入时如下图。输入过程如下:当输入设备准备好数据,将数据送至PA7PA0或PB7PB0,同时发 ,在 下降沿控制下,8255将PA7PA0或PB7PB0上的数据锁存到A口或B口数据输入寄存器中,同时8255向输入设备发IBF有效,告知输入设备暂缓送数。8255A可以两种方式通知CPU取走数据: 第
12、一种方式是用中断方式,在INTE=1IBF=1时, 的上升沿使INTR=1,8255向CPU提出中断申请,CPU以中断方式取走数据,在CPU响应中断后,执行IN指令,将8255 A口或B口数据输入寄存器中的数据取走,同时, 信号的下降沿清除INTR信号, 信号的上升沿复位IBF。输入设备仅当检测到IBF为低电平后,才开始传送下一个数据,如此循环;第二种方式是用软件查询,CPU仅当查询到IBF=1时,才从8255A 口或B口数据输入寄存器中取走数据。 8255作为输出时如下图所示。输出过程如下:首先CPU执行OUT指令,在 信号的下降沿CPU输出的数据送入8255数据输出缓冲器,并使INTR复位
13、。 信号上升沿将 置为有效,通知输出设备,CPU已把数据输出到8255的指定端口中,输出设备接到信号有效后,发有效,下降沿将 置为1, 上升沿表示输出设备已从8255A指定端口取走数据,此时若INTE=1,则INTR被置为高电平,向CPU申请中断,CPU可采用中断方式输出下一个数据。CPU也可通过查询 信号,若 =1,CPU输出下一个数据给8255A,即查询方式传送数据。3方式2双向数据传送方式。只允许A口工作在方式2,当A口工作在方式2时,B口可工作在方式0或方式1。 所谓双向,即A口可分时进行I/O操作。 A口工作在方式2,信号联络线如下: (PC6), (PC7), (PC4),IBFA
14、(PC5); INTE1(PC6)与输出中断有关,可由用户给8255A控制字寄存器送PC6的置位/复位字来实现允许/禁止A口输出中断。 INTE2(PC4):与输入中断有关,可由用户给8255A控制字寄存器送PC4的置位/复位字来实现允许/禁止A口输入中断。 INTRA(PC3):I/O中断申请,高电平有效,产生中断请求信号的条件为: INTRA=IBFAINTE2 (输入中断); INTRA= INTE1 (输出中断)。 在本设计系统中运用的是工作方式0,这种方式比较简单。在这里,主要是A口用于输入,与8个常开型开关连接,用于采集输入。3. 8255A的控制字 (1) 工作方式选择控制字 它
15、可以使8255A的三个端口工作于不同的工作方式。方式控制字的特征位D7A口工作方式0 0 方式00 1 方式11 方式21D6D5D4D3D2D1D0A口输入/输出1 输入0 输出 C口高四位位输入/输出1 输入0 输出B口工作方式0 方式01 方式1B口输入/输出1 输入0 输出C口低四位输入/输出1 输入0 输出(2) C口按位置位/复位控制字8255A的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255A的控制寄存器写入一个按位置位/复位控制字来置1或清0,而C口中其他位的状态不变。8253A介绍8253A是可编程定时计数器,它是Intel公司专为x86系列CPU配置的外
16、围接口芯片。它在微机系统中可用作定时器和计数器。定时时间与计数次数由用户事先设定。1. 8253A内部结构数据总线缓冲器D7 D0 计数器0RDA0WR计数器1读 / 写逻 辑A1CS计数器2控 制寄存器四大部分:数据总线缓冲器、读写控制逻辑、控制字寄存器以及三个独立的16位的计数器通道。这三个计数器分别是计数器0通道、计数器1通道和计数器2通道。(1)数据总线缓冲器:8位的双向三态缓冲器。用于暂存数据,使用在以下几个方面:CPU在初始化编程时,向8253写入控制字。CPU向某一通道写计数初值。CPU从某一通道读计数初值。(2)读写控制逻辑电路:接受输入的RD、WR、CS、A1、A0等信号组合
17、产生出对8253要执行的操作,见操作表。(3)控制字寄存器:只能写入,不能读出。8初始化编程时,写入控制字决定通道的工作方式。(4)3个计数器:分别为0、1和2,是3个独立的计数定时通道,都可按不同的方式工作。每个计数器内部都包含一个16位的预置初始值寄存器。一个可预置数减法计数器和一个锁存器。2. 8253A的工作方式(1) 方式0:计数结束产生中断方式 当写入控制字后,OUT变为低电平,当写入初值后立即开始计数,当计数结束时,变成高电平。 (2) 方式1:可编程单次脉冲方式 当初值装入后且GATE由低变高时,OUT变为低电平,计数结束变为高电平。 (3) 方式2:频率发生器方式 当初值装入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 打字 练习 程序设计
链接地址:https://www.31ppt.com/p-2882900.html