微机原理实验指导书_第1页
微机原理实验指导书_第2页
微机原理实验指导书_第3页
微机原理实验指导书_第4页
微机原理实验指导书_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录实验一并行接口8255应用实验 0实验二交通灯模拟控制实验 5实验三可编程定时器8254应用实验 9实验四8254控制继电器实验 13实验五DAC0832数模转换实验 17实验六ADC0809模数转换实验 21实验七串行通信8251应用实验 25

实验一并行接口8255应用实验实验目的掌握8255工作方式0的使用方法;掌握8255I/O口的输入输出使用方法;了解8255、电平开关、LED发光二极管的电路连接。实验内容1、逻辑电平开关和LED显示电路如图1-1所示,8255的电路连接如图1-2所示。2、利用8255C口作为并行数据的输入端(逻辑电平开关实现),A口作为并行数据的输出端(LED显示电路实现),当电平开关拨到上方时对应发光二极管亮,拨到下方时对应发光二极管灭,编写程序。图1-1逻辑电平开关和LED显示电路图1-28255接线电路接线方案PC0~PC7/8255接K0~K7/逻辑电平开关PA0~PA7/8255接L0~L7/LED显示CS/8255接Y1/IO地址图1-3实验线路编程提示及流程图1、A口地址—288H;B口地址—289H;C口地址—28AH;8255控制寄存器端口地址—28BH。2、参考程序流程图如图1-4所示。图1-4参考程序流程图实验步骤连接USB通信电缆和电源线;根据图1-3实验线路进行电路连接;打开“HQFC-A微机接口”应用程序,新建或打开实验程序;点击“编译”,并确保实验程序没有语法错误;点击“构建”,将目标文件生产可执行文件(后缀为EXE);点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;观察实验现象,并记录。若实验现象有误请重复第4~6步。参考程序;*******************************;;*8255方式0的C口输入,A口输出*;;*******************************;datasegmentio8255aequ288hio8255bequ28bhio8255cequ28ahdataendscodesegmentassumecs:codestart:movax,datamovds,axmoves,axmain:movdx,io8255b;设8255为C口输入,A口输出moval,();计算控制字outdx,alinout:movdx,();从C口输入一数据inal,dxmovdx,();从A口输出刚才自C口outdx,al;所输入的数据jmpinout;跳转,则继续自C口输入,A口输出codeendsendstart思考题根据程序要求补充实验程序,并执行程序观察现象;修改程序,电平开关拨到上方时发光二极管灭,拨到下方时发光二极管亮。

实验二交通灯模拟控制实验实验目的进一步掌握8255并行口的使用方法;了解十字路口交通灯的模拟控制。实验内容分别利用三个发光二极管模拟南北路口和东西路口的红、黄、绿灯,通过编程使六个发光二极管按交通灯变化规律执行。接线方案PC0~PC7/8255接L0~L7/LED显示CS/8255接Y1/IO地址图2-1实验线路编程提示及流程图1、8255控制寄存器端口地址—28BH;A口地址—288H;B口地址—289H;C口地址—28AH。2、交通灯变化规律要求:(1)南北路口绿灯、东西路口红灯同时亮30秒左右;(2)南北路口的黄灯闪烁若干次,东西路口红灯继续亮;(3)南北路口红灯、东西路口绿灯亮30秒左右;(4)南北路口红灯继续亮,东西路口黄灯闪烁若干次;(5)依次重复。2、参考程序流程图如图2-2所示。图2-3参考程序流程图实验步骤连接USB通信电缆和电源线;根据图2-1实验线路进行电路连接;打开“HQFC-A微机接口”应用程序,新建或打开实验程序;点击“编译”,并确保实验程序没有语法错误;点击“构建”,将目标文件生产可执行文件(后缀为EXE);点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;观察实验现象,并记录。若实验现象有误请重复第4~6步。参考程序;***********************************;;*十字路口红绿灯模拟演示程序*;;*端口各灯的设置:*;;*1红1黄1绿002红2黄2绿*;;***********************************;datasegmentio8255aequ28ahio8255bequ28bhportc1db24h,44h,04h,44h,04h,44h,04h;六个灯可能db81h,82h,80h,82h,80h,82h,80h;的状态数据db0ffh;结束标志dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdx,io8255bmoval,();8255控制字outdx,al;设置8255为C口输出movdx,io8255are_on:movbx,0on:moval,portc1[bx]cmpal,0ffhjzre_onoutdx,al;点亮相应的灯incbxmovcx,50;参数赋初值testal,21h;是否有绿灯亮jzde1;没有,短延时movcx,500;有,长延时de1:movdi,9000;di赋初值9000de0:decdi;减1计数jnzde0;di不为0loopde1jmpon;转到oncodeendsendstart思考题根据要求补充和修改实验程序,达到实验要求;修改电路和程序,利用其他I/O实现交通灯功能;若实现按键修改红绿灯时间,程序和硬件应该怎样设计。

实验三可编程定时器8254应用实验实验目的掌握8254各种工作方式的使用;掌握8254的基本工作原理和编程方法。实验内容将8254的计数器0设置为工作方式2,计数器的计数初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用OUT0接LED发光二极管,观察电平的变化(当输入N个脉冲后OUT0变低电平)。图3-18254接口线路接线方案GATE0/8254接+5VCLK0/8254接单脉冲CS/8254接Y0/IO地址OUT0/8254接L0/LEDDI、RW、E/核心板接DI、RW、E/LCD液晶D0~D7/核心板接D0~D7/LCD液晶图3-2实验线路编程提示及流程图1、参考程序流程图如图3-3所示。图3-3参考程序流程图2、8254控制寄存器地址283H;计数器0地址280H;计数器1地址281H;计数器2地址282H;实验步骤连接USB通信电缆和电源线;根据图3-3实验线路进行电路连接;打开“HQFC-A微机接口”应用程序,新建或打开实验程序;点击“编译”,并确保实验程序没有语法错误;点击“构建”,将目标文件生产可执行文件(后缀为EXE);点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;观察实验现象,并记录。若实验现象有误请重复第4~6步。参考程序;*************************;;*8254计数器0计数实验*;;*************************;io8253aequ283hio8253bequ280hcodesegmentassumecs:codestart:moval,();8254计数器0为方式2,二进制计数movdx,io8253aoutdx,almovdx,io8253b;送计数初值为0FHmoval,0fhoutdx,allll:inal,dx;读计数初值calldisp;调显示子程序movcx,0ffffhs1:loops1jmpllldispprocnear;显示子程序pushdxandal,0fh;首先取低四位movdl,alcmpdl,9;判断是否<=9jlenum;若是则为'0'-'9',ASCII码加30Hadddl,7;否则为'A'-'F',ASCII码加37Hnum:adddl,30hmovah,02h;LCD显示int21hpopdxret;子程序返回dispendpcodeendsendstart思考题根据要求补充和修改实验程序,达到实验要求;修改程序和硬件,利用计数器1或计数器2完成此内容。

实验四8254控制继电器实验实验目的了解微机控制直流继电器的典型电路及方法;进一步熟悉8255、8254的使用方法。实验内容实验电路如图4-1所示,并进行实验电路的搭建,由计数器1输出所需的控制信号,经8255的I/O口输出来驱动继电器的控制电路。继电器常开触点串联一个发光二极管,编程使用8254定时,让继电器实现闭合5秒钟(指示灯亮),断开5秒钟(指示灯灭)。图4-1实验线路接线方案CS/8254接Y0/IO地址GATE0/8254接+5VCLK0/8254接1M时钟OUT0/8254接CLK1/8254GATE1/8254接+5VOUT1/8254接PC7/8255PC0/8255接继电器CS/8255接Y1/IO地址编程提示及流程图1、参考程序流程图如图4-2所示。图4-2参考程序流程图2、将8254计数器0设置为方式3、计数器1设置为方式0并联使用,CLK0接1MHZ时钟,设置两个计数器的初值(乘积为5000000)启动计数器工作后,经过5秒钟OUT1输出高电平。通过8255C口查询OUT1的输出电平,用C口PC0输出开关量控制继电器动作。3、继电器开关量输入量输入“1”时,继电器常开触点闭合,发光二极管接通,指示灯亮,输入“0”时断开,指示灯灭。实验步骤连接USB通信电缆和电源线;根据图4-1实验线路进行电路连接;打开“HQFC-A微机接口”应用程序,新建或打开实验程序;点击“编译”,并确保实验程序没有语法错误;点击“构建”,将目标文件生产可执行文件(后缀为EXE);点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;观察实验现象,并记录。若实验现象有误请重复第4~6步。参考程序;***************************;;*继电器控制*;;***************************;io8253aequ280hio8253bequ281hio8253cequ283hio8255cequ28ahio8255ctlequ28bhcodesegmentassumecs:codestart:movdx,io8255ctl;设8255为PC7输入,PC0输出moval,()lll:outdx,almovdx,io8255cmoval,01;将PC0置位outdx,alcalldelay;延时5smoval,0;将PC0复位outdx,alcalldelay;延时5sjmplll;转llldelayprocnear;延时子程序pushdxmovdx,io8253c;设8254计数器0为方式3moval,()outdx,almovdx,io8253amovax,10000;写入计数器初值10000outdx,almoval,ahoutdx,almovdx,io8253cmoval,();设计数器1为工作方式0outdx,almovdx,io8253bmovax,500;写入计数器初值500outdx,almoval,ahoutdx,alll2:movdx,io8255cinal,dx;查询8255的PC7是否为高电平andal,080hjzll2;若不是则继续popdxret;定时时间到,子程序返回delayendpcodeendsendstart思考题分析程序和电路,理解计数器0和计数器1并联的使用方法;修改程序和电路,可否使用2MHZ时钟实现(5秒)功能。实验五DAC0832数模转换实验实验目的了解数/模转换器的基本原理;掌握DAC0832芯片的使用方法。实验内容实验电路如图5-1所示,DAC0832采用单缓冲方式,具有单双极性输出端(图中的Ua、Ub),利用示波器观察单极性输出端和双极性输出端的电压波形,验证数字与电压之间的线性关系。实验要求:输出(1)锯齿波;(2)正弦波。图5-1实验线路接线方案CS/0832接Y2/IO地址编程提示及流程图1、参考程序流程图如图5-2所示。锯齿波b.正弦波图5-2参考程序流程图2、8位D/A转换器DAC0832的口地址为290H,输入数据与输出电压的关系为:Ua=UREF×N/256;Ub=-2UREF×N/256-5(UREF表示参考电压,N表示数据),为了编程方便参考电压为5.12V。3、产生锯齿波只须将输出到DAC0832的数据有0循环递增。产生正弦波可根据正弦函数建一个数字量表,取值范围为一个周期。实验步骤连接USB通信电缆和电源线;根据图4-1实验线路进行电路连接;打开“HQFC-A微机接口”应用程序,新建或打开实验程序;点击“编译”,并确保实验程序没有语法错误;点击“构建”,将目标文件生产可执行文件(后缀为EXE);点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;观察实验现象,并记录。若实验现象有误请重复第4~6步。参考程序1、锯齿波;**********************;;*数/模转换实验1*;;*产生锯齿波*;;**********************;io0832aequ290hcodesegmentassumecs:codestart:movcl,0movdx,io0832alll:moval,cloutdx,aladdcl,10jmplll;若无则转LLLmovah,4ch;返回int21hcodeendsendstart2、正弦波;**********************;;*数/模转换实验2*;;*产生正弦波*;;**********************;datasegmentio0832aequ290hsindb80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdhdb0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96hdb80h,66h,4eh,38h,25h,15h,09h,04hdb00h,04h,09h,15h,25h,38h,4eh,66h;正弦波数据dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axll:movsi,offsetsin;置正弦波数据的偏移地址为SImovbh,32;一组输出32个数据lll:moval,[si];将数据输出到D/A转换器movdx,io0832aoutdx,almovcx,1delay:loopdelay;延时incsi;取下一个数据decbhjnzlll;若未取完32个数据则转llljmpllcodeendsendstart思考题修改程序实现三角波功能;修改程序,使锯齿波输出最大幅值为2.5V 。

实验六ADC0809模数转换实验实验目的了解模/数转换器的基本原理;掌握ADC0809芯片的使用方法。实验内容实验电路如图6-1所示,通过实验台上的电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),启动A/D转换器,读取转换结果,验证输入电压与转换后数字的关系。图6-1实验线路接线方案CS/0809接Y3/IO地址IN0/0809接0~5/直流信号DI、RW、E/核心板接DI、RW、E/LCD液晶D0~D7/核心板接D0~D7/LCD液晶编程提示及流程图1、参考程序流程图如图5-2所示。图5-2参考程序流程图2、编程采集IN0输入的电压,在屏幕上显示出转换后的数据(16进制),采用延时方式采样数据;3、ADC0809的IN0口地址为298H,IN1口地址为299H。4、输入电压与转换后数字的关系:N=Ui/(UREF/256),Ui为输入电压,UREF为参考电压,为了方便编程参考电压为5.12V。实验步骤连接USB通信电缆和电源线;根据图4-1实验线路进行电路连接;打开“HQFC-A微机接口”应用程序,新建或打开实验程序;点击“编译”,并确保实验程序没有语法错误;点击“构建”,将目标文件生产可执行文件(后缀为EXE);点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;观察实验现象,并记录。若实验现象有误请重复第4~6步。参考程序;*******************************;;*接收A/D转换器数据在屏幕上显示*;;*******************************;io0809aequ298hcodesegmentassumecs:codestart:movdx,io0809a;启动A/D转换器outdx,almovcx,0ffh;延时delay:loopdelayinal,dx;从A/D转换器输入数据movbl,al;将AL保存到BLmovcl,4shral,cl;将AL右移四位calldisp;调显示子程序显示其高四位moval,blandal,0fhcalldisp;调显示子程序显示其低四位jmpstart;若没有转STARTdispprocnear;显示子程序movdl,alcmpdl,9;比较DL是否>9jleddd;若不大于则为'0'-'9',加30h为其ASCII码adddl,7;否则为'A'-'F',再加7ddd:adddl,30h;显示movah,02int21hretdispendpcodeendsendstart思考题修改程序和电路,采用查询或中断方式实现模数转换;编写程序,能否实现两路模拟量采样及显示功能。

实验七串行通信8251应用实验实验目的了解串行通信的基本原理;掌握串行接口芯片8251的工作原理和编程方法。实验内容1.实验电路如图7-1和7-2所示,其中8254定时器用于产生8251的发送和接收时钟。2.编写程序,在发送端(甲机)从键盘输入一个字符,将其ASCII码加1后发送出去,然后在接收端(乙机)接收到数据,并显示在显示屏上,实现数据的串行发送和接收。图7-1发送端(甲机)实验线路图7-2接收端(乙机)实验线路接线方案CLK0/8254 接 1M时钟GATE0/8254 接+5VOUT0/8254接TX/RCLK/8251CS/8254接Y0/IO地址CS/8251接Y7/IO地址DI、RW、E/核心板接DI、RW、E/LCD液晶D0~D7/核心板接D0~D7/LCD液晶TXD/8251(发送端)接RXD(MAX232模块)键盘(发送端)接键盘接口(核心板)RXD/8251(接收端)接TXD(MAX232模块)编程提示及流程图1、图示电路中8251的控制口地址为2B9H,数据口地址为2B8H;8254定时器的控制口地址为283H,定时器0的地址280H。2、8254计数器的计数初值=时钟频率/(波特率×波特率因子),这里的时钟频率接1MHZ,波特率若选1200,波特率因子若选16,则计数器初值为52。图7-3发送和接收参考程序流程图实验步骤连接USB通信电缆和电源线;根据图7-1和7-2实验线路进行电路连接;打开“HQFC-A微机接口”应用程序,新建或打开实验程序;点击“编译”,并确保实验程序没有语法错误;点击“构建”,将目标文件生产可执行文件(后缀为EXE);点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;按键盘键值,观察现象,若实验现象有误请重复第4~6步。参考程序;************************;;*8251串行通讯(发送)*;;************************;datasegmentio8253aequ280hio8253bequ283hio8251aequ2b8hio8251bequ2b9hmes1db'youcanplayakeyonthekeybord!',0dh,0ah,'$'dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdx,io8253b;设置8253计数器0工作方式moval,16houtdx,almovdx,io8253amoval,52;给8253计数器0送初值outdx,almovdx,io8251b;初始化8251xoral,almovcx,03;向8251控制端口送3个0delay:callout1loopdelaymoval,40h;向8251控制端口送40H,使其复位callout1moval,4eh;设置为1个停止位,8个数据位,波特率因子16callout1moval,();向8251送控制字允许其发送callout1movdx,offsetmes1movah,09int21hwaiti:movdx,io8251binal,dxtestal,01;发送是否准备好jzwaitimovah,01;是,从键盘上读一字符int21hcmpal,27;若为ESC,结束jzexitmovdx,io

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论