1、 课课 程程 设设 计计 课程名称_接口与通信 _ 题目名称_两机通讯 _ 学生学院_计算机学院_ 专业班级_计科 4 班 _ 学 号_3108006589_ 2011 年 1 月 12 日 一一. . 课程设计的内容课程设计的内容 设计一套系统,要求能在两台计算机之间以中断方式和查询方式实现串行通信, 数据可以采用 ASCII 字符方式和二进制方式传送 二二相关技术相关技术: 利用 8250 可编程异步通信接口实现两台 PC 机的数据传送。 用 C 语言的编程,实现对 PC 机的 8250 的寄存器寻址,以及对其控制字的初始 化, 实现发送字符和文件的功能。 对通信线路控制寄存器 (端口地址
2、 3F8H/2F8H) 的初始化,实现控制发送的方式,对可编程波特率发生器( 3F9H,3F8H 或者 2F9H,2F8H )的设置可以自由调节波特率,调节发送的速率。对中断允许寄存 器(3F9H/2F9H,且 DLAB = 0)的设置可以用中断的方式来控制数据的发送。 各个寄存器的数据位所代表的意思如下: 通信线路控制寄存器(端口地址 3F8H/2F8H ) 可编程波特率发生器( 3F9H,3F8H 或者 2F9H,2F8H ) DLAB = 1 时,向 3F9H/2F9H(高八位) ,3F8H/2F8H(低八位)写入-16 位数,即可对 1.8432Mhz 的时钟分频,使得串行口的波特率。
3、 公式为:波特率 = 1843200 (分频值 16) 输入频率输入频率 1.8432MHz1.8432MHz 波特率分频器H分频器L 600 00HC0H 1200 00H60H 1800 00H40H 2000 00H3AH 2400 00H30H 3600 00H20H 4800 00H18H 7200 00H10H 9600 00H0CH 19200 00H03H 中断允许寄存器(3F9H/2F9H,且 DLAB = 0) MODEM 控制寄存器(3FCH/2FCH) MODEM 状态寄存器(3FEH/2FEH) 连接说明: 芯 RS232C 的零 MODEM 的连接方法如下: 1.
4、引脚 1:CD,载体检测 2. 引脚 2:RXD,接受数据 3. 引脚 3:TXD,发送数据 4. 引脚 4:DTR,终端准备好 5. 引脚 5:终端准备好 6. 引脚 6:DSR,MODEM 准备好 7. 引脚 7:RTS,请求发送 8. 引脚 8:CTS,清除发送 9. 引脚 9:RI,响铃指示 三三. . 方案设计方案设计 程序流程图: 四四. . 实现与测试实现与测试 1、程序的源代码如下: #include #include #include #include #include #define IRQ4 0x0c void interrupt far Interrupt_Receive(void); /* */ void interrupt (*oldIrq4)(void); /*IRQ4 */ FILE *fp; int flag=1; /*FL