硬件课程设计电子表的设计.doc
《硬件课程设计电子表的设计.doc》由会员分享,可在线阅读,更多相关《硬件课程设计电子表的设计.doc(17页珍藏版)》请在三一办公上搜索。
1、课程设计电子表的设计 摘 要 用汇编语言设计数字时钟,要求能显示系统时间、修改时间。较高要求:能进行定时、显示环境温度。首先在数据段开辟一显示缓冲区,用来存储说明文字。本程序有三个选择功能,即输入时间,日期和退出。对输入信息进行比较,通过调用子程序实现相应功能。调用10号中断,定位光标的开始位置,在光标处显示字符。调用延时中断服务程序,累加到存放秒值的寄存器中,并进行十进制调整。在累加的过程中,不断地对时、分、秒值进行比较,秒不能等于60,分不能等于60,时不能等于24。秒等于限制值时,则使秒值为0分值加1;分等于限制值时,则使分值为0时值加1;时等于限制值时,则使时值为0;时、分、秒值都不超
2、过限制值时,就转显示屏输出。时间显示的刷新要配合延时程序进行,为了得到良好的显示效果,延时程序要尽量接近1秒,但又不能超过一秒。可以通过数值转换和调用相应子程序来获取时间数据,再调用显示子程序将时间显示在屏幕上,以实现时间的修改。关键词 电子表;缓冲区;DOS目 录1、绪论21.1 课题的背景21.2 课题任务和意义21.3主要问题及技术要求21.4 设计的主要工作内容22、设计简介及设计方案论述32.1 设计简介32.2设计思路32.3操作说明43、详细设计53.1详细技术分析53.2 设计流程图63.3 程序模块化分析及注释74、设计结果及分析104.1 运行调试结果10总 结11致 谢1
3、2参考文献13附 录141、绪论1.1 课题的背景随着电子技术的发展,特别是随着大规模集成电路的产生而出现的微型计算机得到了日益广泛的应用,掌握微处理器及其接口的工作原理和应用技术,已成为当代开发微型计算机必不可少的基本技能。在学习了数字逻辑,微机原理,计算机接口技术等有关硬件知识后。要求我们应将机器语言与系统联系起来,这就要用到汇编语言。汇编语言是接近于计算机语言的一种语言,这种语言是面向机器的,能够直接被计算机识别和执行。汇编语言与机器语言相比编程简单,便于交流,并且保留了机器语言与机器联系密切的优点;与高级语言相比,虽然表面上汇编语言显得复杂,凌乱和可读性差,但就速度而言,汇编语言最快。
4、因此我们必须掌握汇编语言程序设的计的基本技能。1.2 课题任务和意义任务:用汇编语言设计数字时钟,要求能显示、修改系统时间。(较高要求:能进行定时、显示环境温度。)意义:增强对系统硬件知识的掌握。通过用汇编语言编写应用程序,使自己对所学的理论知识有更深的理解,同时提高分析问题和解决问题的能力。1.3主要问题及技术要求主要问题:如何调用中断,中断返回;怎样显示系统时间,怎样修改时间。技术要求:动态地显示系统时间;获取输入信息,将输入信息转换以在屏幕上显示,温度的显示方式。1.4 设计的主要工作内容1、定义显示界面。2、调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入
5、内存区。3、将存在系统内存区的时间数用显示字符串的形式显示出来。2、设计简介及设计方案论述2.1 设计简介用汇编语言设计数字时钟,显示系统的当前日期和时间。2.2设计思路利用DOS系统功能调用2AH和2CH功能调用,读取系统日期和时间。将日期和时间值转换为相应的ASCII码字符,并显示在屏幕上。流程图如下:2.3操作说明用89C51及LCD显示屏将时间显示出来,可以同过按键设置时间和日期,设置4个按键用来控制,在焊好的电路上就能进行操作。3、详细设计3.1详细技术分析在系统时钟信号(每秒钟18.006481次)出现时,都执行中断指令INT 1CH,在ROM BIOS例程中,1CH的处理程序只有
6、一条IRET指令,实际上它并没有做任何工作,只是为用户提供了一个中断类型号。如果用户有某种定时周期性的工作需要完成,就可以利用系统定时器的中断间隔,用自己设计的处理程序来代替原有的1CH中断程序。在本课题中,要连续不断地显示系统的时间,用此中断实现很合适。 要连续不断地显示系统的时间,还必须让程序驻留内存。因为通常的程序结束用以下两条指令: MOV AH,4CH INT 21H 但是用DOS系统功能调用的4CH功能结束程序后,系统不仅结束该进程,而且将该程序所占有的内存都还给DOS并可重新分配给其它程序使用。如果本课题还用此种方式结束程序,那么系统时间只能显示一下就没有了,因为程序运行一结束,
7、内存中该程序的可执行代码立刻被“销毁”,所以INT 1CH对应的中断服务程序又只有一条IRET指令了。因此,要持续显示时间必须在进程终止后,程序还要驻留内存,以备INT 1CH调用它的中断服务程序,也就是说,包含1CH号中断服务程序的程序在程序运行结束后必须驻留内存,这样就要用:MOV AH,31H INT 21H 指令结束程序,其入口参数是: AH31H 指出功能调用号 AL 可由程序放置的结束代码,为其它程序指出此程序的结束条件,此处无标准值,各程序必须自己定义该值。本课题可不用。 DX 该寄存器必须指出DOS为该程序保留的内存段数(16个字节为一段,从PSP结尾处开始)。DOS置内存的初
8、始分配块数为该值,并释放赋予该程序的其余内存空间。在编写中断服务程序时,首先需要保存原来的中断向量,然后设置新的中断向量,分别调用INT 21H的第35H号功能和第25H号功能来实现。 在编程过程中,要注意如何定位光标、移动光标、如何在光标处显示字符。读取系统时钟用以下BIOS功能调用: MOV AH,2 ;读取电池供电系统时钟CH:CL时:分,DH:DL秒:1/100 INT 1 AH ;读出的是BCD码3.2 设计流程图3.3 程序模块化分析及注释日期子程序模块:DATE PROC NEAR DISPLAY:MOV AH,2AH ;取日期INT 21HMOV SI,0MOV AX,CX ;
9、cx=120,01111000=78hMOV BX,100 ;bl=2;01100100=64h DIV BL ;78h/64h,al=01h,ah=14hMOV BL,AH ;bl=14hCALL BCDASC1 ;日期数值转换成相应的ASCII码字符MOV AL,BL ;al=14hCALL BCDASC1INC SIMOV AL,DHCALL BCDASC1INC SIMOV AL,DLCALL BCDASC1MOV BP,OFFSET DBUFFER1 ;显示矩形条 MOV DX,0C0DH ;起始行:0ch,列:0dh MOV CX,20 ;串长度为20MOV BX,004EH ;b
10、h=页号,bl=4eh(矩形区域颜色)MOV AX,1301H ;int 10h,ah=13h,显示字符串;al=01h ,bl=40h,光标跟随移动INT 10HMOV AH,02H ;设置光标位置MOV DX,0300HMOV BH,0INT 10HMOV BX,0018HREPEA: MOV CX,0FFFFH ;延时REPEAT:LOOP REPEATDEC BX ;BX 自减一 JNZ REPEA ;不为0则返回到 REPEATMOV AH,01H ;读键盘缓冲区字符到AL寄存器INT 16HJE DISPLAYJMP STARTMOV AX,4C00H ;等于(mov ah,4ch
11、)INT 21HRETDATE ENDP时间子程序模块:TIME PROC NEAR DISPLAY1:MOV SI,0MOV BX,100DIV BLMOV AH,2CH ;取时间INT 21HMOV AL,CHCALL BCDASC ;将时间数值转换成ASCII码字符INC SIMOV AL,CLCALL BCDASCINC SIMOV AL,DHCALL BCDASCMOV BP,OFFSET DBUFFERDEC BXJNZ RE ;判断上一句所调用的寄存器的值是否为0MOV AH,01H ;读键盘输入的字符存到寄存器AL中INT 16HMOV DX,0C0DH ;起始行:0ch,列:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬件课程设计 电子表的设计 硬件 课程设计 电子表 设计
链接地址:https://www.31ppt.com/p-2883625.html