微机课程设计_第1页
微机课程设计_第2页
微机课程设计_第3页
微机课程设计_第4页
微机课程设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课题微机原理课程设计 姓 名: 杨壮志 学 号: 200900191180 班 级: 09级电气2班 同组者: 赵肖瑞 指导老师: 刘志珍简介本课程设计使用软件实现电子时钟功能。用emu 8086进行运行时,本程序是调用系统的时间.用emu8086调试程序,在用PE2进行校时时,首先进入界面的是“LAO SHI HAO”字母样式,然后图框,我们设计成了房子的样式。一设计目的:1再次熟悉掌握8086/88指令系统,以及数据段的定义;2掌握8259A,8253,8255A的使用方法;3学习程序设计的基本思路和方法;4.了解一些有关宏定义,宏调用的方法;5.掌握中断类型号为21H和10H的部分功能。

2、二、设计要求:运用汇编语言设计了一个电子时钟,并且能实现以下功能:1. 显示型的外围框图;2. 在屏幕中间显示日期,星期,以及时间;3显示本程序的制作人员;三、硬件设计原理硬件设计用到的芯片是 8086、8259、8253、8255、8284.首先,我们利用8284芯片加上晶振来产生脉冲源,并且使8253工作在方式2,即根据脉冲信号每一秒钟向8259发出一个中断信号,由8259向8086CPU发出中断请求,8086响应请求,并执行一定的程序,通过8255并行端口B通道来输出数据,控制LED数码管的显示数字。四、部分子程序功能简介:程序的开始,我们定义了四个宏定义,是显示彩色字符用的宏,显示字符

3、串用的宏。定义这两个宏的目的是在屏幕中间显示外框,在小框中显示“LAO SHI HAO”与房子相配合,在大框中显示日期、星期、时间、程序制作人员等内容,大框中为绿底红字,样式美观。程序的下半部分是程序的主要内容,也即调用系统日期、时间、星期并显示在框中。调用这三方面内容比较相似,即分别将系统日期、星期、时间取出,并调用装换为ASCII码子程序,并将其显示在屏幕中。该调用系统日期、时间、星期的程序为循环程序,通过不断调用时间,刷新屏幕,通过延时程序使光标稳定。1 DISCHAR/DIS(房子图案显示程序)在宏定义里,设置两个形参变量,X为移动光标的位置以及Y为输出字符的ASCII码,在下面调用宏

4、中,给予变量X,Y不同的实参,输出图案,其中调用DISCHAR实现上方字符的输出,调用DIS实现外壳以及彩色字的输出。2 ASCASC1(日期时间转换为ASCII子程序) 调用系统日期或时间后,寄存器中存放的是数值而不是ASCII码,所以,要调用转换程序转换为ASCII码,调用该程序,并将日期和时间分别放入到BUFFER1和BUFFER中,以便读取并显示。五.程序流程图:程序流程图如下:11六、源程序DATA SEGMENT DBUFFER DB " THE TIME IS: ",7 DUP (':'), 21 DUP (' ') DBUFF

5、ER1 DB " THE DATE IS: ",28 DUP (' ') T1 DB ' THE DAY IS: MONDAY',20 DUP (' ') T2 DB ' THE DAY IS: TUESDAY',20 DUP (' ') T3 DB ' THE DAY IS: WEDNESDAY', 20 DUP (' ') T4 DB ' THE DAY IS: THURSDAY', 20 DUP (' ') T5 DB 

6、9; THE DAY IS: FRIDAY',20 DUP (' ') T6 DB ' THE DAY IS: SATURDAY', 20 DUP (' ') T7 DB ' THE DAY IS: SUNDAY',20 DUP (' ') WORDS DB 'LAO SHI HAO' MAKER DB ' DESIGNED BY yzz &zxr ' SPACE DB 30 DUP (' ') DATA ENDSSSEG SEGMENT STACK

7、DW 200 DUP (?)TOP LABEL WORD SSEG ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:SSEG,ES:DATASTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,SSEG MOV SS,AX MOV SP,OFFSET TOP CLDDIS MACRO X,Y ;显示彩色字符用的宏 ;X的位置,Y是ASCII PUSH CXMOV AH,02 ;中断10H的2号置光标位功能 MOV BH,0MOV DX,X ;定位,DH是行,DL是列 INT 10H MOV AH,9;10H的9号功能 M

8、OV AL,Y MOV BH,0 MOV BL,0DH;浅洋红 MOV CX,1 INT 10H POP CX ENDMDIS1MACRO X,Y;显示彩色字符用的宏, ;X的位置,Y是ASCII PUSH CXMOV AH,02 ;中断10H的2号置光标位功能MOV BH,0MOV DX,X ;定位,DH是行,DL是列INT 10HMOV AH,9;10H的9号功能 MOV AL,Y MOV BH,0 MOV BL,0AH;浅绿色 MOV CX,1 INT 10HPOP CXENDMDISSTRING MACRO X,Y ;显示字符串的宏 MOV AH,02 XOR BH,BHMOV DX,

9、X;定位,DH是行,DL是列 INT 10H MOV DX,OFFSET Y;显示字符串 MOV AH,09H INT 21H ENDM PUSH CX PUSH AXPUSH DXYANG: DIS1 0920H,'L' DIS1 0921H,'A' DIS1 0922H,'O' DIS1 0925H,'S' DIS1 0926H,'H' DIS1 0927H,'I' DIS1 092AH,'H' DIS1 092BH,'A' DIS1 092CH,'O&#

10、39; DIS 0B1BH,'' DIS 0B1DH,'' DIS 0B1FH,'' DIS 0B21H,'' DIS 0B23H,'' DIS 0B25H,'' DIS 0B27H,'' DIS 0B29H,'' DIS 0B2BH,'' DIS 0B2DH,'' DIS 0B2FH,'' DIS 0B31H,'' DIS 0B33H,'' DIS 121BH,'' DI

11、S 121DH,'' DIS 121FH,'' DIS 1221H,'' DIS 1223H,'' DIS 1225H,'' DIS 1227H,'' DIS 1229H,'' DIS 122BH,'' DIS 122DH,'' DIS 122FH,'' DIS 1231H,'' DIS 1233H,'' DIS 0C1BH,'' DIS 0D1BH,'' DIS 0E1B

12、H,'' DIS 0F1BH,'' DIS 101BH,'' DIS 111BH,'' DIS 0C33H,'' DIS 0D33H,'' DIS 0E33H,'' DIS 0F33H,'' DIS 1033H,'' DIS 1133H,'' DIS 081FH,'' DIS 091EH,'' DIS 0A1DH,'' DIS 082FH,'' DIS 0930H,'

13、;' DIS 0A31H,''DIS 0721H,'' DIS 0723H,'' DIS 0725H,'' DIS 0727H,'' DIS 0729H,'' DIS 072BH,'' DIS 072DH,'' ;显示边框结束 POP DX POP AX POP CX YU: MOV AH,2AH ;取日期程序 INT 21H MOV SI,13 MOV AX,CX MOV BX,100 DIV BL MOV BL,AH CALL ASC1 ;日期数值转换成相

14、应的ASCII码字符 MOV AL,BL CALL ASC1 INC SI MOV AL,DH CALL ASC1 INC SI MOV AL,DL CALL ASC1 MOV BP,OFFSET DBUFFER1 ;在屏幕上显示日期 MOV DX,0D1CH MOV CX,23 MOV BX,003CH MOV AX,1300H INT 10H MOV SI,13 MOV BX,100 DIV BL MOV AH,2CH ;取时间程序 INT 21H MOV AL,CH CALL ASC ;将时间数值转换成ASCII码字符 INC SI MOV AL,CL CALL ASC INC SI M

15、OV AL,DH CALL ASC MOV BP,OFFSET DBUFFER ;将时间显示在屏幕上 MOV DX,0F1CH MOV CX,23 MOV BX,003CH MOV AX,1300H INT 10H MOV AH,2AH ;显示星期几程序 INT 21H CMP AL,01 JNE Y1 MOV BP,OFFSET T1 JMP YY1: CMP AL,02 JNE Y2 MOV BP,OFFSET T2 JMP YY2: CMP AL,03 JNE Y3 MOV BP,OFFSET T3 JMP YY3: CMP AL,04 JNE Y4 MOV BP,OFFSET T4 J

16、MP YY4: CMP AL,05 JNE Y5 MOV BP,OFFSET T5 JMP YY5: CMP AL,06 JNE Y6 MOV BP,OFFSET T6 JMP YY6: MOV BP, OFFSET T7 Y: MOV DX,0E1CH ;将星期几显示在屏幕上 MOV CX,23 MOV BX,003CH MOV AX,1300H INT 10HNT: MOV BP,OFFSET MAKER ;显示本程序的制作人员 MOV DX,111CH MOV CX,23 MOV BX,003CH MOV AX,1300H INT 10H MOV BP,OFFSET SPACE MOV

17、DX,0C1CH MOV CX,23 MOV BX,003CH MOV AX,1300H INT 10H MOV BP,OFFSET SPACE MOV DX,101CH MOV CX,23 MOV BX,003CH MOV AX,1300H INT 10H JMP YU MOV AH,4CH INT 21HASC PROC NEAR ;时间数值转换成ASCII码字符子程序 PUSH BX CBW MOV BL,10 DIV BL ADD AL,'0' MOV DBUFFERSI,AL INC SI ADD AH,'0' MOV DBUFFERSI,AH INC

18、 SI POP BX RETASC ENDPASC1 PROC NEAR ;日期数值转换成ASCII码字符子程序 PUSH BX CBW MOV BL,10 DIV BL ADD AL,'0' MOV DBUFFER1SI,AL INC SI ADD AH,'0' MOV DBUFFER1SI,AH INC SI POP BX RETASC1 ENDP MOV AH,4CH INT 21HCODE ENDS END START七、程序运行效果图运行程序,自动出现系统日期、时间、星期几及程序的制作人员。 八、心得与体会:这个课程设计主要部分就是调用系统时间和日期的程序,并将其转换为ASCII码,并在屏幕中显示出来。确定了程序主干,在此基础上加上部分子程序。1. 首先编写程序的主干部分。2. 然后,添加子程序将程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论