闪烁LED灯的程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
闪烁LED灯的程序

闪烁LED灯 软件描述: /*文件描述:使用的是P1.0口,可以用其他的端口,如果用其他的端口只需把程序里的P1.0改成相应的端口,程序实现的功能是单片机通过对端口高低电平的控制实现led灯的亮和灭。赋值1就是高电平,0是低电平,具体赋什么值才亮要结合硬件部分,看led灯的接法。这里是赋0就会亮。*/ #includereg52.h sbit LED=P1^0;// 用sbit 关键字 定义 LED到P1.0端口, //LED是自己任意定义且容易记忆的符号 void Delay(unsigned int t); //函数声明 c语言有 void main (void) { while(1) { LED =1; //P1.0口置1 led灯灭 Delay(50000); //延时50ms 更改数可以更改延时时间 LED=0;// P1.0口置0 led灯亮 Delay(50000); //延时50ms 更改数可以更改延时时间 } } void Delay(unsigned int t)//延时程序 t的值代表几us { while(--t); }程序编译过程: 下面就建立一个工程:点击project菜单下的new project按钮,出现下图 然后键入文件名(自己起名字)比如 流水灯。 点击保存按钮。 选择单片机型号 一般选择ATMEL下面的AT89C52.点击确定就好了。之后就需要在工程里面添加文件了(就是写程序代码的地方)。点击file菜单下的new按钮就建立了新文件; 键入程序 点击保存按钮。 键入文件名但必须以 .c为后缀,因为你写的是c语言文件。如果是汇编就是.asm了。一般用c语言写,这里我就用test1.了,点击保存。 然后就是设置了。右击target1,选择第一项的options for target “target1”。 选择output 在create HEX前勾上对号。 点击确定。 之后就是添加文件了,就是把c语言文件添加到工程里面去。 右击上图灰色的部分,再左击Add files to ‘source group 1‘, 点击文件名text1.c,点击Add; 文件添加完毕,关闭对话框就可以了。下面就是编译了, 就是安从左到右的3个按键即可。创建了hex文件,这个文件就是烧写到单片机的文件; 下面就是烧写程序了。 打开烧写程序 选择单片机型号一般不用该默认c52.打开需要下载的文件即点击open file按钮;选择下载的文件; 点击打开即可;选择端口。一般这个电脑就是com1.点击下载即可。 给单片机上电; 硬件描述:硬件部分就是一个led灯。但是需要串联一个限流电阻,如果只加入一个led灯就是烧掉,限流电阻的选择要合适,这个自己百度看看 很简单的在这里就不必说了,应该串联个500R左右的电阻,因为办公室里没有所以就用了2个1K的并联。我建议同学自己焊下电路板,然后下载上程序看看。 下载后的状态: 定时器 /*文件描述:这个led口用的也是是P1.0口,可以用其他的端口,如果用其他的端口只需把程序里的P1.0改成相应的端口,这个程序实行的功能是利用定时器0的计数功能实现上面闪烁led灯的功能。*/ #include reg52.h sbit LED= P1^0; unsigned char Time=0; //计时次数 int main(void) { LED =1; //P1.0口置1 熄灭led灯 TMOD=0x01; //定时器0工作方式1 TH0=0xdb; //T0赋初值,延时0.01秒 (赋值有计算公式) TL0=0xff; ET0=1; //开定时器0中断 EA=1; //开总中断 TR0=1; //开始计数 while(1) //等待定时器中断 什么也不做 相当与while(1); { } } void timer0_int() interrupt 1 //定时器0中断 { TH0=0xdb; //T0赋初值,延时0.01秒 如果不赋值就会从0计数 TL0=0xff; Time++; if(Time==100) //判断是否计时到1秒 { Time=0; LED =~ LED; } } 与上面的一样,在这里就不必多说了。 串口中断 /*文件描述:串口实现的功能就是对串口进行测试,单片机发送字符到电脑,在由电脑发送回来,*/ #includereg52.

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档