开始 初始化8253(定时器0,方式3,BCD码计数,CLK0/26) 初始化8251 接收10个字节数据子程序 将接收到的10个字节数据通过8251发送给微机
初始化8251:
开始 复位8251 波特率系数为16,8个数据位,一个停止位,偶校验 允许接收和发送数据 清错误标志 返回
接收10个字节数据子程序:
开始 读入状态 发送了10个字节数据子程序:
开始 读入状态 N 有数据 N 有数据 Y 读数据->缓冲区 Y 发送 N 接收了10个字节数据 N 发送了10个字节数据 Y 返回 Y 返回
3、运行程序 4、运行“串口助手(ComPort.EXE)”,设置串口(波特率4800,8个数据位,一个停止位,偶校验),打开串口,选择“HEX发送”、“HEX显示”,向8251发送10个字节数据(输入数据之间用空格分隔),是否能接收到10个字节数据,接收到的数据是否与发送数据一致。
5、改变传输数据的数目,重复实验,观察结果。
26
六、实验扩展及思考
1、请读者思考,如何修改程序实现8251的自发自收功能? 2、8251 与8250有何区别?
27