单片机课程设计

发布 2022-10-04 20:51:28 阅读 8435

电子时钟汇编语言:

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 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...