计原实验报告51
需积分: 0 108 浏览量
更新于2022-08-04
收藏 315KB PDF 举报
实验报告“计原实验报告51”主要涵盖了串行通信的知识点,重点在于复习8250工作原理以及如何利用DOS和BIOS功能调用来编写I/O程序。以下是相关知识的详细说明:
1. **8250工作原理**:
8250是一种通用异步接收/发送器(UART),常用于串行通信接口,如COM1或COM2。它能够将串行数据转换为并行数据,反之亦然。在设置1200波特率、8位数据位、1位停止位和奇校验的情况下,8250能处理数据传输。其中,波特率由分频器决定,通过设置特定寄存器的值来设定。8250还支持中断机制,当接收或发送缓冲区满或空时,可以触发硬中断通知CPU。
2. **DOS和BIOS功能调用**:
在DOS环境下,程序员可以通过调用INT 21H中断来实现与操作系统交互,包括读写硬件设备、处理用户输入等。在实验中,INT 21H被用来接收键盘输入并显示字符。同时,BIOS(基本输入输出系统)功能调用提供了一种更底层的硬件访问方式,可以用来初始化和控制I/O设备,如串行端口。
3. **串行通信**:
串行通信是指数据一位接一位地传输,与并行通信相比,串行通信通常需要更少的物理线路,但速度较慢。在实验中,8250被配置为自检模式,这意味着发送的数据会被同一个设备接收,以验证通信链路是否正常。实验还涉及到了两台计算机之间的查询式通信,即每台计算机都不断地检查是否接收到数据,并在接收到数据后立即响应。
4. **实验任务**:
- **必做任务1**:在自检模式下,程序会接收键盘输入的字符,并通过8250发送出去,再接收回来并在屏幕上显示。直到用户输入空格为止。
- **必做任务2**:扩展到两台计算机的通信,每一台都能接收另一台的输入并显示在自己的显示器上,同样以空格作为退出信号。
- **选做任务**:实现字符串的传输。当用户输入"S",则将本地存储的字符串发送给另一台计算机显示;输入"R"则接收对方的字符串并显示。
5. **实验程序结构**:
程序采用模块化设计,分为主功能块、串行接收和发送功能块、键盘管理功能块。每个功能块都有特定的职责,比如主功能块负责调度,检测串口活动和键盘输入;串行接收和发送功能块处理数据传输;键盘管理功能块处理用户输入,判断字符有效性。
6. **汇编语言编程**:
实验中使用的汇编语言源程序需要清晰地注释,以便在实验过程中进行调整和修改。汇编语言代码会直接操作8250的寄存器,如设置波特率和控制位,以及使用中断处理程序来响应8250的中断请求。
通过这个实验,学生不仅复习了8250 UART的工作原理,还掌握了如何在DOS和BIOS环境下编写I/O程序,以及串行通信的基本概念和技术。这些知识对于理解底层硬件通信和嵌入式系统的开发至关重要。
邢小鹏
- 粉丝: 34
- 资源: 327
最新资源
- 基于STM32的智能家居系统全部资料+详细文档+优秀项目.zip
- 基于阿里云的智能家居控制APP全部资料+详细文档+优秀项目.zip
- 基于stm32智能家居项目全部资料+详细文档+优秀项目.zip
- 基于安卓与STM32通信硬件开发项目,实现安卓端控制家庭灯,窗帘,门,有毒有害其他报警等,全部资料+详细文档+优秀项目.zip
- 基于安卓的智能家居项目源码,通过Zigbee网络控制采集家居设备实现管理功能、全部资料+详细文档+优秀项目.zip
- 基于从零开始打造一个智能家居系统全部资料+详细文档+优秀项目.zip
- 基于单片机课程实践——智能家居系统(安卓端)全部资料+详细文档+优秀项目.zip
- 基于机智云平台打造的物联网智能家居一体化智能App、全部资料+详细文档+优秀项目.zip
- 基于电力线载波智能家居控制系统全部资料+详细文档+优秀项目.zip
- 基于使用Qt制作的智能家居上位机全部资料+详细文档+优秀项目.zip
- 基于使用“树莓派+Django+bootstrap”搭建的智能家居监控系统全部资料+详细文档+优秀项目.zip
- 基于米家智能门锁接入开源智能家居系统全部资料+详细文档+优秀项目.zip
- 基于使用STM32、ESP8266、微信小程序搭建的MQTT智能家居全部资料+详细文档+优秀项目.zip
- 基于树莓派Linux智能家居自定义语音助手, 全部资料+详细文档+优秀项目.zip
- 基于天猫精灵智能家居技能对接homeassistant全部资料+详细文档+优秀项目.zip
- 基于一组Python脚本程序,用来控制小米智能家居设备全部资料+详细文档+优秀项目.zip