2.led灯闪烁
来源:互联网 发布:js调用动态链接库 编辑:程序博客网 时间:2024/04/28 17:02
P1口上的第一个发光二极管L1不停地一亮一灭,闪烁的时间间隔为0.2秒
汇编:
ORG 0
START: CLR P1.0
LCALL DELAY
SETB P1.0
LCALL DELAY
LJMP START
DELAY: MOV R5,#20 ;延时子程序,延时0.2秒
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END
C语言:
#include <AT89X51.H>
sbit L1=P1^0;
void delay02s(void) //延时0.2秒子程序
{
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}
void main(void)
{
while(1)
{
L1=0;
delay02s();
L1=1;
delay02s();
}
}
Lesson2_1
#include <REG52.H>
sbit P1_0=P1^0;//赋值法,第一个发光管闪烁
unsigned int a;//要定义变量
void main()
{while(1)
{P1_0=0;灯亮
a=50000;//最大值65535
while(a--);//while语句后面需要分号
P1_0=1;//灯灭
a=50000;//保持
while(a--);
}
}
Lesson2_2
#include <REG52.H>
#include <intrins.H>
sbit P1_0=P1^0;
unsigned int a,b,c;
void delay(unsigned int);//第一个灯闪烁,调用子函数法
void main()
{while(1)
{P1_0=0;
delay(2000);
P1_0=1;
delay(2000);
}
}
void delay(unsigned int x)
{
for(c=500;c>0;c--);
for(a=5000;a>0;a--);
for(b=x;b>0;b--);
}
Lesson3_3第一个灯闪烁,启用中断定时器法(内部中断T1)
#include<reg52.h>
sbit P11=P1^0;
unsigned char a,num;
void main()
{
num=0;
EA=1;//中断总允许
ET1=1;//开发T1的中断允许
TMOD=0x10;//工作方式2,16位,2的16次方=65536
TH1=(65536-50000)/256;//定时器高八位装数
TL1=(65536-50000)%256;//50ms
TR1=1;//启动定时器1
while(1)
{
if(num==2)//2次*50ms=1s
{
num=0;
P11=~P11;取反,灯灭
}
}
}
void time1() interrupt 3using 1//标号,中断子函数无需函数声明
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
num++;
}
- 2.led灯闪烁
- LED 流水灯闪烁
- LED单灯闪烁
- 闪烁一位LED灯
- 一、Led灯闪烁
- LED闪烁灯
- uboot 之led灯闪烁
- fpga闪烁的led灯
- 3.6 LED灯闪烁程序
- LED闪烁
- LED闪烁
- led闪烁
- LED闪烁
- stm32 ucos LED灯延时闪烁+按键闪烁+串口输出
- 单只LED灯闪烁程序
- 一: AVR 单片机实现 LED 灯闪烁.
- LPC2103控制一个LED灯闪烁
- 4.0 IO口控制LED灯闪烁
- 关于MySQL字符集
- she is gone
- Android BOOT Time 优化
- 数据迁移案例
- phpcms2008 首页index.php浅析
- 2.led灯闪烁
- android 平台的双模的RIL设计
- analysis_macros.h
- 操作系统启动过程——硬件自检+系统引导+系统加载+系统登录
- 用反射(Reflection)和委托(delegate)分发 switch 操作
- SQL 获取第一天、最后一天等
- Android Animation
- 数据库备份作业的T-SQL语句
- 0.常用查询