微机原理课程设计1.doc
. . 北 华 航 天 工 业 学 院课程设计报告(论文)北华航天工业学院电子工程系微机原理课程设计任务书姓 名:专 业:班 级:指导教师:职 称:课程设计题目:输入输出显示2已知技术参数和设计要求:1 编写一个程序,要求从键盘上连续输入多个字符,当遇到“$”时终止,然后以与输入相反的顺序将该字符串以大写形式在屏幕上显示出来。2 用“先进后出”的设计思路,使用堆栈技术,结合DOS的中断调用,实现输入字符串的倒序、大写显示。所需仪器设备:计算机成果验收形式:计算机显示,设计报告参考文献:微机原理与接口技术8086实验指导书时间安排指导教师: 教研室主任: 年 月 日注:本表下发学生一份,指导教师一份,栏目不够时请另附页。课程设计任务书装订于设计计算说明书(或论文)封面之后,目录页之前。内 容 摘 要本文是关于微型计算机原理写文件课程设计。编写程序,使其完成从键盘上连续输入多个字符,当遇到“$”时终止,然后以与输入相反的顺序将该字符串大写形式在屏幕上显示出来的功能。本设计的关键在于正确地使用堆栈。首先将字符依次压入堆栈,等待结束字符“$”,当接收到结束字符时,从堆栈中依次弹出字符并显示。由于堆栈的特点是先入后出,正好实现了输入字符的倒序显示。在编程过程中要设置一个计数器,统计输入的字符,以便从堆栈中弹出的字符和输入的字符相等,以免出错。随着计算机的高速发展,微型计算机已经应用到各个领域,微型计算机原理应用技术已经成为电子信息的核心产业。微型计算机原理是计算机科学与技术、通讯工程、电气工程、机电工程的核心课程。通过这次课程设计,是我们更好地理解了课程中所学的理论知识,并把实际问题转化为理论知识,学会如何把学到的知识用于解决实际问题,培养我们的动手能力。索引关键词:键盘输入 屏幕倒序、大写输出堆栈 计数6 / 8一、程序设计方案本设计的关键在于正确地使用堆栈。首先将字符依次压入堆栈,等待结束字符“$”,当接收到结束字符时,从堆栈中依次弹出字符并显示。由于堆栈的特点是先入后出,正好实现了输入字符的倒序显示。在编程过程中要设置一个计数器,统计输入的字符,以便从堆栈中弹出的字符和输入的字符相等,以免出错。使用INT21中断,完成字符的输入输出。二、源程序容:输入输出2显示三、运行过程 DATAS SEGMENT BUF DB 'PLIEASE ENTER CHARACTERS',0DH,0AH,'$' DATAS ENDS STA SEGMENT PARA STACK 'STACK' DB 100 DUP(?) STA ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATASMOV DS,AX LEA DX,BUF MOV AH,9 INT 21H AND CX,0 TO: MOV AH,1 INT 21H CMP AL,'$' JZ SHOW CMP AL,'a' Y1 CMP AL,'z' JA Y1 SUB AL,20H Y1: INC CX PUSH AX JMP TO SHOW: POP DX MOV AH,2 INT 21H LOOP SHOW MOV AH,4CH INT 21H CODES ENDS END START要求输入多个字符,再输入结束符“$”然后再回车!如图所示定义地址开始9号功能调用,显示提示CX清零1号功能调用,单个字符输入输入的字符与$比较是否低于a是否高于z输入字符减20h变大写CX=CX+1字符入栈字符串出栈放入DX2号功能调用,大写倒序输出字符串结束NNNYNY四、输入输出显示程序流图如图所示五、心得体会微机原理与接口技术是一门很有趣的课程,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。这次实验并不是很难,主要的困难来自对程序的理解。在本次课程设计中,由于对命令掌握的不准确,在编写程序中有一些困难,但通过学习教材、参考书还有老师的指导,使我逐渐掌握了编程方法,学习了键盘输入、屏幕输出和堆栈的使用,并学会了如何调用DOS的中断。通过课程设计,我更加深入地理解了在试验室的环境里熟悉了汇编程序的编写过程和运行过程,是对所学知识的复习与应用。感老师的悉心指导。六、参考文献1、微机原理实验与课程设计指导书,陆红伟编,中国电力,2006年2、微型计算机原理与接口技术,荣标等编著,机械工业,2009年3、微型计算机原理与应用,吕淑萍等,工程大学,2004年4、微型计算机技术与应用,戴梅萼,清华大学,电子工程系微机原理与接口技术课程设计成绩评定表专业:电子信息工程 班级:B08211学号:课题名称输入输出显示设计任务与要求设计任务:编写一个程序,要求从键盘上连续输入多个字符,当遇到“$”时终止,然后以与输入相反的顺序将该字符串在屏幕上以大写形式显示出来。设计要求: 用“先进后出”的设计思路,使用堆栈技术,结合DOS的中断调用,实现输入字符串的倒序、大写显示。指导教师评语 建议成绩: 指导教师:课程小组评定评定成绩: 课程负责人:年 月 日