欢迎来到天天文库
浏览记录
ID:51961904
大小:2.85 MB
页数:78页
时间:2020-03-26
《计算机控制实验课(邵长友).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机控制技术实验邵长友实验一、串口通信实验一、实验目的:1.认识串口在控制中的应用2.学会用C语言给串口编程二、实验器材:PC机、串口线三、实验内容:用C语言编程实现两个PC机之间的串行通信实验一、串口通信实验一、认识串口在PC机上,有各种各样的接头,其中有两个9针的接头区,见这就是串行通信端口。PC机上的串行接口有多个名称:232口、串口、通信口、COM口、异步口等。实验一、串口通信实验相关知识一、认识串口实验一、串口通信实验一、认识串口1.查看设备信息进入Windows“我的电脑”系统属性,在“设备管理器”列表中有端口COM和LPT设
2、备信息,如图所示。实验一、串口通信实验一、认识串口RS-232-C标准:信号电平标准:逻辑“1”:-15V~-5V逻辑“0”:+5V~+15V实验一、串口通信实验RS-232-C控制信号的定义1659CD:载波检测1RxD:接收数据2TxD:发送数据3DTR:数据终端就绪4GND:地线5DSR:数据设备就绪6RTS:请求发送7CTS:清除发送8RI:振铃指示9外部设备DCE主机DTE实验一、串口通信实验一、认识串口二、实验(1)用串口调试助手实现两个PC之间的通信(2)用C语言编程实现两个PC之间的通信三、编写程序实现PC和单片机之间的串行
3、通信(单片机程序)实验一、串口通信实验PC机中的串行口资源默认配置COMxI/O端口地址中断号COM13F8~3FFhIRQ4COM22F8~2FFhIRQ3COM33E8~3EFhIRQ4*COM42E8~2EFhIRQ3*编程知识编程知识COM1COM2DLAB寄存器名称及作用3F8H2F8H0写发送保持寄存器3F8H2F8H0读接收数据寄存器3F8H2F8H1写入波特率因子LSB3F9H2F9H1写入波特率因子MSB3F9H2F9H0写中断允许寄存器3FAH2FAH写中断标识寄存器3FBH2FBH写线路控制寄存器3FCH2FCH写MO
4、DEM控制寄存器3FDH2FDH读线路状态寄存器3FEH2FEH读MODEM状态寄存器DLAB是线路控制寄存器D7位COM1与COM2的I/O端口地址线路状态寄存器(读/写)D0:接收数据就绪。D1:超越错。D2:奇偶校验错。D3:帧格式错。D4:间断错。D5:发送保持寄存器空。D6:发送移位寄存器空。D7:恒为0。接收数据寄存器收到了一个完整的字符,CPU可以读这个数据。出错信息!接口可以接收下一个要发送的字符,CPU可以写数据。编程知识地址:3FDH线路状态寄存器(读/写)D0:接收数据就绪。D1:超越错。D2:奇偶校验错。D3:帧格式
5、错。D4:间断错。D5:发送保持寄存器空。D6:发送移位寄存器空。D7:恒为0。接收数据寄存器收到了一个完整的字符,CPU可以读这个数据。出错信息!可以接收下一个要发送的字符,CPU可以写数据。编程知识地址:3FDHTurboC的串口通信函数intbioscom(intcmd,charbyte,intport);cmd=0:设置通讯参数byte的值1:把字符按字节送到通讯线上2:从通讯线上接收一个字符3:返回通讯端口的状态port=0:COM1;port=1:COM2初始化串口byte值是下列各位的组合0x027个数据位0x038个数据位0
6、x00110波特率0x20150波特率0x40300波特率0x60600波特率0x801200波特率0xa02400波特率0xc04800波特率0xe09600波特率0x001个停止位0x042个停止位0x00无校验0x08奇校验0x18偶校验若要求:8位数据位,1个停止位,奇校验,9600波特。byte=0x03
7、0x00
8、0x08
9、0xe0D7D6D5D4D3D2D1D011101011#include#includemain(){inti;bioscom(0,0x83,0);do{i=inportb(0
10、X3fd);if((i&0x1e)!=0)printf("error");else{if((i&0x01)!=0)printf("%c",inportb(0x3f8));}if((i&0x20)!=0)if(kbhit())outportb(0x3f8,getch());}while(1);}初始化串口11200波特,无校验,1位停止位,8个数据位10000011读线路状态寄存器,判断是否有错(D1:超越错D2:奇偶校验错D3:帧格式错D4:间断错)判断接收数据是否就绪读接收数据寄存器,显示字符。判断发送保持寄存器是否空如果有键按下,写发送
11、保持寄存器输出字符。实验二、8254定时器实验一、实验目的:1)掌握8254定时器/计数器的工作原理与编程2)熟悉8259中断控制器的工作原理和使用方法3)掌握硬件中断程序设计的
此文档下载收益归作者所有