微机原理课程设计报告(共12页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《微机原理课程设计报告(共12页).doc》由会员分享,可在线阅读,更多相关《微机原理课程设计报告(共12页).doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上微机原理课程设计报告电子表程序设计(一)设计任务:用汇编语言设计一电子表程序,要求:(1)实现秒、分、时的计时,并显示于屏幕中央(2)能够校时(3)能够半点、整点报时(二)设计原理该程序主要由三部分构成:时间设置、延时程序和时钟显示。(1) 时间设置输入初始时间先调用DOS操作系统模块2,在显示屏上显示:,再调用DOS操作系统模块10,提示输入初始时间。由键盘输入的时间以字符串形式存放在已定义的存储器缓冲区内,继而调用TRAN1转换子程序和MUL10乘10子程序,将存放在存储器缓冲区内的ASCII字符转换为压缩BCD码,并将时、分、秒的值放置在寄存器CH、DH、DL中
2、。暂停计时按Pause Break键即可暂停计时,再按下任意键恢复计时重新输入时间在程序运行时,可按下Esc键重新输入初始时间,此时程序检测到Esc(ASCII码为1BH)被按下,返回步提示重新输入时间。以上两步可实现校时的功能。半点、整点报时程序运行时,分钟值每次改变都需要与30、60比较,若相等,则调用DOS操作系统模块7使计算机响铃并在时间后显示 -。同时若分、秒值为60则需进位,时为24时进位,保证时钟程序的正确性。(2)延时程序计算机在执行指令时,各种操作都按指令执行,但在像程序控制器那样由计算机发出指令控制外部设备是,由于外部设备所具有的机械惯性或其他原因,需要在计算机发出指令后有
3、规律地延迟或等待一段时间。这类延时,可以用硬件延时来完成,单用软件来实现也是一种方便和常用的方法。计算机执行每一条指令,虽然很快,但还是需要一段时间的。因此从理论上讲,可在程序中加一些与程序无关的指令去完成,要计算指令执行的时间,又不能过多的为了延时而增加编制程序的工作量。因此,编制延时程序,应尽量采用较少的指令,节约存储器,并且不能对主程序造成影响。每条指令执行时间的长短,是以计算机的时钟周期为基本单位的。当CPU采用的时钟频率一定时,时钟周期也为定值。因此可根据时钟周期的多少来计算执行指令所需的时间。完成本设计任务使用的计算机采用Intel Pentium 4处理器,主频为1.70GHz,
4、时钟周期约为0.59ns。通过时间约1s的长延时累加,并以时、分、秒的形式显示出来,就可以编写出一个时钟程序。(3)时钟显示设置光标位置子程序IOSET一般的显示屏可显示25行、80列字符,屏幕左上角字符位置为0行0列,右下角字符位置为24行79列,对应于十六进制为:左上角为(0,0),右下角为(18,4F)。设置光标,可调用BIOS系统,用汇编语句调用中断INT 10H,其入口信息为(AH)=2 要设置光标;(BH)=0 页号;(DH,DL)=( 0CD,24) 置光标于行、列数,本程序要求置光标于屏幕中央,即为12行36列(十进制)。清除屏幕子程序IOCLR当开始执行程序时,总希望有一个洁
5、净的屏幕,此时可使显示屏幕作上滚动作,使屏幕留下一片空白,也可以清楚屏幕的一部分,是这部分空白留作它用。要使屏幕上滚,可用汇编语句调用中断INT 10H,其入口信息为(AH)=6 是屏幕上滚;(AL)=00 上滚行数,若(AL)=0,则整屏为空白;(CH,CL)= 滚动区域的左上角行列号,本程序中(CX)=0;(DH,DL)= 滚动区域的右下角行列号,本程序中(DX)=184FH;(BG)= 空白行属性,当(BH)=7时,为正规属性(黑白)。屏幕显示程序DISPY显示屏幕作为常用的输出设备,可用来显示运算的中间结果或最终数据,也可用来显示表示正确完成或检验出的错误信息。为了显示表示正确或显示错
6、误的信息,必须在数据段中以字符串形式将提示信息加以定义,然后由显示器在屏幕上加以显示。DOS系统中的显示功能模块号为2,每次调用仅能显示DL中的一个字符。为显示字符串,可调用DOS系统另一功能,用汇编语句调用中断INT 21H,其入口信息为(AH)=9 显示字符串的功能模块号;(DS:DX) 指向字符串的首地址,要求字符串以字符$结尾。(三)框图NY检测校时信号输入调用时间延迟子程序开始调用清除屏幕子程序调用设置光标居中子程序从键盘输入字符串到缓冲区BXBUFFER缓冲区第二单元的偏移地址调用TRAN1子程序将输入的ASCII码转换为BCD码BXBUFFER缓冲区第二单元的偏移地址调用MUL1
7、0子程序将BCD码转换为压缩BCD码实现秒加1秒是否大于60实现分加1分是否大于60实现时加1YYA输入字符串结束码$DOS功能调用,显示字符串分是否为30分是否为60BXBUFFER缓冲区第二单元的偏移地址A时是否小于24YN小时值归零调用TRAN2子程序将输入的BCD码转换为ASCII码调用清除屏幕子程序调用设置光标位置居中子程序Y输入-和响铃ASCII码NYNNN(四)程序清单DAT SEGMENTRING DB -$FLAG DB 0BUFFER DB 10 DB ? DB 10 DUP (?)DAT ENDSSTA SEGMENT PARA STACK STACKSTAPN DB 1
8、00 DUP (?)TOP EQU LENGTH STAPNSTA ENDSCOD SEGMENTSTART PROC FAR ASSUME CS:COD,DS:DAT,SS:STA MOV AX,DAT MOV DS,AX MOV AX,STA MOV SS,AX MOV AX,OFFSET TOP MOV SP,AXMAIN: ;主程序 PUSH BX PUSH CX PUSH DX CALL IOCLR ;清除屏幕 CALL IOSET ;设置光标位置 POP DX POP CX POP BX MOV DL,: MOV AH,2 ;显示字符:,提示输入时间 INT 21H MOV DX,
9、OFFSET BUFFER MOV AH,10 INT 21H MOV BX,OFFSET BUFFER+2 CALL TRAN1 INC BX INC BX CALL TRAN1 INC BX INC BX CALL TRAN1 MOV BX,OFFSET BUFFER+2 MOV AL,BX CALL MUL10 MOV CH,AL INC BX INC BX MOV AL,BX CALL MUL10 MOV DH,AL INC BX INC BX MOV AL,BX CALL MUL10 MOV DL,ALAGAIN: MOV AL,0 MOV FLAG,AL MOV AH,01H ;判
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 报告 12
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内