微机原理及其接口技术课程设计基于PC机的打字计时练习器含原理图_第1页
微机原理及其接口技术课程设计基于PC机的打字计时练习器含原理图_第2页
微机原理及其接口技术课程设计基于PC机的打字计时练习器含原理图_第3页
微机原理及其接口技术课程设计基于PC机的打字计时练习器含原理图_第4页
微机原理及其接口技术课程设计基于PC机的打字计时练习器含原理图_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、课 程 设 计 说 明 书程序及ddb原理图,加153893706设计题目:基于pc机的打字计时练习器 专业: 电气工程及其自动化 班级: 设计人: 山 东 科 技 大 学2007年7月 20 日课程设计任务书学院信息与电气工程学院专业电气工程及其自动化班级2004级 3 班 姓名 柴龙庆 一、课程设计题目: 基于pc机的打字计时练习器 二、课程设计主要参考资料:1.微机接口课程设计指导书,孙秀娟,2007.7 2. 80x86/pentium微型计算机原理及应用教材,吴宁,2006.6 3. 80x86微机原理及其接口技术实验指导书,薛琳,吕英俊,2006.3 三、 课程设计应解决主要问题:

2、a) 系统具有不同难易等级的练习字符(如a、b、c三个等级),由用户自行选择。 b) 用户根据提示输入与练习字符相同的字符,同时计时开始,按回车键计时结束。c) 输入正确的字符由屏幕显示,不正确的字母不显示,等待继续输入,等待时间也计入练习时间。 d) 计时结束由led数码管显示练习等级及打字时间(单位:秒)。e) 人机对话及显示格式自行设定。 四、 课程设计相关附件(如:图纸、软件等):a) 系统电路原理图 b) 使用说明书 c) 五、 任务发出日期:2007.7.9 课程设计完成日期: 2007.7.20 指导教师签字: 系主任签字: 指导教师对课程设计的评语 年月日摘要本报告是设计一基于

3、pc机的打字计时器。从字面意思可以看出,该仪器主要分两大功能:一、打字。即,通过调用dos功能,将键盘输入的正确字符通过屏幕显示出来。这要用到pc机内部的8259。二、实现计时的功能。亦即,记录用户从输入第一字符开始到打字结束所用的时间,并通过led将所用的时间显示出来。这部分将用到定时器件8254、中断控制器8259(外部)和扩展芯片8255。其中的整个过程都由pc机内部的8086作为主控器进行总的协调控制。关键字:打字计时器、led显示、中断控制器目 录第1章绪论31.1发展前景31.2本设计构思31.2.1本设计的特点31.2.2本设计的意义3第2章方案论证42.1方案一42.1.1 工

4、作原理42.1.2原理框图42.1.3经济几应用论证42.2 方案二42.2.1 工作原理42.2.2原理框图52.1.3经济及应用论证52.3方案三52.3.1 工作原理52.3.2 原理框图52.3.3经济及应用论证62.4方案确定6第章硬件模块设计63.1系统原理总图63.2硬件芯片功能简介63.2.1 微处理器芯片8086简介63.2.2 三态输出锁存器8282功能简介73.2.3 时钟发生器8284功能简介73.2.4 可编程定时器件8254功能简介83.2.1 8259芯片介绍93.3.18255功能简介93.3.1led显示功能简介9第4章软件模块设计104.1主程序模块设计10

5、4.2选择难易等级程序模块104.3打字计时程序模块124.4计时、中断程序模块144.5显示程序设计模块16总结.18参考文献18附录一(系统原理总图)19附录二(使用说明书)19第1章绪论1.1发展前景 计算机及其应用已经成为现代生活必不可少的一部分,因此,计算机的熟练掌握应该是人们必备的基本技能。通过键盘打字是与计算机交流的主要途径,也是利用计算机功能的基本方法,所以要求具备基本的打字能力已经成为人们的基本需求。打字计时器应时而生并且迅速“走红”,成为初学者最需要的软件之一。利用打字计时器,用户可以根据屏幕显示的字符一一键入相应的正确字符,通过这一过程熟练掌握键盘上各字母的分布,并锻炼出

6、正确的打字姿势。通过更高级的打字计时器,用户还可以学习英语单词或其它语言,这样既提高了打字能力,也学习到了更多知识,并且使学习过程不再枯燥无味。1.2本设计构思1.2.1本设计的特点本设计具有良好的人机交互功能,能够及时提示用户要进行的下一步操作。打字计时与其它同类别的设计没什么特别之处。1.2.2 本设计的意义1. 加深对微型计算机硬/软件的工作原理整体的认识,将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口技术的方法,提高分析和解决实际问题的能力,锻炼和提高实践动手能力。2. 探索设计一种更人性化的打字计时练习器,以便使初学者摆脱枯燥的单纯打字练习。第2章方案论证2.

7、1方案一2.1.1 工作原理8086作为主控器,控制扫描键盘,同时开始计时,屏幕显示输入字符,led数码管显示输入字符所用时间和字符串的等级难易程度。键盘扫描和屏幕显示完全采用dos调用,cpu对8254定时扫描。芯片分别用8254(定时)、8255(扩展口)、以及辅助芯片:8284(时钟发生器)、8282(8位三态输出锁存器)。2.1.2原理框图原理框图如下所示:cpu(8086)8255显示8254键盘8259(pc机内部)图.方案一框图2.1.3经济几应用论证方案未用到外部的8259芯片,节约了产品的成本。但8086要定时的扫描8254的out0的电平变化,降低了cpu利用率。2.2 方

8、案二2.2.1 工作原理8086仍作为主控器,与方案一的区别:定时到由8259产生中断,请求cpu 响应中断,进行定时的相应处理。所以芯片比方案一多用了一个8259(中断控制器)芯片。原理框图如下所示:cpu(8086)8255显示8254键盘8259(pc机内部)2.2.2原理框图图.方案二框图2.1.3经济及应用论证用到了外部的中断控制器8259芯片,提高了cpu的利用效率。但多用了一个芯片,产品费用有所增加。2.3方案三2.3.1 工作原理在方案二的基础上,用82555的pc0控制定时器的开始和关断。其它和方案二一样。cpu(8086)8255显示8254键盘8259(pc机内部)图.方

9、案三框图2.3.2 原理框图2.3.3经济及应用论证费用与方案二一样,并且使得定时器件控制更加随便;但在调试的时候比较的困难。2.4方案确定鉴于以上三种方案,由于本设计要用到实验箱,有现成的芯片,不用考虑到各方案费用的限制,如此以来:方案三既提高了cpu的利用效率,又使得硬件易于控制,为最佳的设计方案。但为了好调试,本设计采用方案二。第章硬件模块设计3.1系统原理总图见附录一3.2硬件芯片功能简介3.2.1微处理器芯片8086简介 作为主控制器件,连接其它器件,协同各器件之间的相互工作。具体主要包括:各编程器件的初始化、中断的处理、键盘扫描和屏幕显示、led数码管时间显示等功能。图3.1系统原

10、理图3.2.2三态输出锁存器8282功能简介将地址和数据线分开。此功能由cpu产生的地址锁存器ale的下降沿将地址信息锁存入82821锁存器中。图.28282 引脚图3.2.3时钟发生器8284功能简介8086内部没有时钟发生器,而8284时钟发生器是intel公司专门为8086系统设计配套的时钟发生器。它为cpu提供时钟、准备就绪、复位信号,还可向外提供晶体振荡信号(osc)、外围芯片时钟pclk等其他信号。图.38284 工作原理图3.2.4可编程定时器件8254功能简介1. 利用可编程定时器件(8254)实现定时1s,定时到触发可编程中断控制器件(8259)产生中断,向cpu传送中断向量

11、号,申请计时中断处理。2. 8254与系统的连接示意图: 图3.48254与系统的连接示意图3.2.1 8259芯片介绍8259与系统的连接示意图图3.58259与系统的连接示意图3.3.18255功能简介8255用来扩展i/o口,扩展后的pb(pb0pb3)口用做位选,pa(pa0pa7)口用做数据显码输出,如此以来可实现动态显示的功能。3.3.1led显示功能简介图3.6led显示电路图led显示器的显示方法有两种1静态显示法和动态扫描显示法。静态显示就是每一个显示器各笔画段都要独占具有所存功能的输出口线,cpu把要显示的字符代码送到输出口上,就可以是显示器显示所需的数字后符号。但由于它站

12、用的i/o口线较多,硬件成本高。所以我们选用了动态扫描显示法。其显示接口电路如上图所示第4章软件模块设计4.1主程序模块设计开始调用选择难易等级子程序8255、8259初始化,中断向量设置。调用打字计时子程序结束图4.1 主程序流程图为使程序看起来条理清晰,本程序采用模块化、调用子程序的方式进行设计。具体流程图如下:4.2选择难易等级程序模块实现等级难易程度1、2的选择,先扫描键盘输入的字符是1还是2,是1则显示等级1的规定字符,是2则显示等级为2 的规定字符。如果既不是1也不是2则显示出错提示信息“please input the right choose:”2具体的流程图如下:ynn判断n

13、=2?送easy首地址到dx送hard首地址到dx显示错误返回显示相应字符串判断n=1?扫描是否有键按下?是否cr键按下?显示选择的难易等级序号ny图4.2选择难易等级程序模块程序:choose proc near mov dl,0ffh mov ah,06h again0: int 21h cmp al,0 je again0 push ax;转存键盘输入的字符 mov dl,al;显示选择的序号 mov ah,06h int 21h mov dl,0ffh ;是否有回车键(确定)按下? mov ah,06h again1: int 21h cmp al,0dh jne again1 pop

14、 ax cmp al,'1' je easytr;=1则跳转至easytr显示esay字符串 cmp al,'2' jne errortr ;/=2则跳转至而error显示出错信息 mov dx,offset hard mov ah,09h int 21h jmp over easytr: mov dx,offset easy;显示选择的字符串 mov ah,09h int 21h jmp over errortr: mov dx,offset error mov ah,09h int 21h call choose;递归调用 ret over: ret cho

15、ose endp4.3打字计时程序模块 为实现友好的人机交互,开始先显示一提示信息“now,you can input:”,然后扫描键盘,当扫描到第一个字符时,开始计时(即:调用8254初始化字程序)。随后进行输入字符的校对,若校对正确则将输入的字符输出,否则继续扫描键盘3,重复上述过程。具体流程图如下:nyy开始显示提示信息扫描输入字符开始计时有字符输入?显示输入字符n字符校对正确?显示所用时间ret从新扫描到输入字符图4.3打字计时程序程序: dazijishi proc near push dx mov dx,offset mesg1;显示'now,you can input:&

16、#39;信息 mov ah,09h int 21h a2: mov dl,0ffh ;扫描键盘 mov ah,06h int 21h cmp al,0 je a2 cmp al,0dh je a1;初次回车键说明是输入的字符 ;call p_8254 pop dx mov si,dx a0: call display;调用时间显示子程序 cmp al,si;对输入的字符进行校对 jne a4 mov dl,al mov ah,02h int 21h inc si ;修改指针 a3: mov dl,0ffh;循环中的回车键判断 mov ah,06h int 21h cmp al,0 je a3

17、cmp al,0dh je a1 jmp a0a4: mov dl,0ffh mov ah,06h int 21h cmp al,0 je a4 cmp al,0dh jne a0 a1: ret dazijishi endp4.4计时、中断程序模块 设定计时时间为1s,计时时间到,82541的out0输出信号发生上升沿跳变,此时8259产生中断,8086随即响应中断,处理中断服务子程序,进行计时加1s的功能。具体过程如下流程图所示:ynyy秒个位存储单元+1>9?秒十位存储单元+1>6?分钟位存储单元+1retn开始n计时到?计时到?图4.4中断服务子程序开始送控制字送底位计数初

18、值送高位计数初值ret图4.58254初始化子程序程序: p_8254 proc near mov dx,p8254_cr mov al,00110110b ;计数器0工作于方式3,二进制计数 out dx,al mov dx,p8254_0 mov al,0cch out dx,al out dx,al ret ;赋初值0cccch p_8254 endp;-中断服务子程序- p8259_int proc near inc second cmp second,9 jle exit mov second,0 inc tens cmp tens,6 jl exit mov tens,0 inc

19、minute exit: iret p8259_int endp4.5显示程序设计模块通过提前建立好的显码表,利用要显示的数字进行查表,获得相应的显码,然后利用扩展口,向相应的位送对应的显码,即可获得要显示4的结果。具体的流程图如下:开始秒个位查相应的显码秒十位查相应的显码秒十位查相应的显码选定秒个位,送秒个位显码选定秒十位,送秒个位显码选定分钟位,送秒个位显码ret选定最左位,等级难易显码难易等级号查相应的显码图4.6显示子程序程序: display proc near push ax push bx push cx push dx lea bx,dis_ledmov al,dengjiah

20、o;等级号xlatmov dis_dengjihaomov al,minute ;-分钟个位xlatand al,01111111b mov dis_minute,al mov al,tens ;-秒十位xlatmov dis_tens,almov al,second ;-秒个位xlatmov dis_second,al mov dx,p8255_bmov al,08hout dx,al;秒个位显示选择movdx,p8255_amov al,dis_secondout dx,al;显示秒个位的ascii码mov cx,0loop $movdx,p8255_bmov al,04h;秒十位选择ou

21、t dx,almovdx,p8255_amov al,dis_tensout dx,al;显示字段mov cx,0loop $movdx,p8255_bmov al,02h;分个位位选择out dx,almovdx,p8255_amov al,dis_minuteout dx,al;显示字段mov cx,0loop $ mov dx,p8255_b mov al,01hout dx,almov dx,p8255_amov al,dis_dengjihaoout dx,almov cx,0loop $pop dxpop cxpop bxpop ax retdisplay endp 总结通过本设计,深感收获颇丰。具体如下:1、 熟练了计算机的使用。掌握了一些操作的技巧。写报告的过程中,要绘制流程图,要进行格式的设置和排版,如此繁重的操作,练就了我比较熟练的计算机操作技能。2、 深刻了对微机原理的认识,熟悉了对芯片的使用。从编程到调式,再到硬件的连接

温馨提示

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

评论

0/150

提交评论