欢迎访问有用文档网!

当前位置: 有用文档网 > 述职报告 >

单片机实验报告2

| 浏览次数:

 目录 一、 实验一··········································1 二、 实 验二··········································7 三、 实验三·········································11 四、 实验四·········································15

 一 实验一验实证验器数计/时定ﻩ 定时/计数器验证实验

 一、

 实验目得

 熟悉定时/计数器T0得特点,学会合理选择定时方式并能根据具体情况结合软件得方式定时。

 二、

 实验 设备及器件

 IBM PC机 一台 PROTEUS 硬件仿真软件 Keil C51。

  三、

 实验内容

 用AT89C51单片机得定时/计数器T0产生1s得定时时间,作为秒计数时间,当1s产生时秒计数加1;秒计数到60时,自动从0开始。

 四、

 实验要求

 要求采用Proteus软件实现上述实验.

 五、

 实验步骤

 1. 打开Proteus ISIS编辑环境,按照表1-1所列得元件清单添加元件。

  元件名称 所属类 所属子类 AT89C51 Microprocessor 8051 Family CAP Capacitors Generic CAP-ELEC Capacitors Generic CRYSTAL Miscellaneous —— RES Resistors Generic 7SEG--CAT—GRN Optoelectronics 7—Segment Displays PULLUP Modeling Primitives Digital[Miscellaneous] 表1- 1 元件清单

 元件全部添加后,在Proteus ISIS得编辑区域中按图1—1所示得原理图连接硬件电路。

  图1 — 1 电路原理图

 2. 根据参考程序绘出流程图,并辅以适当得说明。

 流程图如图1 1 —2 2 所示: :

 开始单片机数码管初始化设置定时器0初始化开中断是否有中断?进入中断程序送时间常数COUNT+1是否计够1秒?YN中断返回NSECOND+1是否等于60秒?YSECOND归零Y分离计数值十位个位N查表显示十位个位 图1 1- - 2 程序流程图

 3. 打开KeilμVision4,新建Keil项目,选择AT89C51单片机作为CPU,将参考程序导入到“Source Group 1”中.在“Options for Target”对话窗口中,选中“Output”选项卡中得“Create HEX File”选项与“Debug”选项卡中得“Use:Proteus VSM Simulator”选项。编译汇编源程序,改正程序中得错误。

 4. 在Proteus ISIS中,选中AT89C51并单击鼠标左键,打开“Edit ponent"对话窗口,设置单片机晶振频率为12MHz,在此窗口中得“Program File”栏中,选择先前用Keil生成得、HEX文件。在Proteus ISIS得菜单栏中选择“File"→“Save Design”选项,保存设计,在Proteus ISIS得菜单栏中,打开“Debug”下拉菜单,在菜单中选中“Use Remote Debug

  Monitor”选项,以支持与Keil得联合调试. 5. 在Keil得菜单栏中选择“Debug”→“Start/Stop Debug Session“选项,或者直接单击工具栏中得“Debug”→“Start/Stop Debug Se

 ssion"图标,进入程序调试环境。按“F5”键,顺序运行程序。调出“Proteus ISIS"界面可以瞧到7段数码管显示从0~59s得计数值,每个数值显示1s,如图1—3所示。

 图

 1 1 — 3

 程序运行结果

 六、

 实验 程序

 SECOND EQU 30H COUNT H13 UQEﻩ0GROﻩﻩ0 Hﻩ

 LJMP START

  ORG0 HBﻩﻩ

 LJMP INT_T0 START: H00#,DNOCESﻩﻩVOMﻩ

 H00#,TNUOCﻩ VOMﻩ ELBAT#,RTPDﻩ VOMﻩﻩ AﻩﻩRLCﻩﻩ

 MOV

 A,0Pﻩ

 MOV

 A,2Pﻩ

 MOV H00#,DOMTﻩﻩ

 652/)00005—63556(#,0HTﻩ VOMﻩ 652 DOM)00005—63556(#,0LTﻩ VOMﻩﻩ 0RT BTESﻩﻩ 0TE BTESﻩﻩ

 AEﻩBTESﻩ

 H28#,EI

 VOMﻩ

 LJMP $ﻩINT_T0:MOV 652/)00005—63556(#,0HTﻩﻩ VOMﻩﻩ

 652 DOM)00005—63556(#,0LTﻩ CNIﻩﻩ

 COUNT

  MOV

 TNUOC,Aﻩ ﻩ CJNE 2I,02#,Aﻩ

 VOMﻩﻩ COUNT,#00H

 ﻩ CNIﻩ SECOND

 ﻩ MOV

 A,SECOND

  CJNE 1I,06#,Aﻩ ﻩ MOV

 H00#,DNOCESﻩI1:

 MOV DNOCES,Aﻩﻩ ﻩ MOV H01#,Bﻩﻩ

 VIDﻩﻩ AB

  MOVC A,A+DPTR

 VOMﻩ P0,A

  B,AﻩﻩVOMﻩ

 RTPD+A,AﻩCVOMﻩ A,2PﻩﻩVOMﻩﻩI2:

 ITERﻩTABLE:

 DB3 H66,HF4,HB5,H60,HFﻩ

 DB 6DH,7DH,07H,7FH,6FH

  DNEﻩ七、

 思考题

 1. 罗列一下 Proteus 软件得能带给我们得好处, , 指出一点最能帮助您得地方。

 使用Proteus软件能使我们方便得搭建电路,同时在没有元器件得情况下进行便于仿真,方便我们在将程序写入单片机前确认运行就是否正确,同时可在采购器件之前即可开始开发产品,而不必等到器件采购完后搭建电路才进行程序调试。

 2. 用 用 Proteu s 界面中得播放键运行仿真与 Ke i lμVision4 得环境中联调运行它们两者得区别在什么地方?

 用Proteus界面中得播放键运行仿真仅可以观察运行结果,即程序运行在硬件表面上得表现。而联调得时候可以再Keil软件里查瞧各寄存器与存储器得状况,即硬件得内部情况。

 3. K K eil 软件软件仿真与 P r ote us 得仿真对比. .

 使用Proteus仿真可从硬件得角度观察仿真结果,使仿真结果更加形象直观,使我们可从硬件运行状态清楚得判断运行结果就是否正确。而在Keil环境中则就是从程序得角度通过观察程序中数据得变化来观察仿真结果,需要对程序运行结果充分了解. 八、

 实验总结 及相关问题

 通过本次实验了解了Ptoteus软件得使用方法,以及在掌握了Keil得使用方法下,学会了Proteus与Keil软件联调得方法。

 在用Proteus中由于忽略了要在总线处放置网络标号导致联调失败,最后通过观察发现数码管引脚电平无变化发现此问题,放置网络标号后运行仿真时数码管引脚电平发生变化可就是数码管却没有变亮,经过多次检查接线,未发现接线错误后,觉得可能就是软件本身错误,故将总线及数码管周围硬件线路重新绘制一遍后再次运行仿真及可得到图1—3得结果。

 二 实验二机片单ﻩ 单片机 O I/O 口控制实验

 一、

 实验目得

 利用单片机得P1 口作IO 口,使同学学会利用P1 口作为输入与输出口。

 二、

 实验设备及器件

 IBM PC 机 一台 DP—51PRO、NET 单片机仿真器、编程器、实验仪三合一综合开发平台一台

 三、

 实验内容

 1. 编写一段程序,用P1 口作为控制端口,使D1 区得LED 轮流亮。

 2. 编写一段程序,用P1、0~P1、6 口控制LED,P1、7 控制LED 得亮与灭(P1、7 接按键,按下时LED 亮,不按时LED 灭) .

 四、

 实验要求

 学会使用单片机得P1 口作IO 口,如果有时间同学也可以利用P3 口作IO 口来做该实验.

 五、

 实验步骤

 1. 用导线把A2 区得J61 接口与D1 区得J52 接口相连。原理如图2—1 所示。

  图2 — 1 实验二 原理图

 2. 先编写一个延时程序。

 延时程序 见程序1 1 子程序 DELAY 。

 3. 将LED 轮流亮得程序编写完整并使用TKStudy ICE 调试运行。

 LED 轮流亮程序见程序1 。

 调试运行结果 :D1 区 LE D轮流亮. .

 4. 使用导线把A2 区得J61 接口得P1、0~P1、6 与D1 区得 J52 接口得LED1~LED7 相连,另外A2 区J61 接口得P1、7 与D1 区得J53 得KEY1 相连. 5. 编写P1、7 控制LED 得程序,并调试运行。(按下K1 瞧就是否全亮). P1 、7 控制L ED 得程序见程序2 2 。

 调试运行结果:按下 P1 、7 7 后 D1 区LE E D全灭。

 6. A2 区J61 接口得P1、7 与D1 区得J54 得SW1 相连。然后再使用TKStudy ICE 运行程序,查瞧结果。

 P1 、7 控制L ED 得程序见程序2 2 。

 调试运行结果:按下P1 1 、7后D1 1 区LE E D全亮。

 六、

 实验参考程序

 序 程序 1: :

 ORG

 0000 HﻩLJMP

 NIAMﻩORG

 0100H MAIN: MOV

 A,#0FFH

  CLR CﻩﻩMAINLOOP:CALL YALEDﻩ A

 CLRﻩﻩ

 A,1Pﻩ VOMﻩ

 SJMP POOLNIAMﻩDELAY: MOV

 R7,#0 LOOP: MOV

 0#,6Rﻩ

 DJNZ $,6Rﻩ $,6R ZNJDﻩﻩ ﻩ DJNZ R6,$

 ﻩ DJNZ R7,LOOP

  RET

 ﻩ END 程序 2 2: :

 ORG

 000H LJMP MAIN ORG 0010 HﻩMAIN: JB

 DELTES,7、1PﻩCLRLED:CLR

 0、1Pﻩ

 CLR 1、1Pﻩﻩ

  RLCﻩ P1、2

 ﻩ CLR

 3、1Pﻩ

 CLR 4、1Pﻩﻩ ﻩ CLR

 P1、5

 RLCﻩ P1、6

 ﻩ SJMP MAIN SETLED:SETB P1、0

 ﻩ SETB 1、1Pﻩ

 2、1P BTESﻩ 3、1PﻩBTESﻩﻩ

 SETB 4、1Pﻩ

 SETB 5、1Pﻩ

 6、1PﻩBTESﻩ NIAMﻩPMJSﻩﻩ DNEﻩﻩ七、

 实验思考题

 1. 请同学思考一下, , 想出几个实现以上功能得编程方法。

 程序1可利用单片机得定时计数器通过选择定时计数器工作方式与预置初值设定延时时间,通过定时计数器产生得中断在中断程序中对A进行移位后输出至P1口. 程序2可在判断P1、7高低电平后根据判断结果直接将#80H或#7F直接送P1口而不必逐位进行位操作。

 2. 请同学再思考一下, , 第二个程序中如果使用 KEY1 作为外部中断控制 LED D 得亮与灭时, , 程序应如何修改。

 此时将KEY1接/INT0口,在主程序中开启外部中断设置外部中断触发方式,通过中断服务子程序控制LED亮灭。程序如下所示: 0GROﻩ00 Hﻩ LJMP MAIN

 ORG3000 序程务服断中ﻩ;Hﻩ LJMP DELTESﻩMAIN: MOV H04#,PSﻩ 断中部外开; 0TE BTESﻩ CLR 0TIﻩ ;设置为电平触发

 SETB AEﻩCLRLED:CLR P1、0

 CLR P1、1

 2、1PﻩRLCﻩ CLR 3、1Pﻩ 4、1PﻩRLCﻩ CLR P1、5

 CLR 6、1Pﻩ DELRLC PMJSﻩSETLED:SETB P1、0

 1、1PﻩBTESﻩ SETB P1、2

 3、1PﻩBTESﻩ 4、1P BTESﻩ SETB 5、1Pﻩ 6、1P BTESﻩ ITERﻩ

  DNEﻩ八、

 实验总结 及相关问题

 通过本次实验掌握了使用 TKStudy ICE 进行硬件仿真调试得方法,在设置仿真器驱动程序声明时对 C:\Keil 目录下得Tools、ini 文件添加描述时,由于添加得路径错误导致无法进行硬件仿真调试,修改为正确路径后方可在DEBUG 窗口中得 Use 选项中找到对应得选项。使用 TKStudy ICE 进行硬件仿真调试相比本学期得电子系统设计中用到得调试方法更快捷,使用更方便. 与此同时,通过本次实验对单片机得 I/O 控制有了更深入得了接,同时加深入对单片机I/O 编程得理解. 实验三

 串转并 O I/O 口实验

 一、

 实验目得

 熟悉并掌握串转并得I/O口扩展方法。

 二、

 实验设备及器件

 IBM PC机 一台 DP-51PRO、NET单片机仿真器、编程器、实验仪三合一综合开发平台 一台

 三、

 实验内容

 1. 写程序,通过单片机得P1口控制74HC164得串行输入端口,实现串并转换.

 2. 验证串并转换数据得正确性。

 四、

 实验要求

 熟悉串并转换芯片得工作原理,学会使用串并转换芯片扩展单片机得I/O 口资源.

 表3-1 74HC 164 真值表

 五、

 实验步骤

 1. 短接C5区JP10接口,将C5区J43接口与A2区J61接口得P10~P13对应相连 (CLK对P10等等)。如图3-1所示。

 图3 —1 实验 三 原理图

 2。

 运行编写好得软件程序,完成一次串并转换。

  实验 程序 见 实验参考程序。

 2. 使用C2区得逻辑笔或D1区得J52接口(LED指示灯)测试并行输出数据Q0~Q7数据得正确性。

 调试运行结果:通过观察 LE D得亮灭情况可判断完成一次串并转换, , 且转换结果正确无误. .

 六、

 实验参考程序

  CLK

 0、1P UQEﻩDINA

 EQU P1、1 DINB

 EQU P1、2 CLR164 3、1P UQEﻩORG0000 HﻩﻩLJMP NIAMﻩORG0010 HﻩﻩMAIN:

 MOV

 SP,#60H

 ﻩ NOP

  CLR

 CLK

  SETB BNIDﻩ

 RLCﻩﻩ CLR164

 461RLC BTESﻩﻩ

 HFF0#,Aﻩ VOMﻩ VOMﻩﻩ

 H80#,4RﻩSLCHG: RLC

 Aﻩ

 C,ANIDﻩ VOMﻩ

 SETB

 CLK

  PONﻩ

 KLC

 RLCﻩ

 PONﻩ GHCLS,4R

 ZNJDﻩﻩ $ PMJSﻩﻩ

 END 七、

 实验思考题

 参考图 3—2电路图,尝试编写软件程序,实现 8 位 LED 流水灯得控制。

  图 图 3 、2 实验原理图

 可利用单片机得定时计数器通过选择定时计数器工作方式与预置初值设定延时时间,通过定时计数器产生得中断在中断程序中对A进行移位。程序如下所示:

  CLK

 EQU

 0、1Pﻩ ﻩ DINA

 1、1P UQEﻩ ﻩ DINB

 2、1P

 UQEﻩ

 CLR164 EQU P1、3

 0 GROﻩ000 Hﻩ

 LJMP MAIN

 ﻩ ORG

 000BH

 ;定时器 0 中断服务程序

  LJMP SLCHG MAIN:

 H06#,PSﻩ VOMﻩ

 NOP

  CLR

 CLK

  BNID BTESﻩ

 461RLCﻩﻩRLCﻩ ﻩ SETB 461RLCﻩ

 MOV

 HFF0#,Aﻩ

 MOV

 1式方作工 0 器时定ﻩ;H10#,DOMTﻩ VOMﻩﻩ

 数常间时 sm2 送ﻩ;H81#,0HTﻩ

 HCF0#,0LTﻩ VOMﻩ ﻩ SETB

 0RTﻩ ;开中断

  0TEﻩBTESﻩ

 AEﻩBTESﻩ

 $ PMJSﻩSLCHG: MOV ﻩ H81#,0HTﻩ

 MOV

 HCF0#,0LTﻩ A

  CLRﻩﻩ C,ANID

 VOMﻩﻩ ﻩ SETB

 CLK

  NOP

 KLCﻩ RLCﻩ RETI

 DNEﻩ八、

 实验总结 及相关问题

 由于具有之前实验得基础所以本实验基本没碰到什么问题,调试运行都符合实验要求,通过本次实验对串并转化程序得编写有了一定了解,通过编写流水灯程序加深了对单片机串并口得了解。

 实验四

 继电器控制实验

 一、

 实验目得

 加深理解继电器得工作原理与特点,掌握利用单片机得IO口控制继电器得一般方法。

 二、

 实验设备及器件

 IBM PC机 一台 DP—51PRO、NET单片机仿真器、编程器、实验仪三合一综合开发平台 一台

 三、

 实验内容

 1. 利用D1区得拨动开关与LED,学习继电器得工作原理与特点。

 2. 编写一段程序,用P1、0口控制继电器,继电器控制LED得亮与灭,(与CLOSE连通时,一盏LED亮;不连通时该LED灭。与OPEN连通时,另一盏LED亮,不通时该LED灭).

 四、

 实验要求

 学会继电器得使用与利用单片机得IO口控制继电器得方法。

 五、

 实验步骤

 图4 -1 继电器驱动控制电路图

 1. 用短路帽短接JP7,使用导线把D1区J54接口得SW1与C7区J9接口得KJ(任意一根针)相连接。

 2. 使用导线把D1区J52接口得LED1、LED2与C7区J103接口得OPEN1,CLOSE1分别相连,另外C7区J103接口得1接地(GND)。

 3. 接好线后,同学可以拨动D1区得SW1拨动开关,观察现象(拨到1时LED2亮,拨到0时LED1亮),并得出结论。

 运行结果: : 拨到1 时LED 2 亮,拨到0 时L ED 1 亮 ,说明每拨动一次开关改变一次继电器得状态。

 4. 然后把C7 区J9 接口得KJ 改接到A2 区得J61 接口得P10。再编写一个程序程序(参考实验二), 使P1、0 口延时一段时间后改变电平值,来控制继电器得开关。

 实验 程序见实验参考程序。

 调试运行结果: : 两 个 LED 交替变亮, , 继电器状态不断改变。

 六、

 实验参考程序

 ORG 0000 HﻩLJMP MAIN ORG

 0100H MAIN: MOV

 R7,#0 LOOP: MOV

 0#,6Rﻩ ﻩ DJNZ $,6Rﻩ $,6RﻩZNJDﻩﻩ ﻩ DJNZ $,6Rﻩ POOL,7RﻩZNJDﻩﻩ ﻩ CPL

 0、1Pﻩ NIAM PMJSﻩﻩ

 DNEﻩ

 七、

 实验思考题

 1. 请同学思考一下,改由 OPEN 2 、2 、CLOSE2 时本实验如何进行。

  同使用OPEN1、1与CLOSE1时连接方法类似,把D1区J52接口得LED1、LED2与C7区J103接口得OPEN2,CLOSE2分别相连,另外C7区J103接口得2接地(GND)即可。

 2. 请同学再思考一下, 继电器得用途,并举例说明。

 继电器就是一种电控制器件,就是当输入量(激励量)得变化达到规定要求时,在电气输出电路中使被控量发生预定得阶跃变化得一种电器。它具有控制系统(又称输入回路)与被控制系统(又称输出回路)之间得互动关系。通常应用于自动化得控制电路中,它实际上就是用小电流去控制大电流运作得一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。

 按照其工作原理可有以下应用:电磁继电器固体继电器温度继电器舌簧继电器时间继电器高频继电器极化继电器其她类型得继电器 八、

 实验总结 及相关问题

 由于具有之前实验得基础所以本实验基本没碰到什么问题,调试运行都符合实验要求,通过本次实验了解了继电器得控制方法。对继电器这一器件有了一定了解。

推荐访问:单片机 实验 报告

热门排行Top Ranking

弦振动实验报告

弦振动得研究 一、实验目得 1、观察固定均匀弦振动共振干涉形成驻波时得波形,加深驻波得认识。 2、了

宣传委员述职报告12020 幼儿园党支部宣传委员述职报告

下面是小编为大家精心整理的宣传委员述职报告12020幼儿园党支部宣传委员述职报告文章,供大家阅读参考。宣传委员述

党建工作现场述职会上讲话 公安局长在党建工作现场会上的讲话

下面是小编为大家精心整理的党建工作现场述职会上讲话公安局长在党建工作现场会上的讲话文章,供大家阅读参考。党建工作现场

支部宣传委员述职述廉报告范例 幼儿园党支部宣传委员述职报告

下面是小编为大家精心整理的支部宣传委员述职述廉报告范例幼儿园党支部宣传委员述职报告文章,供大家阅读参考。支部宣传

政治生态评估报告5篇

可能会捆绑住经办人员的手脚,不利于业务工作的开展。致使个别中层干部主体责任压力传导出现能量损耗;个别

2021年领导述职报告合集2020 县领导述职报告

下面是小编为大家精心整理的2021年领导述职报告合集2020县领导述职报告文章,供大家阅读参考。2

工商局监察室主任述职述廉报告

工商局监察室主任述职述廉报告 第一篇:工商局监察室主任述职述廉报告 我叫haoword,中共党员,现

党支部书记个人述职报告 对村党支部书记述职报告的点评

下面是小编为大家精心整理的党支部书记个人述职报告对村党支部书记述职报告的点评文章,供大家阅读参考。党支部书记个人

结合乡村振兴战略人才工作述职报告 乡村振兴工作员年度述职

下面是小编为大家精心整理的结合乡村振兴战略人才工作述职报告乡村振兴工作员年度述职文章,供大家阅读参考。结合

财务分析课程报告4篇

财务分析课程报告4篇财务分析课程报告篇1一年来,在领导和同事们的的支持帮助和指导下,加上自身的不断努

个人安全生产履职报告[安全生产述职报告] 党委书记安全生产履职报告

下面是小编为大家精心整理的个人安全生产履职报告[安全生产述职报告]党委书记安全生产履职报告文章,供大家阅读参

企业年度工作总结报告范文13篇

企业年度工作总结报告范文13篇企业年度工作总结报告范文篇1时光飞逝,转眼已经毕业一年了,我顺利地完成