实验题目文档格式.docx
- 文档编号:22363788
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:16
- 大小:208.10KB
实验题目文档格式.docx
《实验题目文档格式.docx》由会员分享,可在线阅读,更多相关《实验题目文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
●编程时,第一步操作是器件选择。
首先在类型栏选择器件类型,即从EPROM、SPROM、EEPROM、PLD、MCU中选择一种,然后在厂家选择栏选择器件的生产厂家,最后在器件选择栏选择器件,这一步工作很重要,因为不同器件的编程电压可能不同,忽略了这一步有可能烧坏器件,望大家注意!
第二步通过文件菜单将文件装入缓冲区。
第三步对芯片进行编程。
●测试时需要点击菜单栏中的测试项,选择要执行的功能。
该菜单有三项即逻辑器件测试、静态RAM测试和接口芯片测试。
逻辑器件测试操作用于测试TTL74/54系列CMOS40/45系列器件;
静态RAM测试操作用于测试SRAM6116、6264、62256、628128、628512及其兼容型器件;
接口芯片测试可用于测试常用接口芯片8155、8255、8253、6821等。
实验过程如下:
1)首先用文字编辑软件写出源程序(*.ASM);
2)然后用编译程序将源程序编译成目标程序(*.OBJ),
3)用转换程序将目标程序转化为十六进制文件(*.HEX);
4)最后用编程器将*.HEX烧录至芯片(单片机或EPROM)中;
5)将程序放入实验系统运行,并观察结果。
2仿真器
仿真器主要用于单片机系统的开发,价格也比较昂贵,不是做实验的必须器材,但是掌握仿真器的使用是非常重要的,因为使用仿真器可以更方便地进行程序调试,帮助排除程序中的错误非常有效,建议有条件的实验室配置一台仿真器。
目前国内有许多厂家生产仿真器,关于仿真器的具体使用方法请参考厂家提供的用户手册。
3示波器
示波器是一种很有用的工具,应用广泛。
由于单片机系统中的信号一般都在微秒数量级,无法用万用表进行测量,只有通过示波器我们才能看到如读、写、片选等信号,学会使用示波器,对单片机技术的开发有非常重要的意义。
4万用表也是一种很能常用的测量工具。
当进行开发时,电平、电路通断、电流、电压以及元件值等的测量是必不可少的,因此掌握万用表的使用是对每个学生最基本的要求。
另外,需要掌握一种电子线路图绘制软件如TANGO3.16(FORDOS)或PROTELL98/99(FORWINDOWS)等的使用方法,这是从事单片机技术开发的必备知识。
实验一AT89C51最小系统组成实验
一实验目的
通过最小系统组成实验,掌握单片机系统的时钟电路、复位电路的工作原理。
二实验器材
1.实验板一块;
2.+5V电源一台;
3.编程器一台;
4.示波器一台;
5.万用表一块。
三实验原理
1MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是此放大器的输入和输出端,其时钟可由内部和外部两种方式产生。
由于采用内部方式时,电路简单,实际使用中常采用这种方式,如图中所示,外接晶振以及电容C2和C3构成并联谐振电路,接在放大器的反馈回路中(XTAL1和XTAL2之间),晶体振荡器在2–12M之间,C2、C3的值为30P左右。
2复位的目的是初始化单片机内部的某些特殊功能寄存器。
单片机的复位是靠外电路实现的,在正常运行情况下,只要RST引脚出现两个机器周期以上时间的高电平,即可引起系统复位,复位后单片机内部的一些SFR被设置成一定的值,如PC=0000H,SP=07H等。
复位操作有两种情况,即上电复位和手动(开关)复位,由于干扰等因素造成程序不能正常运行时,就需要开关复位。
实验图中由R1、C1和74LS14组成上电复位电路,由按纽TR1和74LS14组成手动复位电路。
上电时,由于电容两端的电压不能突变,使得74LS14输入端的电平为低电平,其输出端为高电平,随着电源对电容C1的充电,在某一时刻,当电容两端的电压高于输入低电平门限时,74LS14输出变成低电平,使单片机脱离复位进入工作状态。
R取值在10K左右,C1取值为10μF;
在运行过程中,电容两端的电压接近5V,74LS14输出为低电平,当按下按纽TR1时,电容就会通过按纽对地短路放电,使74LS14输入快速变为低电平,输出变为高电平,当松开接纽时,过程与上电复位时一样。
AT89C51单片机的/EA(引脚31)必须接高电平,如图中所示。
(实验时需短路J3的1和2,J13的1和2)
五实验内容与要求
1编写程序,开始时发光二极管灭400MS,亮400MS,10次以后灭3秒,亮3秒,进行5次,然后重复上述过程。
2加电运行程序,在后一阶段按复位按纽,观察程序的运行状态。
3用示波器观察AT89C51的第18引脚XTAL2即图中测试点T1处的波形。
4用万用表测量AT89C51的第9引脚RST即图中T2处的电压,观察当按下和松开复位按扭TR1时,其电平的变化。
实验二P1口输入输出实验
1掌握P1口作为IO口时的使用方法。
2理解读引脚和读锁存器的区别。
由AT89C51组成的单片机系统,通常情况下P0口分时复用作为地址、数据总线,P2口提供A15-A8即高8位地址,P3口用作第二功能,只有P1口用作IO口。
P1口是8位准双向口,它的每一位都可独立地定义为输入或输出,因此既可作为8位的并行IO口,也可作为8位的输入输出端。
当工作在输入方式时,对应位的锁存器必须先写1,才能正确地读到引脚上的信号,否则,执行读引脚指令时,若对应位的锁存器的值为0,读到的结果永远为0。
每个IO端口都有两种读入,即读锁存器和读引脚,读引脚指令一般都是以IO端口为源操作数的指令,如MOVC,P1.3,而读锁存器指令一般为“读-修改-写”指令,如ANLP1.3,C指令,请同学们在实验中体会。
图2中,P1.2作为输出口,P1.3作为输入口。
(实验时短路J3的1、2)
四实验内容与要求
1编写程序实现当P1.3为低电平时(SW1闭合),发光管亮;
P1.3为高电平时,发光管灭。
2修改程序在执行读P1.3之前,先执行CLRP1.3,观察结果是否正确,分析在第二种情况下程序为什么不能正确执行,理解读引脚和读锁存器区别。
实验三外部中断0(/INT0)中断实验
1掌握MSC-51单片机中断原理以及编程使用方法。
2理解下降沿中断和低电平中断的区别。
4.紫外线擦除器一个;
5万用表一块。
MCS-51单片机有5个中断源,其中两个是由/INT0、/INT1引脚输入的外部中断源;
另外三个是内部中断源即由T0、T1的溢出引起中断和串行口发送完一个字节或接收到一个字节数据引起中断。
触发外部中断有两种方式,即下降沿引起中断或低电平引起中断,当编程TCON中的ITi为1时,则引起触发的方式为边沿触发方式,反之为低电平触发方式。
每个中断源的中断请求能否得到响应要受两级“开关”的控制,即一个总“开关”EA和五个分“开关”ES、EXT1、EX1、ET0和EX0的控制,只有当EA为1,且对应的分“开关”也为1时,对应中断源的中断请求才能被响应。
5个中断源可编程为两个优先级,同一优先级内以/INT0的优先级最高,然后是T0中断、/INT1中断、T1中断和串行口中断。
5个中断源对应5个固定的中断服务程序入口地址。
CPU在每个机器周期顺序采样每个中断源,如查询到某个中断源的中断标志为1,中断系统通过硬件自动将相应的中断矢量装入PC,进入中断服务程序。
实验线路如下图所示,图中的开关TR3为一按钮,通常状态下接A,C点为高电平,当按下按钮时B接地,这时就会在C点输出为低电平,当松开按钮时,C点重新变成高电平,实验时要求短接J3的1、2,J6的3、4。
1编写主程序,读取图中开关SW1的状态,当其闭合时(P1.3为低电平)初始化为下降沿中断,反之,初始化为低电平中断,且黄色发光管灭;
编写中断服务程序,使图中的发光管闪烁5次,间隔250MS,即中断服务程序的执行时间为2.5秒,退出中断程序时,使发光管灭。
实验分两步进行:
首先将SW1闭合,按按钮TR3,时间小于2.5秒,即在中断服务程序执行结束之前,图中C点变成高电平;
数秒后再按按钮TR3,时间大于2.5秒,即在中断服务程序执行结束之前,图中C点仍为低电平;
观察发光管的闪烁情况。
然后关掉电源,将SW1打开,重复上述的动作,观察发光管的闪烁情况。
两次的观察结果是否一样,为什么?
2用万用表测量图中C点的电平,按下TR31秒钟,然后松开,观察C点电平的变化。
实验四多个外部中断源扩展实验
掌握MSC-51单片机系统有多个外部中断源时的除理方法。
3.编程器一台。
MCS-51单片机只有两个外部中断源即(/INT0、/INT1),实际使用中外部中断源往往比较多,需要扩展外部中断源,一般有三种办法。
第一种方法是:
当定时计数器T0和T1不用时,可编程它们工作在对外计数方式,并设计数初值为计数的最大值,这样只要T0或T1引脚出现一个脉冲,就可以使定时计数器溢出产生中断,这种方法最多只能扩展两个外部中断源;
第二种方法是将多个中断源通过一个“与门”连接至/INT1上,它们同时也被连接至某一输入口如P1,这样每当/INT1产生中断时,通过查询输入口即可知道是哪个中断源提出了中断请求,当响应速度要求很高时,这种方法不适应;
第三种方法是通过优先权编码器74LS148来扩展外部中断源。
在8088系统中,我们使用中断控制器8259来扩展中断源,由于单片机系统中的中断服务程序入口地址是固定的,虽然也可以使用8259,但并不方便,相反使用74LS148,结构更简单,价格也较低。
74LS148有8个外部中断源输入端IRQ0–IRQ7,IRQ7的优先权最高,3个编码输出端A2–A0,一个编码群输出端GS,一个使能端/EI,当/EI为低电平时,只要其8个输入端中任意有一个输入为低电平,GS端输出就为低,且在A2–A0输出一组相应的编码,当有多个输入端同时输入为低时,A2–A0输出优先权最高的中断源对应的编码,当IRQ7–IRQ0分别有中断请求时输出的编码分别为000、001、010、011、100、101、110和111,实验时需将跳线J3中的1、2短接,J6中的7、8短接,J13的1、2。
编写主程序,初始化为下降沿中断,且黄发光管灭;
编写两个中断服务程序,当TR2按下时,发光管闪烁5次,间隔250MS,退出中断程序时,使发光管灭;
当TR3按下时,发光管闪烁10次,间隔250MS,退出中断程序时,使发光管灭。
实验五定时/计数器定时实验
1掌握MSC-51单片机定时/计数器定时功能的使用方法。
2了解定时与计数的本质区别和联系。
1.实验板一块;
MCS-51单片机有两个16位的定时计数器T0和T1,它们都有定时和对外部事件进行计数的功能,可用于定时控制、对外部事件检测和计数等场合。
计数和定时实质上都是对脉冲信号进行计数,只不过脉冲源不同而已,工作在定时方式时,计数脉冲来自单片机的内部,即振荡器信号12分频后作计数脉冲,每个机器周期的时间使计数器加1,由于计数脉冲的频率是固定的(即每个脉冲为1个机器周期的时间),故可通过设定计数值来实现定时功能,如要实现定时100μS,当晶振为6M时,每个机器周期为2μS,让T0计50个数后溢出,产生中断告诉CPU定时100μS时间到;
当工作在计数方式时,计数脉冲来自单片机的引脚,每当引脚上出现一个脉冲时,计数器加1,从而实现计数功能。
可以通过编程来指定定时/计数器的功能,以及它的工作方式。
实验时需将跳线J3中的1、2短接,J13的1、2短接,实验线路如下图所示。
(图中省去了复位电路、时钟电路、地址锁存器等电路)
编写程序,初始化定时/计数器T0工作在定时方式1,使P1.2输出周期为10秒的方波,即使发光管亮3秒,灭7秒。
实验六定时/计数器计数实验
1掌握MSC-51单片机定时/计数器计数功能的使用方法。
4.紫外线擦除器一个。
MCS-51单片机有两个16位的定时/计数器,T0和T1,它们都有定时和对外部事件进行计数的功能,可用于定时控制、对外部事件检测和计数等场合。
计数和定时实质上都是对脉冲信号进行计数,只不过脉冲源不同而已,当工作在定时方式时,计数脉冲来自单片机的内部,每个机器周期使计数器加1,由于计数脉冲的频率是固定的(即每个脉冲为1个机器周期的时间),故可通过设定计数值来实现定时功能。
当工作在计数方式时,计数脉冲来自单片机的引脚,每当引脚上出现一个由1到0的电平变化时,计数器的值加1,从而实现计数功能。
可以通过编程来指定定时计数器的功能,以及它的工作方式。
读取计数器的当前值时,应读3次,即THi、TLi、THi或者TLi、THi、TLi,只有当第一次和第三次读取的内容相同时,才为正确的结果,这样可以避免在第一次读完后,第二次读之前,由于低位溢出向高位产生进位时的错误。
实验线路中,TR3为一个按钮,通常情况下,C点为高电平,每按一次TR3,C点将输出一个脉冲,实验时需将J7的2、3短接,J6中的5、6短接,J13的1、2具体线路如下图所示。
编写程序,通过8个发光二极管来显示所计脉冲个数(通过按TR3产生脉冲,本实验中仅需显示TL0的值,如学生想同时显示TH0,请分两次显示(参考实验5IO口扩展实验中介绍的方法)。
实验七MCS-51单片机与IBM-PC机通信实验
1掌握MCS-51单片机串行口工作于UART方式时的工作原理和编程方法。
2掌握PC串行通信程序的编程方法。
MCS-51单片机的串行口,当工作于方式1、2和3时,作UART(通用异步接收和发送器)使用,以实现单片机系统之间点对点的单机通信、多机通信和单片机系统与PC机之间的通信;
PC机的串行通信主要是通过串行接口芯片8251实现的。
8251有10个寄存器,端口地址从3F8H–3FEH(COM1),可以通过对8251的编程来指定通信协议即通信的波特率、数据位数、奇偶类型和停止位长度,具体办法请参考微机原理教材。
另外PC机串口的电平为RS-232电平,而MCS-51串口的电平是TTL电平,要想实现两者之间的通信,需要在它们之间加电平转换电路,传统的方法是使用1488将TTL电平转换成RS-232电平,用1489实现反向转换,由于1488需要±
12V电压,使用中很不方便,故我们的实验中用MAX232代替,MAX232为单一+5V电源供电,既可实现TTL到RS-232的电平转换,也可实现RS-232到TTL电平的转换,使用十分方便,具体线路如下图所示。
实验时需将J4的1和3短接,2和4短接。
1编制PC机通信程序。
通信协议为波特率1200,1个起始位,8个数据位,1个停止位。
程序运行时,通过PC机键盘输入一个字符,然后将字符的ASCII码发送给单片机,再从单片机接收该字符,收到后在显示器上显示该字符,如在发送和接收过程中出现了错误,则显示?
,当键入字符是“X”或“x”时,程序结束。
2编制单片机通信程序。
程序运行时,通过串行口接收由PC机发送的字符,收到后按照实验十中显示计数值的方法,将接收到的字符的ASCII码通过发光管显示出来,然后将该字符再发送给PC机。
实验八并行接口芯片8155使用实验
1掌握MCS-51单片机系统IO口扩展方法。
2掌握并行接口芯片8155的性能以及编程使用方法。
3掌握单片机系统动态LED显示和键盘输入程序的设计方法。
MCS-51单片机的4个IO口中,通常情况下,只有P1口作为IO口使用,实际使用中经常需要扩展IO口。
扩展IO口方法之一就是采用专用的IO接口芯片如8155,8255等。
本实验中采用8155扩展了两个输出口、一个输入口以实现键盘输入和数码管输出显示。
可编程并行接口芯片Intel8155内部含有256字节的静态RAM,两个8位并行口PA、PB,一个6位并行的口PC,以及一个14位的定时/计数器,是单片机系统最常用的接口芯片之一,掌握其性能与使用方法非常重要,具体实验线路如下图所示,实验时需将实验板上的P1和P2、P4和P6连接起来。
1编制程序实现下列功能。
程序运行后数码显示器显示HH.MM.SS,HH为小时,其值为0–23;
MM为分,SS为秒,它们的值均为00—59,SS每秒加1。
当按下设置键(键值为0AH)后,输入新的时间,格式为HHMMSS(6位),然后按新的时间继续运行。
本实验的程序难度很大,作实验时根据实际情况可适当降低要求。
实验九DAC0832数模转换实验
1掌握DAC0832与MSC-51单片机的接口方法。
2掌握D/A转换程序的设计方法。
D/A转换器的功能主要是将输入的数字量转换成模拟量输出,在语音合成等方面得到了广泛的应用。
本实验中采用的转换器为DAC0832,该芯片为电流输出型8位D/A转换器,输入设有两级缓冲锁存器,因此可以同时输出多路模拟量。
本实验中采用单级缓冲连接方式,用0832来产锯齿波,具体线路如下图所示。
Vref引脚的电压极性和大小决定了输出电压的极性与幅度,实验时当J9的1、2短接时0832的第8引脚(Vref)的电压为+5V,当J9的3、4短接时0832的第8引脚(Vref)的电压为-5V,通过调节电路中的VAR3使输出为0–5V或0–-5V的锯齿波,波形由J8引入到示波器。
编制程序使图中运放LM741输出锯齿波和三角波,具体步骤为:
1断开图中开关SW1,程序输出锯齿波;
●将J9的1、2短接,即使Vref为+5V,通过实验板上的跳线J8将锯齿波引入示波器观察。
●然后将J9的3、4短接,使Vref为-5V,观察波形,注意二者的区别(极性)。
●调节图中的可变电阻VR3,观察波形,注意与第二步的区别(幅度)。
2闭合开关SW1程序输出三角波。
实验十温度测量实验
1掌握用ADC0809测量实际模拟量---温度的方法。
2了解AD590的工作原理及性能指标。
AD590是温度测量中最常用的传感器,它的工作电压为4V–30V,感测的温度范围为-55℃–+150℃,有非常好的线性输出(1μA/K),如0℃时,输出电流为273.2μA,10℃时,输出电流为283.2μA,而100℃时,输出电流为373.2μA。
实验线路如下图所示,调整图中可变电阻VR1,使串接于AD590的总电阻正好为10K,这样温度每增加1℃,运放U29的输出端就会增加10mV的电压,25℃时,U29输出电压为2.98,U29主要用于阻抗匹配;
通过调整VR2实现0℃时,U30的输出为0V,25℃时U30的输出为-0.25V;
U31的放大倍数为-5,当25℃时,U31的输出为1.25V。
因此当测量值为5V(转换的结果为255H)时,对应的温度为(5V/5/10mV即为100℃,当测量值为3V时(转换结果为3*255/5=153)时,对应的温度为3V/5/10mV,为60℃,依次类推。
实验电路中0809和MCU的接口电路与实验17(ADC0809模数转换实验)相同,只是现在的模拟量通道输入地址为FF80H。
编制程序和调整电路参数,通过数码管显示当前温度,范围0℃–99℃。
(建议使用静态方式显示,方法见实验12----“串口扩展实验”)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 题目
![提示](https://static.bdocx.com/images/bang_tan.gif)