MFI讲义D微机接口技术实验(上)

合集下载

微型计算机原理与接口技术实验指导3

微型计算机原理与接口技术实验指导3

实验三数据串传送和查表程序实验目的:通过实验掌握下列知识:1.执行串操作指令前要做哪些准备工作(设置哪些寄存器)?2.串传送、串比较、串扫描等指令及重复前辍REP、REPZ、REPNZ等。

实验内容及步骤:一、利用查表方法把DX的内容(16进制数)转换成ASCII码:1. 用A命令键入下列程序:MOV BX,1000MOV DI,2000MOV CX,4LOP: PUSH CXMOV CL,4ROL DX,CLPOP CXMOV AL,DLAND AL,OFXLATCLDSTOSBLOOP LOPINT 202. 用A命令在1000H处键入下列ASCII码并用D命令检查之:DB `0 1 2 3 4 5 6 7 8 9 A B C D E F'用D命令检查时注意左边的ASCII码值和右边的字符。

3. 用R命令给DX送一个四位的16进制数(例7F8E)。

4. 用T命令逐条运行这程序到LOOP指令处,观察并记录每次运行结果,特别是SP和堆栈内容(用D命令检查)5. 用G命令将此程序运行到结束,并用D命令检查2000H处所转换的结果。

可注意屏幕右边的ASCII字符与DX是否一致。

二、数据串搬家程序:1. 用A命令键入下列程序:MOV SI,1000MOV DI,1500MOV CX,0FLOP: MOV AL,[SI]MOV [DI],ALINC SIINC DILOOP LOPINT 202. 用A命令DB伪指令在1000H键入下列字符串:‘IBM_PC COMPUTER'3. 用G命令运行此程序,并用D命令检查目的地址处的字符与源串是否一致。

4. 若此程序中的目的地址改为1002H,再运行此程序,看能不能把1000H开始的字符串搬到1002H开始的地方去?修改程序以做到这一点。

三、段寄存器概念及字符串传送指令练习:1. 用A命令键入下列程序:MOV SI,0MOV DI,0MOV AX,1000MOV DS,AXMOV AX,1500MOV ES,AXMOV CX,0FCLDREP MOVSBINT 202. 用A命令DB伪指令在1000:0000处键入字符串'IBM_PC COMPUTER',并用D命检查之3. 用D命令检查0F00:1000处内容,看是否一样。

MFID微机接口技术实验(上)

MFID微机接口技术实验(上)
驱动层完成的任务主要是实现 PCI资源的映射以及向上层应用 程序提供操作硬件的接口,并且 实现PCI的PnP、DMA及电源管 理等功能 驱动程序提供给上层应用层的 接口及实现方法将在驱动程序设 计中介绍
PCI接口实验(Win32程序)
在进行PCI接口实验前,有必要先 了解一下PCI9054卡的一些硬件结构 及相关的一些概念。通过以下内容 体会基于PCI总线的接口技术与以前 的接口技术有何区别。在最后将以 以下两个程序为例,介绍PCI设备的 编程思想
① PCI配置空间实验 ② 高级步进电机实验
PCI硬件基础
CPUs Windows 2000 DOS App(DOS VM) IoBase = 0x300 IoOffset = 0x1F IntNumber = 10 Win App (Ring3) (Win System VM) 处理器总线 WDM(Ring0) IoBase = 0xC400 IoOffset = 0x1F IntNumber = 21
DOS模式下的端口操作
C语言形式:(DOS.H头文件中声明) 输出: outportb() 输入: Inportb() 汇编语言形式: 输出: MOV DX,303H MOV AL,81H OUT DX,AL 输入: MOV DX,300H IN AL,DX
基本IO实验(虚拟DOS程序)
1. 展示步进电机的演示程序 2. 展示步进电机的DOS程序 3. 实验安排:(操作时间)
本实验板的资源
1. 2. 3. 4. 5. 6. 7. 8. 本平台系统提供的I/O地址范围是300H ~30FH,目前已使用的I/O地址有: 8255A:300H~303H 8253A:304H~307H 8251A:308H~30BH ADC0809:30CH、30EH DAC0832:30FH 8237A:主片0~0FH;从片0C0H~ 0DEH 8259A:主片20H,21H;从片 0A0H,0A1H

微机接口技术实验报告并行接口实验

微机接口技术实验报告并行接口实验

微机接口技术实验报告并行接口实验系别: 计算机科学与技术完成时间:2012-5-15一、实验目的1.熟悉并行接口电路;2.掌握8255并行接口芯片及8253定时器的应用及其编程技术。

二、实验内容及要求通过对8255芯片的编程,使得实验台上的步进电机按顺时针或逆时方向转动,同时扬声器(模拟电子琴)做高8度和低8度循环发音:1. 控制步进电机转动和电子琴发音;2.使用K0控制步进电机顺逆时针转动和电子琴发高低音;3.使用K1控制步进电机和电子琴速度(分快和慢两种速度);4.使用K2启动和停止步进电机转动和电子琴发音。

三、实验原理1、可编程并行芯片8255A并行接口即同时在多根I/O线上,以数据字节或字为单位实现CPU通过I/O端口与I/O 设备或被控制对象之间的信息传递,如计算机与打印机,A/D和D/A转换器,开关量接口等。

8255及其改进型8255A是最广泛应用的并行I/O接口。

8255A的主要性能参数如下:(1)8255A内共有4个端口,分别为口A、口B、口C和控制端口。

前三个端口为8位并行I/O端口,常用于传送数据信息;控制端口是用于接收CPU送来的控制命令,即控制字。

(2)8255A芯片可以三种不同的工作方式与I/O设备进行数据传输,具体方式由控制字来设定。

(3)8255与CPU之间交互信息可以使用中断方式进行。

它内部有三个中断源,分别产生与方式1(1个)和方式2(2个)中。

(4)8255A所有信号与TTL信号兼容,可直接与CPU的三总线连接使用。

(5)8255A使用单一的+5V电源,单项时钟。

8255A的三种工作方式:方式0——基本的输入/输出方式,方式1——选通的输入/输出方式,方式2——双向的输入/输出方式。

本次实验采用方式0,将口A和口B作为输出,分别控制步进电机的旋转和电子琴的发音,口C作为控制输入端。

根据端口编址及寻址方式,设定端口A的地址为288H,端口B地址为289H,端口C地址为28AH,控制端口的地址为28BH。

MFID微机接口与原理使用说明书

MFID微机接口与原理使用说明书
b、RS-232C串行接口插座
DB-9型RS-232C标准串行通信插座,如图6所示。它包括9根信号线可以用于全双工和半双工点对点的异步串行通信。由于本平台系统的串行通信实验均为近距离,不采用MODEM,即零MOEM方式。因此,J7只使用了3根信号线与通信电缆连接。它们是TXD、RXD和GND三根信号线。
7. 定时/计数器(E区)
a、可编程定时/计数器芯片8253(U10)
以8253A为核心芯片,再加上74LS92分频电路(U67)和8255A构成定时/计数器。其中74LS92分频电路(U67)作为分频器,将由平台板提供的OSC信号(14.31818MHZ)进行分频,得到 1.1931816MHZ的信号作为8253A的输入时钟CLK;8255A(U9)的PC3和PC6分别作8253A的GATE2控制信号。8253A的定时/计数OUT2信号通过20芯插座J3向外设开放。在此区中,所有的8253通道资源都以插孔的形式开放给用户。
JP6
L
(跳接)接通芯片DAC0809电源 (空)断开芯片DAC0809电源
JP7
L
(跳接)Q区74LS08芯片、M区74LS245芯片电源
JP8
L
(跳接)P区74LS373芯片、R区74LS04芯片、M区74LS06芯片、N区拨码开关、
T区4044芯片电源
ቤተ መጻሕፍቲ ባይዱJP9
L
放置跳接子
JP10
O
模拟量通道选择
2.跳线开关说明
跳线开关
所在区
功能
JP1
G
(1-2)远距离通信 (2-3)近距离通信
JP2
G
(1-2)RS485方式 (2-3)RS232方式
JP3
G

微机接口技术与应用实验报告

微机接口技术与应用实验报告

微机接口技术与应用课程设计学校名称:院系:班级:小组成员:一.实验名称交通灯设计二.实验目的用软件模拟交通灯并在硬件设备实现。

三.实验环境四.实验说明交通灯分南北向和东西,一边三个,分别是绿红黄,红绿黄灯交替有四种情况,依次为:0--东西绿灯,南北红灯1--东西黄灯,南北红灯2--东西红灯,南北绿灯3--东西红的,南北黄灯。

当有黄灯亮时停顿1000s,其余的停顿2000s。

五.连接试验箱8255与280~28f连接,PA0,PA1,PA2,PA3,PA4,PA5口分别与L0,L1,L2,5,L6,L7相连接。

六.实验代码#include<stdio.h>#include<conio.h>#include "ApiExusb.h"#pragma comment(lib,"ApiExusb.lib")#include <windows.h>// 回调函数声明LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);// 初始化窗口类声明BOOL InitWindowsClass(HINSTANCE hInstance, char *lpszClassName);// 初始化窗口声明BOOL InitWindows(HINSTANCE hInstance, int nCmdShow, char *lpszClassName, char *lpTitle);WNDCLASS wndclass; // 定义一个窗口类HWND hwnd; // 定义一个窗口句柄int nNum=0; // 为灯的状态赋初值,记录交通灯的状态,0--东西绿灯,南北红灯1--东西黄灯,南北红灯//2--东西红灯,南北绿灯3--东西红的,南北黄灯int status[4]={0x21,0x11,0x0c,0x0a}; //控制试验箱灯的状态POINT pt[6]={{20,20},{80,20},{140,20},{20,80},{80,80},{140,80}}; //六盏灯的圆心坐标上面为东西,下面为南北,从左到右依次为绿黄红int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){MSG Msg; // 定义消息char lpszClassName[] = "交通灯"; // 窗口的类名char lpTitle[] = "基本绘图-交通灯"; // 窗口标题名if(!Startup()) /*打开设备*/{//printf("ERROR: Open Device Error!\n");return 0;//exit(0);}printf("Enter any key will return:\n");PortWriteByte(0x28b,0x80); //向控制口写命令,控制c口输出// 初始化窗口类if (!InitWindowsClass(hInstance, lpszClassName)){return FALSE;}// 初始化窗口if (!InitWindows(hInstance, nCmdShow, lpszClassName, lpTitle)){return FALSE;}//消息循环while(GetMessage(&Msg, NULL, 0, 0)){TranslateMessage(&Msg);DispatchMessage(&Msg);}Cleanup(); /*关闭设备*/return Msg.wParam; // 程序终止时将信息返回系统}// 初始化窗口类定义BOOL InitWindowsClass(HINSTANCE hInstance, char *lpszClassName){//1、窗口类定义wndclass.style = 0; // 窗口类型为默认类型wndclass.lpfnWndProc = WndProc; // 窗口处理函数为WNDPROCwndclass.cbClsExtra = 0; // 窗口类无扩展wndclass.cbWndExtra = 0; // 窗口实例无扩展wndclass.hInstance = hInstance; // 当前实例句柄wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); // 窗口的最小化图标为默认图标wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); // 窗口采用箭头光标wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 窗口采用白色背景wndclass.lpszMenuName = NULL; // 窗口中无菜单wndclass.lpszClassName = lpszClassName; //类名为lpClassName//2、注册窗口类if (!RegisterClass(&wndclass)){ // 如果注册失败则发出警告声音MessageBeep(0);return FALSE;}return TRUE;}// 初始化窗口声明BOOL InitWindows(HINSTANCE hInstance, int nCmdShow, char *lpszClassName, char *lpTitle)//3、创建窗口hwnd = CreateWindow(lpszClassName,lpTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,600,450,NULL,NULL,hInstance,NULL);//4、显示窗口ShowWindow(hwnd, nCmdShow);UpdateWindow(hwnd);return TRUE;}// 回调函数定义LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){HDC hDC; // 定义设备环境句柄HPEN hPen; // 定义画笔句柄HBRUSH hBrush; // 定义画刷句柄PAINTSTRUCT PtStr; // 定义包含绘制信息的结构体变量int R = 10;// 定义圆的半径switch(message){case WM_KEYDOWN: //响应按键消息//----未完待续break;case WM_PAINT:{ // 处理绘图消息hDC = BeginPaint(hwnd, &PtStr); // 得到设备句柄SetMapMode(hDC, MM_ANISOTROPIC); // 设置映像模式SetWindowExtEx(hDC, 400, 300, NULL); // 设置窗口区域(逻辑单位)400,300SetViewportExtEx(hDC, 600, 450, NULL); // 设置视口区域(物理单位)SetViewportOrgEx(hDC, 200, 200, NULL); // 设置视口原点坐标为(300,200)hPen = (HPEN)GetStockObject(BLACK_PEN);SelectObject(hDC, hPen);// 绘制六盏交通灯外圆int i=0;if(status[nNum]&0x20)hBrush = CreateSolidBrush(RGB(0, 255, 0)); //东西为绿灯elsehBrush = CreateSolidBrush(RGB(255, 255, 255));SelectObject(hDC, hBrush);Ellipse(hDC,pt[i].x-R,pt[i].y-R,pt[i].x+R,pt[i].y+R);i++;//东西为黄灯if(status[nNum]&0x10)hBrush = CreateSolidBrush(RGB(255, 255, 0));elsehBrush = CreateSolidBrush(RGB(255, 255, 255));SelectObject(hDC, hBrush);Ellipse(hDC,pt[i].x-R,pt[i].y-R,pt[i].x+R,pt[i].y+R);i++;//东西为红灯if(status[nNum]&0x08)hBrush = CreateSolidBrush(RGB(255, 0, 0));elsehBrush = CreateSolidBrush(RGB(255, 255, 255));SelectObject(hDC, hBrush);Ellipse(hDC,pt[i].x-R,pt[i].y-R,pt[i].x+R,pt[i].y+R);i++;//南北为绿灯if(status[nNum]&0x04)hBrush = CreateSolidBrush(RGB(0, 255, 0));elsehBrush = CreateSolidBrush(RGB(255, 255, 255));SelectObject(hDC, hBrush);Ellipse(hDC,pt[i].x-R,pt[i].y-R,pt[i].x+R,pt[i].y+R);i++;//南北为黄灯if(status[nNum]&0x02)hBrush = CreateSolidBrush(RGB(255, 255, 0));elsehBrush = CreateSolidBrush(RGB(255, 255, 255));SelectObject(hDC, hBrush);Ellipse(hDC,pt[i].x-R,pt[i].y-R,pt[i].x+R,pt[i].y+R);i++;//南北为红灯if(status[nNum]&0x01)hBrush = CreateSolidBrush(RGB(255, 0, 0));elsehBrush = CreateSolidBrush(RGB(255, 255, 255));SelectObject(hDC, hBrush);Ellipse(hDC,pt[i].x-R,pt[i].y-R,pt[i].x+R,pt[i].y+R);i++;PortWriteByte(0x28a,status[nNum]);if(kbhit())exit(0);if((status[nNum]&0x02)||(status[nNum]&0x10)) //有黄灯亮,则睡1000,否则睡2000Sleep(1000);elseSleep(2000);nNum=(++nNum)%4; //控制交通灯循环InvalidateRect(hwnd, NULL, 1); // 重绘窗口区域DeleteObject(hPen);DeleteObject(hBrush);EndPaint(hwnd, &PtStr);break;}case WM_DESTROY:{PostQuitMessage(0);}default:{return DefWindowProc(hwnd, message, wParam, lParam);}}return 0;}七.实验现象试验箱上红绿灯与Win32执行出来的图形界面上的模拟红绿灯交替亮现象是同步的。

最新微机接口实验报告

最新微机接口实验报告

最新微机接口实验报告实验目的:1. 熟悉微机接口的基本原理和功能。

2. 掌握微机接口的编程和操作技巧。

3. 通过实验加深对微机接口技术的理解。

实验环境:- 微机接口实验箱- 个人电脑- 相关软件和驱动程序实验内容:1. 实验一:了解微机接口的基本结构和工作原理。

- 学习微机接口的基本概念,包括数据总线、地址总线、控制总线等。

- 观察实验箱中的微机接口模块,识别各部分的功能。

2. 实验二:编写简单的输入输出程序。

- 使用汇编语言或C语言编写程序,实现对微机接口的控制。

- 通过程序实现LED灯的点亮和熄灭,以及按键的读取。

3. 实验三:中断和DMA操作。

- 学习中断的基本概念和处理流程。

- 实现一个基于中断的键盘输入程序。

- 了解DMA的工作原理,并编写相应的数据传输程序。

实验步骤:1. 准备实验环境,确保所有设备和软件均已正确安装和配置。

2. 按照实验指导书的要求,逐步完成各个实验项目。

3. 在实验过程中记录关键步骤和结果,以便撰写实验报告。

4. 对遇到的问题进行分析和解决,记录解决方案。

实验结果:1. 成功理解微机接口的基本结构和功能。

2. 编写的输入输出程序能够正确控制LED灯和读取按键状态。

3. 中断和DMA操作实验顺利完成,实现了预期的功能。

实验结论:通过本次实验,加深了对微机接口技术的理解,掌握了基本的编程和操作技能。

实验中遇到的问题和挑战也有助于提高解决问题的能力。

通过实践,更加明确了理论知识与实际应用之间的联系。

建议和反思:- 在实验过程中,应更加注重对理论知识的应用,以提高实验效率。

- 对于复杂的问题,应采取分步解决的策略,避免在实验中出现混乱。

- 未来应加强实验前的准备工作,确保实验能够顺利进行。

精品课件-微机接口技术及其应用-第1章

精品课件-微机接口技术及其应用-第1章
17
1.1.3 接口的分类 1.按适应面划分 微机接口从适应面角度划分,可以分为专用接口、通用标
准接口和增强功能用的接口三大类。
18
1) 专用接口 专用接口包括用户交换接口和辅助操作接口两类。 (1) 用户交换接口。用户交换接口又称人机交互设备接口。 这类接口的主要功能是将用户指定的数据、信息传送给主机, 而将来自主机的数据、信息传送给输出设备。随着微机的不断 发展,人机接口又可分为常规人机接口和智能人机接口。 常规人机接口是以计算机为中心的,即输入/输出的信息 是以二进制码、十六进制或ASCII码形式传送的。这种形式的 信息计算机容易接受和便于处理,而人接受和处理就不大方便。 属于这类接口的有键盘接口、显示器接口和打印机接口等。
8
1.1.2 接口的功能 接口技术是用硬件和软件相结合的方法来处理主机与外部
世界的通信和数据交换,使其达到最佳匹配,实现高效、可靠 的信息交换的一门技术。为了达到这样的目的,就需要解决主 机与外部世界存在不匹配的矛盾。接口应具备如下功能:
9
1.信息格式转换 外设产生的信息结构很复杂,不同设备有不同的信息格式 和种类,它们与CPU的信息格式不兼容,需要在接口中进行转 换,如正负逻辑的转换、串行信息与并行信息的变换等。
由此可见,微机与各种外设的信息交换是比较复杂的, 它们之间存在如何连接的问题。一般来说,每种外设都有其具 体的问题,必须用一个专门的接口来实现主机用的信号与外设 用的信号之间的匹配或转换,并通过该接口提供相应的数据格 式、适当的时序控制和同步协调,以及进行数据缓冲、传送设 备的有关状态信息等。这样的接口电路通常位于主机与外设之 间,能够完成主机与外设之间的信息传送。
3
输入与输出的操作过程类似于存储器的存取操作。原则上 CPU可以采用访问存储器的方式与外设交换数据,但是在实际 操作中,外围设备要考虑的问题比访问存储器复杂得多。存储 器通常是在与CPU同步的控制方式下工作的,并且内存采用半 导体器件,其相应的控制比较简单,与CPU的匹配和定时较易 实现。而外设种类繁多,控制复杂。CPU与外设相连时,不能 直接用总线相连,而是要通过相应的电路来连接。这是因为 CPU与外设之间存在很大的差异,不能匹配。这些差异主要体 现在以下几个方面。

《微机原理接口实验》课件

《微机原理接口实验》课件
2023-2026
ONE
KEEP VIEW
《微机原理接口实验 》ppt课件
REPORTING
CATALOGUE
目 录
• 微机原理接口实验概述 • 微机原理基础知识 • 接口实验操作与实践 • 实验总结与思考
PART 01
微机原理接口实验概述
实验目的和意义
培养学生对微机原理的兴 趣和实际操作能力
引入更多实际应用
案例
可以在实验中引入更多实际应用 案例,如工业控制、智能家居等 ,使实验更具实用性和趣味性。
加强实验指导
希望老师能够加强实验指导,对 我们的疑难问题进行及时解答和 指导,以提高实验效果。
微机原理接口实验的应用前景
工业控制
微机原理接口实验所学的知识和技能在工业控制领域有广泛应用,如自动化生产线控制 、智能制造等。
详细记录实验过程中测量的数据和观察到的 现象。
结果分析
根实验数据和观察结果,分析接口电路的 工作原理和性能特点。
讨论与改进
针对实验中遇到的问题和不足,提出改进措 施和优化方案。
PART 04
实验总结与思考
实验收获与体会
深入理解微机原理
通过实验,我深入了解了微机原理接口的工作机制,包括输入输 出接口、中断、存储器寻址等。
高速缓存存储器
高速缓存存储器用于提高存储器访问 速度。
辅助存储器
辅助存储器用于存储大量数据和程序 ,如硬盘、U盘等。
PART 03
接口实验操作与实践
实验设备与工具介绍
微机原理实验箱
提供微机系统的基本硬件环境,包括CPU、内存、输入输出接口等。
示波器
用于观察信号波形,测量信号的幅度、频率等参数。
信号发生器
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档