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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《单片机与控制技术》实验指导书.docx

1、单片机与控制技术实验指导书单片机技术单片机与控制技术实验指导书2012.3第2版 2011.9第1版武汉工程大学电气信息学院电气工程教研室目 录实验1 P1口实验一 1实验2 P1口实验二 4实验3 简单I/O口扩展实验 7实验4 中断实验 11实验5 定时器实验 12实验6 存储器扩展实验 14实验7 P1口扩展键盘实验 15实验8 A/D转换实验 17实验9 D/A转换实验 19附录:实验设备硬件系统概述 21实验1 P1口实验一一、实验目的:1 学习P1口的使用方法。2 学习延时子程序的编写和使用。二、实验设备:CPU挂箱、8031CPU模块三、实验内容:1 P1口做输出口,接八只发光二

2、极管,编写程序,使发光二极管循环点亮。2 P1口做输入口,接八个按纽开关,以实验箱上74LS273做输出口,编写程序读取开关状态,在发光二极管上显示出来。四、实验原理: P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。可以用第二个实验做一下实验。先按要求编好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1做输入口,会有什么结果。再来看一下延时程序的实现。现常用的有两种方法,一是用定时器中断来实

3、现,一是用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。本实验系统晶振为6.144MHZ,则一个机器周期为126.144us即10.512us。现要写一个延时0.1s的程序,可大致写出如下: MOV R7,#X (1) DEL1:MOV R6,#200 (2) DEL2:DJNZ R6,DEL2 (3) DJNZ R7,DEL1 (4)上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要10.256us,现求出X值:10.256+X(10.256+20010.256+10.256)=0.110指令(1) 指令(2) 指令(3) 指令(4)所需时间 所需时间 所需时间 所

4、需时间X=(0.110-10.256)/(10.256+20010.256+10.256)=127D=7FH经计算得X=127。代入上式可知实际延时时间约为0.100215s,已经很精确了。五、实验原理图:P1口输出实验 P1口输入实验六、实验步骤:执行程序1(T1_1.ASM)时:P1.0P1.7接发光二极管L1L8。执行程序2(T1_1.ASM)时:P1.0P1.7接平推开关K1K8;74LS273的O0O7接发光二极管L1L8;74LS273的片选端CS273接CS0(由程序所选择的入口地址而定,与CSOCS7相应的片选地址请查看第一部分系统资源,以后不赘述)。七、程序框图: 循环点亮发

5、光二极管 通过发光二极管将P1口的状态显示八、参考程序:1、循环点亮发光二极管(T1_1.ASM)NAME T1_1 ;P1口输实验CSEG AT 0000H LJMP STARTCSEG AT 4100HSTART: MOV A,#0FEHLOOP: RL A ; 左移一位,点亮下一个发光二极管 MOV P1,A LCALL DELAY ;延时 0.1秒 SJMP LOOP; DELAY: MOV R1,#127 ; 延时0.1秒DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2 DJNZ R1,DEL1 RET; END2、通过发光二极管将P1口的状态显示(T1_2.A

6、SM)NAME T1_2 ;P1口输入实验OUT_PORT EQU 0CFA0HCSEG AT 0000H LJMP STARTCSEG AT 4100HSTART: MOV P1,#0FFH ;复位P1口为输入状态 MOV A,P1 ;读P1口的状态值入累加器A MOV DPTR,#OUT_PORT ;将输出口地址赋给地址指针DPTR MOVX DPTR,A ;将累加器A的值赋给DPTR指向的地址 SJMP START ;继续循环监测端口P1的状态 END 实验2 P1口实验二一、实验目的:1 学习P1口既做输入又做为输出的使用方法。2 学习数据输入、输出程序的设计方法。二、实验设备:CPU

7、挂箱、8031CPU模块三、实验原理:P1口的使用方法这里不讲了。有兴趣者不妨将实验例程中的“SETB P1.0, SETB P1.1”中的“SETB”改为“CLR”看看会有什么结果。另外,例程中给出了一种N路转移的常用设计方法,该方法利用了JMP A+DPTR的计算功能,实现转移。该方法的优点是设计简单,转移表短,但转移表大小加上各个程序长度必须小于256字节。四、实验原理图:P1口输入、输出实验五、实验步骤:平推开关的输出K1接P1.0;K2接P1.1;发光二极管的输入L1接P1.2;L2接P1.3;L5接P1.4;L6接P1.5。运行实验程序,K1做为左转弯开关,K2做为右转弯开关。L5

8、、L6做为右转弯灯,L1、L2做为左转弯灯。结果显示:1:K1接高电平K2接低电平时,右转弯灯(L5、L6)灭,左转弯灯(L1、L2)以一定频率闪烁;2:K2接高电平K1接低电平时,左转弯灯(L1、L2)灭,右转弯灯(L5、L6)以一定频率闪烁;3:K1、K2同时接低电平时,发光二极管全灭;4:K1、K2同时接高电平时,发光二极管全亮。六、参考程序:T2.ASMNAME T2 ;P1口输入输出实验CSEG AT 0000H LJMP STARTCSEG AT 4100HSTART: SETB P1.0 SETB P1.1 ;用于输入时先置位口内锁存器 MOV A,P1 ANL A,#03H ;

9、从P1口读入开关状态,取低两位 MOV DPTR,#TAB ;转移表首地址送DPTR MOVC A,A+DPTR JMP A+DPTRTAB: DB PRG0-TAB DB PRG1-TAB DB PRG2-TAB DB PRG3-TABPRG0: MOV P1,#0FFH ;向P1口输出#0FFH,发光二极管全灭 ;此时K1=0,K2=0 LJMP STARTPRG1: MOV P1,#0F3H ;只点亮L5、L6,表示左转弯 ACALL DELAY ;此时K1=1,K2=0 MOV P1,#0FFH ;再熄灭0.5秒 ACALL DELAY ;延时0.5秒 LJMP STARTPRG2:

10、MOV P1,#0CFH ;只点亮L7、L8,表示右转弯 ACALL DELAY ;此时K1=0,K2=1 MOV P1,#0FFH ;再熄灭0.5秒 ACALL DELAY LJMP STARTPRG3: MOV P1,#00H ;发光二极管全亮,此时K1=1,K2=1 LJMP START ;DELAY: MOV R1,#5 ;延时0.5秒DEL1: MOV R2,#200DEL2: MOV R3,#126DEL3: DJNZ R3,DEL3 DJNZ R2,DEL2 DJNZ R1,DEL1 RET ; END七、程序框图: 实验3 简单I/O口扩展实验交通灯控制实验一、实验目的:1 学

11、习在单片机系统中扩展简单I/O接口的方法。2 学习数据输出程序的设计方法。3 学习模拟交通灯控制的实现方法。二、实验设备:CPU挂箱、8031CPU模块三、实验内容:扩展实验箱上的74LS273做为输出口,控制八个发光二极管亮灭,模拟交通灯管理。四、实验原理:要完成本实验,首先必须了解交通路灯的亮灭规律。本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将L1(红)、L2(绿)、L3(黄)做为东西方向的指示灯,将L5(红)、L6(绿)、L7(黄)做为南北方向的指示灯。而交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延

12、时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。各发光二极管的阳极通过保护电阻接到+5V的电源上,阴极接到输入端上,因此使其点亮应使相应输入端为低电平。五、实验原理图六、实验步骤:74LS273的输出O0O7接发光二极管L1L8,74LS273的片选CS273接片选信号CSO. 运行实验程序,观察LED显示情况是否与实验内容相符。七、程序框图:八、参考程序:T3.ASMNAME T3 ;I/O口扩展实验一PORT EQU 0CFA

13、0H ;片选地址CS0CSEG AT 0000H LJMP STARTCSEG AT 4100HSTART: MOV A,#11H ;两个红灯亮,黄灯、绿灯灭 ACALL DISP ;调用273显示单元(以下雷同) ACALL DE3S ;延时3秒LLL: MOV A,#12H ;东西路口绿灯亮;南北路口红灯亮 ACALL DISP ACALL DE10S ;延时10秒 MOV A,#10H ;东西路口绿灯灭;南北路口红灯亮 ACALL DISP MOV R2,#05H ;R2中的值为黄灯闪烁次数TTT: MOV A,#14H ;东西路口黄灯亮;南北路口红灯亮 ACALL DISP ACALL

14、 DE02S ;延时0.2秒 MOV A,#10H ;东西路口黄灯灭;南北路口红灯亮 ACALL DISP ACALL DE02S ;延时0.2秒 DJNZ R2,TTT ;返回TTT,使东西路口黄灯闪烁五次 MOV A,#11H ;两个红灯亮,黄灯、绿灯灭 ACALL DISP ACALL DE02S ;延时0.2秒 MOV A,#21H ;东西路口红灯亮;南北路口绿灯亮 ACALL DISP ACALL DE10S ;延时10秒 MOV A,#01H ;东西路口红灯亮;南北路口绿灯灭 ACALL DISP MOV R2,#05H ;黄灯闪烁五次GGG: MOV A,#41H ;东西路口红灯

15、亮;南北路口黄灯亮 ACALL DISP ACALL DE02S ;延时0.2秒 MOV A,#01H ;东西路口红灯亮;南北路口黄灯灭 ACALL DISP ACALL DE02S ;延时0.2秒 DJNZ R2,GGG ;返回GGG,使南北路口;黄灯闪烁五次 MOV A,#03H ;两个红灯亮,黄灯、绿灯灭 ACALL DISP ACALL DE02S ;延时0.2秒 LJMP LLL ;转LLL循环DE10S: MOV R5,#100 ;延时10秒 LJMP DE1DE3S: MOV R5,#30 ;延时3秒 LJMP DE1DE02S: MOV R5,#02 ;延时0.2秒DE1: M

16、OV R6,#200DE2: MOV R7,#126DE3: DJNZ R7,DE3 DJNZ R6,DE2 DJNZ R5,DE1 RETDISP: MOV DPTR,#PORT ;273显示单元 CPL A MOVX DPTR,A RET END实验4 中断实验 按键控制LED亮灭一、实验目的:1 学习外部中断技术的基本使用方法。2 学习中断处理程序的编程方法。二、实验设备:CPU挂箱、8031CPU模块三、实验内容:使用用单片机的INT0中断资源控制发光二极管(LED)的亮灭。当按下实验装置的单脉冲按钮时,触发单片机的INT0中断,在INT0的中断服务程序中,将LED的状态取反,即原来L

17、ED状态亮的话,将LED熄灭,反之点亮。四、实验原理:使用单片机的IO口驱动发光二极管LED,如用P1.0引脚驱动LED0。显然,由实验装置的LED硬件电路可知,当P1.0输出高电平时,LED0点亮。本实验中断服务程序的功能比较简单,如果中断服务程序占用了一些公用资源(如寄存器等),还需要采取一些保护措施。最主要的地方是如何保护进入中断前的状态,使得中断程序执行完毕后能回到中断前的状态。要保护的地方,除了累加器ACC、标志寄存器PSW外,还要注意,通用工作寄存器R0R7是否也有必要保护。试着在该实验项目中将这些现场保护指令添加进去!五、实验原理图: (结合实验装置自行绘出!)六、实验步骤:CP

18、U板的I/O口与要驱动的LED相连(具体:.)。单脉冲输出端P-接CPU板上的INT0。七、程序框图: 1、 主程序框图 2、中断程序框图 ( 实验同学自行绘出 ) 八、参考程序: 实验5 定时器实验 按键控制LED亮灭一、实验目的:1 学习8031内部计数器的使用和编程方法。2 进一步掌握中断处理程序的编写方法。二、实验设备:CPU挂箱、8031CPU模块三、实验内容使用用单片机的定时计数器资源及中断资源控制发光二极管(LED)的亮灭。用定时计数器T0对外部脉冲计数(脉冲由单脉冲按钮产生),每按下实验装置的单脉冲按钮5次时,进入单片机的定时计数器中断,在中断服务程序中,将LED的状态取反,即

19、原来LED状态亮的话,将LED熄灭,反之点亮。四、实验原理:1 定时器模式确定及计数初值计算。2 初始化程序包括定时器初始化和中断系统初始化,主要是对IP、IE、TCON、TMOD的相应位进行正确的设置,并将时间常数送入定时器中。由于只有定时器中断,IP便不必设置。3 设计中断服务程序和主程序中断服务程序除了要完成计数减一工作外,还要将时间常数重新送入定时器中,为下一次中断做准备。主程序则用来控制发光二极管按要求顺序燃灭。 五、实验电路: (根据实验系统自行绘出)六、实验步骤:CPU板的I/O口与要驱动的LED相连(具体:.)。单脉冲输出端P-接CPU板上的INT0。七、程序框图: 1、主程序

20、框图 2、中断程序框图八、实验程序: 九、实验扩展 本实验如果不对外部脉冲计数,二是改为定时方式来控制LED亮灭,比如每0.5秒钟将LED状态取反一次,该如何实现? 提示:定时常数的确定定时器/计数器的输入脉冲周期与机器周期一样, 为振荡频率的1/12。本实验中时钟频率为6.0 MHZ,现要采用中断方法来实现0.5秒延时,要在定时器1中设置一个时间常数,使其每隔0.1秒产生一次中断,CPU响应中断后将R0中计数值减一,令R0=05H,即可实现0.5秒延时。时间常数可按下述方法确定:机器周期=12晶振频率=12/(610)=2us设计数初值为X,则(2e+16-X)2-610=0.1,可求得X=

21、15535化为十六进制则X=3CAFH,故初始值为TH1=3CH,TL1=AFH实验6 存储器扩展实验一、实验目的:1 掌握PC存储器扩展的方法。2 熟悉62256芯片的接口方法。二、实验设备:CPU挂箱、8031CPU模块三、实验内容: 向外部存储器的7000H到8000H区间循环输入000FFH数据段。设置断点,打开外部数据存储器观察窗口,设置外部存储器的窗口地址为7000H7FFFH。全速运行程序,当程序运行到断点处时,观察7000H7FFFH内数据是否正确。四、实验原理图:实验系统上的两片6264的地址范围分别为:3000H3FFFH,4000H7FFFH,既可作为实验程序区,也可作为

22、实验数据区。62256的所有信号均已连好。五、程序框图:T16.asm实验7 P1口扩展键盘实验一、实验目的:掌握P1口的使用方法,行列式键盘的工作原理及编程方法。二、所需设备1、 CPU挂箱2、 对象挂箱3、 CPU模块(80C31)4、 LED/数码管/键盘模块三、实验内容P1.41.7接键盘的列,P1.0P1.3接键盘的行。通过扫描键盘确定是否有键按下,如有则确定键值,并在CPU模块的数码管上显示(高位为行号,低位为列号)。四、实验原理说明本实验中键值的确定采用线反转法。 五、实验步骤1、 实验连线P1.4P1.7接KEYY1KEYY4,P1.0P1.3接KEYX1KEYX4。2、 运行

23、实验程序P1KEY.asm,按动键盘,查看显示键值。六、实验结果按动键盘时,数码管上显示出该键所在的行列号。如“12”表示第一行第二列。七、实验提示 在判断是否有键按下时,应有去抖动处理,以防止误操作。具体做法为延时10ms再次判断是否有键按下。只有两次判断均为有键按下才进行处理。八、程序框图实验8 A/D转换实验一、实验目的:1 掌握A/D转换与单片机的接口方法。2 了解A/D芯片ADC0809转换性能及编程方法。3 通过实验了解单片机如何进行数据采集。二、实验设备:CPU挂箱、8031CPU模块三、实验内容:利用实验台上的ADC0809做A/D转换器,实验箱上的电位器提供模拟电压信号输入,

24、编制程序,将模拟量转换成数字量,用数码管显示模拟量转换的结果。四、实验原理:A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近法A/D转换器,精度、速度、价格适中;三是并行A/D转换器,速度快,价格也昂贵。实验用的ADC0809属第二类,是八位A/D转换器。每采集一次需100us。ADC0809 START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号。实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,故启动A/D转换只需如下两条指令: MOV DPTR,#PORT MOVX DPTR,AA中为何内容并不重要,这是一

25、次虚拟写。在中断方式下,A/D转换结束后会自动产生EOC信号,将其与8031CPU板上的INT0相连接。在中断处理程序中,使用如下指令即可读取A/D转换的结果: MOV DPTR,#PORT MOVX A,DPTR、五、实验电路:六、实验步骤:1 0809的片选信号CS0809接CS0。2 电位器的输出信号AN0接0809的ADIN0。3 EOC接CPU板的INT0.七、程序框图:T15.ASM 主程序 中断服务程序 实验9 D/A转换实验一、实验目的:1 了解D/A转换的基本原理。1 了解D/A转换芯片0832的性能及编程方法。2 了解单片机系统中扩展D/A转换的基本方法。二、实验设备:CP

26、U挂箱、8031CPU模块三、实验内容:利用DAC0832,编制程序产生锯齿波、三角波、正弦波。三种波形轮流显示。四、实验原理:D/A转换是把数字量转换成模拟量的变换,从D/A输出的是模拟电压信号。产生锯齿波和三角波只需由A存放的数字量的增减来控制;要产生正弦波,较简单的手段是造一张正弦数字量表。取值范围为一个周期,采样点越多,精度就越高。本实验中,输入寄存器占偶地址端口,DAC寄存器占较高的奇地址端口。两个寄存器均对数据独立进行锁存。因而要把一个数据通过0832输出,要经两次锁存。典型程序段如下: MOV DPTR,#PORT MOV A,#DATA MOVX DPTR,A INC DPTR

27、 MOVX DPTR,A其中第二次I/O写是一个虚拟写过程,其目的只是产生一个WR信号。启动D/A。五、实验电路:六、实验步骤:1、 DAC0832的片选CS0832接CS0,输出端OUT接示波器探头。2、 将短路端子DS的1、2短路七、程序框图T14.ASM 主程序MAIN 锯齿波显示子程序:PRG1 三角波显示子程序:PRG2 正弦波显示子程序:PRG3 中断子程序:DELAY附录:实验设备硬件系统概述1、 8051单元1)、微处理器:i80c31,它的P1口、P3口皆对用户开放,供用户使用。2)、时钟频率:6.0MHz3)、存储器:程序存储器与数据存储器统一编址,最多可达64k,板载RO

28、M(监控程序27C256)12k;RAM1(程序存储器6264)8k供用户下载实验程序,可扩展达32k;RAM2(数据存储器6264)8k供用户程序使用,可扩展达32k。(RAM程序存储器与数据存储器不可同时扩至32k,具体与厂家联系)。(见图1-1:存储器组织图)。在程序存储器中,0000H-2FFFH为监控程序存储器区,用户不可用,4000H-5FFFH为用户实验程序存储区,供用户下载实验程序。数据存储器的范围为:6000H-7FFFH,供用户实验程序使用。注意:因用户实验程序区位于4000H-5FFFH,用户在编写实验程序时要注意,程序的起始地址应为4000H,所用的中断入口地址均应在原

29、地址的基础上,加上4000H。例如:外部中断0的原中断入口为0003H,用户实验程序的外部中断0的中断程序入口为4003H,其他类推,见表1-1。4)、可提供的对8051的基本实验 为了提高微机教学实验质量,提高实验效率,减轻主讲教师和实验教师的劳动强度,在该系统的实验板上,除微处理器外、程序存储器、数据存储器外,还增加了8255并行接口、8250串行控制器、8279键盘、显示控制器、8253可编程定时器、A/D、D/A转换、单脉冲、各种频率的脉冲发生器、输入、输出电路等模块,各部分电路既相互独立、又可灵活组合,能满足各类学校,不同层次微机实验与培训要求。可提供的实验如下:(1)、8051P1口输入、输出实验(2)、简单的扩展输入、输出实验(3)、8051定时器/计数器实验(4)、8051外中断实验(5)、8279键盘扫描、LED显示实验(6)、8255并行口输入、输出实验(7)、8253定时器/计数器实验(8)、8259中断实验(9)、串行口通讯实验(10)、ADC0809 A/D转换实验(11)、DAC0832 D/A转换实验(12)、存储器扩展实验(

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

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