学习51单片机开发板.doc

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、发光二极管 利用位操作打开第一个发光二极管 #include<reg52.h> sbit D1P1^0; //单片机P1口置0 void mainD10;利用总线操作打开第二个发光二极管 #include<reg52.h> void mainP10xfd;//单片机P1有8个口,设设置第二个亮使发光二极管闪烁 #include<reg52.h> sbit p1_1P1^1; unsigned int a,b; void delayunsigned int b //当b51180时,亮的持续时间为0.5s。whileb--; void mainwhile1 //一般情况下,我们默认程序会循环//当我们想让程序停在某一步的时候,while1; a51180; p1_10; delaya; p1_11; delaya;流水灯 法一: #include<reg52.h> sbit p1_0P1^0; sbit p1_1P1^1; sbit p1_2P1^2; sbit p1_3P1^3; sbit p1_4P1^4; sbit p1_5P1^5; sbit p1_6P1^6; sbit p1_7P1^7; unsigned int a,b; void delayunsigned int bwhileb--;void mainwhile1a51180; p1_00; delaya; p1_01; p1_10; delaya; p1_11; p1_20; delaya; p1_21; p1_30; delaya; p1_31; p1_40; delaya; p1_41; p1_50; delaya; p1_51; p1_60; delaya; p1_61; p1_70; delaya; p1_71;法二:利用循环移位的方法 例如:1111 1110--1111 1101-1111 1011,这是循环左移 #include<reg52.h> #include<intrins.h> //调用循环左移函数的头文件。 unsigned int a,b; unsigned char temp; void delayunsigned int bwhileb--;void main temp0xfe; P1temp; /*这边可能有疑问,那就是P1根本没定义,怎么可以直接用呢,原因是,P1相当于特殊字符,就是代表了单片机上的P1*/ //类似的还有很多,例如:P2^30,表示蜂鸣器发声,可以通过查看<reg.52> while1a51180; temp_crol_temp,1; delay51180; P1temp;流水灯,从上到下,从下到上循环亮 #include<reg52.h> #include<intrins.h> unsigned int i,j; //不知道什么原因,i,j必须设为外部参数 unsigned char temp,temp1; void delayunsigned int bwhileb--;void repeattemp0xfe; P1temp; fori7;i>0;i--delay51180; temp_crol_temp,1; P1temp;forj7;j>0;j--delay51180; temp_cror_temp,1; P1temp;void main while1repeat;数码管 数码管的显示 #include<reg52.h> sbit dulaP2^6; //控制段选 sbit welaP2^7; //控制位选 void mainwela1; //打开位选 P00xfe; //选择1111 1110,选择第一个数码管。注意只有6个数码//管,所以前两位必须11 wela0; //关闭位选,此时即便改变P0想重新选择数码管也无用 dula1; //打开段选 P00x06; //设置数码管的显示数字 dula0; //关闭位选 while1; //让数码管持续显示,当然也可以用delay2.让数码管1-2-3-4...显示 #include<reg52.h> sbit dulaP2^6; sbit welaP2^7; unsigned char num; unsigned char code table[] 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x

文档评论(0)

6952225 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档