当前位置:网站首页 > 编程语言 > 正文

单片机程序编写代码(单片机如何编写程序)

仅供个人参考

仅供个人参考

不得用于商业用途

不得用于商业用途

不得用于商业用途

不得用于商业用途

第二章

任务一:闪烁广告灯的设计

利用89C51单片机的端口控制两个LED(DO和D1),编写程序,实现两个LED互闪。

#includereg52.h

#defineuintunsignedint

#defineucharunsignedchar

sbitLED仁POP;

sbitLED2=P0A1;

voiddelayms(uintms)

{

uinti;

while(ms--)

{

for(i=0;i120;i++);

}

}

voidmain()

{

while(1)

{

LED1=O;

LED2=1;

delayms(500);

LED1=1;

LED2=0;

delayms(500);

}

}

任务二:流水广告灯的设计

利用89C51单片机的端口控制8个LED(D0~D7)循环点亮,刚开始时DO点亮,延时片刻后,接着D1点亮,然后依次点亮D2-D3-D4-D5-D6-D7,然后再点亮D7-D6-D5-D4-D3-D2-D1-D0,重复循环。

#includereg52.h

#includevintrins.h

#defineuintunsignedint

#defineucharunsignedchar

uinti;

uchartemp;

uinta[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

voiddelayms(uintms)

{

while(ms--)

{uintj;

for(j=0;j120;j++);

}

}

voidmain()

{

while(1)

{

P0=0xfe;

while(P0!=0x7f)

{

〃P仁temp;〃delayms(500);P0=_crol_(P0,1);delayms(250);

}

temp=0x7f;while(P0!=0xfe){

P0=temp;delayms(500);temp=_cror_(temp,1);

}

}

}

任务三:拉幕式与闭幕式广告灯的设计

利用89C51单片机的P0端口实现8个LEDD0~D7的拉幕式与闭幕式广告灯设计。

拉幕式:开始D0~D7全灭,延时片刻后首先D3和D4亮,其次是D2和D5亮,再是D1

和D6亮,最后是D0和D7亮。

闭幕式:开始D0~D7全亮,延时片刻后首先D0和D7灭,其次是D1和D6灭,再是D2

和D5灭,最后是D3和D4灭。

#includereg52.h

#defineuintunsignedint

#defineucharunsignedchar

ucharcodetable[]={0xe7,0xc3,0x81,0x00};

voiddelay(uintx)

{

uinti,j;

for(i=x;i0;i--)

for(j=120;j0;j--);

}

voidmain()

{

uinti;

while(1)

{

P仁Oxff;

delay(500);

for(i=0;i4;i++)

{

P仁table[i];delay(500);

}

for(i=3;i0;i--)

{

P仁table[i-1];delay(500);

}

}

}

任务四:复杂广告灯的设计

利用89C51单片机的端口实现8个LED(D0~D7)复杂广告灯的控制,要求显示规律为:

正向流水-反向流水-隔灯闪烁3次-高四盏、低四盏闪烁2次-隔两盏闪烁3次,再重复

循环。

#includereg52.h

#defineuintunsignedint

#includeintrins.h

voiddelayms(uintms)

{

uinti;

while(ms--)

{

for(i=0;i110;i++);

}

}

voidmain()

{

uinti,j,xx[2]={0xaa,0xff},yy[2]={0xf0,0x0f},zz[2]={0xb6,0xff};

unsignedcharaa;

while(1)

{

aa=0xfe;

for(i=0;i7;i++)

{

P0=aa;

aa=_crol_(aa,1);

delayms(500);

}

for(i=0;i8;i++)

{

P0=aa;

aa=_cror_(aa,1);

delayms(500);

}

for(i=0;i3;i++)

for(j=0;j2;j++)

{

PO=xx[j];

delayms(500);

}

for(i=0;i2;i++)

for(j=0;j2;j++)

{

P0=yy[j];

delayms(500);

}

for(i=0;i3;i++)

for(j=0;j2;j++)

{

PO=zz[j];

delayms(500

到此这篇单片机程序编写代码(单片机如何编写程序)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • pem文件和key文件(pek文件是什么意思)2024-12-16 08:09:08
  • 时钟的代码(时钟代码完整版)2024-12-16 08:09:08
  • 手机本机信息怎么查看(手机本机信息怎么查看内存)2024-12-16 08:09:08
  • tkdd期刊含金量(tkde期刊的影响因子)2024-12-16 08:09:08
  • 条件变量用法(条件变量的使用)2024-12-16 08:09:08
  • libxml2.dll(libxml2.dll,无法继续执行代码)2024-12-16 08:09:08
  • vs怎么调试(vs怎么调试代码)2024-12-16 08:09:08
  • 爱普生c7000参数(爱普生 v700)2024-12-16 08:09:08
  • 国内github(国内github手机app)2024-12-16 08:09:08
  • 创建autokeys宏(autokeys宏怎么建立的)2024-12-16 08:09:08
  • 全屏图片