资源描述:
《微机原理课程设计-张法朗》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程设计报告课程设计名称:微机原理系:三系学生姓名:张法朗班级:11通信学号:20110306146成绩:指导教师:袁静开课时间:2013-2014学年1学期一.设计题目动态五角星程序设计二.主要内容程序运行时显示提示信息,并按任意键生成一个初始的全屏显示五角星。三.具体要求1、在屏幕上画一个五角星2、有三个键,分别可以改变五角星的颜色,大小和显示位置3、按ESC键退出。四.进度安排周一周二周三周四周五讲课设内容,安排任务查资料,确定硬件电路方案编程调试编程调试写总结报告五.成绩评定考核方法:现场验收(占50%),课程
2、设计报告(占50%)。考核内容:学习态度(出勤情况,平时表现等)、方案合理性、程序编制质量、演示效果、设计报告质量。成绩评定:优,良,中,及格,不及格。特别说明:如发现抄袭,按照不及格处理。六、程序设计(1)、算法说明先定义好线条长度的宏,这样可以根据五角星的五个顶点来画出线条。然后调用画线程序,根据预先设计好的顶点坐标,计算出线条的长度。然后用像素填充把线条画出来。画好五角星后调用DOS中断,用输入的字符的ASCII码与事先设置好的数值对比,若相等则执行相应的操作,否则继续等待输入,直到输入的字符为正确的字符。如此循
3、环直到输入ESC。程序结束。(2)、程序设计算法框图画线函数开始确定顶点位置,确定线条长度。调用HELP函数,输出。用像素填充的方式画出线条。画出五角星,等待字符输入。根据相应字符执行操作返回结束输入字符判断是否是ESCN判断是否是空格YN判断是否是E/eYN判断是否是C/cYN判断是否是H/hYN判断是否是M/mYN判断是否是up/down/right/leftYN执行相应的操作退出Y(3)、程序清单;程序开始;*****************************************************
4、****upequ48h;键盘上键键值downequ50h;键盘下键键值rightequ4dh;键盘右键键值leftequ4bh;键盘左键键值escaequ1bh;ESC键值cls1equ4dh;清屏幕M键值cls2equ6dh;清屏幕m键值win_ulcequ10d;窗口左上角列win_ulrequ8d;窗口左上角行win_lrcequ80d;窗口右下角列win_lrrequ16d;窗口右下角行win_widthequ70d;窗口宽度exp1equ45h;放大E键值exp2equ65h;放大e键值con1equ43h
5、;缩小C键值con2equ63h;缩小c键值help1equ48h;帮助键H键值help2equ68h;帮助键h键值blankequ20h;改变颜色空格键值sin0equ100d;assumesin36equ59d;sin36*100sin72equ95d;sin72*100cot36equ138d;cot36*100cot72equ32d;cot72*100cot0equ99d;assumecot0=1;*********************************************************
6、outputmacrox;输出宏calllocateleadx,xmovah,09hint21hcallscroll_upendmcovermacromovah,0chmoval,00hcallgenerateendmget_lenthmacrox;获得长度的宏movmema,axmovmemd,dxmovbx,xmovax,lenthmulbxmovbx,100subax,0divbxmovbp,axmovax,memamovdx,memdendm;**********************************
7、**********************datasgsegmentmus_freqdw2dup(262),294,262,349dw330,2dup(262),294dw262,392,349,-1mus_timedw2dup(25),3dup(50),100dw2dup(25),3dup(50),100mess1db'welcometoseethisprogram!!~~~~',13,10,'$'mess2db'HOWTOUSETHISPROGRAM~~~~~~~',13,10,'$'mess3db'*****B
8、LANKtochangethecolor*****',13,10,'$'mess4db'*****help:H/h###clear:M/m*****',13,10,'$'mess5db'*****quit:/ESC###expand:E/e****',13,10,'$'mess6db'**contract:C/c###move:U