欢迎来到天天文库
浏览记录
ID:6647952
大小:217.57 KB
页数:20页
时间:2018-01-21
《计时器汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、武汉理工大学《微机原理》课程设计说明书计时器汇编语言程序设计1设计要求1.1初始条件Ø采用16位微处理器8086CPU以及86系列微型计算机的指令系统;Ø软件设计平台为多功能微型计算机实验软件MFS中的微机原理实验集成环境MF2KP。1.2设计任务Ø设计汇编语言程序,实现计时功能,具体功能要求如下:(1)设计一个计时器界面,形式为:时:分:秒;(2)单击“S”或“s”键开始计时,单击“P”或“p”停止计时,单击“G”或“g”键继续计时,单击“C”或“c”键清0;(3)单击”ESC”键退出程序。(2)单击”ESC”键退出
2、程序。根据功能要求绘制程序流程图、编写完整的汇编语言程序并上机调试。2总体方案论证2.1方案一利用8155芯片设计一个具有时、分、秒显示的电子时钟,启动按键,数码管从初始设置的时间开始显示。从设计要求可知,需要键盘扫描部分,时间控制部分,初始值设置部分,数码管显示部分,延时部分。时间走动部分的实现:各个时钟的个位部分逢十进一,秒和分钟的十位部分是逢六进一。当时的十位达到2时,个位为4时,程序跳到清零部分,程序从零开始计时。数码管显示部分的功能是实现时、分、秒的显示,可以用六个数码管从左至右一次显示时间,采用分配存储单元
3、的形式,地址从低到高分别显示秒、分、时。延时部分是对秒的个位进行延时,延时中调用系统时钟显示程序,以便连续不断地显示并实现一秒延时的计时功能,从而实现电子时钟的设计。2.2方案二利用DOS功能设计界面显示时间00:00:00:00,在MFS中的微机原理实验集成环境MF2KP中编写程序,根据设计要求,需要界面设置,键盘按键输入检测,显示初值时间,显示形式,键盘控制设置,时间进位处理,设置中断频率,暂停和继续计时。通过调用系统的08h号或者1ch号中断来进行设置,使其能够产生100Hz即10ms19武汉理工大学《微机原理》
4、课程设计说明书一次的中断,同时修改原08号中断的入口地址,使其每次中断执行一次计时的中断服务程序,进而动态显示时间。2.3方案论证方案一要用到8155芯片和数码管,而且计时器是调用系统时钟完成的,这种方法必须每秒或者每更短的时间调用系统时钟然后进行相减操作才能达到计时的每秒时时显示动态时间,虽然理论上可以实现计时功能,但是会比较的麻烦。方案二通过调用系统的08h号或者1ch号中断来进行设置,使其能够产生100Hz即10ms一次的中断进而动态显示时间。这种方法不仅简单易行,而且较方便。而且方案二在DOS环境下运行的,不需
5、要额外的芯片,所以方案二更好更合适。3程序流程图3.1主程序流程图主程序流程图如图3-1所示,主程序是用来完成屏幕初始化:清屏和显示初始界面,同时对键盘按键输入检测和对键盘按下的键值进行判断,执行相应键值所对应的程序,达到开始、暂停、继续、清零、退出的功能。进而动态显示和控制时间。3.2中断服务子程序流程图中断服务子程序流程图如图3-2所示,中断服务子程序的功能是每次中断执行一次该程序,对十毫秒位、百毫秒位、秒位、十秒位、分钟位、十分钟位、小时位和十小时位进行加1和判断是否进位操作,即达到该时间的情况下就给该时间对应位
6、进行加1操作,使其能够显示正确的动态的时间。19武汉理工大学《微机原理》课程设计说明书停止计时显示停止计时时间清零显示初始时间继续计时显示动态时间开中断计时显示动态时间结束按ESC键按c/C键按g/G键检验键盘状态按下p/P键按下s/S键读字符显示提示语和初值时间清屏开始图3-1主程序流程图19武汉理工大学《微机原理》课程设计说明书清零退出中断十小时位加1十h位<3小时位<10N<24小时位加1N加1(N初值为0)十分位<6十分钟位加1ms位<10分钟位加1十秒位<6十秒位加1秒位<10十ms位<10秒位加1十ms位加
7、1ms位<10毫秒位加1设置中断频率开中断设置中断屏蔽器设置中断入口地址图3-2中断服务子程序流程图19武汉理工大学《微机原理》课程设计说明书4.程序设计步骤4.1界面设置在DOS界面中显示时间,要输入输出数据,需要设置界面。界面设置需要用到DOS功能调用的INT10H指令。INT10H是由BIOS对屏幕及显示器所提供的服务程序,使用INT10H中断服务程序时,先指定AH寄存器为下表编号其中之一,该编号表示欲调用的功用,当一切设定好之后再调用INT10H。1.设置光标形状:movah,1;置光标类型,不显示光标movc
8、h,20hint10h2.设置光标位置:movdh,0;行号movdl,0;列号:movbh,0;页号movah,2;置光标位置int10h3.在Teletype模式下显示字符:show3:movah,0eh;显示字符(光标前移),al字符,bl前景色moval,[si]int10hincsiloopshow3为了使计时器的显示界
此文档下载收益归作者所有