学生版单片机实验指导书(新)

上传人:woxinch****an2018 文档编号:38983116 上传时间:2018-05-10 格式:DOC 页数:34 大小:4.39MB
返回 下载 相关 举报
学生版单片机实验指导书(新)_第1页
第1页 / 共34页
学生版单片机实验指导书(新)_第2页
第2页 / 共34页
学生版单片机实验指导书(新)_第3页
第3页 / 共34页
学生版单片机实验指导书(新)_第4页
第4页 / 共34页
学生版单片机实验指导书(新)_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《学生版单片机实验指导书(新)》由会员分享,可在线阅读,更多相关《学生版单片机实验指导书(新)(34页珍藏版)》请在金锄头文库上搜索。

1、单片机原理与应用单片机原理与应用实验指导书实验指导书实验一实验一 实验板使用,实验板使用,KeilKeil C51C51软件使用软件使用一、实验目的一、实验目的1. 熟悉单片机实验版、Keil C51软件使用二、实验说明二、实验说明本实验指定某块存储器的起始地址和长度,要求能将其内容置 1。通过该实验学生可以了解单片机读写存储器的方法,同时也可以了解单片机编程、调试方法。三、实验内容及步骤三、实验内容及步骤1.启动 PC 机,安装好 ISP 驱动,用 ISP 数据通信线连接计算机与实验板(USB 线) 。2.打开 Keil uVision2 仿真软件,首先建立本实验的项目文件,接着建立源程序,

2、编译无误后,全速运行程序。3.可把源程序编译成可执行文件,用 ISP 烧录器烧录到 89S52 芯片中。四、四、Keil C51 软件使用步骤软件使用步骤 1. 使用 Keil 前必须先安装。安装过程简单,这里不在叙述。 2. 安装好了 Keil 软件以后,我们打开它。打开以后界面如下:3. 我们先新建一个工程文件,点击“Project-New Project”菜单,如下图:3. 选择工程文件要存放的路径,输入工程文件名 LED,最后单击保存。4. 在弹出的对话框中选择 CPU 厂商及型号5. 选择好 Atmel 公司的 AT89S52 后 , 单击确定在接着出现的对话框中选择“是”。5. 新

3、建一个 C51 文件 , 单击左上角的 New File 如下图所示 :6. 保存新建的文件,单击 SAVE 如下图:在出现的对话框中输入保存文件名 MAIN.C(注意后缀名必须为.C) ,再单击“保存”, 如下图;7. 保存好后把此文件加入到工程中方法如下 : 用鼠标在 Source Group1 上单击右键 , 然 后再单击 Add Files to Group Source Group 1 如下图:8. 选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击 Close 9. 在编辑框里输入如下代码 : 10. 到此我们完成了工程项目的建立以及文件加入工程 , 现在我

4、们开始编译工程如下图所 示 : 我们先单击编译, 如果在错误与警告处看到 0 Error(s) 表示编译通过 ;11. 生成 .hex 烧写文件,先单击 Options for Target,如图;12. 在下图中,我们单击 Output, 选中 Create HEX F。再单击“确定”。13. 打开文件夹实验 1,查看是否生成了 HEX 文件。如果没有生成,在执行一遍步骤 10 到步骤 12,直到生成。实验二实验二 简单简单I/OI/O控制实验控制实验一、实验目的一、实验目的1、 学习 I/O 口的使用方法。 2、学习延时子程序的编写和使用。 二、实验内容二、实验内容 1、 P1 口做输出输

5、出口,接八只发光二极管(其输入端为低电平时发光二极管点亮) ,编 写程序,使发光二极管循环点亮。 2、 P30、P31、P32、P33 作输入输入口接四个开关 S0、S1 、S2、S3;P10,P11, P12,P13 作输出口,接四个发光二极管,编写 程序读取开关状态,将此状态在发光二极管上显示出来。编程时应注意 P3 口作 为输入口时应先置 1,才能正确读入值。 三、实验说明三、实验说明 1、P3 口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口 结构可知当 P3 口用作输入口时必须先对它置“1” 。若不先对它置“1” ,读入的数 据是不正确的。 2、延时子程序 void

6、 delay(unsigned int cnt) /简单的延时 while(-cnt); 四、电路原理图四、电路原理图1122334455667788DDCCBBAATitleNumberRevisionSize A2 Date:2010-9-19Sheet of File:E:不不不.不不不.SCHDOCDrawn By:LD2LD3LD4LD5LD6LD7LD8LD1VCC1kLR11kLR21kLR31kLR41kLR51kLR61kLR71kLR8流流水水灯灯104LC1 VCC12 34 56 78 910 11 12 13 14 15 16Header 8X2LSD_P1LED 连

7、接图11223344DDCCBBAATitleNumberRevisionSizeA4Date:2010-9-13Sheet of File:E:不不不不不不不不不不.SCHDOCDrawn By:EA/VPP31XTAL119XTAL218RST9P3.7(RD)17P3.6(WR)16P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78(AD0)P0.039(AD1)P0.138(AD2)P0.237(AD3)P0.336(AD4)P0.435(AD5)P0.534(AD6)

8、P0.633(AD7)P0.732(A8)P2.021(A9)P2.122(A10)P2.223(A11)P2.324(A12)P2.425(A13)P2.526(A14)P2.627(A15)P2.728PSEN29ALE/PROG30(TXD)P3.111(RXD)P3.010GND20VCC40AT89C51U3VCC12XTALY130pFCapC830pFCapC910KRes SemiR322uFCap Pol1C3SW-PBRST1KRes SemiR2P0_0 P0_1 P0_2 P0_3 P0_4 P0_5 P0_6 P0_7p1_0 p1_1 p1_2 p1_3 p1_4

9、p1_5 p1_6 p1_7p2_0 p2_1 p2_2 p2_3 p2_4 p2_5 p2_6 p2_7VCC3TXDRXDGNDINT0INT1T0T1LED3DS1VCC3 GNDP3_6P3_7rst1单片机最小系统 五、实验仪器和设备五、实验仪器和设备PC 机、KEIL 软件、实验板等。 六、实验步骤六、实验步骤 七、参考程序框图七、参考程序框图P1 口循环点灯框图 P3 口输入 P1 口输出框开始读入 P3 口值低 4 位值P3 口置 1将读入的值输出到 P1 低 4 位开始延时设置循环次数数据输出左移一位设置循环初始值次数- 1=0?YN图实验三实验三 定时定时/ /计数器实验计

10、数器实验一、一、 实验目的实验目的 1、通过本实验学习8051内部定时器的使用和编程方法。 2、掌握中断处理程序的编程方法。 二、实验内容二、实验内容 8051内部定时器T0用中断方式计时,实现每一秒钟使P1.0的输出状态发生一次反转, 从而形成方波输出。 8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数, 并将计数值按二进制数通过P1口驱动LED灯显示出来。 三、实验仪器和设备三、实验仪器和设备PC 机、KEIL 软件、实验板等。 四、实验步骤四、实验步骤 8051 单片机的定时/计数器在进行定时或计数之前要进行初始化编程,通常包括如下 几个步骤: (1)

11、 确定工作方式,即给方式控制寄存器 TMOD 写入控制字。 (2) 计算定时器/计数器初值,并将初值写入寄存器 TL 和 TH。 (3) 根据需要对中断控制寄存器 IE 置初值,决定是否开放定时器中断。 (4) 使 TCON 中的 TR0 或 TR1 置“1” ,启动定时器/计数器。 在初始化过程中,要设置定时或计数的初始值,则计算初值 X 的公式如下: 计数方式: X = M-要求的计数值 式中 M 取决于不同工作方式,可以是 213、216或 28)。 定时方式: X = (M-(要求的定时值/t) 式中t=12/fosc,称为定时周期。 五、实验程序流程图及参考程序五、实验程序流程图及参

12、考程序 1 1、 用用T1T1中断方式定时中断方式定时, ,每秒钟使每秒钟使P1.0P1.0输出状态发生一次反转输出状态发生一次反转 将T1作定时器定时1秒,由于实验系统fosc=12MHz,定时周期t=1us。为了实现定时1秒, 通过中断服务程序进行定时扩展,即设置T1定时50ms产生一次中断,同时设置一个软件计 数器来计数中断次数,当达到中断20次时即完成了定时1秒钟。 T1选用工作方式1,定时50MS的初值为X=65536-50000=15536 TH1=15536/256; TL1=15536%256; 实验程序清单如下。(中断方式)ORG 0000HLJMP MAINORG 001B

13、H ;T1的中断入口地址AJMP SERVERORG 0060H MAIN:MOV SP,#60HMOV R2,#20 ; 中断20次MOV TMOD,#10H ;T1模式1MOV TL1,#0B0H ;50MS初值MOV TH1,#3CHSETB TR1 ;启动T1SETB ET1 ;开T1中断SETB EA ;开总中断SJMP $ SERVER: MOV TL1,#0B0H ;50MS初值MOV TH1,#3CH DJNZ R2,LOOPMOV R2,#20 CPL P0.0LOOP:RETIEND ( (查询方式查询方式) )LOOP:JBC TF1,NEXT SJMP LOOP NEX

14、T: MOV TL1,#0B0H ;50MS初值MOV TH1,#3CHDJNZ R2,LOOPMOV R2,#20CPL P0.0SJMP LOOP2 2、 用用T0T0计数外部脉冲计数外部脉冲, ,通过通过P1P1口显示计数值口显示计数值 采用T0作计数器,外部计数脉冲由P3.4引入,8051单片机在每个机器周期采样一次输 入信号,因此至少需要两个机器周期才能检测到一次脉冲跳变。这就要求被采样的外部脉 冲高低电平保持时间均要大于一个机器周期,以保证电平在变化之前即被采样,并且外部 计数脉冲的最高计数频率为fosc/24。计数器实验参考程序框图开始设置 T0 工作方式 (方式 2、计数模式)

15、开始计数计数,输出计数值实验程序清单如下。ORG 0000HMOV TMOD, #00000110B ;设置T0为工作方式2,计数器MOV TH0, #0MOV TL0, #0SETB TR0 LOOP: MOV P1, TL0 ;将记数结果送P1口LJMP LOOPEND实验四实验四 中断实验中断实验一、实验目的一、实验目的1. 学习外部中断技术的基本使用方法。2. 学习中断处理程序的编程方法。 二、实验内容二、实验内容 用单次脉冲申请中断,在中断处理程序中对信号进行反转输出。 三、实验电路连线三、实验电路连线P1.0 -LED0-INT0四、实验说明四、实验说明 编写中断处理程序需要注意的问题是:1保护进入中断时的状态,并在退出中断之前恢复进入时的状态。2必须在中断处理程序中设定是否允许中断重入,即设置 EX0 位。 本例中使用了 INT0 中断,一般进入中断处理程序时应保护 PSW,ACC 以及 中断处理程序使用但非其专用的寄存器(保护现场) 。本例的 INT0 中断处理程序 保护了 PSW,ACC 等三个寄存器并且在退出前恢复了这三个寄存器(恢复现场) 。 另外中断处理程序中涉及到关键数据的设置时应关中断,即设置时不允许中断重 入。本例中没有涉及这种情况。3INT0 端接单次脉冲发生器。P10 接 L

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号