资源描述:
《单片机程序源代码》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第二章任务一:闪烁广告灯的设计利用89c51单片机的端口控制两个LED(D0和D1),编写程序,实现两个LED互闪。#include#defineuintunsignedint#defineucharunsignedcharsbitLED1=P0^0;sbitLED2=P0^1;voiddelayms(uintms){uinti;while(ms--){for(i=0;i<120;i++);}}voidmain(){while(1){LED1=0;LED2=1;delayms(500);LED1=1;LED2=0;delayms(5
2、00);}}任务二:流水广告灯的设计利用89c51单片机的端口控制8个LED(D0~D7)循环点亮,刚开始时D0点亮,延时片刻后,接着D1点亮,然后依次点亮D2->D3->D4->D5->D6->D7,然后再点亮D7->D6->D5->D4->D3->D2->D1->D0,重复循环。#include#include#defineuintunsignedint#defineucharunsignedcharuinti;uchartemp;uinta[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xd
3、f,0xbf,0x7f};voiddelayms(uintms){while(ms--){uintj;for(j=0;j<120;j++);}}voidmain(){while(1){P0=0xfe;while(P0!=0x7f){//P1=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个L
4、EDD0~D7的拉幕式与闭幕式广告灯设计。拉幕式:开始D0~D7全灭,延时片刻后首先D3和D4亮,其次是D2和D5亮,再是D1和D6亮,最后是D0和D7亮。闭幕式:开始D0~D7全亮,延时片刻后首先D0和D7灭,其次是D1和D6灭,再是D2和D5灭,最后是D3和D4灭。#include#defineuintunsignedint#defineucharunsignedcharucharcodetable[]={0xe7,0xc3,0x81,0x00};voiddelay(uintx){uinti,j;for(i=x;i>0;i--)
5、for(j=120;j>0;j--);}voidmain(){uinti;while(1){P1=0xff;delay(500);for(i=0;i<4;i++){P1=table[i];delay(500);}for(i=3;i>0;i--){P1=table[i-1];delay(500);}}}任务四:复杂广告灯的设计利用89c51单片机的端口实现8个LED(D0~D7)复杂广告灯的控制,要求显示规律为:正向流水->反向流水->隔灯闪烁3次->高四盏、低四盏闪烁2次->隔两盏闪烁3次,再重复循环。#include#define
6、uintunsignedint#includevoiddelayms(uintms){uinti;while(ms--){for(i=0;i<110;i++);}}voidmain(){uinti,j,xx[2]={0xaa,0xff},yy[2]={0xf0,0x0f},zz[2]={0xb6,0xff};unsignedcharaa;while(1){aa=0xfe;for(i=0;i<7;i++){P0=aa;aa=_crol_(aa,1);delayms(500);}for(i=0;i<8;i++){P0=aa;aa=_
7、cror_(aa,1);delayms(500);}for(i=0;i<3;i++)for(j=0;j<2;j++){P0=xx[j];delayms(500);}for(i=0;i<2;i++)for(j=0;j<2;j++){P0=yy[j];delayms(500);}for(i=0;i<3;i++)for(j=0;j<2;j++){P0=zz[j];delayms(500);}}}任务五:单个LED数码管显示设计使用89c51的P0口作为输出口,外接LED数码管,编写程序,使数码管循环显示从0~9的加1计数。#include
8、#defineuintunsignedint#defineucharunsignedcharuchartab