- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机原理及应用实验指导书
单片机原理及应用
实验指导书
湖南人文科技学院
二00一年三月
实验一 I /O口输出实验—LED流水灯实验
一、实验目的
1、掌握单片机最小系统的构成;
2、掌握I/O口的使用及驱动能力的概念;
3、熟悉移位指令和软件延时程序。
二、实验设备与器件
1、计算机1台
2、PROTEUS单片机教学实验箱 FB-EDU-P51A
三、实验原理
如下图所示,用单片机控制LED的亮与灭,在实验图中将MCU的P1口与LED的阴极相连,当P1口给低电平时,LED发亮,当P1口给高电平时,LED熄灭。
四、实验内容
1、利用51单片机及8个发光二级管等器件,构成一个流水灯单片机系统。
2、用Keil C51软件创建程序
3、对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真;
4、实验板验证
(1)用ISP下载hex程序到CPU
(2)按连接表连接电路
(3)检查验证结果
五、实验报告
在预习报告的基础上写出详细实验过程;画出实验原理图,写出单片机控制程序,写出调试步骤与仿真方法,观察实验现象,得出实验结果,并分析实验结果的正确性。
六、预习要求
1、单片机最小系统的构成
2、单片机I/O口的使用以及软件延时程序的编写。
七、实验参考程序
ORG 00H
START: MOV R2,#8
MOV A,#0FEH
LOOP: MOV P1,A
LCALL DELAY
RL A ;循环左移
DJNZ R2,LOOP ;判断移动是否超过8 位,未超过继续循环
LJMP START
DELAY: MOV R5,#20 ;延时程序,延时0.2s
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END
实验二 定时器实验
一、实验要求
用51单片机的P1.0口接1个发光二级管,编写程序,控制发光二级管闪烁,时间间隔1S,要求AT89C51内部定时器计时。
二、实验目的
掌握单片机定时计数器定时方式的使用及编程方法。
三、实验电路及连线
1、Proteus实验电路
2、硬件验证实验(CPU板+006板)
硬件连接表
CPU板
006板
P1.0
LED1
+5V
+5V
GND
GND
四、实验说明
1.主要知识点概述:
关于内部计数器的编程,主要是定时常数的位置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本例使用的是定时器,定时1S。CPU运行定时中断方式,实现每1S输出状态发生一次反转,即发光二级管1S亮一次。
定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止。
内部计数器用于定时器时,是对机器周期计数。每个机器周期的长度是12个振荡周期。本例中单片机晶振12MHZ,选用工作方式2,既8位自动重装方式定时器,定时器100us中断一次,所以定时常数的设置可按以下方法计算:
机器周期=12/12MHZ=1us
(256-定时常数)*1us=100us
定时常数=156。然后对100us中断次数计数10000次,就是1S。
2.实验效果说明:
发光二级管按设定的定时时间闪烁。
五、实验参考程序:
TICK EQU 10000 ;10000×100us=1s
T100us EQU 256-100 ;100us时间常数(12M)
C100us EQU 30H ;100us计数单元
LEDBUF EQU 40H
LED BIT P1.0
ORG 00H
LJMP START ;跳至主程序
ORG 000BH ;定时中断入口地址
T0INT: PUSH PSW ;状态保护
MOV A,C100us+1
JNZ GOON
DEC C100us ;秒计数值减1
GOON: DEC C100us+1
MOV A,C100us
ORL A,C100us+1
JNZ EXIT ;100us计数器不为0,返回
MOV C100us,#HIGH(TICK) ;100us计数器为0,重置计数器
MOV C100us+1,#LOW(TICK)
CPL
文档评论(0)