串行接口
来源:互联网 发布:网络mc是什么意思 编辑:程序博客网 时间:2024/04/28 19:38
;************************;
;*8251串行通讯(自发自收)*;
;************************;
data segment
io8253a equ 280h
io8253b equ 283h
io8251a equ 2b8h
io8251b equ 2b9h
mes1 db 'you can play a key on the keybord!',0dh,0ah,24h
mes2 dd mes1
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov dx,io8253b ;设置8253计数器0工作方式
mov al,16h
out dx,al
mov dx,io8253a
mov al,52 ;给8253计数器0送初值
out dx,al
mov dx,io8251b ;初始化8251
xor al,al
mov cx,03 ;向8251控制端口送3个0
delay: call out1
loop delay
mov al,40h ;向8251控制端口送40H,使其复位
call out1
mov al,4eh ;设置为1个停止位,8个数据位,波特率因子为16
call out1
mov al,27h ;向8251送控制字允许其发送和接收
call out1
lds dx,mes2 ;显示提示信息
mov ah,09
int 21h
waiti: mov dx,io8251b
in al,dx
test al,01 ;发送是否准备好
jz waiti
mov ah,01 ;是,从键盘上读一字符
int 21h
cmp al,27 ;若为ESC,结束
jz exit
mov dx,io8251a
inc al
out dx,al ;发送
mov cx,40h
s51: loop s51 ;延时
next: mov dx,io8251b
in al,dx
test al,02 ;检查接收是否准备好
jz next ;没有,等待
mov dx,io8251a
in al,dx ;准备好,接收
mov dl,al
mov ah,02 ;将接收到的字符显示在屏幕上
int 21h
jmp waiti
exit: mov ah,4ch ;退出
int 21h
out1 proc near ;向外发送一字节的子程序
out dx,al
push cx
mov cx,40h
gg: loop gg ;延时
pop cx
ret
out1 endp
code ends
end start
- 串行接口
- 串行接口
- 串行接口
- 串行接口
- 串行接口
- 并/串行接口
- 串行通信接口
- 常用串行接口总结
- 21 串行接口封装
- 串行异步通信接口
- 串行接口芯片16550
- 串行通信接口小结
- 串行通信接口
- 硬件串行接口总结
- 串行通信接口小结
- 串行通信接口小结
- 并发串行调用接口
- 串行通信接口SCI
- global.asa问题总结
- windows xp下搭建php网站:IIS+PHP5.3.4+mySql5.0
- VC++动态链接库编程之MFC规则DLL
- Qt: 给Widget设置背景图片
- VC++动态链接库编程之非MFC DLL
- 串行接口
- mfc编写的程序如何在别人机器上运行?
- SharePointzhong中的用户组
- 中断
- 【整理】Linux驱动中,probe函数何时被调用
- java 聊天程序 socket网络编程
- 字符编码简介:ASCII,Unicode,UTF-8,GB2312
- 对java中static的一些理解
- DLL(动态链接库)专题