- 1、本文档共162页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
/
/
单片机编程实例100例大全 单片机编程实例
*实例 1: 使用 P3口流水点亮 8位 LED
/ 函数#i nclud er eg51、h //
/ 函数
void d el ay(voi d)
{
unsigned char i,j ;
for(i =0; i2 50;i + +)
for(j=0;j 〈2 50;j++)
}
/ 函数功能 : 主函数
void mai n( void)
{
wh ile (1)
{
P3=0x f e; / /第一个灯亮
dela y(); // 调用延时函数
P 3=0 xfd ; // 第二个灯亮
del ay(); / /调用延时函数
P3=0xf b; //第三个灯亮
del ay(); // 调用延时函数
P3=0xf7; // 第四个灯亮
dela y() ; // 调用延时函数
P3 =0xef; / /第五个灯亮
delay() ; // 调用延时函数
P3=0xdf; / / 第六个灯亮
delay (); // 调用延时函数
P3=0x bf; // 第七个灯亮
delay(); // 调用延时函数
P3=0x7f ; // 第八个灯亮
delay ( ); // 调用延时函数
} / /
}
*实例 2: 通过对 P3口地址得操作流水点亮 8 位LED
#in clude 〈 reg5 1、 h〉 // 包含单片机寄存器得头文件
sfr x=0xb0; //P3 口在存储器中得地址就是 b0H, 通过 sfr 可定 义8051 内核单片机
// 得所有内部8位特殊功能寄存器,对地址 x 得操作也就就是对P 1 口得操作
/
函数功能 : 延时一段时间
vo id delay(void)
{ unsigned char i,j ; for( i =0;i< 250 ;i++) for (j= 0;j 〈250; j++) ; / / 利用循环等待若干机器周期,从而延时一段时间 }
/ 函数功能 : 主函数 / vo i d main(v oid ) { while(1)
{
x=0xf e; // 第一个灯亮 d elay() ; / /调用延时函数 x=0xf d; // 第二个灯亮 de lay (); // 调用延时函数 x=0xfb; // 第三个灯亮 del ay (); // 调用延时函数 x=0xf 7; //第四个灯亮 delay( ); // 调用延时函数
x=0xef ; // 第五个灯亮 delay(); // 调用延时函数 x=0xdf; / / 第六个灯亮 delay( ); / /调用延时函数 x=0xbf ; // 第七个灯亮 delay(); // 调用延时函数 x=0x7f ; // 第八个灯亮 delay(); // 调用延时函数 }
}
*实例 3: 用不同数据类型控制灯闪烁时间
#inc l ude〈reg51、h〉 / /包含单片机寄存器得头文件
/
函数功能 : 用整形数据延时一段时间
/
void int_delay (voi d) // 延时一段较长得时间
{
unsig ned int m; // 定义无符号整形变量 ,双字节数据,值域 为 0~65535 for(m=0;m〈36000;m ++)
; //空操作 }
函数功能: 用字符型数据延时一段时间 /
void c har_del ay(void) // 延时一段较短得时间
{
unsigned cha r i,j ; // 定义无符号字符型变量 , 单字节数据 , 值 域0 ~255 for(i=0;i<20 0;i++)
for(j=0 ;j< 18 0;j++)
; / /空操作
}
/
函数功能: 主函数
/
void mai n ( void)
{
un signe d char i ;
w hile (1)
{
f o r (i =0;i< 3;i++ )
{
P1=0xfe; //P1、0 口得灯点亮
i nt_d elay (); // 延时一段较长得时间
P1=0x ff ; // 熄灭
in t_d el ay() ; // 延时一段较长得时间
}
for(i =0; i3;i++)
{
P1=0xef; //P1、4 口得灯点亮 char_del ay( ) ; // 延时一段较长得时间
} P1 =0xff ; // 熄灭 char_delay (); // 延时一段较长得时 间 } }
* 实例 4:用单片机控制第一个灯亮
#inc luder eg51、h //包含 51单片机寄存器定义得头文件 void main ( void)
{
P1=0xf e; //P1=1 111 11 10B,即 P1、0输出低电平
}
*
文档评论(0)