- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机培训精要
点亮一个灯:
#includereg52.h//头文件
sbit led0=P0^0;//定义IO口P0^0为led0
void main()//主函数
{
led0=0;//led0低电平导通。0为低电平,1为高电平
}
*******************************************************************************
用延时函数控制流水灯:
#includereg52.h//头文件
sbit led0=P0^0;
sbit led1=P0^1;
sbit led2=P0^2;
sbit led3=P0^3;
sbit led4=P0^4;
sbit led5=P0^5;
sbit led6=P0^6;
sbit led7=P0^7;//定义了8个led对应8个IO口,另外也可以通过16进制0x直接控制。
void Delay_ms(unsigned int time)//利用两个for循环,占用CPU的运行时间,起到延时效果
{
unsigned int i,j;
for(i = 0;i time;i ++)
for(j = 0;j 930;j ++);
}
void main()//主函数
{
while(1)//死循环语句,一直重复这个过程
{
led0=0;//第一个灯亮
Delay_ms(1000);//第一个灯亮保持1秒
led0=1; //第一个灯灭
led1=0;//第二个灯亮
Delay_ms(1000);//第二个灯亮保持1秒
led1=1;//第二个灯灭
led2=0;//第三个灯亮
Delay_ms(1000);//第三个灯亮保持1秒
led2=1;//第三个灯灭
led3=0;
Delay_ms(1000);
led3=1;
led4=0;
Delay_ms(1000);
led4=1;
led5=0;
Delay_ms(1000);
led5=1;
led6=0;
Delay_ms(1000);
led6=1;
led7=0;
Delay_ms(1000);
led7=1;
led6=0;
Delay_ms(1000);
led6=1;
led5=0;
Delay_ms(1000);
led5=1;
led4=0;
Delay_ms(1000);
led4=1;
led3=0;
Delay_ms(1000);
led3=1;
led2=0;
Delay_ms(1000);
led2=1;
led1=0;
Delay_ms(1000);
led1=1;
}
}
另一种跑马灯:
#includereg52.h//这是另外一款单片机头文件,跟51单片机内核是基本相似的
#includeintrins.h//这是另一个头文件,里面包括了我们接下来所需的函数。
#define uchar unsigned char
#define uint unsigned int //宏定义uint 为 unsigned int 方便接下来直接使用,方便快捷
#define LED_PORT P0 //定义跑马灯连接的端口
/*********************************************************************************************************
** 函数功能 :延时函数
** 函数说明 :利用软件延时,占用CPU,经调试最小延时的单位大约为1ms,
** 入口参数 :time:需要延时的时间,单位ms,如time = 1000,则延时1000ms
** 出口参数 :无
*********************************************************************************************************/
void Delay_ms(uint time)//延时函数,
{
uint i,j;
for(i = 0;i time;i ++)
for(j = 0;j 930;j ++);
}
void main()//主函数
{
uchar temp = 0xFE,i = 0,flag = 0;
while(1)
{
if(flag == 0)
{
LED_PORT = temp;
Delay_ms(500);//延时0.5s
//移位函数_crol_()包含在头文件intrins.h里面,在#includeintrins.h之后
您可能关注的文档
最近下载
- (PPT)考勤管理制度.ppt VIP
- 安顺西秀富民村镇银行招聘考试真题及答案2022.pdf VIP
- 2021年青岛市临床营养质控中心年终考核暨下半年工作检查.docx VIP
- 2025年压力容器考试题库3带答案.doc VIP
- 2024贵州安顺普定富民村镇银行招聘笔试备考题库及答案解析.docx VIP
- 昆明元朔建设有限公司高速收费岗位笔试题.docx VIP
- 2021年安徽高考政治试卷.pdf VIP
- 九年级化学演示实验通知单(全册)资料.doc VIP
- 提高基建档案规范化管理——[ 获奖QC 成果发布 ].pdf VIP
- 2025贵州望谟富民村镇银行股份有限公司招聘考试参考题库附答案解析.docx VIP
文档评论(0)