| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 559 人关注过本帖
标题:串口问题请求解答
只看楼主 加入收藏
mawenxi
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-6-18
收藏
 问题点数:0 回复次数:2 
串口问题请求解答
当串口的数据缓冲区里有数据的时候,就会通知CPU来取数据,想问一下,这里的通知CPU是指8251A芯片给CPU的中断信号吗?
还有就是中断处理是谁来执行?是操作系统来执行还是应用程序来执行?我看过好些关于串口的程序,当串口过来的字节超过几十个字节的时候取一次数据,但是8251A芯片的数据缓冲区只有3个字节,不知道是怎么回事?
搜索更多相关主题的帖子: 串口 请求 解答 
2007-06-21 10:32
system32
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:58
帖 子:3096
专家分:0
注 册:2006-9-24
收藏
得分:0 

看看这个对你有用没,这个数字电路的知识不太懂!

使用8251A的串行接口应用实验(一) 分类:默认栏目 使用8251A的串行接口应用实验(一)

1、实验目的

掌握用8251A接口芯片实现微机间的同步和异步通信。

掌握8251A芯片与微机的接口技术和编程方法。

使用8251A的串行接口应用实验(一)内容

2、实验内容
8251A的片选地址为050~05F,8251A的C/D接A0, 因此,8251A的数据口地址为050H,命令/状态口地址是051H,8251A的CLK 接系统时钟的2分频输出PCLK(2.385MHZ),图中接收时钟RXC和发送时钟TXC连在一 起接到8253A的OUT1,8253A的OUT1输出频率不小于79.5KHZ。
本实验采用8251A异步方式发送,波特率为9600,因此8251A发送器时钟输入端TXC输入一个153.6KHZ的时钟(9600×16)。这个时钟就有8253A的 OUT1产生。8253A的CLK1接1.8432MHZ,它的12分频正好是153.6KHZ。故8253A计数器1设置为工作方式3 --方波频率发生,其计数初值为000CH。

本实验发送字符的总长度为11位(1个起始位(0),8个数据位(D0在前),1个奇偶校验位,1个停止位(1),采用偶校验,发送数据为55H,反复发送,以便用示波器观察发送端TXD的波形。用查询8251A状态字的第0位(TXRDY)来判断1 个数据是否发送完毕, 当TXRDY=1时,发送数据缓冲器空。

3、实验步骤
(1) 运行实验程序
在系统显示"DVCC- 86H"状态下,按任意键,系统显示命令提示符"-"。
按GO键,显示器显示"1000 XX"
输入F000 : B400
按EXEC键,显示器显示"8251-1"

用示波器探头测TXD波形,以判断起始位、数据位、 偶校验位以及停止位的位置。
注:本实验只在单机状态下做。

4、程序代码:

CODE SEGMENT
ASSUME CS:CODE
CONTPORT EQU 00DFH
DATAPORT EQU 00DEH
SECOPORT EQU 0051H
SEDAPORT EQU 0050H
DATA EQU 0500H

START: JMP SERIAL
SERIAL: CALL FORMAT
MOV SI,DATA
CALL LEDDISP ;DISP 8251-1

WATTXD: MOV DX,SECOPORT
IN AL,DX
TEST AL,01H
JZ WATTXD
MOV AL,55H
MOV DX,SEDAPORT
OUT DX,AL
JMP WATTXD

LEDDISP:MOV AL,90H
MOV DX,CONTPORT
OUT DX,AL
MOV BYTE PTR DS:[0600H],00
LED1: CMP BYTE PTR DS:[0600H],07H
JA LED2
MOV BL,DS:[0600H]
MOV BH,0H
MOV AL,CS:[BX+SI]
MOV DX,DATAPORT
OUT DX,AL
ADD BYTE PTR DS:[0600H],01H
JNZ LED1
LED2: RET

FORMAT: MOV BX,0
MOV WORD PTR DS:[BX+0500H],4006H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],4040H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],6D06H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],7F5BH
RET
CODE ENDS
END START



[glow=200,blue,1]世界上妞是无限的,而我们的精力是有限的,用有限去搞无限,死定了。要用有限的精力去泡一个有钱妞,要发达,吃软饭![/glow]
2007-06-21 18:42
system32
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:58
帖 子:3096
专家分:0
注 册:2006-9-24
收藏
得分:0 
这里比较详细,你看看吧
http://china-weina.blog.hexun.com/4954517_d.html

[glow=200,blue,1]世界上妞是无限的,而我们的精力是有限的,用有限去搞无限,死定了。要用有限的精力去泡一个有钱妞,要发达,吃软饭![/glow]
2007-06-21 18:44
快速回复:串口问题请求解答
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012732 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved