找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4197|回复: 2
打印 上一主题 下一主题
收起左侧

请帮我看下这个程序,谢谢

[复制链接]
跳转到指定楼层
楼主
ID:31665 发表于 2011-9-22 17:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

请帮我看下,另外具体怎么连接啊,我不太懂,要是帮我画个连接图就好了,我们硬件课程设计。 要求顺序点亮led灯,并用数码管显示哪个灯点亮,开关模拟故障,有故障时红外报警灯亮,中断执行,并显示哪个灯出现故障,故障排除继续,我不太会,谢谢大家了。

CONTROL EQU 20BH
COUNT0 EQU 208H
COUNT1 EQU 209H
COUNT2 EQU 20AH ;8253端口地址
code segment
assume cs:code,ds:data
data segment
SUM DB 1 DUP(?)
lksign DB 1 DUP(?)
data ends
start:
MOV AL, 00110111B ; 计数器0,16位,先读/写低字节,后高字节,方式3,BCD
MOV DX, CONTROL
OUT DX, AL
MOV Al, 00H 
MOV DX, COUNT0
OUT DX, AL ; 计数器低字节
MOV AL, 50H
OUT DX, AL ; 计数器高字节
MOV AL, 01110111B ; 计数器1,16位,先读/写低字节,后高字节,方式3,BCD
MOV DX, CONTROL
OUT DX, AL
MOV AL, 00H
MOV DX, COUNT1
OUT DX, AL ; 计数器低字节
MOV AL, 04H
OUT DX, AL ; 计数器高字节
; 定时初始设置
mov al,10010000b
mov dx,203h
out dx,al ;初始化8255
mov SUM,00H ;设定计数初值,此值可以改动
MOV AL,0FEH
MOV BL,0FEH
lp: ;计时累加模块,查看8255端口的信号,
call lok
call lok
MOV AL,BL
MOV DX,201H
OUT DX,AL
SHL AL,01H
MOV BL,AL

inc SUM

push ax
push bx
push dx 
call show ;调用显示程序
pop dx
pop bx
pop ax
cmp SUM,08H
jnz lp
lok proc near
lk: 
mov dx,200h 
in al,dx ;读入8255a口的值
and al,10000000b ;开关K7接入PA7,按下后时钟暂停
cmp al,10000000b
jnz lk

mov dx,200h 
in al,dx
and al,10000001b ;检测PA0 时钟信号,是否到一秒了
cmp al,lksign
jz lk
mov lksign,al
ret
lok endp


show proc near
mov dx,212h
mov al,0
out dx,al
mov al,38h
out dx,al;初始化8279
mov dx,210h
mov al,0
out dx,al
out dx,al
out dx,al
out dx,al
out dx,al
out dx,al
out dx,al
out dx,al;熄灭8279
mov al,SUM
mov ah,0
mov dl,10
div dl
mov bl,ah;将余数(即秒的个位)放在BL中
mov bh,al;将商(即秒的十位)放在BH中
call trans;调用8279显示秒的个位
mov bl,bh
call trans;调用8279显示秒的十位
call trans
call trans
mov dx,212h
mov al,0c2h;清空8279缓存
out dx,al
mov al,cl
ret
show endp
trans proc near;数码管显示程序
one:
cmp bl,1
jnz two
mov al,00000110b
two:
cmp bl,2
jnz tri
mov al,01011011b
tri:
cmp bl,3
jnz for
mov al,01001111b
for:
cmp bl,4
jnz fiv
mov al,01100110b
fiv:
cmp bl,5
jnz six
mov al,01101101b
six:
cmp bl,6
jnz sev
mov al,01111101b
sev:
cmp bl,7
jnz eit
mov al,00000111b
eit:
cmp bl,8
jnz nin
mov al,01111111b
nin:
cmp bl,9
jnz zro
mov al,01101111b
zro:
cmp bl,0
jnz shw
mov al,00111111b
shw:
mov dx,210h
out dx,al
ret
trans endp





CODE ENDS 
END START
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:31672 发表于 2011-9-22 19:25 | 只看该作者

汇编、、、表示看不懂 我学C的。。。

回复

使用道具 举报

板凳
ID:31873 发表于 2011-9-30 01:21 | 只看该作者
不是51程序吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表