![中南大学微机原理课程设计报告_第1页](http://file4.renrendoc.com/view/41c017c87e7ab08a39f01514fd7f10d0/41c017c87e7ab08a39f01514fd7f10d01.gif)
![中南大学微机原理课程设计报告_第2页](http://file4.renrendoc.com/view/41c017c87e7ab08a39f01514fd7f10d0/41c017c87e7ab08a39f01514fd7f10d02.gif)
![中南大学微机原理课程设计报告_第3页](http://file4.renrendoc.com/view/41c017c87e7ab08a39f01514fd7f10d0/41c017c87e7ab08a39f01514fd7f10d03.gif)
![中南大学微机原理课程设计报告_第4页](http://file4.renrendoc.com/view/41c017c87e7ab08a39f01514fd7f10d0/41c017c87e7ab08a39f01514fd7f10d04.gif)
![中南大学微机原理课程设计报告_第5页](http://file4.renrendoc.com/view/41c017c87e7ab08a39f01514fd7f10d0/41c017c87e7ab08a39f01514fd7f10d05.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业中南大学微机原理课程设计实验报告题 目设计电子万年历专业班级通信工程一、设计目的及要求(1)设计任务:通过本次课程设计,使学生巩固和加深微型计算机原理理论知识,通过过 实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的 培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯, 为今后工作打下良好的基础。计算机原理与接口课程课程设计结合教学内容, 从应用的角度出发,进行三类课程设计,分别分为:汇编语言程序设计、微机 标准接口课程设计和接口技术
2、课程设计。(1)通过设计电子万年历,掌握中断的使用方法。(2)掌握基本的显存读写技术。(3)学会在屏幕上以七段数码管的形式显示本机时间的方法。(4)学会用汇编语言编写一个完整的程序,提高自己的动手操作能力。(5)学习程序设计的基本思路和方法,培养分析问题、解决问题的能力。汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能 够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空 间和时间的要求很高的场合,汇编语言的应用是必不可少的。至于很多需要直 接控制硬件的应用场合,则更是非用汇编语言不可了。随着科学技术迅速发展, 理工科大学生不仅需要掌握计算机方而的基本理论知识,
3、而且还需要掌握基本 的实验技能及一定的科学研究能力。通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进 一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养, 同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后 工作打下良好的基础。鉴于汇编语言的广泛用途及其在当代计算机界的重要作 用,本人利用学的知识,在同学门的帮助下,花费大量时间,完成了关于电子 万年历的系统设计。这个系统是应用于电脑中的小应用程序,可是显示电脑中 的时间。很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。关键词:汇编语言微机原理接口技术时钟显示键盘输入一次性初始化六位(
4、二)设计功能:电子万年历,具有年、月、日、时、分、秒24小时制的运行,并可以在 8位数码管上显示:电子万年历具有启动键、蜂鸣、整点报时、暂停、初始化年、月、日、 时、分、秒。(三)课程设计方式与基本要求:1】实验方式:微机原理与接口技术课程设计共2周,要求学生做出设计方案(硬件线路图、 程序框图)并提交指导教师检査确认。然后进行硬件连接、软件调试、得出结果, 由指导教师检查是否达到设计要求,最后撰写报告。根据通信工程专业学生的 实际情况,课程设计的指导思想是:对于学习成绩好、动手能力强的学生,让 他们有充分发挥的余地:对于大多数学生务必完成设计要求:对于少数学习稍 差的学生只需完成基本要求。基
5、于这一原则给出了 35个题目,每一个题目的 大小、难易可以伸缩,由学生自选。2】基本要求:电子万年历(三星)设计任务:1.正常计时并显示,默认状态下用8个7段LED数码管作为显示 设备,显示:时一分一秒,每秒刷新显示;通过按键,可以切换显示:年(后两位)一月日;通过按键,可以调整时间:实习整点定时闹铃功能,整点定时输出为音乐信号或语音信号。扩展:可通过串口通讯来获取电子万年历的时间。其他功能(创新部分)(四)设计所用元件设备是武汉恒科电子教学仪器有限公司的超B3000TB综合实验/仿真系统。 配合PC机构成实验环境。8253定时器:用于产生秒脉冲,计数器2的输出信号作为中断请示信号送IRQ3
6、o以及计数器0作为蜂鸣器的输入脉冲使用。8279接口芯片:实现键盘输入和显示输出。8259中断控制器:用于产生中断。8255并行控制器:触发蜂鸣器扬声。数码管:八个LED用于显示年、月、日,时、分、秒。以格式00-00-00 输出值。蜂鸣器:扬声报时。二、设计题目及思想(一)设计原理:计算机原理与接口技术是通信工程专业的一门专业基础课程,学生需要掌 握RAM扩充、8253计数器/定时器、8255并行口、8251串行口、8259中断控制 器、D/A数模转换、A/D模数转换、DMA、LED显示等各个器件的性能和使用方 法。课程设计的目地是综合这些基础知识,就具体问题让学生做出软、硬件解 决方案并付
7、诸实施,以培养解决实际问题的能力。本程序的主要设计原理是用主程序完成键盘按键的扫描,实现计时结果的 数码管显示,实现时分秒与年月日之间的转换。通过判断键盘按键调用相应功 能程序段以实现相应功能,即实现了初始化年月日、初始化时分秒、显示年月 日、显示时分秒等功能。通过实验板上的键盘实现一次性对年月日的六位数字 或者时分秒的六位数字同时进行初始化的手动设置功能,在本次实验的所有班 级中只有我们一组是通过这种方式进行的初始化,这也是我们组的特色所在。利用8253的左时器功能。8253的四个端口地址为48H, 49H, 4AH, 4BH, 本实验采用8253的计数器2,工作在方式3 (方波发生器方式)
8、输入CLK2为 1MHZO先给8253的初始值0C350H,循环记数。即一次记数完后,自动装入初 始值。输出0UT2作为8259的输入脉冲。8259有两个口地址,本实验为20H和 21H,其中20H用来写ICW1, 21H用来写ICW2、ICW4,本实验中8259为单片, 边沿触发,采用3号中断源,即IR3和8253输出口 0UT2相连,每过1/20秒接 收到一个中断,向8259发出中断请求信号,如果电平信号不符合要求,则自动 转到7号中断,显示ERR, CPU响应后,在中断处理程序中,对中断次数进行 记数,记满20次,把时间缓冲区中的时间加1,并将其输入到显示缓冲区,这 样便实现了产生一秒钟
9、长短的时间间隔,以作为程序的主要时钟。计数初值的计算:X=lM/2=50000D=0C350H (用1【HZ信号产生1/20秒方 波)。(二)主要模块:【1】系统总体设计:本系统设计的电子钟以8088微处理器作为CPU, 8253做宦时计 数器产生一秒钟的时间间隔用作程序的主要时钟频率,8279做可编程并行 接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。8253 采用计数器0和计数器2。计数器2:工作于方式3,使8253的OUTO端 输出周期性的负脉冲信号,即每隔20ms, 8253的0UT0端就会输出一个 负
10、脉冲的倍号,此信号接8259的IR2,当中断到50次数后,CPU即处 理,使液晶显示器上的时间发生变化。计数器0 :工作于方式3,使8253 的OUT2作为蜂鸣器的输入倍号,使蜂鸣器产生闹铃。8255的PB0 口与 8253的GATE0相连,8255的PB0受程序里而的函数控制,当需要闹铃的时 候置1,否则置0。程序由以下模块组成:系统共有6个功能模块,分别 为,主控模块,显示模块,定时模块,闹钟模块,中断模块,初始化模块。Wd-Hv 块系统总体框團(2主控模块:主控模块是系的核心模块,对8253、8255、8279进行初始化,设置中断 向量,主要由软件实现。再由主控模块进入程序菜单,程序菜单
11、的主要功能是 调用其它模块对系统工作进行协调,它的主要功能是读小键盘输入键值并执行 要做的工作,每当进入菜单就会先调用显示模块SH0W1,显示58-58-58,表示 成功进入了菜单。接下来读键值选择相应的功能,如果键值为F则初始化年月 日并置入相应的内存,成功后返回主控模块。如果键值为D则初始化时分秒并 置入相应的内存,成功后返回主控模块。如果键值为B则显示年月日内存中的 值,成功后等待下次有键输入后返回主控程序。如果健值为9则显示时分秒内 存中的值,成功后等待下次有键输入后返回主控程序。并调用显示模块显示。(3定时模块:定时模块是为8259提供中断请求信号的。由一片8253实现,选用定时 器
12、0#,工作在方式3,由于时钟应该1秒走动一次,所以输岀值应为1S, 其输出信号可作为8259的中断请求信号。Al AO :用来选择计数器和疸制字寄存器) 8D7D6D5gD3D2DlmKOJTOrEDND3J Vuc 23职 ZD RK a)cs2 Al SI AO 3JCLK2 13DUT2ISGATE2 BJCLK1DO-D7:三态数据钱.和数据总钱相连GATE012:门控输人端.对应相同号计数器CS:片选端.低电平有效.WR:写信号输入端,低电平有效.RD:读信号綸入端,低电平有效.CLKO 1 2:各计数器时钟宿号输入孃.OUT0 1 2:相应计数器输岀端8253井有以下几种工作方式:
13、SGATE1方氏第:计数结束发生中断23 DUT1方式一:可编程单次眯冲方式方式二:频率发生器方式【4】中断处理模块:中断模块实现动态显示的,硬件为一片8259,由于中断请求信号为每秒一次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间增加一秒,从而达到动态显示的效果。n jth.DODlMmMDSIHSMMWRRDDnQnCASCASCASL13 T9-IRO19IR1201R221IR322IR423IR52$IR625IR70 12 3 4567 a mm m mIORUINTR1厂IHTA2S“EH【5】并行模块:并行模块是8255是数据在多根传输线上一次以8位为单
14、位进行传输。8255由数据总线缓冲器,读/写控制逻辑、A组和B 组控制电路以及3个数据端口 (A 口、B 口和C 口)等组成。PA3PA2PA1PA0RD矗久PC7PC6PC5PC4PCOPC1PC2PC3P80PB1P82叭PA5PA6PA7gREmD1D2D3CMD5D6a 心P87P8SPBSP84PB3 Eg固丙卫国可卫宓师隠何油回5 vggN8其控制字窑式如下:D7D6D5D4O3D2D1D0-“十0镐岀C组低4位1舍入0输出I输入口高4位0默 A口 0输岀口 1输入人曲式选择月?1 0-坊瞬制9熬冬賣位嗖位控制字厅式遠择D7D6D5D4D3D20iro 丁J复位1 位6显示脱:显示
15、模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区 是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的 高位和低位。硬件上由六个LED构成,软件上由扫描显示的方法实现。芯片初始化:【1】8263A定时7计数:8253 A既可作左时器又可作计数器:计数:计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK脉冲对计数值进行减1计数,每来一个脉冲减1,当计数值减至0时,由 OUT端输出一个标志信号。定时:计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数,当计数到零时,发计数结束左时信号。除上述典型应用外,8253A还可作频率发生器、分频器、实
16、时钟、单脉冲发生器等。8253A控制字00选计数器001选计数器110选计数器211非法一 00计数器锁存命令01只读/写低8位,高8位口动迓010只读/写高8位,低8位口动宜0一 11先写低8位,后写高8位数制控制:0=二进制,1= BCD工作方式选择:000方式0001方式IxlO方式2x】方式3100方式4101方式576543210y7 Y以上为8253计数器2的初始化过程,计数器0的初始化过程类似, 只是计数初值不再为053C而改为02,表示把输入的时钟频率二分频,以达到 可以使蜂鸣器报警的效果。2 8259单级中斷控制:8259A编程及初始化写初始化命令字写初始化命令字ICWl(A
17、0=0),以确宦中断请求信号类型,清除中断屏蔽寄 存器,中断优先级排队和确宦系统用单片还是多片。中断优先级排队和确立系统用单片还是多片。【3】8279显示接口:8279A的控制命令(1)键盘显示器方式设置命令76543210I 00 1 0 I DDKKKXZ数据输入及扫描方式-00 3宇符显示,左端输入*0 1 16字755,左谦输入1 0 8字符:S不,右端输入 1 1 16子符显示,右端縮入-00 0组码扫描疑盘输入,2礎互锁 -001译码扫描.键盘侖入.2键互锁 -010编咼扌欢鍵盘输入,多键有效 -011译玛扫捞讎盘输人,多键有效 -100编码扫趙.传感器陈列检测 _ 01译码扫崔,
18、传越器陆列检测 -liots码扫省港通输入-111译码扫培逛通输入* RESET后,设定为该种方式。(2)扫描频率控制命令001P4P3P2P1P0765432 10设置231,对外部时钟CLK的分频系数,使fclk-分频系数=100KHZ4 8265 并行:8255A控制字(1)方式选择控制字76543210/PC30:1=输入,0=输出PB : 1=输入,0=输出方式选择:0=方式0,1=方式1PC74:1冷入,0=输出9PA 口:1=输入0=输出方式选择:00=方式001=方式10=方武2方式标志:1=有效(四)程序流程图:【1】主程序流程图:闹钟开进入相应的模块!程序本轮跑完五)硬件接
19、线图:实验线路连接:8253A芯片的CLK2引出插孔连分频输出插孔Tl (1MHZ)。8259A的IRQ3插孔和8253A的0UT2插孔相连。将8279接口模块上的插座DU(JB51) (a-h)用8芯线连接至数码管模块插 座DU (a-h), 8279接口模块上插座BIT(JB53)连接至数码管模块插座BIT。8255的片选CS插孔和8253A的Y2插孔相连,PBO和8253的GATEO相 连。lKHz和8253的CLKO相连,8253的OUTO与蜂鸣器相连。UBO$2 5DO11DI10D29D3 8D47D56D65D74AD DO27IOW2IOR3半INTR17INTA26小1312
20、DO 8DI7D26D35D44D53D62D7118J9互至2425IR7VCCWR RD INT INTA CAS2CAS1 CASOSHENRB02CS6OUTO GATWCLKO GATE0UT2CLK20UT1GATH CLK18253UB61DI 33D2 32D3 31D4 30D5 29D6 28D7 27IOR5IOW 36ADD0 9AUDI 8RST 356DO 3417101118亠 21 CSM BCLK22 I:?q 23 IQWADDOADDiG)T20UToo lJffiZCS 8255Y7vccDO DID2D3D4D5D6D7PAO n & i3PAIn a
21、o2PA2Tl A 71PA340PA439PA5FAj38PA6FADnA*?37PA7FA?RD WR AO Al RESET CSPBO nx i18PBO19PB120PB2Fl J21PB3T|T A22PB4PB4TiT V23PBjTiT X24 L JPBu Tip ?25PB7 LoPB7dp n14penFUU dp i15FU 1Tl G C16 l-UFC2 D广叢17PCSD广&13PC512DC* A11FUuPC?10RB614.7K8255三实验调试结果打开汇编软件DVCC实验系统,设置正确的接口并且联机进入程序汇编界面。按照电子万年历设计的硬件图把线路一一连接
22、正确。(下图为正常运行情况下电子万年历的状态)按照正确接线之后,将实验台与计算机进行联机,再把程序通过DVCC汇编 写进去,编译再次链接,然后调试无误,点击运行。数码管会显示初始命令等 待58-58-58状态,然后至到下次正确的键入键盘上的值,如果键值为F则初 始化年月日并置入相应的内存,成功后返回主控模块。如果键值为D则初始化 时分秒并置入相应的内存,成功后返回主控模块。如果键值为B则显示年月日 内存中的值,成功后等待下次有键输入后返回主控程序。如果健值为9则显示 时分秒内存中的值,成功后等待下次有键输入后返回主控程序。并调用显示模 块显示。每当程序运行到XX-OO-XX的时候(XX代表任意
23、数值),蜂鸣器响起, 整点报时实现。四、课程设计总结(一)遇到问题及解决方案:在本次设计中我们遇到不少的难题:我们一开始按照指导书接线,并先导入计算机上本身附带的程序后没有得到 相应的效果,这让我十分的疑惑,也认真检査了硬件的接线线路,后来得知是 不一立每一个的仪器都能顺利与主机链接上,后来经过多次的多部机子调试后 得到能成功运行代码的平台。然后我们在之前的程序中加入了其他的功能:整点报时、键盘初始化等。 在改进设计方案中,加入数字键盘进行时间校对的过程确实遇到了不小的 麻烦。在运行原先实验指导书中的CALL KEY (主要功能是从键盘上读入键入的 值)函数,在我的程序中总是不能得到正确的键值
24、,这个问题困扰了我们小组 很久,于是我们进行了断点调试,在CALL KEY函数中不断的加入8255并行接 口的初始化程序,将当前程序运行中的计算结果通过8255输出到小灯上,再通 过观察小灯的亮灭状态判断当前断点程序是否正常的在运行。这样,我们调试 了整整一天,终于发现了问题,并且解决了问题。本小组发现实验所用的编译 软件存在着缺陷。当数据段的代码过长的时候,程序不能正常的找到数据段的 起始地址,CALL KEY函数中的查表指令无法正常进行。我们的改进方案是将原 先写在数据段的表写进代码段,通过赋初值给一片内存区域,这样又在程序开 头将代码段的初始地址赋给数据段的初始地址,由于程序中代码段的初
25、始地址 与数据段的初始地址是相同的所以这次寻找代码段的初始地址便能成功查表, 于是也就解决了 CALL KEY函数的运行问题。在整点报时上,融入了 8255, 8255由DATA22的数值决上跳转哪种状态, 当分钟大于等于0分钟,则是给8253的GATEO高电平,从而使OUTO选通,将 一定频率的信号传给蜂鸣器;当分钟小于等于0分钟,则是给8253的GATEO低 电平,从而使OUTO不通,不能将一定频率的信号传给蜂鸣器,从而达到整点报 时的效果。还有在我的代码程序里面有通过8279判断是否有键盘输入的部分,如下:MOV DX,PORT1IN AL,DXAND AL,07H(详情请参考8279的
26、初始化过程)这个函数若返回AL = 0,则无键盘输入。我将这个函数写在了一个程序的 循环之中,并作为循环判断条件,若无键盘输入则循环继续运行,若有键盘输 入则跳出循环,但是我发现实际运行的时候它却不停的跳出循环,查了很久的 代码还是没有发现原因,最后突然想到有可能是中断返回的时候将AL的改变了, 于是便将程序做了如下修改:CLIMOV DX,PORT1IN AL,DXAND AL,07HSTI这次的运行结果才是正确的。对于其他的部分,我们的实验结果完全正确。(二)课程设计心得体会这次的课程设计我深刻的体会到了基础语言编程的不容易,相较于C+来 说,汇编语言几乎无封装性可言,也无多态性。这些特点
27、使得我们编程的时候 必须逻辑淸晰,稍有差错,程序就不知道会跑到什么地方去了。同时汇编语言 语法上来说是十分容易的,但是又由于逻辑上要求十分严谨,这就造成了查错 过程难以进行,因为通过编译几乎是不可能报错的,但是实际运行的时候程序 也许就和你预期的完全不同,逻辑错误若不细究程序是难以査出的。同时,我 也体会到了程序的模块化真的对于程序的调试有着很大的便利,我也更加熟悉 了分模块分段的调试方法,这对于我以后的编程道路也是一次宝贵的经历。在课程设计过程中,我深刻地体会到:微机原理与接口技术这门课程 对于我们的要求不仅限于对书本知识的理解,更重要的是对书本知识的运用。 除此之外,我们应该在学习过程中充
28、分发挥自己的想象力和创新意识,将对书 本知识的理解与我们的创新意识相结合,设计出实用且功能良好的实物。通过 本次课程设计,也提髙了我们的编程能力、协作能力和创新能力,为以后的学 习打下了良好的基础。另外,我深感能找到一台运行正常的机子对实验的进行 真的至关重要!参考文献1梁健武,微机原理与接口技术中国铁道出版社碌电子万年历软怦码及注释CODE SEGMENTASSUMECS:CODEINTPORT1EQU0020HINTPORT2EQU0021HINTQ3EQUINTERUPT3INTQ7EQUINTERUPHDATAPORTEQU00DEHCONTPORTEQU00DFHPORTOEQUOO
29、DEH;8279 DATA PORTPORT1EQUOODFH;8279 CTRL PORTDATAIEQU0500HDATA2EQU0508HDATA3EQUO5I8HDATA4EQU0520HDATA5EQU0528HDATA6EQU0529HDATA7EQU052AHDATA8EQU052BHDATA9EQU052CHDATA 10EQU052EHDATAI 1EQU0530HDATA 12EQU0531HDATA 13EQU0532HDATA21EQUO533HDATA22EQU0534HDATA23EQU0535HDATA31EQU0536HDATA32EQU0537HDATA33E
30、QU0538HCTRLEQU0073HPORTBEQU0071HCNTDB06HTEMPDBOOHBUFERDBOHKEYDATAEQU0400HORG1800HSTART:MOVAX,OHMOVDS,AXMOVBX,0HMOVBYTE PTR DS: BX+KEYDATA,23HADDBX,0IHMOVBYTE PTR DS: BX+KEYDATA,2BHADDBX,01HMOVBYTE PTR DS:BX+KEYDATA,33HADDBX,01HMOVBYTE PTR DS:BX+KEYDATA,3BHADDBX,01HMOVBYTE PTR DS: BX+KEYDATA,22HADDBX
31、,0IHMOVBYTE PTR DS: BX+KEYDATA,2AHADD BX,01HMOVBYTE PTR DS:BX+KEYDATA,32HADD BX,0IHMOVBYTE PTR DS:BX+KEYDATA,3AHADD BX,01HMOVBYTE PTR DS:BX+KEYDATA,21HADD BX,01HMOVBYTE PTR DS:BX+KEYDATA,29HADD BX,0iHMOVBYTE PTR DS: BX+KEYDATA,31HADD BX,0iHMOVBYTE PTR DS:BX+KEYDATA,39HADD BX,01HMOVBYTE PTR DS:BX+KEY
32、DATA,20HADD BX,01HMOVBYTE PTR DS:BX+KEYDATA,28HADD BX,01HMOVBYTE PTR DS:BX+KEYDATA,30HADD BX,0iHMOVBYTE PTR DS:BX+KEYDATA,38HJMP TINT1TINT1:CLICALL FORMATMOVDX,CONTPORTMOVAL,OOHOUTDX,AL;KEYBORD D1SPLY MODEMOVAL2AHOUTdx,al;8279 CLOCKMOVAL,OdOhOUTDX,AL;8279 CLEARMOVAL,90hOUTDX,AL;READ FIFO RAM COMMAND
33、TESTI: INAL,DXANDAL.80HJNZ TESTIMOV DX,004BH;8253计数器2MOV AL,0B6H TOC o 1-5 h z OUTDX,ALMOVDX,004AHMOVAL,50HOUTDX,ALMOVAL,0C3HOUTDX,ALMOVDX,004BH;8253计数器0MOVAL,36H;OUTDX,ALMOVDX,0048HMOVAL,OOHOUTDX,ALMOVAL,02HOUTDX,ALMOVSIQATA3CALLLEDD1SPMOVAX,OHMOVDS,AXCALLWRINTVERMOVAL,13HMOVDXJNTPORTiOUTDX,ALMOVAL
34、,08HMOVDX,INTPORT2OUTDX,ALMOVAL,0BHOUTDX,ALMOVAL,0F7HOUTDX,AL9MOVDX,CTRL;OO73H控制端口MOVAL,90H;A方式0 C上半输出B方式0输出C下半输出OUTDX,ALWAITING:STICALLCHOSEJMPWAITINGWRINTVER:MOVAX,0HMOVES,AXMOVDI,002CHLEAAX,1NTQ3STOSWMOV STOSWMOVLEA STOSWMOV STOSWRETAX,CSDI,003CHAXJNTQ7AX,CSINTERUPT3: CLIPUSHAXPUSHBXPUSHCXPUSHDXP
35、USHSIPUSHDSCMPBYTE PTR DS:(DATA22.00HJNZJUMP1CMPBYTE PTR DS:DATA23,02HJNCCALLRINGJUMP!:CALLNORINGJMPJUMP2CALLRING:CALLRINGJUMP2:MOVAL,DS:DATA6INCALMOVDS:DATA6LCMPAL,14HJCPLAYMOVBYTE PTR DS:DATA6,00HMOVSI,DATA4CALLLEDD1SPCALLNEWTIMECALLCONVERSALLPLAY:MOVAL,20HMOVDX,INTPORT1OUTDX,ALSTIPOPDSPOPSIPOP AX
36、POP BXPOP CXPOP DXIRETINTERUPT7: CLIPUSH AXPUSH BXPUSH CXPUSH DXPUSHSIPUSHDSMOVSI,DATA 1CALLLEDD1SPMOVAL,20HMOVDX,INTPORT1OUTDX,ALPOPDSPOPSIPOPAXPOPBXPOPCXPOPDXIRETLEDDISP:MOV AL,90HMOVDX,CONTPORTOUTDX,ALMOV CX,08HMOVBYTE PTR DS:DATA5,07HLED1:MOVBL,DS:DATA5MOVBH,0HMOVAL,CS:BX+SIMOVDX,DATAPORTOUTDX,A
37、LSUB BYTE PTR DS:(DATA5,01HLOOP LED1LED2:RETFORMAT:MOV BX,0MOVWORD PTR DS:BX+DATA 1 ,5050HADDBX,2MOVWORD PTR DS:BX+DATA 1 ,0079HADDBX,2MOVWORD PTR DS:BX+DATA 1 ,0000HADDMOVADDBX,2WORD PTR DS:BX+DATA1,OOOOHBX,2MOV ADDMOV ADDMOV ADDMOV ADDMOVADDMOV ADDMOVADDMOVADDWORD PTR DS:BX+DATA1,O63FHBX,2WORD PTR
38、 DS:BX+DATA1,4F5BHBX,2WORD PTR DS:BX+DATA1,6D66HBX,2WORD PTR DS:BX+DATA1,O77DHBX,2WORD PTR DS:BX+DATAI,6F7FHBX,2WORD PTR DS:BX+DATA1,7C77HBX,2WORD PTR DS:BX+DATA1,5E39HBX,2WORD PTR DS:BX+DATA1,7179HBX,2MOV ADDMOVADDMOV ADDMOVADDWORD PTR DS:BX+DATAI,3F3FHBX,2WORD PTR DS:BX+DATA1,3F4OHBX,2WORD PTR DS:
39、BX+DATA1,4O3FHBX,2WORD PTR DS:BX+DATA1,3F3FHBX,2MOV ADDMOVADDMOV ADDMOVWORD PTR DS:BX+DATA1,3F3FHBX,2WORD PTR DS:BX+DATAI,3F40HBX,2WORD PTR DS:BX+DATAI,403FHBX,2WORD PTR DS:BX+DATA1,3F3FHMOVMOVMOVMOVMOVBYTE PTR DS:DATA6.00DBYTE PTR DS:DATA7),00DBYTE PTR DS:DATA8,00DBYTE PTR DS:DATA9,(X)DWORD PTR DS:
40、DATA10,DATA4KEYMOVMOVMOVMOVMOVMOVMOVMOVMOVRETPROCBYTE PTR DS:DATA11),OODBYTE PTR DS:DATA12,00DBYTE PTR DS:DATA13,00DBYTE PTR DS:DATA21,00DBYTE PTR DS:DATA22,0()DBYTE PTR DS:DATA23,00DBYTE PTR DS:DATA31,88DBYTE PTR DS:DATA32,88DBYTE PTR DS:DATA33,88D;MOVDX,PORTI;MOVAL,Od()h;OUTDX,ALMOVDX,PORT1INAL,DX
41、ANDAL,07HJZWREPMOVDX,PORTOINAL,DX;MOVAL,3AHMOVBL,ALMOVBH,0HMOVSI,KEYDATANEARWREP:;CLEAR DISPLAYKEYO:KEY5:KEY4:KEYMOVAL,BYTE PTR DS:SICMPJNE 1JMP KEY4ADD S1,O1HADD BH,01HCMP BH J OHJNE KEYOJMP KEY4MOV BUFER,0HRETENDPAL,BLKEYS9CONVERS1:MOV BH,0HANDAL,0FHMOVBL,ALMOVAL,CS:BX+DATA2RETCONVERS2:PUSH AXCALL
42、CON VERS 1MOVBX,WORD PTR DS:DATA10MOVDS:BX,ALADDWORD PTR DS:DATA10J,01HPOPAXPUSHCXMOVCL,4HSHRAL,CLPOPCXCALLCON VERS 1MOVBX,WORD PTR DS:DATA10MOVDS:BX,ALRETCONVERSALL:MOVAL,BYTE PTR DS:DATA9CALLCONVERS2ADDWORD PTR DS:DATA10,02HMOVAL,BYTE PTR DS:DATA8CALLCONVERS2ADDWORD PTR DS:DATA10,02HMOVAL,BYTE PTR
43、 DS:DATA7CALLCONVERS2MOVWORD PTR DS:DATA10,DATA4RETNEWTIME:CMPBYTE PTR DS:DATA23,59HJCADD1MOVBYTE PTR DS:DATA23,0DCMPBYTE PTR DS:DATA22,59HJCADD2MOVBYTE PTR DS:DATA22,0DCMPBYTE PTR DS:DATA22,00HCMPBYTE PTR DS:DATA213HJCADD3MOVBYTE PTR DS:DATA21,0DCMPBYTE PTR DS:DATA13,30HJCADD4MOVBYTE PTR DS:DATA13,
44、0DCMPBYTE PTR DS:DATA12,12HJCADDSMOVBYTE PTR DS:DATA12,0DCMPBYTE PTR DS:DATA11,99HJCADD6MOVBYTE PTR DS:DATA11,ODJMPOKJMPOKADD1:MOVADDAL,BYTE PTR DS:DATA23AL, IDDAAMOVBYTE PTR DS:DATA23,ALJMPOKADD2:MOVAL,BYTE PTR DS:DATA22ADDAL, IDDAAMOVBYTE PTR DS:DATA22,ALJMPOKADD3:MOVAL,BYTE PTR DS:DATA2IADDAL, ID
45、DAAMOVBYTE PTR DS:DATA21,ALADD4:MOVAL,BYTE PTR DS:(DATA13ADDAL, IDDAAMOVBYTE PTR DS:DATA13人LJMPOKADD5:MOVAL,BYTE PTR DS:DATA12ADDAL, IDDAAMOVBYTE PTR DS: DATA 12人LJMPOKADD6:MOVAL,BYTE PTR DS:DATAliADDAL, IDDAAMOVBYTE PTR DS:DATA11LOK:RET*t- t-V丄丄CHOSE:MOVBH,06HCALL SHOW1CALL KEYCMPBH,0FHJNZJUDGE1CAL
46、LKEYTYEARJUDGE1:CMPBH,0DHJNZJUDGE2CALLKEYTHOURJUDGE2:CMPBH,0BHJNZJUDGE3CALLSHOWYEARJUDGE3:CMPBH,09HJNZJUDGE4CALLSHOWHOURJUDGE4:RET初始化时分秒 *KEYTYEAR:CLIMOVAL,0EHMOVBYTE PTR DS:DATA8,ALCALLCONVERSALLMOVSI,DATA4CALLLEDDISPMOVCNT,06HKEYY1:CALLKEYLPY1:CMPCNT,06HJNZLPY2MOVTEMP,BHPUSHCXMOVCL,04HSHLTEMP,CLPO
47、PCXDECCNTJMPKEYY1LPY2:CMPCNT,05HJNZLPY3PUSHAXMOVAL,TEMPORAL,BHMOVBYTE PTR DS:DATA11,ALMOVBYTE PTR DS:DATA7,ALCALLCONVERSALLMOVSIQATA4CALLLEDDISPPOPAXMOVTEMP,OOHDECCNTJMPKEYY1LPY3:CMPCNT,04HJNZLPY4MOVTEMP.BHPUSHCXMOVCL.04HSHLTEMP,CLPOPCXDECCNTJMPKEYY1LPY4:CMPCNT,03HJNZLPY5PUSHAXMOVAL,TEMPORAL,BHMOVBY
48、TE PTR DS: DATA 12,ALMOVBYTE PTR DS:DATA8,ALCALLCONVERSALLMOVSI,DATA4CALLLEDDISPPOPAXMOVTEMP,OOHDECCNTJMPKEYY1LPY5:CMPCNT,02HJNZLPY6MOVTEMP.BHPUSHCXMOVCL,04HSHLTEMP,CLPOPCXDECCNTJMPKEYY1LPY6:CMPCNT,01HJNZLPENDYPUSHAXMOVAL,TEMPORAL,BHMOVBYTE PTR DS:DATA 13,ALMOVBYTE PTR DS:DATA9,ALCALLCONVERSALLMOVSI,DATA4CALLLEDDISPPOPAXMOVTEMP,OOHLPENDY:;在 chose 中选 SHOWHOURMOV BH,0EHSTIRET.* 初始化时分秒 *KEYTHOUR:CLIMOVal,oahMOVBYTE PTR DS:DATA8,ALCALLCONVERSALLMOVSI,DATA4CALLLEDDISPMOV CNT,06HKEYH1:CALL K
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度户外运动赛事场地租赁及安全保障服务合同
- 2025年度企业财务风险预警与防控合同
- 2025年度货运车辆购置及改装工程合同
- 2025年度新材料研发与应用合作协议范本-@-6
- 2025年度航空航天器制造合同英文版
- 2025年度脚手架租赁与施工期限管理协议
- 2025年度新能源电动车零部件销售合同
- 2025年度金融服务合作协议书标准格式
- 2025年度酒店式公寓房屋买卖合同电子签名协议
- 2025年度广告车租赁与品牌推广一体化服务合同
- 围手术期疼痛护理课件
- 蛇年元宵节灯谜大全(附答案)
- 2023年上海中侨职业技术大学单招考试职业技能考试模拟试题及答案解析
- 儿科抗生素使用
- 中国教育公益领域发展报告
- 第2章第1节有机化学反应类型课件高二下学期化学鲁科版选择性必修3
- 校本课程《竹之匠艺》
- 栽植土检验批质量验收记录
- 学历案的编写课件
- T∕CAME 27-2021 医院物流传输系统设计与施工规范
- 证券法课件本科
评论
0/150
提交评论