ImageVerifierCode 换一换
格式:DOCX , 页数:57 ,大小:367.28KB ,
资源ID:7751574      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7751574.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验项目4.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验项目4.docx

1、实验项目4 实验项目实验一 I/O端口输入输出实验一、P1口输入输出实验1.实验目的:(1)掌握P1口作为IO口时的使用方法。 (2)理解读引脚和读锁存器的区别。2.实验内容:P1.3脚的状态来控制P1.2的LED亮灭。3.实验器材:(1)G2010+实验平台 1 台(2)G6W仿真器 1 台(3)连线 若干 根(4)计算机 1 台4.实验原理: 由8051组成的单片机系统通常情况下,P0口分时复用作为地址、数据总线,P2口提供A15-A8即高8位地址,P3口用作第二功能,只有P1口通常用作I/0口。P1口是8位准双向口,它的每一位都可独立地定义为输入或输出,因此既可作为8位的并行I/O口,也

2、可作为8位的输入输出端。当工作在输入方式时,对应位的锁存器必须先置1,才能正确地读到引脚上的信号,否则,执行读引脚指令时,若对应位的锁存器的值为0,读的结果永远为0。每个I/0端口都有两种读入,即读锁存器和读引脚,读引脚指令一般都是以I/0端口为源操作数的指令,如MOV C,P1.3,而读锁存器指令一般为“读-修改-写”指令,如ANL P1.3,C指令,请同学们在实验中体会。图示中,P1.2作为输出口,P1.3作为输入口。 5.接线图案:“总线插孔”框中P1.2孔连接“发光二极管组”的L0孔,P1.3孔连“开关量发生器”的K0孔。6.程序框图:NY置P1.2=0,使LED熄灭开 始判断P1.3

3、=1吗?置P1.2=1,使LED点亮延 时7.实验步骤:(1) 编写程序实现当P1.3为低电平时,发光管亮;P1.3为高电平时,发光管灭。(2) 修改程序在执行读P1.3之前,先执行CLR P1.3,观察结果是否正确,分析在第二种情况下程序为什么不能正确执行,理解读引脚和读锁存器区别。二、P3.0口输入.P1口输出1.实验目的:掌握P3口、P1口简单使用。2.实验内容:P3.0口输入一脉冲,控制P1口按16进制加一方式点亮发光二极管。3.实验器材:(1)G2010+实验平台 1 台 (2)G6W仿真器 1 台 (3)连线 若干 根 (4)计算机 1 台 4.实验原理: 由8051组成的单片机系

4、统通常情况下,P0口分时复用作为地址、数据总线,P2口提供A15-A8即高8位地址,P3口用作第二功能,只有P1口通常用作I/0口。P1口是8位准双向口,它的每一位都可独立地定义为输入或输出,因此既可作为8位的并行I/O口,也可作为8位的输入输出端。当工作在输入方式时,对应位的锁存器必须先置1,才能正确地读到引脚上的信号,否则,执行读引脚指令时,若对应位的锁存器的值为0,读的结果永远为0。每个I/0端口都有两种读入,即读锁存器和读引脚,读引脚指令一般都是以I/0端口为源操作数的指令,如MOV C,P1.3,而读锁存器指令一般为“读-修改-写”指令,如ANL P1.3,C指令。 5.实验步骤:P

5、3.0孔用连线连至K0,P1.0-P1.7孔连至L0-L7,K0拨动一次,L0-L7发光二极管按16进制方式加一闪亮。6. 接线图案:7.程序框图:实验二 数据排序实验(WINDOWS平台调试方法)1.实验目的:(1)学习WINDOWS平台下的编辑、编译、排错、调试方法。(2)学习修改和观察变量的方法;综合使用单步、断点调试的方法。2.实验内容:编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单字节无符号正整数,按从小到大的次序重新排列。3.实验器材:(1) G6W仿真器 1 台 (2)计算机 1台 (3)G2010+实验平台 1 台4.实验步骤:(1)参阅Page40硬件安装把实

6、验平台、仿真器与PC机串行口连起来,打开电源。(2)在PC机上用鼠标点击“Wave”图标,进入WINDOWS调试环境,而后进行初始化设置。点击仿真器仿真器设置出现“仿真器设置”窗,点击此窗中仿真器,依次选择仿真器为G6W,选择仿真头为POD-51,选择CPU为 8031,然后点击此窗中仿真头设置,弹出“仿真设置”窗,程序存储器的设置和外部数据存储器设置的组合即四种工作模式。这里设定程序存储器在仿真器上,数据存储器在用户板上。(3)去除使用伟福软件模拟器之前“”,而后点击通信设置选择串口后,点击好键,对仿真器初始化,如连接成功,则出现如图A;如连接不成功,则出现如图B。图A 图B(4)在连机成功

7、的基础才可进行下一步操作。用鼠标点一下文件新建文件键,输入文件名NAME1.ASM,创造新文件,进入编辑窗口,在该窗口中输入程序,点击保存键存盘。 (5)用鼠标点项目全部编译窗,对当前窗口的源文件进行编辑。如果编译有错,信息窗口将自动弹出来,并表明出错的状态和地方,用鼠标双击信息窗口信息条,则自动定位源文件中出错的地方,你可修改存盘后再编译,直到编译通过为止。(6)打开窗口|数据窗口|DATA,在弹出的DATA窗口中50H开始的地址上输入不同的10个数。(7)把打开的窗口进行并排,以单步运行(F7键),跟踪运行(F8键)运行程序,观察DATA窗口50H开始的单元内容的变化。5.程序框图及其清单

8、:根据(R0)取数A(R0)+1送R0置标志位,交换内容开 始清标志位长度减1=0?标志位=0?结 束YY(A)(R0)?NNYN程序清单:ORG 0000H MOV R3,#50HLOOP0: MOV A,R3 MOV R0,A ;指针送R0 MOV R7,#0AH ;长度送R7 CLR 00H ;标志位为0 MOV A,R0LOOP1: INC R0 MOV R2,A CLR C MOV 22H,R0 CJNE A,22H,LOOP2 ;相等吗? SETB CLOOP2: MOV A,R2 JC LOOP3 ;小于或等于不交换 SETB 00H XCH A,R0 DEC R0 XCH A,

9、R0 INC R0 ;大于交换位置LOOP3: MOV A,R0 DJNZ R7,LOOP1 JB 00H,LOOP0 ;一次循环中有交换继续LOOP: SJMP LOOP ;无交换退出6.思考问题:编一程序把50H-5AH中内容按从大到小排列。实验三计数器实验1实验要求:8031内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动发光二极管显示出来。 2实验目的: 1、 学习8031 内部定时/计数器使用方法。 3实验器材:(1)G2010+实验平台 1 台 (2)G6W仿真器 1 台 (3)计算机 1 台4实验电路及连线:P1.0P1

10、.3孔分别连“发光二极管组”的L0L3孔,“脉冲源”的单脉冲输出孔用连线连至 P3.4(T0)。5实验说明:1 、本实验中内部计数器起计数器的作用。外部事件计数脉冲由P3.4 引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。6实验框图实验四 外部中断实验1实验要求用单次脉冲申请中断,在中断处理程序中对输出信号进行反转。2实验目的(1)学习外部中断技术的基本使用方法。(2)学习中断处理程序的编程方法。3实验器材:(1

11、)G2010+实验平台 1 台 (2)G6W仿真器 1 台 (3)计算机 1 台4实验电路及连线把“总线插孔”框中的P1.0孔连“发光二极管组”的L0孔,“脉冲源”的单脉冲输出“”孔连接INT0(P3.2)。5实验说明:MCS-51单片机有5个中断源,其中两个是由/INT0、/INT1引脚输入的外部中断源;另外三个是内部中断源即由T0、T1的溢出引起中断和串行口发送完一个字节或接收到一个字节数据引起中断。触发外部中断有两种方式,即下降沿引起中断或低电平引起中断。当编程TCON中的ITi为1时,则引起触发的方式为边沿触发方式,反之为低电平触发方式。每个中断源的中断请求能否得到响应要受两级“开关”

12、的控制,即一个总“开关”EA和五个分“开关”ES、ET1、EX1、ETO和EX0的控制,只有当EA为1,且对应的分“开关”也为1时,相应中断源的中断请求才能被响应。5个中断源可编程为两个优先级,同一优先级内以/INT0的优先级最高,然后是TO中断、/INT1中断、T1中断和串行口中断。5个中断源对应有个固定的中断服务程序入口地址。CPU在每个机器周期顺序采样每个中断源,如查询到某个中断源的中断标志为1,中断系统通过硬件自动将相应的中断矢量装入PC,进入中断服务程序。实验平台中的开关TR3为一带锁按钮(在实验仪“脉冲源”模块中),在按下和松开按钮时,“ ”孔的电平将发生变化,由此产生下降沿。中断

13、服务程序的关键是:1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。2.必须在中断程序中设定是否允许中断重入,即设置EXO 位。本实验中使用了INTO中断,一般中断程序进入时应保护PSW,ACC 以及中断程序使用但非其专用的寄存器。本实验的中断程序保护了PSW,ACC等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。本实验中没有涉及这种情况。6.实验步骤: 把“总线插孔”框中的P1.0孔连接“发光二极管组”的L0孔,“脉冲源”的单脉冲输出“”孔连接INT0(P3.2)。执行程序,按动TR3带锁按钮,观察信号反转。7实验框图中

14、断入口保护现场状态位取反状态位输出恢复现场开始设置初始状态设置中断控制寄存器中断允许等待中断中断返回 主程序框图 外部中断子程序框图 实验五 八段数码管显示1.实验目的:(1)了解数码管动态显示的原理。(2)了解74LS164扩展端口的方法。2.实验要求:利用实验仪提供的显示电路,动态显示一行数据.3.实验线路: 这里只是显示草图,详细原理参见第一章的1.1.15 “8155键显模块” 4.实验器材:(1)G2010+实验平台 1 台 (2)G6W仿真器 1 台 (3)计算机 1 台5.实验说明:(1)本实验仪提供了8段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显

15、示共有6位,用动态方式显示。8位段码是由8155的PB0、PB1经74LS164“串转并”后输出得到。6位位码由8155的PA0口输出,经uA2003反向驱动后,选择相应显示位。74LS164是串行输入并行输出转换电路,串行输入的数据位由8155的PB0控制,时钟位由8155的PB1控制输出。写程序时,只要向数据位地址输出数据,然后向时钟位地址输出一高一低两个电平就可以将数据位置到74LS164中,并且实现移位。向显示位选通地址输出高电平就可以点亮相应的显示位。本实验仪中数据位输出地址为0e102H,时钟位输出地址为0e102H,位选通输出地址为 0e101H。本实验涉及到了8155 I/0/

16、RAM扩展芯片的工作原理以及74LS164器件的工作原理。 a f b g e c d 。dp(2)七段数码管的字型代码表如下表:显示字形gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hb11111007chC011100139hd10111105ehE111100179hF111000171h6程序框图:否开始位选通信号移位取显示数据关所有位显示指向下一个显示数据数据移位输出到164

17、输出时钟脉冲到164 8段码完成否返回输出位选通信号初始化显示参数延时6位完成 是是 实验六 键盘扫描显示实验1.实验目的:(1)掌握键盘和显示器的接口方法和编程方法。(2)掌握键盘扫描和LED八段码显示器的工作原理。2.实验要求:在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码0F在六位数码管上显示出来。实验程序可分成三个模块。键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。显示模块:将显示单元的内容在显示器上动态显示。主程序:调用键输入模块和显示模块。3.实验器材:(1)G2010+实验平台 1 台 (2)G6W仿真器

18、 1 台 (3)计算机 1 台 4.实验电路: 这里只是键盘草图,详细原理参见第一章的1.1.15 “8155键显模块” 列码(0e101H) 行码(0e103H) 5.实验说明:本实验仪提供了一个64的小键盘,向列扫描码地址(0e101H)逐列输出低电平,然后从行码地址(0e103H)读回.如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码为高.这样就可以通过输出的列码和读取的行码来判断按下的是什么键. 在判断有键按下后,要有一定的延时,防止键盘抖动.列扫描码还可以分时用作LED的位选通信号.6实验框图:主程序框图键值转换为显示数据读取键值 LED显示显示缓冲区初始化是否有

19、键输入? 读键输入子程序框图是返回等待键盘释放S待按键释放查表得键码按照行列计算键值初始化地址参数6列扫描完?返回读入行信号 该列有键输入?列扫描信号移位输出列扫描信号开始否否是显示程序框图见上个实验实验七 A/D0809转换实验 1.实验目的:掌握A/D转换与单片机接口的方法;了解A/D芯片0809转换性能及编程方法;2.实验内容: 利用实验平台上的0809做A/D转换器,实验平台上的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,通过8155键显区数码管显示出来。3.实验器材: (1) G2010+实验平台 1 台 (2)G6W仿真器 1 台 (3)连线 若干 根 (4)计算机 1

20、台4.实验原理: A/D转换器的功能主要是将输入的模拟信号转换成数字信号,如电压、电流、温度测量等都属于这种转换。本实验中采用的转换器为ADC0809,它是一个8位逐次逼近型A/D转换器,可以对8个模拟量进行转换,转换时间为100S。其工作过程如下:首先由地址锁存信号ALE的上升沿将引脚ADDA、ADDB和ADDC上的信号锁存到地址寄存器内,用以选择模拟量输入通道;START信号的下降沿启动A/D转换器开始工作;当转换结束时,AD0809使EOC引脚由低电平变成高电平,程序可以通过查询的方式读取转换结果,也可以通过中断方式读取结果。CLOCK为转换时钟输入端,频率为100KHz-1.2MHz,

21、推荐值为640KHz。 5.程序框图:显示0809初始化开 始08090通道采样6.实验步骤: (1) 设定工作模式为模式2,即程序空间在仿真器上,数据空间在用户板上。把AD0809的零通道INO孔用连线接至模拟信号发生器的Vin0孔,AD0809的片选信号CS4孔接“译码器”YC2(0A000-0AFFFH)孔,“脉冲源”中的0.5MHZ孔连AD0809的CLOCK孔。(2)硬件诊断:调整实验平台上模拟信号发生器的电位器,使输入到此AD0809的IN0上电压为一定值。(20) G2010+G6W连PC机,在WINDOWS调试环境下点击外部数据窗口图标(),在打开的XDATA窗口中的0A000

22、H地址上写入00H(即选择AD0809的0通道),以启动AD0809对IN0上输入电压进行A/D转换,然后点击刷新图标(),读出AD转换结果。 (21) G2010+G6W连PC机,在DOS调试环境下,把光标移入XDATA窗中,按Alt+G,在打开的“Goto Address”窗口中输入“0A000H”,再按“回车”键,在0A000H地址上打入“00H”以启动AD0809对IN0上输入电压进行A/D转换,然后屏幕上显示的值即是读出的AD转换结果。 (3)编写程序,并编译通过 。本程序使用查询的方式读取转换结果。在读取转换结果的指令后设置断点,运行程序,在断点处检查并读出A/D转换结果,数据是否

23、与Vin0相对应。修改程序中错误,使显示值随Vin0变化而变化。 7.接线图案:8.思考问题: (1)试编写循环采集8路模拟量输入AD转换程序;(2)以十进制方式显示。实验八 D/A0832转换实验 1.实验目的:了解D/A转换与单片机的接口方法;了解D/A转换芯片DA0832的性能及编程方法。2.实验内容: 利用0832输出一个从0V开始逐渐升至5V再降至0V的三角波电压,数码管显示数字量值。3.实验器材: (1)G2010+实验平台 1 台(2)G6W仿真器 1 台 (3)连线 若干 根(4)计算机 1 台4.接线图案:5.程序框图:Y转换显示减1Y转换显示加1NN输入是否到FF?显 示0

24、832初始化输入是否到00?6.实验原理:D/A转换器的功能主要是将输入的数字量转换成模拟量输出,在语音合成等方面得到了广泛的应用。本实验中采用的转换器为DAC0832,该芯片为电流输出型8位D/A转换器,输入设有两级缓冲锁存器,因此可同时输出多路模拟量。本实验中采用单级缓冲连接方式,用0832来产生三角波,具体线路如上图所示。Vref引脚的电压极性和大小决定了输出电压的极性与幅度,G2010+实验平台上的DA0832的第8引脚(Vref)的电压已接为-5V,所以输出电压值的幅度为0-5V。7.实验步骤:(1)设定工作模式为模式2,即程序空间在仿真器上,数据空间在用户板上。把DA0832的片选

25、CS3孔连接至0B000H-0BFFFH孔。(2)硬件诊断:G2010+G6W连PC机,在WINDOWS调试环境下点击外部数据窗口图标(),在打开的XDATA窗口中的0B000H地址(即DA0832的片选空间)上写入FFH,则Aout孔输出应为5V,将00H写入,则Aout孔输出应为0V。(3)编写程序、编译程序,用单步、断点、连续方式调试程序,排除软件错误。运行程序,8155键显区数码管上显示不断加大或减小的数字量,用万用表测量D/A输出孔AOUT,应能测出不断加大或减少的电压值。8.思考问题: 修改程序,使能产生锯齿波。9.软件清单: ( MCS51A17.ASM)实验九 电子时钟(定时/

26、计数器定时实验)1.实验目的: 进一步掌握定时器、中断处理程序的编程方法;进一步掌握数码显示电路的驱动方法。中断入口开始2.实验框图:保护现场置定时器模式及常数10000次计数值减1设置初始常数否是否否调用显示子程序转换成显示数据显示数据送缓冲读取秒值转换成显示数据显示数据送缓冲读取分钟值转换成显示数据显示数据送缓冲读取小时值启动定时器到24小时到60分钟计数值为0到60秒中断返回恢复现场小时值清0分值清0,小时加1秒值清0,分钟加1秒值加1设置下次10000次计数值否是是是100us定时中断服务子程序 主程序框图3.实验内容: 利用CPU的定时器和实验仪上提供的数码显示电路,设计一个电子时钟

27、。4.实验说明: MCS-51单片机有两个16位的定时计数器T0和T1,当工作在定时方式时,计数脉冲来自单片机的内部,振荡器信号12分频后作计数脉冲,每个机器周期的时间使计数器加1,由于计数脉冲的频率是固定的(即每个脉冲为1个机器周期的时间),故可通过设定计数值来实现定时功能。如要实现定时100S,当晶振为6M时,每个机器周期为2S,让T0计50个数后溢出,产生中断告诉CPU定时,100S时间到。本实验定时器每100us中断一次,在中断服务程序中,对中断次数进行计数,100us计数10000次就是1秒。然后再对秒计数得到分和小时值,并送入显示缓冲区。 5.实验器材: (1)G2010+实验平台

28、 1 台; (2)G6W仿真器 1 台; (3)计算机 1 台6.实验电路: 见第一章的1.1.15 “8155键显模块”7.调试方法:本实验为实时I/O实验,因此软件调试一般用全速断点方式运行。将断点分别设在定时器中断入口地址上、中断处理程序结束处、主程序中。 分别以全速断点运行方式开始运行,若都能碰到断点,则说明程序的总体结构是正确的。 实验十 最小系统组成实验1 实验目的:通过最小系统组成实验,掌握单片机系统的时钟电路、复位电路工作原理。2 实验器材:(1)G2010+实验平台 1 台 (2)G6W仿真器 1 台 (3)连线 若干 根 (4)编程器 1 台(5)AT89C51芯片 1片 (6)万用表 1 块 (7)示波器 1 台 (8) POD51仿真头3实验原理: (1)MCS51 单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是此放大器的输入和输出端,其时钟可由内部和外部两种方式产生。由于采用内部方式时,电路简单,实际使用中常采用这种方式,如图中所示,外接晶体以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中(XTAL1和XTAL2),晶体振荡器在2-12M之间,C1、C2的值为20P左右。G2010+实验平台上已把晶体与电容连接好,并以插孔方式引出。(总线插孔区)(2)复位的目的是初始化单片机内

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1