失落与希望

 本来打算回家来做点事的,至少把最近的实验做出来一两个(最近的实验超多,有:JSP的,微机的,嵌入式的,数据库的,网络管理的,真的五座大山压下来),但今天7点半起来,9点多又睡过,睡到中午起床吃饭。下午是看了下书,但4点钟又睡,睡到5点多,今天算是把汇编浏览了一遍,但好像也没懂多少。其实我想学好汇编的,想学绝影,他就是汇编高手。我也想成为个程序员。今晚在写微机的实验的代码,其实下个星期实验室应该不会开了,但我仍然想做好这个实验,是关于交通灯的,要利用8255,8253实现发光二极管的定时显示,倒数的时间要用七段数码管显示(30-00)。其实我想了很久还没做出来,原因是:自己基础比较差。以前不够努力,基本功不扎实。现在也不算晚,现在来学虽然有点紧张,但勤能补拙,我相信我可以的!

微机的代码:(未完成)(以备将来自己有个印象)

data segment
ioport  equ 0c400h-0280h
io8255_a  equ ioport+288h
io8255_c  equ ioport+28ah 
io8255_con  equ ioport+28bh
io8253_0  equ ioport+280h
io8253_1  equ ioport+281h
io8253_con  equ ioport+283h
portc1  db  24h,44h,04h,44h,04h,44h,04h   ;六个灯可能
 db  81h,82h,80h,82h,80h,82h,80h   ;的状态数据
 db  0ffh                          ;结束标志
 ;44h and 82h are yellow light
 num db 0,0
 led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码
 bz dw ?
data ends
code  segment
 assume  cs:code,ds:data
start:
 mov ax,data
 mov ds,ax
 mov dx,io8255_con
 mov al,80h ;1000 0000,设置8255 C口,A口输出
 out dx,al
re_on:
 mov dx,io8255_c
 mov bx,0
on:
 mov al,portc1[bx]
 cmp al,0ffh
 jz re_on
 out dx,al ;light up
 inc bx
 mov cx,5
 test al,21h ;if green light up?
 jz  delay_1s  ;no,means all yellow, go to short delay
 mov cx,30
delay_1s:  ;产生1秒
 mov dx,io8253_con     ;向8253写控制字
 mov al,36h       ;使0通道为工作方式3, 00 11 011 0
 out dx,al
 mov ax,1000      ;写入循环计数初值1000
 mov dx,io8253_1
 out dx,al        ;先写入低字节
 mov al,ah
 out dx,al        ;后写入高字节
 mov dx,io8253_con
 mov al,70h       ;设8253通道1工作方式0,01 11 000 0
 out dx,al
 mov ax,1000      ;写入循环计数初值1000
 mov dx,io8253_1
 out dx,al        ;先写低字节
    mov al,ah
 out dx,al        ;后写高字节
 call digit_show
 loop delay_1s
digit_show proc near
 push dx
 ;显示数码管倒数
 pop dx
 ret
exit:
 mov ah,4ch
 int 21h
 delay endp
code ends
 end start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值