1 / 21
文档名称:

表盘式时钟汇编原代码.doc

格式:doc   页数:21
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

表盘式时钟汇编原代码.doc

上传人:janny 2011/5/12 文件大小:0 KB

下载得到文件列表

表盘式时钟汇编原代码.doc

文档介绍

文档介绍:汇编语言课程设计

指针式屏显
电子钟设计
姓名刘尊惠
学号 02045039
班级计022班

1 在屏幕上显示一个适当大小的圆形,再圆形道上均匀的分配着60个点,代表1秒—60秒的位置,凡是5倍的点应当比其他的大。
2 以圆中心为轴,画一条斜线代表秒针,采用定时中断方式,每过1秒钟,秒针移动一个位置。
3 定时源可以使用试验箱上的8253。
4 按“ESC”之后,结束演示。
二. 扩展要求
屏幕上显示时、分、秒针,没有使用中断定时方式,采用的是系统实时时间。
三. 课设基本思想
屏幕设置为图形方式,采用模块化编程,主模块显示界面信息,每个子模块负责一个功能,然后通过模块调用来实现。
首先调用画圆及画线子模块显示圆形表盘,及时、分、秒针,然后调用秒针移动子模块式电子钟能够运行。
在秒针移动子模块中,首先通过cos和sin两个功能模块来确定秒针移动的度数,其次分别对秒、分、时进行擦除重写操作,再分别对表盘及圆心进行刷新,这样就实现了时、分、秒针的动态变化。
四. 程序流程图
开始
显示信息
调用画线子模块画出时分秒针
调用系统实时时钟显示
模块Clk显示系统时间
调用擦除、重写及角度确
定子模块进行指针移动
调用renovate及enovate
进行表盘及圆心的刷新
接收键盘字符
是否为q
结束
Y
N

:
* ********堆栈段*********
.286;******************************************************
STACK_SEG SEGMENT STACK
STACK_BUF DW 120 DUP(?)
TOP EQU $-STACK_BUF
STACK_SEG ENDS
;********** 数据段**********
DATA_SEG SEGMENT PARA
quitbuf DB 0ah,0dh,0ah,0dh, ' e to use this programme! sigle DB 80h
absx DW 0
absy DW 0
sut DW 0
erroybz DB 0
r0 DW 90
x0 DW 320
y0 DW 245
count0 db 0
count_hour DB 11
count_minute DB 11
yuanxinx DW 0
yuanxiny DW 0
s DB 0
s2 DB 0
s3 DB 0
hour DW 0
hour2 DW 0
minute DW 0
minute2 DW 0
second DB 0
second2 DB 0
sin_x DW 0
sin_xx DW 0
x DW 0
y DW 0
x1 DW 0
xminy DW 0
yminx DW 0
xmax DW 0
ymax DW 0
ymin DW 0
xmin DW 0
sjx_xminy DW 0
sjx_yminx DW 0
sjx_xmax DW 0
sjx_ymax DW 0
sjx_ymin DW 0
sjx_xmin DW 0
yuanx DW 0
yuany DW 0
y1 DW 0
x2 DW 0
y2 DW 0
x3 DW 0
y3 DW 0
DIancolor DB 0
color DB 2
color_hour DB 2
color_min DB 6
color_second DB 9
color4 DB 10
color5 DB 11
color6 DB 12
backgroundcolor DB 1
page1 DB 0
y2y1 DW 0
x2x1 DW 0
sjx_y2y1 DW 0
sjx_x2x1 DW 0
DATA_SEG ENDS
;* *********代码段**********
CODE_SEG SEGMENT PARA
MAIN PROC FAR
ASSUME CS:CODE_SEG,DS:DATA_SEG
ASSUME SS:STACK_SEG
START:
MOV AX,STACK_SEG
MOV SS,AX
MOV SP,TOP
MOV AX,DATA_SEG
MOV DS,AX
beg:
MOV AX,0012h ;显示欢迎信息
INT 10h
MOV DX,0010h
CALL b1002
LEA BP,qui