微机课设显示姓名.
微机原理课程设计总结
微机原理课程设计数据采集系统(中断法)一、课设目的:进一步掌握微机原理知识,了解微机在实时采集数据的应用,学习掌握编程和程序调试的方法。
二、课设内容和要求:用中断法将ADC0809通道0外接0—5V电压,转换成数字量后,在七段数码管LED上显示。
以小数点后两位表示精度,显示模拟电压的十进制;0809通道0的数字量以线性控制方式DAC0832输出,当通道0的电压为5V时,0832的OUT为0V当通道0的电压为0时,0832的OUT为2.5V;此模拟电压再送到ADC0809通道1,转换后的数字量在CRT上以十六进制显示。
ADC0809的采样脉冲CLK由定时器8254的OUT0提供;ADC0809的EOC信号用作8259中断请求信号。
三、总体设计:1)、ADC0809的IN0采集电位器0—5V电压,IN1采集0832输出的模拟量。
2)、DAC0832将ADC0809的IN0数字量重新转换成模拟量输出3)、8259用于检测ADC0809转换是否结束和向CPU发送INTR信号4)8255为七段LED数码管显示提供驱动信息5)、七段LED数码管显示ADC0809的IN0的值6)8254提供ADC0809的采样时钟脉冲。
四、硬件设计:因采用PC机和微机实验箱,硬件电路设计相对比较简单,主要利用微机实验箱上的8255并行口,ADC0809,DAC0832,七段数码管LED,8254定时/计数器,74LS574输出接口,电位器等单元(图1:数据采集系统硬件连接示意图)六、软件设计:本设计通过软件编程,实现模/数转换,0809分别对IN0 0—5V直流电压的采样和经线性控制后输出电压IN1采样,IN0的值转换成十进制后,在七段数码管LED上显示IN1的值。
CPU根据IN0的值,使八位二极管根据课设要求指示相应的范围。
1、设计思想:数据采集系统分成四个功能模块分别是主程序模块、量纲转换模块、数码管显示模块、中断服务子程序模块。
【心得体会】微机原理课程设计心得体会
【关键字】心得体会微机原理课程设计心得体会篇一:微机原理课程设计课程设计报告( XX—XX 年度第一学期)课程:微机原理及应用题目:动画显示显示三角形并倒置院系: 控制与计算机工程学院班级:自动化1004 姓名学号:XX09030110 XX09040134 指导教师:程海燕设计周数:一周成绩:XX年1 月11 日XX02020407日期:《微机原理及应用》课程设计任务书一、目的与要求1.通过对微机系统分析和具体设计,使学生加深对所学课程的理解。
2.掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。
3.培养学生分析问题、解决问题的能力。
4.培养学生对微型计算机应用系统的基本设计能力。
5.提高学生的实践动手能力和创新能力。
2、主要内容1.动画显示及显示三角形并倒置。
2.针对所选择的设计题目进行硬件设计,合理选用所需元器件,绘制系统结构框图、硬件接线图,并在实验系统上完成电路的连接和调试。
3.根据所选题目的要求对微机系统进行程序设计,绘制程序总体流程图并编写源程序上机调试。
4.写出课程设计报告,对整个设计过程进行归纳和综合,对设计中所存在的问题和不足进行分析和总结,提出解决的方法、措施、建议和对这次设计实践的认识和收获。
三、进度计划四、设计成果要求1.系统硬件设计合理,软件编程达到设计要求。
2.系统硬件结构图和软件流程图绘制清楚规范。
3.设计报告完整规范。
五、考核方式根据设计任务的完成情况、课程设计报告撰写情况及演示答辩情况采用五级记分制评定成绩。
学生姓名:指导教师:一、课程设计目的与要求1.通过对微机系统分析和具体设计,使学生加深对所学课程的理解。
2.掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。
3.培养学生分析问题、解决问题的能力。
4.培养学生对微型计算机应用系统的基本设计能力。
5.提高学生的实践动手能力和创新能力2、课程设计正文 1. 设计要求(1)动画显示:用字符组成汽车图形,在屏幕显示从左向右开动的汽车;(2)显示三角形并倒置:用* 绘制一个七层等腰三角形,点击空格键则三角形倒置一次,再次点击则再次倒置。
微机原理课程设计电子秒表
沈阳航空航天大学课程设计报告课程设计名称:微机系统综合课程设计课程设计题目:电子秒表院(系):计算机学院专业:计算机科学与技术班级:04010101学号:2010040101024姓名:指导教师:訾学博完成日期:2013年7月5日目录第1章总体设计方案 (1)1.1课程设计的内容和要求 (1)1.2设计原理 (1)1.3设计思路 (2)1.4实验环境 (3)第2章详细设计方案 (4)2.1主程序设计 (4)2.2功能模块的设计与实现 (5)2.3程序连线图 (7)第3章结果测试及分析 (9)3.1结果测试 (9)3.2结果分析 (9)参考文献 (10)附录 (11)第1章总体设计方案1.1 课程设计的内容和要求一、课程设计内容:设计一个带时间显示的电子秒表,具体内容如下:1.电子秒表的初始状态为零,分别显示分、秒、毫秒;2.设计一个按钮,按第一次开始计时,按第二次计时暂停,显示当前记录的时间,按第三次计时停止,回到初始态;3.有时间显示的功能,当不用电子秒表的功能时,显示当先的时间,分别为时、分、秒形式。
二、课程设计要求:1.独立完成课程设计任务;2.通过老师当场验收;3.交出完整的课程设计报告。
1.2 设计原理根据课程设计任务书的内容与要求,要设计一个带时间显示的电子秒表,设计一个按钮带有计时开始、计时暂停、计时清零功能,还要可以进行时钟显示。
在本次设计中主要使用了8253定时/计数器芯片、8259A中断控制芯片以及8279键盘/显示芯片来完成电子秒表的计时过程和时钟显示过程的模拟。
程序开始时扫描键盘判断是否按键,如有则读出相应的控制键,来决定做什么操作,例如开始计时、暂停计时、停止计时、时钟显示等等。
利用8253定时/计数器芯片实现分频功能,使其产生100HZ(10毫秒)的方波,使计时周期为10ms;利用8259A中断控制芯片产生中断响应,通过8253控制8259每10毫秒产生一次中断,使秒表加1,实现计时功能;利用8279键盘/显示芯片在数码管上进行显示,将秒表的计时过程、时钟的当前时间显示在数码管上。
微机课设LED点阵图形显示设计
微机课设LED点阵图形显示设计号:微机综合实践课程说明书题目:阵式图形显示控制学院:机电工程学院专业:机械设计制造及其自动化学生姓名:叶胜保学号:1000110529指导教师单位:机械制造教研室姓名:恽志东职称:副教授2013年12月30日目录一.前言 (5)二. 总体方案设计 (5)2.1 系统总框图设计 (5)2.2 元器件介绍 (7)2.3 AT89S51单片机工作原理 (7)2.4 引脚简介 (8)2.5 8x8点阵式LED (10)2.5 8x8点阵式LED图形显示原理 (11)三. 硬件设计 (13)3.1初始设计方案 (13)3.2 系统复位电路设计 (14)3.3 晶振电路设计 (16)3.4 驱动电路设计 (18)3.5 键盘 (19)3.6 最终电路原理图 (20)3.7 电路板制作 (21)3.8 元器件清单 (22)四.软件设计 (23)4.1程序流程图 (23)4.2 程序清单 (23)五.系统调试 (28)六.结论总结 (27)参考文献 (28)摘要本设计利用单片机最小系统实现在8×8点阵式LED显示“★”、“●”和心形图,通过按键来选择要显示的图形,显示时间可调(时间自定义)。
利用Keil uVision4软件编译程序,生成hex文件,经过STC_ISP_V483软件将程序烧入STC89S51。
利用Altium Designer Winter 09绘出PCB图,按图制作电路板,插入芯片连接电路板显示功能。
通过子程序的中断和调用子程序来实现图形的可选择性和时间的可调性。
另外本设计还拓展增加了数码管的显示时间的可调性,通过数码管的数字变化频率可以很明显的表示了显示时间可调的功能。
关键词:最小系统;8×8点阵式LED;STC89S51;子程序中断;调用子程序。
一.前言最小应用系统是指用最少软件组成的单片机可以工作的系统。
对52系列单片机来说,最小系统应该包括:单片机、晶振电路、复位电路。
微机原理与接口技术 课程设计任务书
微机原理与接口技术课程设计任务及指导书(适用于0944121班)一、课程设计目的和任务:通过课程设计,主要达到以下目的:1、使学生增进对单片机的感性认识,加深对单片机理论方面的理解;2、使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、A/D、D/A等;3、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。
二、课程设计题目:【1】数字音乐盒设计要求:1、利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音响,从而演奏乐曲(最少储存三首乐曲,每首不少于三十秒);2、采用LCD显示;3、开机时有英文欢迎字符,播放时显示歌曲序号(或名称);4、可通过功能键选择乐曲,暂停,播放;扩展功能:显示乐曲播放时间或剩余时间;【2】数字温度计设计要求:1、基本范围为-50℃—110℃;2、精度误差小于0.5℃;3、LED数码管直读显示;扩展功能1、可以任意设定温度的上下限报警功能;2、实现语音报数。
【3】交通灯设计设计要求:1、设计一个十字路口交通灯控制器。
用单片机控制LED灯模拟指示。
2、系统包括人行道、左转、右转以及基本的十字路口交通灯功能;3、系统除具有基本交通灯功能外,还具有显示倒计时、时间设置、紧急情况处理功能。
扩展功能:1、分时段调整信号灯的点亮时间2、根据具体情况实现灵活手动控制功能。
【4】电子密码锁设计要求:1、系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能;2、还具有调电存储、声光提示等功能。
扩展功能:通过遥控器实现锁的基本操作。
【5】电子钟的设计设计要求:1、可以实现23h59m59s的显示,用六位LED显示出来,显示格式为“时时:分分:秒秒”。
2、可以利用按键设置任意的时分秒各位,并具有按键复位功能;扩展功能:1、实现整点语音报时功能。
2、实现年月日的显示。
【6】基于单片机的彩灯控制设计要求:1、以单片机为核心,设计一个彩灯控制器,控制8个彩灯依次点亮和依次熄灭。
七年级微机课知识点总结
七年级微机课知识点总结微机课知识点总结七年级的微机课程,是电脑应用课程的一部分,其主要目的是让学生了解计算机的基本操作流程和应用技能。
对于需要使用电脑进行学习和生活的学生们来说,这门课程是非常重要的。
因此,在学习这门课程的过程中,了解其知识点是至关重要的。
本文将为大家总结一下七年级微机课的知识点。
一、计算机概述在学习计算机之前,我们要先了解计算机的概述。
计算机主要由硬件和软件两个部分组成。
硬件是指计算机的物理部分,包括电脑主机、显示器、键盘、鼠标等。
软件则是指计算机的各种程序和应用软件,例如操作系统、文字处理软件、图像编辑软件等。
二、计算机基本操作了解计算机的基本操作流程是非常重要的。
其中包括开机、关机、重启、登录和注销等操作。
开机后,我们需要登录电脑,在登录界面输入用户名和密码,然后就可以开始使用电脑了。
在使用电脑时,我们还需要了解文件的创建、保存和删除等操作,以及如何使用各种软件。
三、操作系统和应用软件操作系统是计算机的核心软件,它可以控制计算机的各种操作,并提供各种应用程序的运行环境。
目前常用的操作系统有Windows、MacOS和Linux等。
除了操作系统,我们还需要学习各种应用软件。
例如:1.文字处理软件:Word、WPS等2.电子表格软件:Excel、WPS表格等3.图像处理软件:PhotoShop、GIMP等4.视频编辑软件:Premiere、Final Cut Pro等四、计算机网络计算机网络是计算机系统之间相互连接的技术。
我们需要了解计算机网络的基本概念,例如IP地址、子网掩码、网关等。
此外,我们还需要了解网络的各种应用,例如浏览器、邮件客户端、即时通讯软件等。
五、安全及维护在使用电脑时,我们需要注意安全问题,例如电脑病毒、网络钓鱼等。
同时,我们还需要了解如何对电脑进行维护,例如清理垃圾文件、更新系统、备份重要数据等。
这些操作可以确保电脑的运行效率和安全性。
通过对以上知识点的总结,我们可以更好地掌握七年级微机课的内容和要点,为今后在计算机领域的学习和工作打下坚实的基础。
微机与单片机原理课程设计任务书和作品设计说明书
《微机与单片机原理》课程设计任务书1.《微机与单片机原理》课程设计性质:《微机与单片机原理》课程设计是毕业设计前的一次预演,也是该课程所学知识的一次综合运用。
2.课程设计题目:一种数字电压表的设计3.设计指标:(1)量程:直流电压0-5V;(2)精度:0.1V。
4.考核方式:(1)每位同学提交一件作品。
学生作品测量基准直流电压的结果与4位半精密数字电压表测量结果对比,并根据学生回答问题情况以及撰写设计说明书的质量确定该门课程的成绩。
(2)于本学期15周前提交作品和设计说明书。
作品于本学期结束前发还学生,设计说明书存档。
5.设计要求:(1)电压测量可以采用单片机内部AD、ADC0809、7135、7109等AD转换芯片;(2)电压显示可以采用LED数码管、LCD1602和128X64图形点阵液晶显示模块;(3)单片机可采用8051、AT89C51、STC12C5A60S2和STC12C5410AD等51内核芯片;(4)编程可以采用C51或汇编语言编程。
6.作品设计说明书:要求撰写设计说明书主要包括一下几个方面:(1)封面:含题目、姓名、班级和学号(座号);(2)中文摘要:300字以上,主要说明:你做了什么?怎么做的?结果如何?(3)目录:(4)正文:第一章:任务书1-5的内容;第二章:数字电压表硬件电路设计,包括单片机最小系统电路、电源电路、测量电路、显示电路等;第三章:数字电压表软件设计,包括测量程序、显示程序、数据处理程序等;第四章:数字电压表调试与误差分析,系统调试方法、调试过程和调试结果,给出一组测量数据并进行误差分析,给出相对误差、绝对误差等数据,并画图显示;第五章:总结:包含摘要中的内容,适当扩充。
(6)参考文献:期刊5篇以上,给出准确的引用格式。
引用文献在正文中用上标标出。
[序号]作者1姓名,作者2姓名.论文名[J].期刊名,年,卷(期):页码.例子:[1]王小增,杨久红. 蓝宝石基GaN薄膜热疲劳分析[J]. 人工晶体学报,2015,41(07):1975-1982.7.问题分析(1)为了提高系统测量精度,软件和硬件应如何考虑?(2)为了提高系统测量速度,软件和硬件应如何考虑?(3)该系统可以扩展哪些功能?如何实现?做法举例:利用单片机内部AD进行电压测量。
小学微机课教案
小学微机课教案课程名称:小学微机课适用年级:小学一年级至小学六年级课时数:10课时课程目标:1. 学习使用电脑的基本操作方法。
2. 了解电脑的基本组成和功能。
3. 学会使用简单的办公软件进行文字处理和绘图。
课程安排:第一课:认识电脑1. 介绍电脑的定义和作用。
2. 展示电脑的主要组成部分,如主机、显示器、鼠标、键盘等。
3. 学生尝试插拔电脑的各种线缆,认识接口的作用。
第二课:电脑的基本操作1. 学习开机、关机和重启电脑。
2. 学会使用鼠标进行单击、双击和拖拽操作。
3. 学习使用键盘进行基本的文字输入。
4. 进行简单的操作练习,如打开文件、新建文件夹等。
第三课:操作系统和文件管理1. 介绍操作系统的概念和作用。
2. 学习如何查看和管理电脑中的文件和文件夹。
3. 学习创建、复制、移动和删除文件和文件夹。
第四课:文字处理软件1. 介绍文字处理软件的功能和应用场景。
2. 学习打开文字处理软件并进行文字输入和编辑。
3. 学习基本的文字格式设置,如字体、字号、颜色等。
第五课:文字处理软件进阶1. 学习添加图片和表格到文字处理软件中。
2. 学习插入页面布局、页眉页脚和页码等功能。
3. 学习保存和打印文字处理文档。
第六课:图片编辑软件1. 介绍图片编辑软件的功能和应用场景。
2. 学习打开图片编辑软件并导入图片。
3. 学习基本的图片编辑操作,如裁剪、调整亮度和对比度等。
第七课:图片编辑软件进阶1. 学习添加文字和形状到图片中。
2. 学习涂鸦和修复图片的功能。
3. 学习保存和导出编辑后的图片。
第八课:简单动画制作1. 介绍简单动画制作软件的功能和应用场景。
2. 学习制作简单的动画,并设置动画效果。
3. 学习保存和导出动画作品。
第九课:安全使用电脑与网络1. 介绍电脑和网络的常见安全问题。
2. 学习基本的电脑和网络安全知识,如勿随意下载、勿相信陌生链接等。
3. 进行网络安全知识问答和案例分析。
第十课:课程总结与展示1. 进行小测验,检验学生对课程内容的掌握程度。
微机与接口技术课程设计--万年历
信息科学与技术学院《微机原理与接口技术》课程设计题目名称:电子万年历学生姓名:湛开洪学号:2009082191专业:计算机科学与技术班级:09级(1)班指导教师:裘祖旗完成日期:2012年 1 月 11日目录目录一、课程设计要求 -------------------------------------------------------------- 3二、程序流程图 ----------------------------------------------------------------- 4三、程序主要功能模块 -------------------------------------------------------- 41.画出该程序的界面 (5)2.写出所有非汉字字符 (5)3.写出汉字字符 (6)4.填充公历及农历的信息 (6)5.用户输入一个需要显示的新日期 (7)四、主要技术路线 -------------------------------------------------------------- 81.开发工具 (8)2.主要算法 (8)3.重要指令 (10)五、系统的难点及解决方案 ------------------------------------------------- 111.算法 (11)2.由思想到程序的转换 (11)六、总结与体会 --------------------------------------------------------------- 13七、参考文献 ------------------------------------------------------------------ 14附录(源程序) --------------------------------------------------------------- 15万年历一、课程设计要求DOS 下万年历(8086 汇编)DOS 运行的日历,支持农历:1. a. 能实现计时功能2.显示年、月、日、进、分、秒、星期扩展功能:实现公历与阴历转换二、程序流程图三、程序主要功能模块本万年历程序正确实现从1901年1月1日至2050年12月31日的公历与农历查询,包括公历年,月,日,星期,农历干支年,月,日。
微机课设报告 打字游戏汇编语言的设计
学号09750223实习报告微型计算机原理及应用课程设计报告打字游戏程序设计起止日期:2012 年1 月3 日至2012年 1 月6 日学生姓名马聪班级09电气2班成绩指导教师(签字)电子与信息工程系2012年1月05日摘要为了更好地掌握学习微机原理的知识,我们进行了这次课程实验,以完善我们的知识体系,我们通过汇编语言在PC机上完成了一个打字游戏的设计,它具有练习打字的功能。
本有游戏主要针对指法练习,并提供字母和单词两种选择。
根据用户自身情况,可以进行速度调节,以达到最佳的练习效果。
同时本游戏提供显示得分,正确率和失败个数的功能。
当失败个数超过一定个数后,游戏结束并提示是否继续。
目录一、课程设计题目 (2)二、设计思路模块划分流程图 (2)㈠设计思路 (2)㈡模块划分 (2)㈢流程图 (3)三、程序源代码 (4)四、调试过程,运行结果和出现的问题及解决 (12)1、调试结果 (12)2、在调试中碰到问题 (14)五、课程设计心得 (14)六、成绩单 (15)一、课程设计题目、内容和实现的功能字母打字游戏基本功能:0 菜单主界面由“开始”“速度调整”“暂停”“结束”“统计得分”等项组成1 按ESC键退出游戏,显示得分,正确打字数和错误打字数.二、设计思路、模块划分、流程图(一)设计思路:利用计算机控制发声的原理,来演奏乐曲的程序。
乐曲按一定的高低、长短和强弱关系组成的音调。
根据歌谱,来编写歌程序的音符表和节奏表。
组成乐谱的每个音符的频率值和持续时间是乐曲程序发声所需要的两个数据。
通过来设时间值,然后通过发声程序“*”来播放音乐。
通过键盘控制扬声器发出各种音符声音,使计算机键盘变成钢琴键盘,这是可以用它来演奏各种简单的声音。
弹奏时对应乐谱上的q音符,按下1,程序将接收到的1键的频率为262Hz送入程序中。
1、音乐播放选择从键盘上输入“1”,则播放“新年好”;从键盘上输入“q”,则退出;从键盘上输入其它字符,则等待重新输入。
微机原理与接口技术课程设计-倒计时
微机原理与接口技术课程设计-倒计时题目:倒计时学院:西安理工大学专业:机械实际制造及其自动化班级机械四班学号:2022030408学生姓名刘小虎指导教师课程成绩完成日期2022年12月15日目录一.设计功能 (3)二.设计原理及原理图.........................................31.系统总设计原理............................................32.硬件框架原理图............................................33.硬件介绍........................................................44.功能电路.. (7)三.程序模块及流程图.........................................81.8255A初始化.................................................82.显示程序模块................................................83.延时程序模块................................................94.控制程序模块................................................95.LED灯点亮程序模块....................................10四.源程序 (11)五.总结............................................................. 15附录1:系统硬件框架.........................................16附录2:系统总程序流程图 (17)题目:倒计时一.设计功能本次课程设计我们在TD-PIT+实验系统和PC机平台上利用并行接口8255A、键盘及数码管显示单元、开关及LED显示单元、键盘按键和电脑显示屏设计成一个倒计时器。
《微机在医学仪器中的应用》课程设计项目
09级生物医学工程专业《微机在医学仪器中的应用》课程设计课程设计报告类似实验报告,不像实验报告那么简单,它也类似于科研课题的技术报告,但又不像课题技术报告那样全面深入。
1、设计报告内容及要求封面:实验题目、班级、学号、姓名、组员姓名目录:内容:设计题目、实验原理、方案论证和选择、设计要达到要求,所用设备与器材、硬件方案(如果有的话,提供完整的电路原理图)、软件方案(程序流程图,源程序(含注释))、调试过程、运行结果及分析,实验的收获体会及建议。
报告最后:组长对本人及组员评价参考文献:名称、出版社、作者、出版日期。
排版要求:字体统一,版面整洁,图有图号及标题;表有表号及标题,不能分页。
报告每组一份2.分组情况小组人数:3个学生一组(自由组合)组长确定:由小组自选组长职责:实验人员资源分配,实验进度掌控,在实验报告最后必须说明小组人员(包括组长本人)工作量分配完成情况及表现。
3.提交方式:实验报告(按标准论文格式)电子文档提交到:systemc@同时上交一份相应的纸质文档4.实验选题:从题目列表中选择或自拟的医学信号与图像处理题目(自拟需经老师同意)1.采用mit心电数据的心率计(差分法,模板匹配等)2.生理信号发生器(心电,脑电,心音)3.心电滤波(基带漂移,电源,噪声)4.心电信号压缩(aztek,fan,huffman等算法)5.心电信号频谱,功率谱分析6.自适应滤波(心电电源干扰)7.图像余弦变换8.图像huff变换9.Mp3播放10.交通灯控制(键盘设置和液晶显示)11.实验箱与pc的异步通信12.键盘控制直流电机转速13.键盘控制步进电机转速14.利用扬声器的音乐发生器15.利用多通道缓冲串口的音乐发生器参考教材:1.张雄伟等.DSP芯片的原理与开发应用.电子工业出版社,北京,2009. 2.林家瑞.生物医学信号处理.华中科技大学出版社,武汉,2002. 3./。
微机原理课程设计心得体会
微机原理课程设计心得体会微机原理课程设计心得体会「篇一」通过这次c语言的课程设计,我明白了很多也知道了很多,更收获了很多。
在课程设计的过程中出现过困难。
三周的课程设计已经结束了。
回想学习c语言的过程中,既有快乐又有烦恼。
回顾这次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论和知识是远远不够的,只有把所学的理论知识与实际相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考能力。
在设计的过程中遇到的问题,这毕竟独立做的,难免会遇到各种各样的问题,同时在设计的过程中发现自己的不足之处,对以前所学的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识从新温故。
这次课设终于顺利完成了,在设计中遇到了很多编程问题做完这个课程设计,我们的自信一下子提高了,我们也会写程序了;尽管对于有些人这种程序会很简单,可对于我们c语言初学者来说,已经很不容易了。
这次体验为以后的学习计算机的我们增强了信心。
享受劳动成果的滋味实在美妙啊!很感谢这次的课程设计,它使我更加地体会到多看专业书的重要性,只有掌握了一定量的专业知识才能得心应手地解决诸多问题;另外,在做任何事倒要有耐心,不要一遇到困难就退缩;在学习和工作中要时刻谨记“团结”二字,它好比通向成功的铺路石,不可或缺。
人生的道路是曲折的,但正是因为曲折人生才光彩夺目,在人生的道路上,总遇到重重困难,但正是因为困难我们才变得更坚强。
今后的路还很长,面对困难,让我们用行动去俘虏它吧!微机原理课程设计心得体会「篇二」不知不觉,13周的会计模拟实训课程就要接近尾声了,这次的会计模拟实训主要是根据书上所提供的原始凭证以及一些虚拟的资料模拟做手工账以及上机建账两部分。
微机原理课程设计_进制转换程序设计
课程设计任务书学生姓名:易杨专业班级:电信 0802 指导教师:曾刚工作单位:信息工程学院题目:进制转换程序设计初始条件:具备数字电路的理论知识;具备微机原理的理论知识和实践能力;熟悉汇编语言编程技术;熟悉80X86的CPU结构和指令系统;熟悉相关常用接口电路的设计使用方法。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、程序实现二进制、十进制、十六进制之间的转换2、在命令提示下输入相应进制数,回车后进行转换3、输入错误时应声响报警并拒绝输入4、程序采用汇编语言在PC机上完成5、完成符合学校要求的设计说明书时间安排:一周,其中2天程序设计,2天程序调试,1天完成课程设计报告书及答辩指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)1原理分析 (1)2程序设计流程 (3)2.1程序流程图 (3)2.2设计思路 (4)3程序设计 (5)3.1堆栈段数据段程序设计 (5)3.2主程序设计 (5)3.3输入二进制程序 (7)3.4输入十进制程序 (8)3.5输入十六进制程序 (8)3.6输出二进制程序 (9)3.7输出十进制程序 (9)3.8输出十六进制程序 (11)3.9回车键确定程序 (11)3.10报警程序 (12)4运行结果 (13)5心得体会 (15)参考文献 (16)摘要日常生活与实际应用中,往往需要计算机处理的信息是多种多样的,如各种进位制的数据,不同语种的文字符号和各种图像信息等。
但在计算机内部采用的是二进制计数制,这种进制表达方法对于人们研究分析是不那么方便的。
本次课程设计将通过所学的微机原理知识理论,用汇编语言编写程序,实现二进制、十进制与十六进制之间的相互转换,并在MF2KP软件上演示。
关键词:汇编程序进制转换MF2KP1 原理分析进位计数制是人们利用符号来计数的方法。
一种进位计数制包含一组数码符号和两个基本因素。
数码是用不同的数字符号来表示一种数制的数值,这些数字符号称为”数码”。
(整理)微型计算机原理课设
《微型计算机原理》课程设计题目:竞赛抢答器设计姓名:赵浩淞学号:40850020班级:电081指导教师:董洁日期:2010.12前言本次课程设计的内容是设计一个6路抢答器,并对抢答成功、抢答犯规、响铃提示等实际情况进行软硬件模拟。
设计过程中,主要用到的芯片有可编程中断控制器8259A、可编程并行接口芯片8255A、可编程定时器/计数器芯片8253等。
硬件方面,原理图的设计是基于Labcenter electronics公司出版的Proteus,它强大的仿真能力让我赞叹不已的同时,也受益匪浅。
软件方面,程序的设计是基于8086/8088汇编语言在轻松汇编软件上进行编写和调试,它小巧方便且功能齐全。
反复推敲的设计思路,充满艰辛而又饶有趣味的设计过程,成功的软、硬件结合,再加上日复一日的努力奋斗,才有了今日之设计成果。
在要求的基础之上,我还加入了一些自主创新的东西。
设计完成之时,本人激动的心情,溢于言表。
虽然,我知道,我的设计成果之中一定还存在很多不足之处,很多可以优化的地方,甚至,有可能还会有一些漏洞。
但是,整个过程我的的确确努力了,并全身心投入于其中了。
我尽量做到了我所能做到的最好。
下面,我将对我的设计思路、设计过程、设计心得等逐一进行详细的阐释。
烦请老师审阅。
特此感谢董洁老师一学期悉心的教导。
目录第一章课程设计任务书。
4 第二章设计。
5 2.1 设计思路。
5 2.2 硬件设计。
6 2.3 软件设计。
7 第三章小结及参考文献。
10 第四章课程设计图纸。
11 第五章程序清单。
12第一章设计要求设计一个具有4(6)路抢答的抢答器,启动计算机,计算机自动为系统各芯片进行初始化,抢答器开始工作。
比赛开始,在主持人按下开始键,绿灯亮后,选手才可开始抢答,否则违规。
利用并行接口和开关键。
逻辑开关K0——K3(5)代表抢答按钮,当某个逻辑开关闭合时,相当于抢答按钮按下。
若选手抢答成功,黄灯亮,七段数码管显示选手号码,扬声器鸣叫。
微机原理课程设计--用8088设计一个能实现0-9整数加法运算的计算器,和用2位LED数码显示。
二○一一~二○一二学年第一学期信息科学与工程学院课程设计报告书课程名称:微机原理及应用课程设计班级:学号:姓名:指导教师:2011年12月一、程序设计目的综合运用本课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。
二、实验内容及具体要求用8088设计一个能实现0-9整数加法运算的计算器,和用2位LED数码显示。
键盘包括0-9“+”和“=”12个按键。
具体要求:1.画出连接线路图或功能模块引脚连接图。
2.采用8088CPU作主控制器,8255作为并行接口电路实现按键的扫描以及数码管的显示。
3.采用2个共阴极型LED,只需显示0—255范围内的值。
三、设计分析8255A写方式控制字8255A各端口结构四、流程图五、程序清单CODE SEGMENTASSUME CS:CODE,DS:CODEBEGIN: JMP BEGINBUFF DB 1,2,3,4,5,6TABLE1DW 3E07H,3E0BH,3D0BH,3B0BH,3E0DH,3D0DH,3B0DH,3E0EH,3D0EH,3B0EH; 对应0~9的键盘值DW370EH,370DH,370BH,3707H,3B07H,3D07H,2F07H,2F0BH,2F0DH,2F0EH,1F07H,1F0BH,1F 0DH; 对应其他的键盘值TABLE DB 3FH,6,5BH,4FH,66H,6DH,7DH,7,7FH,6FH,46H,40H,48H,00; 0~9上的字型码X DW 0Y DW 0F DB 0N DB 0C DB 0ADDF DB 0SHI DB 0GE DB 0BEGIN: MOV AX,CSMOV DS,AXCALL CLEARAGAIN: MOV DX,203HMOV AL,8255ACALL LED ;调用子程序CALL KEYCMP F,1JNE AGAINCMP BL,9 ;对比数字键盘JLE D_PROCECMP BL,10JE TO_ADD ; 转到加法子程序CMP BL,11JMP AGAIN ;返回继续循环CLEAR1: CALL CLEARCALL CLBUFJMP AGAIND_PROCE: CMP N,1JE D_P_YMOV CL,4SHL X,CLMOV BH,0ADD X,BXCALL BSHIFTMOV BUFF+5,BLJMP AGAIND_P_Y: MOV CL,4SHL Y,CLMOV BH,0ADD Y,BXCALL BSHIFTMOV BUFF+5,BLJMP AGAINTO_ADD CALL BSHIFT ; 加法子程序的具体实现MOV BUFF+5,BLMOV F,0MOV N,1MOV ADDF,1JMP AGAINKEY PROC ;键盘扫描程序的实现MOV DX,203HMOV AL,10001001BOUT DX,AL ;写控制字MOV F,0MOV DX,201HMOV AL,0OUT DX,ALMOV DX,202HIN AL,DXAND AL,0FHCMP AL,0FHJE K_EXITMOV CX,3000LOOP $ ; 延时IN AL,DXAND AL,0FHPUSH AXMOV DX,203HMOV AL,10000010B; B_IN,C_OUTOUT DX,ALPOP AXMOV BL,ALMOV DX,202HOUT DX,ALMOV DX,201HIN AL,DXAND AL,00111111HMOV BH,ALLEA SI,TABLE1MOV CX,23MOV AH,0NK: CMP BX,[SI]JE FOUNDINC AHADD SI,2LOOP NKFOUND: MOV AL,0 ;不断扫描,等待输入MOV DX,202HOUT DX,ALMOV DX,201HIN AL,DXAND AL,3FHCMP AL,3FHJNE FOUND ;如果无输入继续扫描MOV CX,3000LOOP $MOV F,1MOV BL,AHK_EXIT: RETKEY ENDPSTORE PROC ; 存储程序MOV WORD PTR BUFF,1414HLEA SI,BUFF ;赋给偏移地址MOV CH,4DISPLAY: MOV DL,0MOV AL,BUFF[DL] ;取数MOV AH,0MOV CL,10DIV CLMOV SHI,AH ;求和的十位MOV GE,AL ;和的个位MOV DX,383H ;PA口输出方式选择控制字MOV AL,80HOUT DX,ALMOV DX,380H ;PA口代码输出十位显示MOV AL,TABLE[SHI]OUT DX,ALMOV DX,383H ;PB口方式选择控制字MOV AL,10000000HOUT DX,ALMOV DX,381H ;PB口代码输出个位显示MOV AL,TABLE[GE]OUT DX,ALINC DLJMP DISPLAYS_REL: MOV CL,4ROL BX,CL ;循环左移四位MOV AL,BLAND AL,0FH ; 取低四位MOV [SI+2],ALINC SIDEC CHJNZ S_RELCALL CLEARRETSTORE ENDPCODE ENDSEND START六、硬件部分七、设计小结本次课程设计花费了我很多时间和精力,但是也锻炼了我很多方面的能力。
学号姓名显示设计
学号姓名显示设计一、设计概述本次课程设计采用DOS和BIOS功能调用,采用25×80的彩色图像显示方式。
先在坐标纸上用ASCII码所对应的字符拼出自己的名字和学号,并设定ASCII 码的颜色值。
ASCII码对应字符的位置由行数与列数的二维坐标确定。
其中行向上则减,向下则增;列向左则减,向右则增。
程序在数据段中写出所要显示的我名字的位形图,每行数据段定义组成文字的一个点。
其中包含组成文字的字符、颜色、横坐标、纵坐标。
文字的变色是通过同一个字的不同颜色版本去覆盖当前的版本以及清屏、擦除程序实现的。
文字的闪烁则是通过将颜色属性的八位二进制数的最高位置一实现的。
通过比较输入字符与0、Q或q的大小,来实现退出的功能。
二、设计要求1)利用80x86汇编语言BIOS中断调用的方法,通过字符设计自己的名字及学号,并在显示器上用6种以上的颜色显示出来;2)姓名与学号可动态切换,且按某种规律闪烁变化,按“q”键退出;3)可自行设计显示姓名及学号的方案。
三、设计内容文字显示可采用坐标纸写点的方式,虽然写点的工作量较大,但是便于理解,容易修改。
用相同字体但不同颜色的字符去覆盖对应的字符,只能起到变色的作用。
要实现闪烁还要把每一个点的颜色属性最高位设为1。
退出程序块中,在判断输入字符是否为Q或q之前必须加一段有没有字符输入的程序。
否则,程序运行到判断字符这里,运行窗口就会等在那里,直到输入字符才能继续运行。
这样每次运行到这里程序就会等着,实现不了霓虹灯的连续闪烁。
1.程序流程图(1)主程序流程图流程思路:数据段初始化→调用汉字显示程序,先显示汉字“li ”,再显示汉字“li1”→调用竖条纹显示程序,显示运动的条纹→判断是否有字符输入,没有的话,继续往下执行→有字符输入时,判断是否为“Q ”或“q ”→不为“ Q ”或“q ”时,转到执行程序段Aagain1→为“Q ”或“q ”时,退出程序。
主程序流程图如下:图1 学号和姓名显示主程序 (2)子程序流程图本程序显示的汉字为自己的名字,名字中的每个字都用不同颜色的版本写两次,然后竖形条纹扫过,条纹扫过时汉字被覆盖,条纹扫过后开始显示下一个文开始数据段初始 YY N N 调用条纹显示子程序,显示运动的条纹调用汉字显示子程序,先后显示“098813”,“098813” 调用条纹显示子程序,显示运动的条纹 结束 输入字符是否是“Q ”、“q ”? 调用汉字显示子程序,先后显示“zhen ”,调用条纹显示子程序,显示运动的条纹调用汉字显示程序,先后显示“li ”,“li1” 判断是否有字符输入?字,然后条纹再扫过,一直这样循环。
微机课设显示姓名
微机课设显⽰姓名计算机汉字姓名显⽰软件设计1设计任务及要求分析根据任务书进⾏分析可知,此课程设计要求⽤汇编语⾔编写程序显⽰⾃⼰名字“周帆”。
设计的基本要求为:使⽤汇编语⾔设计⼀个运⾏于计算机的汉字姓名显⽰软件,软件应实现显⽰作者⾃⼰的汉字姓名。
可以附加显⽰时间等其它信息和添加动态显⽰效果。
完成课程设计说明书,且说明书撰写格式应符合《课程设计说明书统⼀书写格式》。
2系统原理阐述分析设计任务及要求可以得知编写此汇编程序的基本原理,使⽤模块化编程,即编写⼀个主程序和若⼲个⼦程序(延时⼦程序、提⽰信息⼦程序、显⽰姓名⼦程序)来完成设计任务所要求的功能,⽤这种⽅法思路清晰,主程序完成的功能为:⾸先要确定初始时刻的光标位置,然后在该位置处分别调⽤提⽰信息⼦程序和显⽰姓名⼦程序,为了使我们能够看到⾃⼰的名字必须调⽤延时⼦程序以增加显⽰的时间。
延时⼦程序的原理为通过设计循环来增加程序执⾏的次数,从⽽达到增加时间的⽬的,提⽰信息⼦程序的原理为通过int 21h的09h功能来完成提⽰信息的显⽰。
显⽰姓名⼦程序的原理为⾸先通过汉字取模软件完成姓名汉字的编码,经过的⽅格⽤1表⽰,没有经过的⽅格⽤0表⽰,然后应⽤int 10h 的09号功能完成字符的显⽰,将主程序和各个⼦程序组合在⼀起即可完成汇编程序的编制。
3汇编语⾔程序设计3.1软件思想根据设计任务及要求,可以得到汇编语⾔的基本思想为编写⼀个主程序和若⼲个⼦程序,各⼦程序分别为:延时⼦程序、提⽰信息⼦程序、显⽰姓名⼦程序,在程序运⾏时⽤主程序分别调⽤各个⼦程序,即可完成汇编语⾔程序的编制。
因为各个⼦程序是相互独⽴的,这样可以先依靠主程序来完成⼀部分功能,然后通过增加⼦程序逐渐增加系统的功能,最终达到所要求的功能。
这样可以将⼤问题简化为⼀个个的⼩问题,将⼤程序简化为⼀个个得⼩程序,这样可以减⼩编写程序的难度。
3.2流程图图1 软件流程图开始设置显⽰⽅式调⽤提⽰信息⼦程序设置初始时刻光标位置调⽤姓名⼦程序调⽤延迟时间⼦程序调⽤清屏⼦程序调⽤提⽰信息⼦程序调⽤清屏⼦程序调⽤提⽰信息⼦程序检测键盘状态是否有Q结束确定光标位置光标是否在屏幕底部调⽤姓名⼦程序调⽤延迟⼦程序3.3各⼦程序功能及说明3.3.1主程序说明CODE SEGMENT ; 程序段代码起始位置ASSUME CS:CODE, DS:DATA, SS:STACKS ; 程序段,数据段,堆栈地址初始化设置START: ; 程序开始标识MOV AX, DATA ; 数据段⾸地址初始化设置MOV DS, AX ;MOV AX, STACKS ; 堆栈⾸地址初始化设置MOV SS, AX ;MOV SP, OFFSET TOP ; 堆栈指针偏址设置MOV YANSE ,07H;改变颜⾊寄存器默认值⿊底⽩字YANSE ,07H 改变此值可以改变颜⾊MAIN: CALL FAR PTR CLEARSCR ; 调⽤显⽰器设置函数MOV BH, 0 ; 设置显⽰的页号MOV AH,6 ;功能号6HMOV AL,0 ;清窗⼝MOV BH,YANSE ;属性为⽩底⿊字MOV CH,0MOV CL,0MOV DH,24MOV DL,79INT 10HPRINTF STRING1,6,20 ;以下14⾏是显⽰器打印名字PRINTF STRING2,7,20 ;PRINTF STRING3,8,20 ;PRINTF STRING4,9,20 ;PRINTF STRING5,10,20 ;PRINTF STRING6,11,20 ;PRINTF STRING7,12,20 ;PRINTF STRING8,13,20 ;PRINTF STRING9,14,20 ;PRINTF STRING10,15,20 ;PRINTF STRING11,16,20 ;PRINTF STRING12,17,20 ;PRINTF STRING13,18,20 ;PRINTF STRING14,19,20 ;BEGIN:MOV AH,01 ;从键盘输⼊字符INT 21HCMP AL,'Q' ;输⼊Q键则退出程序JE EXITCMP AL,'W' ;输⼊R键则转移JE AACMP AL,'C' ;输⼊L键则转移JE BBJMP BEGIN ;返回BEGINAA: MOV YANSE ,70H ;CALL MOVE_SHAPE_B ;改变颜⾊⽩底⿊字YANSE ,70H 改变此值可以改变颜⾊JMP MAINBB: MOV YANSE ,35H ;CALL MOVE_SHAPE_C ;改变颜⾊彩⾊显⽰YANSE ,35H 改变此值可以改变颜⾊JMP MAINEXIT:MOV AH,4CH ;主程序结束INT 21HCODE ENDEND START3.3.2显⽰汉字⼦程序及功能说明PRINTF MACRO _STRING,_PY,_PX ;宏⽤于显⽰器打印三个参数分别是要显⽰的字符串,⾏号,列号MOV AH, 02H ;MOV BH, 0 ; 设置显⽰的页号MOV DL, _PX ; 当前显⽰的列号MOV DH, _PY ; 当前显⽰的列号INT 10H ; 当前光标位置设置MOV AH, 09H ; 指令设置MOV BL, 78H ; 指令设置LEA DX, _STRING ; 显⽰的字符串INT 21H ;ENDM ;宏结束STACKS SEGMENT STACK ;堆栈设置DB 2000 DUP(?) ;长度为2000字节TOP LABEL WORD ;STACKS ENDS ; 堆栈设置完成3.3.3提⽰信息⼦程序及其功能说明BEGIN:MOV AH,01 ;从键盘输⼊字符INT 21HCMP AL,'Q' ;输⼊Q键则退出程序JE EXITCMP AL,'W' ;输⼊R键则转移JE AACMP AL,'C' ;输⼊L键则转移JE BBJMP BEGIN ;返回BEGINAA: MOV YANSE ,70H ;CALL MOVE_SHAPE_B ;改变颜⾊⽩底⿊字YANSE ,70H 改变此值可以改变颜⾊JMP MAINBB: MOV YANSE ,35H ;CALL MOVE_SHAPE_C ;改变颜⾊彩⾊显⽰YANSE ,35H 改变此值可以改变颜⾊JMP MAIN4测试记录及其结果分析编写好程序后即可运⾏测试程序,在刚开始调试的时候姓名显⽰的并不清晰,有时根本认不出来⾃⼰的姓名,经过仔细检查,最终发现汉字取模软件中⽅格数错了,经过多次计算并多次确认最终得到了正确的姓名模型。
2013年微机原理课程设计题目-汇总
51. 从字符串中截取指定长度的字符 提示输入字符串; 输入任意字符串 string,点击 Enter 结束输入; 提示输入数字; 输入任意数字 int,点击 Enter 结束输入; 截取 string 的前 int 位输出; 点击 Enter 程序退出;
27. 通过键盘输入字母,然后显示相应的图形。 输入 R,提示输入两个点的坐标值,显示一个矩形框。
28. 编程序实现十进制数转换成十六进制数。 从键盘输入一个十进制数(1-4 位),转换成十六进制数,显示出来。 要求:需要检测输入的是一个规范的十进制数,否则提示输入错误。
29. 在屏幕上接收一串带数字、字母及其它字符的字符串,然后统计其中数字、字母的个数,并分类 显示出来。
3. 字符游戏 随机显示字符 ch,等待用户输入 如果输入字符与 ch 一致,则随机显示下一个字符 ch2;否则显示“输入错误”; 如此循环; 输入 Enter 结束 点击 Enter 程序退出;
4. 从键盘上输入 7 名裁判的评分(0-10,整数),扣除一个最高分,扣除一个最低分,计算出其它五 个分数的平均值(保留一位小数),并在显示其上输出 “The final score is:”和最终结果。
46. 去除字符串中的某个字符 提示输入字符串; 输入任意字符串 string,点击 Enter 结束输入; 提示输入字符; 输入任意字符 ch,点击 Enter 结束输入 将字符串中字符 ch 去除,输出变化后的字符串 string2 点击 Enter 程序退出;
47. 数据段里有一个 N 个字的数组 A,利用冒泡排序法对数组进行从大到小的排序,并输出结果。 要求:读出数据段中存放的数组 A;换行显示转换后的数组 A;
35. 在 TDN 实验箱上实现抢答器模拟控制 基本要求: 具有 8 个抢答输入(由 8 个开关代替,其它按键不起作用); 倒计时显示抢答剩余时间(初始 10 秒,时间分辨率小于 100ms),10 秒计时到后,显示 8888; 显示抢答成功者(显示数字),同时该抢答指示灯亮并闪烁,并有蜂鸣器声音提示; 设计报告:写出主要设计思路,工作原理;画出硬件接线图;调试出现的问题及解决方法;提交 程序清单。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机汉字姓名显示软件设计
1设计任务及要求分析
根据任务书进行分析可知,此课程设计要求用汇编语言编写程序显示自己名字“周帆”。
设计的基本要求为:使用汇编语言设计一个运行于计算机的汉字姓名显示软件,软件应实现显示作者自己的汉字姓名。
可以附加显示时间等其它信息和添加动态显示效果。
完成课程设计说明书,且说明书撰写格式应符合《课程设计说明书统一书写格式》。
2系统原理阐述
分析设计任务及要求可以得知编写此汇编程序的基本原理,使用模块化编程,即编写一个主程序和若干个子程序(延时子程序、提示信息子程序、显示姓名子程序)来完成设计任务所要求的功能,用这种方法思路清晰,主程序完成的功能为:首先要确定初始时刻的光标位置,然后在该位置处分别调用提示信息子程序和显示姓名子程序,为了使我们能够看到自己的名字必须调用延时子程序以增加显示的时间。
延时子程序的原理为通过设计循环来增加程序执行的次数,从而达到增加时间的目的,提示信息子程序的原理为通过int 21h的09h功能来完成提示信息的显示。
显示姓名子程序的原理为首先通过汉字取模软件完成姓名汉字的编码,经过的方格用1表示,没有经过的方格用0表示,然后应用int 10h 的09号功能完成字符的显示,将主程序和各个子程序组合在一起即可完成汇编程序的编制。
3汇编语言程序设计
3.1软件思想
根据设计任务及要求,可以得到汇编语言的基本思想为编写一个主程序和若干个子程序,各子程序分别为:延时子程序、提示信息子程序、显示姓名子程序,在程序运行时用主程序分别调用各个子程序,即可完成汇编语言程序的编制。
因为各个子程序是相互独立的,这样可以先依靠主程序来完成一部分功能,然后通过增加子程序逐渐增加系统的功能,最终达到所要求的功能。
这样可以将大问题简化为一个个的小问题,将大程序简化为一个个得小程序,这样可以减小编写程序的难度。
3.2流程图
图1 软件流程图
开始
设置显示方式 调用提示信息子程序
设置初始时刻光标位置 调用姓名 子程序 调用延迟时间子程序
调用清屏 子程序
调用提示信息子程序
调用清屏 子程序
调用提示信息子程序
检测键盘 状态
是否有Q
结束
确定光标 位置
光标是否在屏幕底部
调用姓名 子程序
调用延迟 子程序
3.3各子程序功能及说明
3.3.1主程序说明
CODE SEGMENT ; 程序段代码起始位置
ASSUME CS:CODE, DS:DATA, SS:STACKS ; 程序段,数据段,堆栈地址初始化设置START: ; 程序开始标识
MOV AX, DATA ; 数据段首地址初始化设置
MOV DS, AX ;
MOV AX, STACKS ; 堆栈首地址初始化设置
MOV SS, AX ;
MOV SP, OFFSET TOP ; 堆栈指针偏址设置
MOV YANSE ,07H
;改变颜色寄存器默认值黑底白字YANSE ,07H 改变此值可以改变颜色
MAIN: CALL FAR PTR CLEARSCR ; 调用显示器设置函数
MOV BH, 0 ; 设置显示的页号
MOV AH,6 ;功能号6H
MOV AL,0 ;清窗口
MOV BH,YANSE ;属性为白底黑字
MOV CH,0
MOV CL,0
MOV DH,24
MOV DL,79
INT 10H
PRINTF STRING1,6,20 ;以下14行是显示器打印名字
PRINTF STRING2,7,20 ;
PRINTF STRING3,8,20 ;
PRINTF STRING4,9,20 ;
PRINTF STRING5,10,20 ;
PRINTF STRING6,11,20 ;
PRINTF STRING7,12,20 ;
PRINTF STRING8,13,20 ;
PRINTF STRING9,14,20 ;
PRINTF STRING10,15,20 ;
PRINTF STRING11,16,20 ;
PRINTF STRING12,17,20 ;
PRINTF STRING13,18,20 ;
PRINTF STRING14,19,20 ;
BEGIN:
MOV AH,01 ;从键盘输入字符
INT 21H
CMP AL,'Q' ;输入Q键则退出程序
JE EXIT
CMP AL,'W' ;输入R键则转移
JE AA
CMP AL,'C' ;输入L键则转移
JE BB
JMP BEGIN ;返回BEGIN
AA: MOV YANSE ,70H ;
CALL MOVE_SHAPE_B ;改变颜色白底黑字YANSE ,70H 改变此值可以改变颜色
JMP MAIN
BB: MOV YANSE ,35H ;
CALL MOVE_SHAPE_C ;改变颜色彩色显示YANSE ,35H 改变此值可以改变颜色
JMP MAIN
EXIT:
MOV AH,4CH ;主程序结束
INT 21H
CODE END
END START
3.3.2显示汉字子程序及功能说明
PRINTF MACRO _STRING,_PY,_PX ;宏用于显示器打印三个参数分别是要显示的字符串,行号,列号
MOV AH, 02H ;
MOV BH, 0 ; 设置显示的页号
MOV DL, _PX ; 当前显示的列号
MOV DH, _PY ; 当前显示的列号
INT 10H ; 当前光标位置设置
MOV AH, 09H ; 指令设置
MOV BL, 78H ; 指令设置
LEA DX, _STRING ; 显示的字符串
INT 21H ;
ENDM ;宏结束
STACKS SEGMENT STACK ;堆栈设置
DB 2000 DUP(?) ;长度为2000字节
TOP LABEL WORD ;
STACKS ENDS ; 堆栈设置完成
3.3.3提示信息子程序及其功能说明
BEGIN:
MOV AH,01 ;从键盘输入字符
INT 21H
CMP AL,'Q' ;输入Q键则退出程序
JE EXIT
CMP AL,'W' ;输入R键则转移
JE AA
CMP AL,'C' ;输入L键则转移
JE BB
JMP BEGIN ;返回BEGIN
AA: MOV YANSE ,70H ;
CALL MOVE_SHAPE_B ;改变颜色白底黑字YANSE ,70H 改变此值可以改变颜色
JMP MAIN
BB: MOV YANSE ,35H ;
CALL MOVE_SHAPE_C ;改变颜色彩色显示YANSE ,35H 改变此值可以改变颜色
JMP MAIN
4测试记录及其结果分析
编写好程序后即可运行测试程序,在刚开始调试的时候姓名显示的并不清晰,有时根本认不出来自己的姓名,经过仔细检查,最终发现汉字取模软件中方格数错了,经过多次计算并多次确认最终得到了正确的姓名模型。
另外,通过修改延迟子程序中的程序循环次数可以改变姓名的下落速度的快慢。
5程序调试
程序调试过程中,在堆栈设置中设置长度为2000字节时使用的语句“DB 2000 DUP(?) ;长度为2000字节”报错,错误提示为“ unterminated string:2000 DUP("") ”,尝试把DUP改为dup,之后依然报错,于是通过在网上查找方法,和查找书籍,发现emu8086不可以使用dup(?)来分配未初始化的单元,于是把“DB 2000 DUP(?) ;长度为2000字节”换成“buffer db 128 dup(0)”即可。
6小结
课程设计是我们大学课堂,特别是我们工程学科的重要组成部分,是我们把课堂中学到的理论知识运用到实践的重要途径。
课程设计使我们在短时间内独自完成一个程序的设计、运行、调试,能提高我们对所学课程的应用能力,加深对所学课程的理解,不仅可以巩固课堂上学过的知识,而且可以学到很多在书本上所没有学到过的知识,拓宽了自己的知识面。
大学不能想中学那样,针对一个考试,进行三年的填鸭式教育,大学需要面向社会、市场需求,培养出能做事,有创造力的学生来,而不是只会考试的书呆子。
我们平时在课堂上,书本上接触的程序都是很短、很基础的,所以总认为像画程序框图,设计程序算法之类的步骤都是多此一举,也很少会认识到模块化程序设计的重要性。
而通过这次课程设计,我深刻地体会到这些步骤都是多么的重要。
选择了好的算法,往往能节省很多编程的时间,还能优化程序,使程序执行地更加快速流畅。
而程序框图可以使我们非常清楚的知道、明晰每一步要做什么,每一步要完成什么任务,这对于我们来说将是一个很明确的指导,并且有利于查错。
模块化程序设计把程序分段,思路清晰,有利于编程,也容易查错和修改程序,同时,使其他程序员能看懂我们写的程序。
7参考文献
[1] 周佩玲.微机原理与接口技术基于16位机.电子工业出版社,2005
[2] 仇玉章,冯一冰.微计算机技术—实验与辅导.清华大学出版社,2006
[3] 姚燕南,薛钧义.微型计算机原理与接口技术.高等教育出版社.2004
[4] 石冰.计算机硬件原理与接口技术(第二版).清华大学出版社,1993
[5] 蓝琚成,肖金秀.Windows环境下汇编语言程序设计.北京:地质出版社,2001。