电子时钟汇编语言:
name: electronic clock
data segment
mess1 dbasm assignment0ah,0dh
db ' 0ah,0dh
dbelectronic clock0ah,0dh
db ' 0ah,0dh
db ' 0ah,0dh
dbpress c or c to correct the time0ah,0dh
db ' 0ah,0dh
dbpress esc button to exit0ah,0dh,'$
tn db 'please input the new time (hh:mm:ss):'0dh,0ah,'$
mess2 dbtime is:',0ah,0dh,'$
t_buff db 40在数据段开一段时间显示缓冲区。
db ?db 40 dup (?
hor db ?
min db ?
sec db ?
fg db 0
data ends
stack segment
db 100 dup(?)
stack ends
code segment
assume cs:code,ss:stack,ds:data ;确定各个逻辑段的类型。
start:
call clear调用清屏子程序。
display: ;时间显示部分。
mov ax,data
mov ds,ax
mov bx,offset t_buff ;送t_buff的偏移地址到bx
mov ah,2ch调用dos时间调用功能,功能号:2ch,小时,分钟,秒数分别保存在ch,cl,dh中。
int 21h
mov al,ch小时数设定。
mov ah,0
call bctd调用进制转换子程序。
push ax
and al,0f0h选取al高四位。
mov cl,4设置右循环的次数。
rol al,cl右循环。
or al,30h加30h得到acsii码。
mov [bx],al将得到的结果送到t_buff缓冲区。
inc bxbx自加1,指针指向下一个缓冲区的下一个地址。
pop ax
and al,0fh选取低四位。
or al,30h
mov [bx],al将转换后的低四位值送入缓冲区的第二个地址。
inc bx
mov al,':显示分隔符号。
mov [bx],al
inc bx
mov ah,2ch
int 21h
mov al,cl分钟数设定。
mov ah,0
call bctd
push ax
and al,0f0h
mov cl,4
rol al,cl
or al,30h
mov [bx],al
inc bx
pop ax
and al,0fh
or al,30h
mov [bx],al
inc bx
mov al显示分隔符号。
mov [bx],al
inc bx
mov ah,2ch秒设定。
int 21h
mov al,dh
mov ah,0
call bctd
push ax
and al,0f0h
mov cl,4
rol al,cl
or al,30h
mov [bx],al
inc bx
pop ax
and al,0fh
or al,30h
mov [bx],al
inc bx
mov al将字符串的结束位送至显示缓冲区的最后一位。
mov [bx],al
push bx ;置光标位置 ,ah=2,bh=0,dh跟dl分别为行号与列号,并入栈保护bx
mov ah,2
mov bh,0
mov dh,17
mov dl,41
int 10h
pop bx
lea dx,t_buff ;送t_buff偏移地址到dx,并调用dos显示功能,功能号为9
mov ah,9
int 21h
push bx ;置光标位置。
mov ah,2
mov bh,0
mov dh,0
mov dl,0
int 10h
pop bx
lea dx,mess1
mov ah,9
int 21h
push bx ;置光标位置。
mov ah,2
mov bh,0
mov dh,17
mov dl,21
int 10h
pop bx
lea dx,mess2
mov ah,9
int 21h
call delay1
mov ah,1调用键盘i/o中断功能号1,获取键值到al
int 16h
cmp al,'c是c键,转到时间修改程序。
je cor
cmp al,'c是c键,转到时间修改程序
je cor
cmp al,1bh
jz quit是esc键,退出程序。
jmp display
quit:mov ah,4ch ;程序终止功能号。
int 21h
retcor: call correct ;调用时间修改子程序。
bctd proc near二进制转bcd码子程序。
ax输入参数。
ax输出参数,存放调整过的bcd码。
mov dx,ax
mov ax,0
mov cx,16 ;设循环次数。
bctd1:
clc清进位标志c
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...