标题:
用单片机的IO口控制一个LED灯间隔0.5S闪烁程序 开发环境建立与使用
[打印本页]
作者:
321BIN
时间:
2018-12-21 09:37
标题:
用单片机的IO口控制一个LED灯间隔0.5S闪烁程序 开发环境建立与使用
一、实验目的
1. 了解KeilC集成环境的基本操作方法。
2. 能在KeilC系统上编辑、编译、单片机C程序,并能生成烧写文件。
3. 掌握IO口基本输入输出操作。
二、实验内容
1. 用单片机的IO口控制一个LED灯,实现LED灯间隔0.5S闪烁。
2. 用单片机的一个P口,实现一个流水灯效果。
单片机源程序如下:
////1. 用单片机的IO口控制一个LED灯,实现LED灯间隔0.5S闪烁。
//#include <stc15.h>
//#include <intrins.h>
//typedef unsigned int u16;
//void DelayNms(u16 a) //@11.0592MHz
//{
// unsigned char i, j;
// u16 b;
// for(b=0;b<a;b++)
// {
// i = 11;
// j = 190;
// do
// {
// while (--j);
// } while (--i);
// }
//}
//void main()
//{
// while(1)
// {
// P00=0;
// DelayNms(500);
// P00=1;
// DelayNms(500);
// }
//}
//2. 用单片机的一个P口,实现一个流水灯效果。
#include <stc15.h>
#include <intrins.h>
void Delay100ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 5;
j = 52;
k = 195;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
// P1M0=P1M0|0x01;
// P1M1=P1M1&0xFE;
//
P0M0=0;
P0M1=1;
while(1)
{
//从左到右
P10=0;
Delay100ms();
P10=1;
Delay100ms();
P01=0;
Delay100ms();
P01=1;
Delay100ms();
P02=0;
Delay100ms();
P02=1;
Delay100ms();
P03=0;
Delay100ms();
P03=1;
Delay100ms();
P04=0;
Delay100ms();
P04=1;
Delay100ms();
P05=0;
Delay100ms();
P05=1;
Delay100ms();
P06=0;
Delay100ms();
P06=1;P11=1;
Delay100ms();
P07=0;
Delay100ms();
P07=1;
Delay100ms();
//从右到左
P06=0;
Delay100ms();
P06=1;
Delay100ms();
P05=0;
Delay100ms();
P05=1;
Delay100ms();
P04=0;
Delay100ms();
P04=1;
Delay100ms();
P03=0;
Delay100ms();
P03=1;
Delay100ms();
P02=0;
Delay100ms();
P02=1;
Delay100ms();
P01=0;
Delay100ms();
P01=1;
Delay100ms();
P10=0;
Delay100ms();
P10=1;
Delay100ms();
}
}
复制代码
所有资料51hei提供下载:
http://www.51hei.com/bbs/dpj-146946-1.html
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1