




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机接口技术实践课程,教师:张全新实验室教师:洪杰,实验内容:双计算机接口通信保护模式中断实验用键盘驱动实验熟悉WDM编程,实验1要求,双计算机接口通信熟悉串行通信原理理解RS-232C串行接口标准和连接方法。掌握16550接口芯片的编程方法,实现双工通信。两台微机之间的串行通信是通过RS-232C电缆连接实现的。(已经连接,不要移动)。异步全双工通信,一次传输一个字符,波特率64,7位数据,1位停止位。沟通双方都采用询问的方式。可用资料:SjtxS.asm微型计算机串行端口地址(实验室教师将解释使用哪个串行端口)数据端口:02F8H(COM2)/03f8H(COM1)命令/状态端口:02FDH(COM2)/03fDH(COM1)。如果本实验中有一个实验盒,实验盒上的8237芯片必须与芯片选择信号随意连接,并且通信双方(相对的两组)的参数设置一致。如果没有实验箱,就没有这样的要求。输入“*”时退出。汇编成exe文件格式。实验报告的要求包括双机通信的接口图。类似于8250的16550编程指令和示例可以被视为增强的8250。16字节的先进先出队列被添加到16550。8250的最大通信速率是19200bps,16550是115200bps。包括初始化部分和操作部分。要初始化16550,需要对两个寄存器进行编程,即线路控制寄存器和分频系数锁存器。假设地址为03fbH,线路控制寄存器(LCR)如图6-27所示。格式:DLSBSTPPESL 1LL 1L 1L 0:数据长度:00-5位;01-6位数字;10-7位数字;11-8位数。停止位数:0-1位;1-1.5位(5位数据)或2位(6、7、8位数据)。ST、p和PE代码的功能如下:001奇数检查101检查位置1111检查位置清零。发送间隔符,由两个逻辑“0”帧组成。DL:当分频因子锁存位(波特率因子)=0时,读/写03f8H端口为数据;将03f9H端口写入中断使能寄存器。当=1时,读/写03f8H端口比分频系数低8位。将03f9H端口写为高于分频系数的8位值。写波特率。当编程线路控制寄存器LCR的D7位DL=1时,下一个写入端口03f8H和03f9H的值是分频因子的16位值,只允许写入较低的8位。例如,当波特率设置为9600时,分频系数=12。如果设置了8位数据,则停止2位,甚至无间隔发送校验,然后线路控制发送LCR=9FH。MOVAL,9FHMOVDX,03fbHOUTDX,AL;初始化LCR,MOVAL,12;8位MOVDX,低小数频率,03f8H。低8位系数端口OUTDX,al;初始化低阶MOVAL,0MOVDX,03f9H。分频系数;高8位系数端口OUTDX,al;注:在两部分初始化完成后,LCR的最高位DL应在读写前清零,即LCR应再次写入。LCR,摩瓦尔,1FH;清除线路控制字MOVDX,03fbH。数字1的“0”;端口地址OUTDX,al;线路控制器被清除,先进先出控制寄存器被编程。初始化线路控制寄存器和分频数后,先进先出控制寄存器也被编程。先进先出控制寄存器的地址是03FAH,先进先出控制寄存器16550的格式是:en:允许先进先出,0-禁止,1-允许。接收器复位,1-复位接收器。发送者重置1-重置发送者。模式控制:0-用作16550UART;1-先进先出模式,RT1RT0:接收器触发值00-1字节触发01-4字节触发10-8字节触发11-14字节触发,例如:设置先进先出许可,接收器复位,发射器复位的控制字为07HMOVAL,07H;与8250、16550一样,先进先出控制字MOVDX、03FAHOUTDX、AL、线路状态寄存器也有一个状态寄存器,称为线路状态寄存器,格式如下:DR:数据就绪,0-无数据接收,1-先进先出。运行经验:超越错误,1-超越错误。对等:奇偶校验错误,1-奇偶校验错误。错误的帧格式,1-错误的帧格式。BI:间隔指示器,收到1个间隔符号。TH:发送器保持寄存器0-发送未完成1-发送完成。变送器为空,1-空。错误标志,1-至少有0查询收发时,必须在收发前查询线路状态,然后才能进行相应的收发操作。例如,发送/接收过程,发送程序:发送:MOVDX,状态端口号;INAL,DX;读取状态TESTAL,20H;发送方准备好JZSENDMOVDX,数据端口号;MOVAL,数据;发送数据OUTDX,AL,接收器:RECV:MOVDX,状态端口号;INAL,DX;读取状态TESTAL,02H。是否收到数据JZRECVTESTAL,0EH;检查3个错误JNZERR;传输处理MOVDX时出错,数据端口号;INAL,DX;在纯DOS环境下读取数据、操作方法、实验(1)键盘输入的数据可以在实验中发送。INT21H用于读取键盘数据,Ah=01H。(2)在实验中,接收到的字符可以送到阴极射线管进行显示。显示器也使用INT21H,Ah=09H。根据实验2的要求,可用材料BhzdS.asm:修改后的源代码可以运行。最终版本操作效果示意图。要求:(1)将以下键盘中断处理程序添加到保护模式的32位代码段:键盘处理程序: INAL、60 HCMPAL、1 JNZNOTESMOVECX、1 NOTESC : INCCBYTEPTRGS :(80 * 170)* 2);屏幕的第1行和第70列。moval,20hout20h,al;发送EOIIretd键盘中断的中断矢量数是21h。在保护模式下,按Esc键返回真实模式。操作方法,在纯DOS下:编辑bhzds . asmmasmbhzds . ASM;linkBhzdS.obj。BhzdS.asm的最终运营结果应与BhzdXg.exe一致。它还可以在模拟的DOS环境中编辑、编译和运行,如DOSBOX(将提供下载)。剂量盒的使用方法在“剂量盒的使用”中有所描述。txt 文件。双击“dosbox.exe”以在windows环境中启动dosbox。实验2报告要求,(1)执行结果(2)程序执行过程的简要描述(其中重要步骤)(3)列出修改源程序的经验材料(4)。实验3需要可用的材料:结口文件夹中的内容。每个部分都解释了实验步骤是在“JieKouExp3.txt”文件中帮助完成的。OSRLoader可以加载、启动和停止驱动程序(。sys文件)。对于不同的系统,有两个版本的OSRLoader _ xposrloader _ 2k。basic _ hardware文件夹用于启动osrloader并选择。sys文件(在basic _ hardware basic _ hardware objchk _ wnet _ x86 i386目录中)。再次按“注册服务”和“开始服务”,您将看到键盘灯持续闪烁。按下“停止服务”后,它不会闪烁。这个文件夹有驱动程序源程序“basic_hardware.c”。功能是演示键盘控制。basic _ keysniff文件夹的功能是启动服务,DebugView.exe,启动OSRLoader,选择。sys文件(在BASIC _ KEYSNIFF BHWIN _ KEYSNIFF OBJCK _ OWNET _ x86 i386目录中),按“注册服务”,按“开始服务”,DebugView.exe将显示其中的一些信息。之后,所有键盘按键的扫描代码都存储在缓冲区中。按下“停止服务”后,DebugView.exe在缓冲区显示键盘的扫描码。该函数用于演示驱动程序使用缓冲区传递字符。驱动程序源代码在“BH win _ key snif . c”中,Ioctl_sample启动OSRLoader,选择。sys文件(ioctl _ sample ioctrlsample bin x86目录),然后按“注册服务”,并按“开始服务”.执行ioctl _ sample ioctrlsample bin x86 ioctrl.exe,选择1,并使用ioctl接口向驱动程序发送数据;选择3从驱动程序接收数据。驱动程序源代码是“驱动程序c”和“本地控制程序c”,功能是演示驱动程序和控制台程序接收和发送数据。最后,基于以上三个示例程序,(1)驱动程序保存键盘的扫描代码,控制台应用程序发送ioctl从驱动程序读取扫描代码。扫描码将被转换成ASCII码并显示。(2)控制台应用程序向驱动程序发送ioctl,要求驱动程序设置键盘灯的状态。文件夹中还有两个程序:sniff.sys、sniffui.exe,其中,sniff.sys是编写完整驱动程序的编译结果,sniffui.exe可以在启动后查看键盘输入字符。该程序的运行效果也是最终要达到的效果。,效果演示方法,启动OSRLoader,选择sniff.sys文件,然后按“注册服务”,按“开始服务”。运行sniffui.exe,选择1,键盘灯保持闪烁。按下Ctrl键退出程序,停止闪烁。运行sniffui.exe,选择2。之后,在其他程序中输入字母和数字,输入的内容将由sniffui.exe显示。驱动程序两种编写方法,使用VC集成编译环境和DDK库,这需要设置VC包含路径和库路径,以及编译参数。编译。用DDK命令行的c文件(进入驱动程序源程序所在的目录后执行build-cef)。要使用的工具/环境,DDK DDK VC,可能出现的问题,由于不同的操作系统版本,如win98、win2000、windowsxp和windowsvista,可能需要更改驱动程序中键盘的中断矢量号。如果设置不正确,您将无法从键盘读取数据或控制。例如,如果不进行修改,就不能演示basic _ keysniff中的效果。此时,search_irq1.txt中的函数可以用来解决这个问题,但是需要将其添加到bhwin_keysniff.c中,并重新转换为. sys文件。irqs.zip包中的工具可能有助于修改中断矢量数。提前下载用于调试的VC和DDK工具包。由于实验室条件有限,DDK是从互联网上下载的,所以不能保证使用DDK。如果调试成功,您可以用自己的机器来证明接受。实验报告,最终的驱动程序源程序(重点是对自己的修改添加注释来解释作用)。调试过程的详细步骤,包括编译过程、命令参数、使用的操作系统版本、键盘矢量数设置等。经验。实验1布置,位置:计算中心203、206。时间:5月31日下午2-6时;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度高端商务车租赁与车联网安全服务集成协议
- 2025年生态环保型厕所除味系统研发与应用合同
- 2025年度航空航天卫星通信设备采购与技术支持协议
- 2025年绿色交通新能源汽车推广与应用合作协议
- 2025年度生物材料研发数据保密及授权使用合同
- CNG运输管道HSE环保设施改造与提升技术服务合同
- 2025年农业节水滴灌系统研发与国内市场推广合作协议
- 2025年绿色住宅区绿化养护与生态修复工程合同
- 2025年糖业转型升级与品牌塑造战略合作框架协议
- 2025年音乐MV主演角色选拔与聘用合同
- 医院科室主任年度目标责任书模板
- 2025年成考考试题目解析及答案
- 2025年足球裁判三级试题及答案
- 2025年特种设备检验检测项目合作计划书
- 安全生产投入费用明细
- 2025年司机三力考试题库及答案
- 2025年甘肃省高考历史试卷真题(含答案解析)
- 奔驰GL350GL450GL550中文版说明书
- 智能微电网应用技术课件
- 光谷华科附小数学试卷
- 学校公文写作培训
评论
0/150
提交评论