您所在位置: 网站首页 / 单片机闪烁的LED.ppt / 文档详情
单片机闪烁的LED.ppt 立即下载
2024-11-26
约5.4千字
约66页
0
969KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

单片机闪烁的LED.ppt

单片机闪烁的LED.ppt

预览

免费试读已结束,剩余 61 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

项目三闪烁的LED任务一一只LED的闪烁图3-2八路发光二极管控制实物图
AT89S51


P1.01、端口的定义
C51使用sfr命令来对单片机这些端口进行定义,如:
sfrP1=0x90;
这条命令的作用就是定义了P1这个名称(也可叫变量)代表了地址为90H的特殊功能寄存器。
汇编程序直接使用P1就可以,并且不分大小写。例:MOVP1,#0FFH;MOVP1,#00H。在程序命令中使用命令“sfrP1=0x90;”这样定义后,P1就代表了P1口,程序中就可以对单片机的P1口进行读写操作了,如使用“Y=P1;”的命令将单片机P1口的状态读入并存入变量Y中,而“P1=0x02”则是P1口的P1.1置1。
同样的方式,也可以定义其他端口。为了方便,C51将各个厂商生产的单片机的各个特殊功能寄存器的定义放在一个特殊的文件中,如AT89S51、AT89C51对应的文件是AT89X51.H。作为通用的MCS-51系列单片机,在编写C程序,首先调用这些通用的REG51.H头文件。
2、位定义
针对特殊功能寄存器的某一位进行操作,则需要使用sbit命令定义特殊功能寄存器中的可寻址位。如要对AT89S51端口P1的P1.0进行操作,则可以使用下面的命令进行定义:
sbitP10=P1^0;
然后就能使用“P10=1;”控制P1.0输出高电平,“P10=0;”控制P1.0输出低电平。
在本任务中的引脚定义使用如下命令:
sbitlight=P1^0;
命令定义了light表示P1口的P1.0端。
让LED点亮,需要在引脚上输出低电平,就是在P1.0引脚上输出0,应使用的命令是:
light=0;(汇编:CLRP1.0)
同理,让LED熄灭,应使用的命令是:
light=1;(汇编:SETBP1.0)

4、延时程序的编写

单片机执行一条指令的执行时间,称为指令周期。指令周期是以机器周期为单位的,为1~4个机器周期,多数指令都是单周期指令,也就是执行一条指令的时间为一个机器周期。在MCS-51单片机规定一个机器周期为单片机振荡器的12个振荡周期。如果晶振频率为12MHz,则一个机器周期为1μs。
单片机的指令运行是很快的,要在端口获得一定时间长度的脉冲信号,就要通过编写程序,使单片运行设计程序产生时间延迟,实现从单片机输出端口上获得需要频率的电脉冲信号。任务中要求获得0.5s的时间长度,当单片机的指令周期是1μs时,可计算出0.5s是1μs的500000倍,在程序编写中常用循环语句来完成计数和时间延迟,从而获得需要的延时时间。
为了便于计算和控制,常采用无符号变量的循环来实现。因为程序执行时,对应的每次循环所需要的时间是两个机器周期,当单片机所使用的晶振为12MHz,每次循环就延时2μs。
无符号数最大值为255,也就是说,使用无符号类型的变量的单个的循环最多为255次,即用一个循环不能完成所需要的0.5s延时。为了达到0.5s延时,可采用多重循环的方式完成。为了方便,将其中的每重循环的循环次数取为0.5s/2μs=250000的因数200、250和5。下面就是一个完成0.5秒延时的程序。

voiddelay05s(void)
{
unsignedchari,j,k;
for(i=5;i>0;i--)
{
for(j=200;j>0;j--)
{
for(k=250;k>0;k--)
{;}
}
}
}

整个子程序延时为:2μs×250×200×5=500000μs=0.5s。0.5秒延时的汇编程序:
MOVR6,#5
SS:MOVR7,#200
LOOP:MOVR5,#249
DJNZR5,$
DJNZR7,LOOP
DJNZR6,SS
整个子程序延时为:{[2μs×249+3]×200+2}×5=501010μs

按图3-5所对应的主程序:

voidmain(void)
{
while(1)
{
light=0;
delay05s();
light=1;
delay05s();
}
}
5、(1)C语言程序:(2)、汇编语言程序:(一)keilC51windows集成开发平台的使用
1.keilC51windows集成开发平台介绍2.导入需要仿真的程序KEIL软件开发平台KEIL软件开发平台KEIL软件开发平台KEIL软件开发平台KEIL软件开发平台KEIL软件开发平台KEIL软件开发平台KEIL软件开发平台KEIL软件开发平台(二)Keil程序调试调试程序窗口工程窗口寄存器页2.各种窗口在程序调试中的用途I/O端口界面I/O口全部打开界面打开后的Interrupt窗口串口设置打开后的串口窗口定时器设置打开后的定时器1窗口常用的调试按钮二、ISP软件的使用任务二跑马灯程序设计分析

为了让图3-28所示的LED依次点亮,就是要求
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

单片机闪烁的LED

文档大小:969KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用