中南民族大学计算机接口技术实验报告
- 格式:doc
- 大小:378.50 KB
- 文档页数:15
最新精选全文完整版(可编辑修改)《计算机接口技术》实验报告专业:电信息科学与技术班级:姓名:学号:年月日实验一:8255A并行口实验实验目的:掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
实验内容:一、实验原理实验原理图如图5-9所示,PB4 ~ PB7和PC0 ~ PC7分别与发光二极管电路L1~ L12 相连,本实验为模拟交通灯实验。
交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。
8255A的PB4~ PB7对应黄灯,PC0 ~ PC3对应红灯,PC4~ PC7对应绿灯。
8255A 工作于模式0,并置为输出。
由于各发光二极管为共阳极,使其点亮应使8255A相应端口清0。
二、实验线路连接(1) CS-8255插孔连译码输出Y7插孔。
(2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC3三、实验软件清单见随机光盘,文件名为H8255-2.ASM四、实验步骤1、按图5-9连好实验线路2、运行实验程序在DVCC-8086JHN上显示"8255-2"。
同时L1~L12 发光二极管模拟交通灯显示。
CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073H ;设置控制端常量IOAPT EQU 0070H ;设置数据端口A地址常量IOBPT EQU 0071H ;设置数据端口B地址常量IOCPT EQU 0072H ;设置数据端口C地址常量IOBDATA EQU 0500HCONTPORT EQU 00DFHDA TAPORT EQU 00DEHDA TA1 EQU 0640HSTART: JMP IOLEDIOLED: CALL FORMATCALL LEDDISPMOV AX,0HMOV DS,AXMOV AL,82HMOV DX,IOCONPT ;写8255控制字,三个口均工作于方式0OUT DX,AL ;往控制端口写控制字,设置A口工作在方式0输入,B方式0输出MOV DX,IOBPT ;读PB口数据存0601H单元IN AL,DXnot almov al,00hnopnopMOV BYTE PTR DS:[0501H],ALMOV DX,IOCONPT ;写方式控制字均为输出MOV AL,80HOUT DX,ALMOV DX,IOBPT ;置PB0,PB4~PB6为1,其余为0MOV AL,DS:[0501H]OR AL,0FH ;使PB0~PB3为1,PB4~PB7为0OUT DX,AL ;即熄灭红灯,点亮绿灯MOV DX,IOCPT ;使PC1,PC4~PC6为1,其余为0MOV AL,0FH ;使PC0~PC3为1,PC4~PC7为0OUT DX,ALCALL DELAY1 ;延时IOLED0: MOV AL,01011010B ;使2,4路口绿灯亮,1,3口红灯亮MOV DX,IOCPTOUT DX,ALCALL DELAY1CALL DELAY1and AL,0FH ;灭2,4路口绿灯OUT DX,ALMOV CX,8H ;只计数器值为8IOLED1: MOV DX,IOBPTMOV AL,DS:[0501H]or AL,01011111B ;点亮2,4路口黄灯OUT DX,ALCALL DELAY2 ;短暂延时and AL,00000000B ;灭掉黄灯OUT DX,ALCALL DELAY2LOOP IOLED1 ;黄灯闪烁8次MOV DX,IOCPTMOV AL,0FH ;点亮4个绿灯,灭掉4个红灯OUT DX,ALCALL DELAY2MOV AL,10100101B ;点亮1,3口红灯和2,4路口绿灯OUT DX,ALCALL DELAY1CALL DELAY1and AL,0FH ;灭掉红灯OUT DX,ALMOV CX,8HIOLED2: MOV DX,IOBPTMOV AL,DS:[0501H]or AL,10101111B ;点亮1,3路口黄灯OUT DX,ALCALL DELAY2and AL,00000000B ;灭掉黄灯OUT DX,ALCALL DELAY2LOOP IOLED2MOV DX,IOCPTMOV AL,0FH ;点亮4个绿灯,灭掉4个红灯OUT DX,ALCALL DELAY2JMP IOLED0 ;循环DELAY1: PUSH AXPUSH CX ;延时子程序MOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOP DELA1POP CXRETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07H JA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+DATA1]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETFORMAT: MOV BX,0MOV WORD PTR DS:[BX+0640H],405BHADD BX,2MOV WORD PTR DS:[BX+0640H],4040HADD BX,2MOV WORD PTR DS:[BX+0640H],6D6DH ADD BX,2MOV WORD PTR DS:[BX+0640H],7F5BHRETCODE ENDSEND START实验二:定时/计数器实验目的:1. 学会8253芯片和微机接口原理和方法。
院系:计算机科学学院专业:软件工程年级: 2013课程名称:计算机网络学号:姓名:蔡磊指导教师:周斌2016 年6月 12 日年级2013班号03 学号专业软件工程姓名蔡磊实验名称?熟悉网络设备了解RCMS服务器及交换机基本配置实验类型设计型综合型创新型√实验目的?实验目的:1.了解RCMS服务器的作用,登陆服务器的方法,在服务器下使用的基本命令,掌握进入设备进行配置的方法。
2.掌握交换机的管理特性,学会配置交换机支持Telnet操作的相关语句。
实验要求:假设某学校的网络管理员第一次在设备机房对交换机进行了初次配置后,他希望以后在办公室可以对设备进行远程管理,现要在交换机上做适当配置,使他可以实现这一愿望。
实现功能:使网络管理员可以通过Telnet对交换机进行远程管理。
实验拓扑图实验内容一:RCMS服务器的作用:RCMS是一款专门针对网络实验室而开发的控制和管理服务器。
登陆服务器的方法:打开浏览器:在浏览器地址栏输入RCMS 服务器地址和端口号,然后点击要登陆的设备图标。
了解设备的几种模式:用户摸式,特权模式,全局配置模式,端口模式。
二:第一步:在交换机上配置管理IP地址验证测试:验证交换机管理IP地址已经配置和开启第二步:配置交换机远程登录密码验证测试:验证从PC机可以通过网线远程登录到交换机上(需要硬件连接跳线,保持你做实验的实际拓扑)!从PC机登录到交换机上第三步:配置交换机特权模式密码验证测试:验证从PC机通过网线远程登录到交换机上后可以进入特权模式(需要硬件连接跳线)!从PC机登录到交换机上第四步:保存在交换机上所做的配置实验思考题1 绘画出实际使用实验拓扑结构图,并说明各设备的有哪些作用与功能?2 交换机的管理有哪些特性?实验心得成绩评定教师签名:年月日年级2013班号03 学号专业软将工程姓名蔡磊实验名路由器的基本配置实设计综合创新称验类型型型型√实验目的?实验目的:掌握路由器的管理特性,学会配置路由器支持Telnet操作的相关语句。
计算机接口技术课程设计报告班级:专业:学号:姓名:报告目录结构:一、实验目的二、实验要求三、课程设计使用的设备(环境)四、实验原理:五、实验内容及大概步骤六、实验结果七、总结分析与心得一、实验目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及独立分析、解决问题的能力。
二、实验要求针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、课程设计使用的设备(环境)1.硬件COP2000实验仪 PC机2.软件COP2000仿真软件四、实验原理:1.该模型机指令系统的特点:①总体概述COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。
其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。
微程序控制部分也可以用组合逻辑控制来代替。
模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。
模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。
指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。
而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。
《计算机接口与通信技术》综合实验报告《计算机接口与通信技术》综合实验报告院系部:专业班级:组长:组员:实验台号:指导教师:成绩:实验日期:实验1 8255A小键盘实验一. 实验目的(1)掌握8255A编程原理。
(2)了解键盘结构,学会读取键盘输入的方法。
二. 实验内容用8255A来实现一个小键盘的输入识别(用行扫描法或反转法均可)。
(1)基于图再完成下述连接,即将8255A的CS端与218~21F插孔相连,此时:8255A的端口A地址为218H端口B地址为219H端口C地址为21AH控制口地址为21BH(2)编写程序,使得在小键盘上按键后,微机屏幕上有相应字符显示出来。
三. 仪器用具四.实验接线图五. 程序设计流程图:程序代码:DA TA SEGMENTTABLE1 DW 0101H,0102H,0104H,0108H,0110H,0120H,0140H,0180HDW 0201H,0202H,0204H,0208H,0210H,0220H,0240H,0280HDW 0401H,0402H,0404H,0408H,0410H,0420H,0440H,0480H CHAR DB 'CDEFBA9845673210WXYSRPMG'MESS DB 'PRESS A KEY ON THE SMALL KEYBOARD!',0AH,0DH DB 'IT WILL DISPLAY ON THE SCREEN ! ',0AH,0DHDB 'PRESS R KEY, RETURN TO DOS !',0AH,0DH,'$' IOPORT EQU 0DC00H-200HIO8255A EQU IOPORT+218H ;8255A口IO8255B EQU IOPORT+219H ;8255B口IO8255C EQU IOPORT+21BH ;8255控制端口DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:STACKSSTART: MOV AX,DA TAMOV DS,AXMOV DX,OFFSET MESSMOV AH,09INT 21H ;显示提示信息Q1: MOV AL,82H ;送8255控制字,A出口,B入口MOV DX,IO8255COUT DX,ALQ2: MOV AL,00MOV DX,IO8255AOUT DX,AL ;A口输出行值MOV DX,IO8255BIN AL,DX ;B口读入列值AND AL,0FFHCMP AL,0FFHJZ Q2MOV BL,AL ;有键入,保存键值MOV DI,0040 ;延迟,等待释放BB: MOV CX,6000HAA: LOOP AADEC DIJNZ BBMOV DX,IO8255C ;送8255控制字,B口出,A口入MOV AL,90HOUT DX,ALMOV DX,IO8255BMOV AL,BLOUT DX,AL ;B口输出列值MOV DX,IO8255AIN AL,DX ;A口读入行值CMP AL,0FFHJNZ KEYNKEYN: PUSH AX ;去抖MOV DX,IO8255ARELEA: IN AL,DXCMP AL,0FFHJNZ RELEAPOP AXMOV AH,BL ;AH=列值,BH=行值NOT AX ;键值AX求反MOV SI,OFFSET TABLE1 ;送键值表指针MOV DI,OFFSET CHAR ;送字符表指针MOV CX,24Q4: CMP AX,[SI] ;键值查表JZ Q5ADD SI,02 ;未查到,修改表指针INC DILOOP Q4JMP Q1Q5: MOV DL,[DI] ;查到,显示该字符CMP DL,'R'JZ Q6MOV AH,02HINT 21HJMP Q1Q6: MOV AX,4C00H ;键值='R',返回DOSINT 21HCODE ENDS六.试验方法与步骤1.按实验要求连线将8255A的CS端与218~21F插孔相连2.编程,程序如上3.运行程序七.实验结果八.讨论与结论操作实验板上的小键盘按键会在计算机屏幕上进行显示,对键盘上的WXYS键都以空格响应,R退出,其余显示对应字符。
接口综合实验报告课程名称:计算机接口与通信技术实验名称:综合实验班级:学号:姓名:同组人:实验台号:实验日期:实验成绩:一、实验内容利用8254,8255,8259,喇叭,开关,LED显示,8*8双色点阵,128*64字符图形液晶屏设计一个小型切歌系统。
当按下开关K0时,系统开始播放歌曲,利用8*8双色点阵显示变色小人跳舞图案,利用128*64字符图形液晶显示屏显示文字“欢迎聆听!”,利用LED显示灯流水闪烁,利用单脉冲按键实现切歌功能,利用K0实现歌曲的暂停与播放功能。
(1)将8254的计数器0设置为方式3,用信号源1MHz 作为CLK0时钟,OUT0为波形输出1ms的方波;计数器1设置为方式3,进行分频;计数器2设置为方式2,控制音符时长。
(2)将8255的A口设置为方式0,控制字符图形液晶屏;B口设置为方式0,控制LED显示;C口设置为控制口。
(3)用8259的IR0实现音符结束中断,用IR1,IR2实现系统切歌功能(IR1控制播放下一首,IR2控制播放上一首)。
二、实验接线图AY 扬声I/O地址280H~ 287H 288H~28FH290H~297H298H~29FH2A0H~2A7H2B0H~ 2B7H图1.接线设计图图2.接线实物图二、程序设计流程图图2.流程图四、实验结果及分析1. 实验遇到的问题,解决的方法。
2.实验的难点分析。
(1)如何综合设计实验,尽可能多地运用实验箱模块(2)各模块的编程,以及各代码块的连接与整合(3)如何实现系统的循环播放音乐功能(4)如何实现系统的切歌功能3.实验创新点讨论。
(1)仅由8253一块芯片完成播放音乐功能。
8253的三个计数通道:通道0设置频率,通道1进行分频,通道2控制时长,每次播放一个音时,同时对通道0和通道2写初值。
通道2工作在方式2,初始状态为高电平,从通道2初始状态起直到其计数完毕,都在播放由通道0给出的频率所表示的音,通道2计数完毕后发送中断,这时程序给出下一个音。
实验一无条件输出端口的构成与地址译码【地址译码电路】【实验板的线路接法】将电路图上的A1-A7端口依次PIN到PIN_3、PIN_4、PIN_7、PIN_8 、PIN_9、PIN_24、PIN_25,再用八股导线连接到实验箱中的XA1-XA7上;将电路图上的IOW端口PIN到PIN_17,通过转换单元连接到实验箱上的IOW端口;将电路图上的D1-D8端口依次PIN到PIN_27、PIN_28、PIN_30、PIN_31 、PIN_32、PIN_40、PIN_41、PIN_42,再用八股导线连接到实验箱中的XD1-XD7上;将电路图上的OUT1-OUT8端口依次PIN到PIN_43、PIN_44、PIN_45、PIN_47 、PIN_48、PIN_51、PIN_52、PIN_53,再用八股导线连接到实验板上二极管对应的的D0-D7上。
最后,给实验板接上电源线和地线。
【输出数据至端口的程序段】#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <bios.h>#include <ctype.h>#include <process.h>void main(){outp( 0x3000, 0x00 );}【Led规律性变化的程序段】#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <bios.h>#include <ctype.h>#include <process.h>void main(){long i, k;for( i=0; 1; i++)//不设出口的死循环{if( i>=8 ) i-=8;for( k=0; k<10000000; k++ ); //等待outp( 0x3000, 0x00+i );}}。
数学与计算机学院《计算机接口技术》实验报告专业:网络工程班级: 1201学号: 1205110108姓名:王振京指导老师:郭峰林实验3 基于DLL与HOOK技术的键盘消息拦截与读音一实验目的1.了解MFC DLL动态连接库的编程方法;2.了解HOOK技术和回调函数的运行机制;3.学习MFC中加载动态连接库的方法。
二实验指导1.HOOK的基本概念在Windows下,当硬件或软件产生中断时,系统会发送一个消息给用户程序。
因此,用户程序一般不使用中断,而是采用拦截系统消息的方法。
为了拦截不属于本应用程序的消息,拦截程序必须得到系统的认可,由系统安装成全局运行。
HOOK即通常所说的钩子。
实际上,HOOK就是上面所说的消息拦截程序段。
通过系统调用,把它挂入系统。
每当HOOK所希望的消息发出,在没有到达目的窗口前,HOOK程序就先捕获该消息,得到控制权。
HOOK程序先处理该消息,再向系统传递该消息。
也可以丢弃该消息。
系统维护着一个HOOK链,最近安装的HOOK总放在链的开始,从而得到优先执行。
2.HOOK函数的形式及其安装方法HOOK函数在程序中应为全局函数,即:HOOK函数不应写在一个类中。
HOOK函数是一个消息响应函数,由系统调用,应以回调函数的形式出现,其格式为:LRESULT _declspec(dllexport)_stdcall CALLBACK KeyboardProc(int nCode, //若为HC_ACTION,说明后两参数含有击键的消息WPARAM wParam, //虚键码LPARAM lParam //击键的有关信息,如重复次数等)写好HOOK函数后,应进行安装,才能得到系统的回调。
安装HOOK的函数为:HHOOK SetWindowsHookEx(int idHook, //钩子的类型,按键为 WH_KEYBOARD HOOKPROC lpfn, //钩子函数的地址HINSTANCE hMod, //包含钩子函数的模块句柄DWORD dwThreadId //指定监视的线程。
中南大学课题名称:微机原理与接口技术课程实验报告学院:信息科学与工程学院班级:学号:姓名:指导老师:实验一、使用 ADC0809 的 A/D 转换实验一、实验目的1、加深理解逐次逼近法模数转换器的特征和工作原理,掌握 ADC0809 的接口方法以及A/D输入程序的设计和调试方法。
二、预备知识逐次逼近法 A/D 也称逐次比较法 A/D。
它由结果寄存器、D/A、比较器和置位控制逻辑等部件组成,如图 6-1 所示图 6-1 逐次逼近法三、实验原理1、本实验采用 ADC0809 做 A/D 转换实验。
ADC0809 是一种 8 路模拟输入、8 位数字输出的逐次逼近法 A/D 器件,转换时间约 100us,转换精度为±1/512,适用于多路数据采集系统。
ADC0809片内有三态输出的数据锁存器,故可以与 8088 微机总线直接接口。
2、实验代码:MOV CX,0500HDELAY: LOOP DELAYMOV DX,ADPORTIN AL,DXMOV CL,ALCALL CONVERSCALL LEDDISPJMP ADCONCONVERS:MOV BH,0HAND AL,0FHMOV BL,ALMOV AL,CS:[BX+DATA2]MOV BX,DATA1+7MOV DS:[BX],ALDEC BXPUSH BXMOV AL,CLMOV CL,04HSHR AL,CLMOV BL,ALMOV BH,0HMOV AL,CS:[BX+DATA2]POP BXMOV DS:[BX],ALRETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07H JA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+DATA1]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETCODE ENDSEND START四、实验过程1、准确连接线路。
微机接口实验报告实验一简单I/O口扩展实验一、实验目的1、熟悉74LS273,74LS244的应用接口方法。
2、掌握用锁存器、三态门扩展简单并行输入、输出口的方法。
二、实验内容1、由键盘输入字符,然后通过74LS273将其ASCII码锁存输出,并通过LED显示出来。
2、逻辑电平开关的状态输入74LS244,经过PCI总线读入并以16进制显示在屏幕上。
3、逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,利用LED显示电路作为输出的状态显示。
三、实验原理介绍本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。
四、实验步骤1、实验接线:(←→表示相互连接)CS0←→CS244,CS1←→CS273,平推开关的输出K1~K8←→IN0~IN7(对应连接)00~07←→发光二极管的输入LED1~LED8。
2、编辑程序,用debug调试程序,单步运行。
3、调试通过后,全速运行程序,观看实验结果。
4、编写实验报告。
五、实验提示74LS244或74LS273的片选信号可以改变,例如连接CS2,此时应同时修改程序中相应的地址。
六、实验结果程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。
例如:K2置于L位置,则对应的LED2 应该点亮。
七、程序框图(如图1)实验程序:实验 1; * cs0<->cs273,D0~D7依次接LED1~LED8*;IOPOR T EQU 0A800HLS273 EQU IOPORT+0A0HCODE SEGMENTASSUME CS:CODESTART: MOV AH,2 ;回车符MOV DL,0DHINT 21HMOV AH,1 ;等待键盘输入INT 21HCMP AL,27 ;判断是否为ESC键JE EXIT ;若是则退出MOV DX,LS273 ;若不是,从2A8H输出其ASCII码OUT DX,ALJMP START ;转startEXIT: MOV AH,4CH ;返回INT 21HCODE ENDSEND START实验结果:从键盘输入数字0~9可以通过LED显示相应的二进制代码(亮灯为0,熄灯为1)例如从键盘输入数字3,灯亮情况led4~led1对应0011;即led4~led1从到左表示0011,led4、led3低位,led2、led1高位。
目录一、实验目的 (2)二、实验内容 (2)三、总体设计 (2)四、实验电路 (2)五、实验框图 (4)六、实验程序 (5)七、实验心得 (10)实现特定功能的键盘及LED显示一、实验目的1、掌握键盘和显示器的接口方法和编程方法。
2、掌握键盘扫描和LED八段码显示器的工作原理。
二、实验内容1、了解键盘及LED显示接口设计,绘制出原理图。
2、根据实验箱上提供的硬件资源完成:a、按1键显示年b、按2键显示月日c、按3键显示GOODd、按4键数码管由左到右8字循环显示。
3、设计电路并在实验台上连接线路。
三、总体设计1、选通键盘以及LED数字显示控制区2、主要利用软件编程,实现实验要求中的各项四、实验电路使用PC机与伟福lab8000实验箱连接起来,安装好相应驱动,做好接线分析,由于lab8000实验箱已经将部分电路接线内置,所以接线仅需要将KEY/LED_CS选通端口与CS0相连即可,但作为学习过程,应更加详细的将实现电路了解,现已将实验箱所用实验器件的内部电路给出,详细电路见下页图1图1:键盘及LED显示电路五、实验框图开始显示缓冲区初始化LED 显示读取键值键值转换为显示数据有键输入?是否主程序框图是 是否开始输出列扫描信号列扫描信号移位该列有键输入?读入行信号返回6列扫描完?初始化地址参数 按照行列计算键值查表得键码等待按键释放返回读键输入子程序框图显示程序框图六、实验程序OUTBIT equ 08002h ; 位控制口 OUTSEG equ 08004h ; 段控制口 IN_KEY equ 08001h ; 键盘读入口data segmentLEDBuf db 6 dup(?) ; 显示缓冲 Num db 1 dup(?) ; 显示的数据 DelayT db 1 dup(?)LEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hKeyTable: ; 键码定义 db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07h开始初始化显示参数关所有位显示取显示数据输出段码数据输出位选通信延时位选通信号移位指向下一个显示数据返回6位完成data endscode segmentassume cs:code, ds:dataDelay proc nearpush ax ; 延时子程序push cxmov al, 0mov cx,axloop $pop cxpop axretDelay endpDelay1 proc nearpush ax ; 延时子程序push cxmov al, 0mov cx,38000loop $pop cxpop axretDelay1 endpDisplayLED proc nearmov bx, offset LEDBufmov cl, 6 ; 共6个八段管mov ah, 00100000b ; 从左边开始显示DLoop:mov dx, OUTBITmov al, 0out dx,al ; 关所有八段管mov al, [bx]mov dx, OUTSEGout dx,almov dx, OUTBITmov al, ahout dx, al ; 显示一位八段管push axmov ah, 1call Delaypop axshr ah, 1inc bxdec cljnz DLoopmov dx, OUTBITmov al, 0out dx,al ; 关所有八段管retDisplayLED endpTestKey proc nearmov dx, OUTBITmov al, 0out dx, al ; 输出线置为0mov dx, IN_KEYin al, dx ; 读入键状态not aland al, 0fh ; 高四位不用retTestKey endpGetKey proc nearmov ch, 00100000bmov cl, 6KLoop:mov dx, OUTBITmov al, ch ; 找出键所在列not alout dx, alshr ch, 1mov dx, IN_KEYin al, dxnot aland al, 0fhjne Goon_ ; 该列有键入dec cljnz KLoopmov cl, 0ffh ; 没有键按下, 返回0ffhjmp Exit1Goon_:dec clshl cl, 2 ; 键值= 列X 4 + 行mov ch, 4LoopC:test al, 1jnz Exit1shr al, 1inc cldec chjnz LoopCExit1:mov dx, OUTBITmov al, 0out dx, almov ch, 0mov bx, offset KeyTableadd bx, cxmov al, [bx] ; 取出键码mov bl, alWaitRelease:mov dx, OUTBITmov al, 0out dx, al ; 等键释放mov ah, 10call Delaycall TestKeyjne WaitReleasemov al, blretGetKey endpStart proc nearmov ax, datamov ds, axmov di,offset LEDBufp1: mov di,offset LEDBufmov [di], 05bh ; 显示2008.mov [di+1], 03fhmov [di+2], 03fhmov [di+3], 0ffhmov [di+4], 0mov [di+5], 06hjmp MLoopp2: mov di,offset LEDBufmov [di], 03fh ; 显示08.08.mov [di+1], 0ffhmov [di+2], 03fhmov [di+3], 0ffhmov [di+4], 0mov [di+5], 5bhjmp MLoopp3: mov di,offset LEDBufmov [di],6fh ;显示goodmov [di+1],5chmov [di+2],5chmov [di+3],0dehmov [di+4],0mov [di+5],4fhjmp MLoopp4: push cxmov cx,08hmov bx,offset LEDBufp4l: mov [bx],00inc bxloop p4lpop cxmov [di], 7fh ; 显示8inc dicmp di,offset LEDBuf + 06hjnz nextmov di,offset LEDBufnext: call delay1call DisplayLED ; 显示call TestKeyjne MLoopjmp p4MLoop:call DisplayLED ; 显示call TestKey ; 有键入?je MLoop ; 无键入, 继续显示call GetKey ; 读入键码and al, 0fh ; 显示键码cmp al,01hjz mmpp1cmp al,02hjz mmpp2cmp al,03hjz p3cmp al,04hjz p4mov ah, 0mov bx, offset LEDMAPadd bx, axmov al, [bx]mov LEDBuf+5, aljmp MLoopmmpp1: jmp p1mmpp2: jmp p2Start endpcode endsend start七、实验心得通过此次课程设计让我学会了更多的知识,以及懂得了团队合作的重要性,通过编写相关的程序以及对LAB8000实验箱的使用我们的动手能力得到了很大的提高,并且很感谢老师的细心指导,对我们的帮助很大,以及感谢本小组的其他成员,大家的共同努力使我们完成了此次课程设计。
实验二简单并行接口一、实验目的掌握简单并行接口的工作原理及使用方法。
二、实验内容1、按下面图4-2简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。
74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。
2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。
3、按下面图4-3简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。
74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。
4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。
图4-2 图4-3三、编程提示1、上述并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电路输出数据需要3条指令:MOV AL,数据MOV DX,2A8HOUT DX,AL通过上述并行接口输入数据需要2条指令:MOV DX,2ADHIN AL,DX2、等待键盘输入可用DOS的1号功能调用。
格式:MOV AH,02HINT 21H功能:计算机等待键盘输入一个字符,若有字符输入,则送CRT显示。
入口参数:无出口参数:AL是键盘输入字符的ASCII码。
3、参考流程图(见图4-4、4-5)等待键盘输入从端口2A8H 输出其ASC码开 始自端口2A0H输入ASCII码保存输入ASCII码至DL 显示ASCII码对应的字符是ESC吗?有键按下吗?开 始结 束结 束YYNN图4-4 参考程序1 图4-5 参考程序2 4、实验程序:(程序1对应图1)(程序2对应图2)Inport epu 0d400h-0280h Inport epu 0d400h-0280h Ls273 epu inport+2a8h Ls244 epu inport+2a0h Code segment Code segmentAssume cs:code Assume cs:codeStart: Start:Moy ah,2 mov dx,ls244Mov dl,0dh in al,dxInt 21h mov dl,alMov ah,1 mov ah,02Int 21h int 21hCmp al,27 mov dl,0dhJe exit int 21hMov dx,ls273 mov dl,0ahOut dx,al int 21hJmp start mov dl,0ffhExit:mov ah,4ch int 21h Int 21h jnz exitCode ends je startend start exit:mov ah,4chInt 21hCode endsEnd start四、实验结果:本实验共分为两个部分,分别为终端输入和终端显示。
计算机接口与控制技术实验报告中南大学机电工程学院机械1304班俞文龙实验一穿行静态显示实验一、实验目的1.掌握数字、字符转换成显示段码的软件译码方法2.静态显示的原理和相关程序的编写3.掌握C51程序设计方法二、实验说明1.输入给定程序,配置选项,调试并运行程序,观察程序控制下仿真器输出的变化。
2.选中此项keil为硬件仿真3.4.显示器由8个共阴极LED数码管组成。
输入只有两个信号,它们是串行数据线DIN和移位信号CLK。
8个串/并移位寄存器芯片74LS164首尾相连。
每片的并行输出作为LED数码管的段码。
74LS164为8位串入并出移位寄存器,1、2为串行输入端,QA~QH为并行输出端,CLK为移位时钟脉冲,上升沿移入一位;CLR为清零端,低电平时并行输出为零。
5.用C51进行程序设计,选择汇编或者C语言编程均可,要求程序结构清晰,模块化结构,反复调用部分做成子模块,有必要的注释。
编写程序上机调试通过,实验报告要求提交程序流程图及源程序。
三、实验内容本实验需要用到单片机的最小应用系统(F1区)和串行静态显示模块(I3区)。
1.使用单片机最小应用系统模块,用导线将连接P3.0(RXD)、P3.1(TXD)连接到串行静态显示模块的DIN、CLK端。
2.用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机锁紧插座中,请注意仿真器的方向:缺口朝上。
请指导老师检查接线后再打开模块电源。
打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。
全速运行程序。
3.8LED显示“89C51”。
程序停止运行时,显示不变,说明静态显示模块具有数据锁存功能。
四、实验程序及原理图#include<reg51.h>sbit Din=P1^0;sbit Clk=P1^1;void delay(void){unsigned int i;for(i=0;i<10;i++) ;}void main(void){unsigned char i,j,chr,sel;unsigned char code Tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9显示代码unsigned char xs[8]={5,0,1,6,2,3,2,8};for(i=0;i<8;i++){chr=Tab[xs[i]]; //sel=0x06;for(j=0;j<8;j++){Din=chr&sel;Clk=0;//P1.·同步时钟sel=sel>>1;delay();Clk=1;delay();}}while(1);}五实验体会通过实验,再次熟悉了51单片机的仿真软件,更加的熟练使用软件。
院系:计算机科学学院专业:
年级:
学号:
姓名:
指导教师:
年月日
实验步骤与结果分析1.通过编译、下载、仿真可以看到我们想要的结果
图2-1
2.得到一个1K的仿真频率
2.1 因为得到的是更新频率,所以根据公式:
计数初值CCRx_Val = TIM2计数时钟频率/ 更新频率
所以有CCRx_Val = 0X1700
2.2 在工程中将对应的CCRx_Val值改为0X1770,然后编译、仿真、测频率,如图所示:
图2-2
实验结果分析:
通过本次实验达到了开始的实验目的和要求,加强对TIMERx定时器的理解和使用,以及在仿真过程中学会了怎样应对出现的问题。
实验步骤与结果分析1.在编译、下载之后,会在LCD上显示相应的英文字母和数字。
2.通过修改显示学号和名字,如图所示:
图3-1
实验结果分析:
通过本次实验,达到了实验预期的效果,学会了用怎样实现在LCD上显示中文名,和学号等功能。
院系:
专业:
年级:
课程名称:计算机系统结构学号:
姓名:
指导教师:
年月日
图三.流水线
图九.向量使用结果
开始
输入矩阵A
的行数
输入矩阵A的列数和B的行
数
输入矩阵B的
列数
读入A矩阵元
素
输出A矩阵元
素
读入B矩阵元
素
输出B矩阵元
素
计算AXB矩阵,得C矩阵
输出C矩阵
开始
f1=A的行数,f2=A
的列数和B的行
数,f3=B的列数
A的元素个数
R4=f1*f2,R2=A矩
阵首地址,
R6=f1,R8=f2
R4=0?
输入A矩阵的元素R6=0?
R4--输出A矩阵同一行
的元素,R6--
输入换行,R8--,
R6=f2
R8=0?
Y
同上输入B矩阵和
输出B矩阵
R11=0,R4=0,R5=0
R5>f1?
R6=0
R6>f3?
R1=f6,R10=R5*R1
R7=0,R11=0,
R9=(R5+1)*f1
R5++
R10>R9?
把R11存入C矩阵,
位置为R4,R4+1,
R6+1
Temp=temp+
A矩阵R10位置的元
素*B矩阵R7位置的
元素,R10+1
输出C矩阵
结束。
计算机组成原理与接口技术课程设计实验报告学院:计算机科学与工程专业:计算机科学与技术班级:计科二班学号:姓名:指导老师:评分:2016年12月28日实验一验证74LS181运算和逻辑功能1、实验目的(1)掌握算术逻辑单元(ALU)的工作原理;(2)熟悉简单运算器的数据传送通路;(3)画出逻辑电路图及布出美观整齐的接线图;(4)验证4位运算功能发生器(74LS181)组合功能。
2、实验原理ALU能进行多种算术运算和逻辑运算。
4位ALU-74LS181能进行16种算术运算和逻辑运算。
74ls181芯片介绍:该芯片总共由22个引脚,其中包括8个数据输入端(~A0、~A1、~A2、~A3,~B0、~B1、~B2、~B3,其中八个输入端中A3和B3是高位),这八个都是低电平有效。
还包括S0、S1、S2、S3这四个控制端,这四个控制端主要控制两个四位输入数据的运算,例如加、减、与、或。
CN端处理进入芯片前进位值,M控制芯片的运算方式,包括算术运算和逻辑运算。
F0、F1、F2、F3是四个二进制输出端,以一个四位二进制形式输出运算的结果。
CN4记录运算后的进位。
功能表如下:方式M = 1 逻辑运算M = 0算术运算S3 S2 S1 S0 逻辑运算CN=1 (无进位) CN =0 (有进位)0 0 0 0 F=/A F=A F=A加10 0 0 1 F=/(A + B) F=A + B F=(A + B) 加10 0 1 0 F=(/A ) B F=A + /B F=( A + /B )加10 0 1 1 F=0 F=负1(补码形式)F=00 1 0 0 F=/(A B) F=A加A ( / B) F=A加A / B加10 1 0 1 F=/B F=(A + B) 加A / B F=(A + B)加A / B加10 1 1 0 F=A B F=A减B减1 F=A减B3、实验内容实验电路图:4、总结及心得体会本实验通过一个设计一个简单的运算器,使我熟悉了Multisim软件的一些基本操作方法,并掌握了一些简单的电路设计与分析的能力,并对我做下一个运算器的实验有一定的帮助。