微机原理课程设计

时间:2024.4.27

课程设计报告

( 20##—20## 年度第 一 学期)

课    程:        微机原理及应用   

  题    目:  动画显示 显示三角形并倒置

院    系:       控制与计算机工程学院

班    级:      自动化1004         

姓名学号:    

指导教师:            

设计周数:            一周          

成    绩:                          

                      

日期:20##年 1 月 11 日

《微机原理及应用》课程设计

任  务  书

一、 目的与要求

1.  通过对微机系统分析和具体设计,使学生加深对所学课程的理解。

2.  掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。

3.  培养学生分析问题、解决问题的能力。

4.  培养学生对微型计算机应用系统的基本设计能力。

5.  提高学生的实践动手能力和创新能力。

二、 主要内容

1.  动画显示及显示三角形并倒置。

2.  针对所选择的设计题目进行硬件设计,合理选用所需元器件,绘制系统结构框图、硬件接线图,并在实验系统上完成电路的连接和调试。

3.  根据所选题目的要求对微机系统进行程序设计,绘制程序总体流程图并编写源程序上机调试。

4.  写出课程设计报告,对整个设计过程进行归纳和综合,对设计中所存在的问题和不足进行分析和总结,提出解决的方法、措施、建议和对这次设计实践的认识和收获。

三、 进度计划

四、 设计成果要求

1.  系统硬件设计合理,软件编程达到设计要求。

2.  系统硬件结构图和软件流程图绘制清楚规范。

3.  设计报告完整规范。

五、 考核方式

根据设计任务的完成情况、课程设计报告撰写情况及演示答辩情况采用五级记分制评定成绩。

                                                            学生姓名:

指导教师:

                        

一、课程设计目的与要求

1.  通过对微机系统分析和具体设计,使学生加深对所学课程的理解。

2.  掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。

3.  培养学生分析问题、解决问题的能力。

4.  培养学生对微型计算机应用系统的基本设计能力。

5.  提高学生的实践动手能力和创新能力

二、课程设计正文

    1.  设计要求

(1)动画显示:用字符组成汽车图形,在屏幕显示从左向右开动的汽车;

          (2)显示三角形并倒置:用 * 绘制一个七层等腰三角形,点击空格键则三角形倒置一次,再次点击则再次倒置。

    2.  设计思路

  (1)动画显示
在屏幕上显示动画的效果可以按照以下五步进行:

  1)在屏幕上显示图形

  2)延迟一个时间周期,这样图像更清晰

  3)清除图形

  4)改变图形的列坐标

  5)返回第一步,重复上述操作

(2)显示三角形并倒置

  1) 在屏幕上输出一个正三角形

2)输入一个字符

3)判断是否为空格。是则倒置;否则返回DOS,继续第二步。

三、课程设计总结

1.实验遇到的问题以及解决方式

  1.1 移动汽车实验中的问题

  使用bios系统功能中10H中断的06号功能进行清屏,在wave6000中执行没有任何效果,一度怀疑自己对该功能的理解不够,翻阅了不少资料,单步调试了很多次也不得其解。无奈之下考虑到三角形实验中出现的bug,所以换用了其他的汇编环境进行实验,问题得以解决。

  开始使用的是BX计数,程序显得有点混乱由于bios功能调用中的参数涉及到BX计数器,后来采用了内存中的COU进行计数,显得清晰。也省去了堆栈的PUSH,POP操作。

  实验过程中由于粗心少写H也引发了不少错误,在DEBUG的结果中才发现,由于新的环境必须用命令行进行调试,检查问题相对复杂。

  实验的效果是从左上向右下运动,不理想,于是进行改进,改变光标位置,也可以从特定的位置开始,这样更美观。

  1.2 在显示三角形并倒置实验中,判断输入空格的次数是奇数,还是偶数的时候,我们开始采用的是AND SI ,0001H,单步调试的时候发现并未执行与的操作。我们尝试用与AND类似的操作指令TEST,TEST SI,0001H,实现了我们期待的功能。同时,我们还尝试了右移位移位,通过判断CF是否等于零来判断奇偶数,然后再左移一位回来,虽然麻烦,但也达到想要的效果。

2.心得体会

这周的课程设计算是对微机原理课程的一个在学习的过程,让我更加深刻地认识到微机原理的奥妙所在,真可谓博大精深,奇妙无穷。微机原理课程设计,作为微机原理的课程的一种延伸,是对学生对微机原理的主干内容用汇编语言进行程序设计的掌握情况的一次考查。通过本次课程设计,我们加深了对《微机原理及应用》这一课程的理解,进一步掌握了汇编语言程序设计的基本方法。

本次课程设计为期4天,其中,编写程序、上机调试占用三天时间,整合讨论和论文撰写占用一天时间。在此过程中,小组成员们共同讨论问题,相互学习帮助,分析问题、解决问题的能力都得到了很大的提高,增强了组织能力和协作能力;同时,也发现了各自的不足,在今后的学习中,我们将总结经验吸取教训,将所学的基础知识更多、更好地运用到理论研究和科学实践中去。

我感觉到要真正做出一个程序并不很容易,真的很难,但只要用心去做,总会有收获,特别是当我们遇到一个问题,想办法去解决,最后终于找到方法时,心里的那份喜悦之情真是难以形容。编写程序中遇到问题再所难免,应耐心探究其中的原因,从出现问题的地方起,并联系前后程序,仔细推敲,逐个排查,直到最终搞清为止。这样才能达到本次课程设计的目的,提高了分工协作和分析问题、解决问题的能力。在一定的程度上,对自己的微机编程能力,合同学团队合作的能力得到了很大的提升。

感谢老师悉心的指导和帮助! 

  

四、参考文献

    [1] 马平, 姚万业. 《微机原理及应用》. 中国电力出版社. 第一版. 20##年4月

    [2] 南京伟福实业有限公司. 伟福Lab6000系列单片机仿真实验系统说明书 [DB/CD]

附录(设计流程图、程序、表格、数据等)

      1.  软件流程图

          (1) 动画显示

         

(2) 显示三角形并倒置

 

 2. 源程序

       (1)动画显示

DATA SEGMENT;汽车字符

PP1 DB '--------',0AH,0DH,'$'

PP2 DB '1      1',0AH,0DH,'$'

PP3 DB '--------',0AH,0DH,'$'

PP4 DB '0      0',0AH,0DH,'$'

COU DW 1

DATA ENDS

CLEAR MACRO A,B,C,D ;清屏宏定义

           MOV AH,6

           MOV AL,0

           MOV CH,A

           MOV CL,B

           MOV DH,C

           MOV DL,D

           MOV BH,7                                    

           INT 10H

ENDM

                              

CODE SEGMENT

  ASSUME CS:CODE,DS:DATA

START:     MOV DX,DATA

           MOV DS,DX

    L2:    MOV AH,2

           MOV DH,8

           MOV DL,0

           MOV BH,0

           INT 10H

           MOV CX,COU

    L1:    MOV DL,' '

           MOV AH,2

           INT 21H

           LOOP L1;循环输出空格

           LEA DX, PP1

           MOV AH,09

           INT 21H;输出第一行字符

           MOV CX,COU

    L3:    MOV DL,' '

           MOV AH,02H

           INT 21H

           LOOP L3

           LEA DX,PP2

           MOV AH,09

           INT 21H;输出第二行

           MOV CX,COU

    L4:    MOV DL,' '

           MOV AH,02H

           INT 21H

           LOOP L4

           LEA DX,PP3

           MOV AH,09

           INT 21H;输出第三行

           MOV CX,COU

    L5: MOV DL,' '

           MOV AH,02H

           INT 21H

           LOOP L5

           LEA DX,PP4

           MOV AH,09

           INT 21H;输出第四行

           MOV CX,0FFFFH

           MOV DX,3000

DELAY1:    LOOP  DELAY1

           MOV CX,0FFFFH

           DEC DX

           CMP DX,0

           JNZ DELAY1;延迟

           INC COU

        CMP COU,72

        JZ EXIT;出屏返回DOS

        JMP L2

EXIT:   MOV AH,4CH

        INT 21H       

CODE ENDS

END START

    

     (2)显示三角形并倒置

  DATA SEGMENT

PASITIVE DB'      *',0DH,0AH

         DB'     ***',0DH,0AH

         DB'    *****',0DH,0AH

         DB'   *******',0DH,0AH

         DB'  *********',0DH,0AH

         DB' ***********',0DH,0AH

         DB'*************',0DH,0AH,'$';正三角形字符

NEGTIVE  DB'*************',0DH,0AH

         DB' ***********',0DH,0AH

         DB'  *********',0DH,0AH

         DB'   *******',0DH,0AH

         DB'    *****',0DH,0AH

         DB'     ***',0DH,0AH

         DB'      *',0DH,0AH,'$';倒三角形字符

DATA ENDS

CODE SEGMENT

  ASSUME DS:DATA,CS:CODE

START:  MOV AX,DATA

    MOV DS,AX

    MOV SI,0;初始化SI,用于记录输入空格个数

    LEA BX,PASITIVE

    LEA CX,NEGTIVE

P1: MOV DX,BX;正三角形

P2: MOV AH,9

    INT 21H;输出相应的三角形

    MOV AH,1

    INT 21H;输入字符

    CMP AL,' ';空格三角形倒置

    JNE EXIT;非空格键跳出

        MOV DL,0AH

        MOV AH,02H

        INT 21H;换行

    INC SI

    TEST SI,0001H

        JZ P1;偶数正置三角形

    MOV DX,CX;奇数倒置三角形

    JMP P2

EXIT:   MOV AH,4CH

    INT 21H;返回dos

    CODE ENDS

END START

     3. 程序运行结果

     (1)动画显示

        移动一段时间后的小汽车

 移动到最右端停止的小汽车

 

    

    (2)显示三角形并倒置

     初始化显示正三角形

    

      

输入空格进行三角形的倒置显示,正置,倒置交替显示

     

      第四次显示,显示倒三角形。但是屏幕不能看到前几次的输出

     

 

   如果输入字符不是空格则返回dos

  

更多相关推荐:
微机原理课程设计报告

微机原理课程设计设计报告姓名朱文斋班级学号30905020xx教师张荣标20xx年1月5日微机原理课程设计一目的结合微型计算机原理课程的学习进一步巩固已学的知识同时针对计算机原理知识的具体应用学会对系统中DOS...

微机原理课程设计实验报告

河北科技大学课程设计报告学生姓名学号专业班级课程名称学年学期指导教师年月课程设计成绩评定表目录一课程设计的目的1二设计题目1三设计内容要求2四设计成员及分工2五课程设计的主要步骤2六课程设计原理及方案3七实现方...

数字钟_接口课设报告_8086微机原理与接口技术课程设计

接口技术基础实验报告学院计算机科学与技术学院班级计091学号09130220xx姓名曹恒楼指导老师顾晖时间20xx616接口技术课程设计目录数字钟的设计31设计需求分析与解决方案311设计需求分析3111题目要...

微机原理课程设计报告

微机原理课程设计报告设计名称:LED七段数码管数字钟学院:电子信息学院班级:电科091提交时间:20##年6月15日一:设计内容设计的电路功能是实现时钟的24进制计时并显示在数码管上,通过按键可对时钟的时、分、…

微机原理课程设计总结

南京航空航天大学微机原理课程设计数据采集系统中断法微机原理课程设计数据采集系统中断法南京航空航天大学微机原理课程设计数据采集系统中断法一课设目的进一步掌握微机原理知识了解微机在实时采集数据的应用学习掌握编程和程...

微机原理课程设计报告

课程设计报告纸数据采集系统三中断法一实验目的进一步掌握微机原理知识了解微机在实时采集过程中的应用学习掌握编程和程序调试方法二实验内容1用中断法将ADC0809通道0外接05V电压转换成数字量后在七段LED数码管...

微机原理课程设计报告(电子时钟)

微机原理课程设计报告1设计目的培养和锻炼在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力通过课程设计要求熟悉和掌握微机系统的软件硬件设计的方法设计步骤得到微机开发应用方面的初步训练掌握825...

微机原理课程设计报告

武汉理工大学微机原理与接口技术课程设计说明书1设计任务及要求11设计任务采用汇编语言设计一个运行于计算机的小鸟动画程序在屏幕上显示一只小鸟当按下按键S时小鸟开始飞行当按下按键B时小鸟开始发声当按下按键P时小鸟暂...

微机原理课程设计报告(电子秒表)

微机原理课程设计报告一设计目的培养和锻炼在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力通过课程设计要求熟悉和掌握微机系统的软件硬件设计的方法设计步骤得到微机开发应用方面的初步训练掌握825...

微机原理课程设计报告---抢答器的设计123

微机原理及接口技术课程设计报告小组成员20xx年06月23日1设计目的1了解竞赛抢答器的设计原理和方法2掌握定时计数器并行接口芯片和中断控制的工作原理与使用方法2所用元器件180X86系列微机一台2定时计数器并...

微机原理课程设计报告

微机原理课程设计报告时间11月22日至12月3日学院自动化学院专业班级自1103姓名高云峰学号41151092合作者指导教师董洁成绩20xx年12月微机原理课程设计报告高云峰学号41151092摘要通过对霍尔电...

微机原理课程设计报告

大连海事大学课程设计报告课程名称微机原理课程设计成员学号姓名成绩设计时间20年月日至月日微机原理课程设计报告目录设计任务与要求2设计题目2设计目的2要求2组织与实施3设计方案4总体设计4设计原理4采用的新技术5...

微机原理课程设计报告(35篇)