您现在的位置是:主页 > 光电 > 其他光电实用电路图 >
单片机与计算机串行通信的心得体会-其他光电实用电路图
发布时间:2022-10-01 17:02:51所属栏目:其他光电实用电路图 已帮助人编辑作者:电路图知识网
很多单片机教材里提到了单片机和计算机串口通信的硬件和软件设计,给出了如右图所示的最简单的三线连接电路和BIOSINT14H的应用。笔者按照教材所述的方法进行了实验,但未成功。通过实验,发现在简单的三线连接电路中,INT14H不能用来通信,无法发送和接收。下面详细给出笔者采用的能实现通信的方法,供参考。
一、计算机串口编程
PC/XT计算机串口的核心是通用异步接收/发送器8250。附表是计算机串口的系统地址和8250内部寄存器的对应关系。DLAB(除数寄存器访问控制位)是通信线控制寄存器的D7位,当该位为1时,对地址3F8H(2F8H)、3F9H(2F9H)的读写是针对除数寄存器的,在此用途之外应使该位置0;接收缓冲器和发送保持寄存器的地址相同,由读写信号区分。
寄存器可以分为3类。发送保持寄存器和接收缓冲器用于暂存待发送数据或接收到的数据;通信线控制寄存器、除数寄存器、MODEM控制寄存器、中断允许寄存器用于设置和控制串口;通信线状态寄存器、MODEM状态寄存器、中断识别寄存器用来反映串口当前的状态。有关寄存器的设置,请读者查阅相关资料。
8250的初始化编程步骤如下:
1.将80H送通信线控制寄存器3FB(2FBH),使DLAB=1。
2.将分频系数送入除数寄存器,确定波特率3F9H(2F9H)、3F8H(2F8H)。
3.把D7=0的命令字送入通信线控制寄存器,确定一帧数据格式。
4.将中断允许命令字送中断允许寄存器3F9H(2F9H)。查询方式时为0H。
5.设置MODEM控制寄存器3FCH(2FCH),查询方式时D3=0,中断方式时D3=1,以允许8250送出中断请求。正常收发时应使D4=0,内环自检时使D4=1。
二、INT14H功能调用
INT14H功能调用的子功能如下:
功能号00H为初始化串口;
功能号01H为向串口写数据;
功能号02H为从串口读数据;
功能号03H为读取串口状态。
在C语言中,可以使用int86()等函数设置寄存器变量后,直接使用上述功能调用,但最简单的方法是用bioscom()函数,它的函数说明是intbioscom(iNTCmd,charabyte,intport)。其中,cmd是子功能号,abyte是初始化参数或待发送的字符,port是串口号。Cmd取0、1、2、3时,bioscom()的功能分别和INT14H的00H、01H、02H、03H子功能对应。无论cmd取何值,返回值的高8位对应INT14H出口参数中的AH,低8位对应AL。当cmd=0时,abyte为初始化参数;当cmd=1时,abyte是待发送数据;当cmd=2时,返回值的低8位是所接收到的数据;当cmd取1或2时,返回值的最高位为0,表示成功,否则失败;当cmd=3时,返回值为串口状态,高8位为通信线状态,低8位为MODEM状态。
Tags:
相关文章
其他光电实用电路图相关资讯
由NE555、CD4017组成的节-其他光电实用电路图
庭院太阳能照明灯电路-其他光电实用电路图
基于定位系统基准频率源的设计与制作-其他光电实用电路图
采用TDA4605-2制作的开关电源-其他光电实用电路图
用μPC1366提高收音机灵敏度-其他光电实用电路图
选择性去桥连技术提高焊接成品率-其他光电实用电路图
对讲机发射功率测试笔的制作-其他光电实用电路图
用PROG-110设计制作的多媒体投影机自动控制器-其他光电实用电路图
选频声控开关电路设计与分析-其他光电实用电路图
微波多层板反钻孔之金属化孔互连-其他光电实用电路图
电子扩音机安装后的电压检测与调整-其他光电实用电路图
用6N7P电子管制作的单端功率放大器-其他光电实用电路图
卡拉OK人声增效电路-其他光电实用电路图
用分立元件制作的耳聋助听器-其他光电实用电路图
9800系列UHF发射单元的制作方法-其他光电实用电路图