郭天祥十天学会单片机中的源程序_第1页
郭天祥十天学会单片机中的源程序_第2页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include<ieg52.h>sbitpl_1=P1AOunsignedintavoidniainQwlule(l)a=51000;pl_l=0;wliile(a-);a=51000;wliile(a-);a=51000;wliile(a-);a=51000;wliile(a-);#iiiclude<ieg52.h>#defiiieunitunsignedint#defiiieucliarunsignedchaisbitD1=P1AO;/voiddelayQ;voiddelav(uint);voidniainQwlule(l)Dl=0;delay(lOO);Dl=l

2、;delay(lOO);严voiddelayQumtx.y;fbi(x=100;x>0;x-)foi(y=600;y>0;y-);*/voiddelav(uintz)umtx;uchaiy;fbi(x=z;x>0;x)for(y=20;y>0;y-);#include勺eg52h>#include<iiitiins.h>#defiiieunitunsignedint#defiiieucliarunsignedchaiuclwtempjiumaiuml;sbitbeep=P2A3;voiddelav(uint);voidniainQtemp=0xfe;w

3、lule(l)for(num1=0;numl<3;numl+)ifoi(num=0;num<8;uum+)Pl=temp;beep=0:delav(lOO);temp=_cioL(temp,1);Pl=Oxff;beep=l;delav(lOO);for(numl=0;numl<3;numl+)for(num=0;num<8;iium+)iPl=temp;beep=O;delav(lOO);temp=_cioi_(temp,1);Pl=Oxff;beep=l;delav(lOO);while(l);voiddelav(uintz)umtx.y;fbi(x=z;x>

4、0;x)for(y=110;y>0;y-);Lesson3-1#include勺eg52h>sbitdula=P2A6;sbitwela=P2A7;voidniainQwela=l;P0=0xc0;wela=0;dula=l;P0=0x06;dula=0;wlule(l);Lesson3-#iiiclude<ieg52.h>#defiiieunitunsignedint#defiiieucliarunsignedchaisbitdula=P2A6;sbitwela=P2A7;uclwnum;uclwcodetable=0x3f.0x06.0x5b.0x4f,0x66.0

5、x6d.0x7d.0x07,0x7f,0x6f,0x77,0x7c,0x39.0x5e.0x79.0x71;voiddelav(uintz);voidniainQwela=l;/l1101010P0=0xea;wela=0;wlule(l)fdr(num=0;num<16;num+)dula=l;P0=tablenum;dula=0:delav(lOOO);voiddelav(uintz)umtx.y;fbr(x=z;x>0;x)for(y=110;y>0;y-);Lesson33#iiiclude<ieg52.h>#defiiieunitunsignedint#

6、defiiieucliarunsignedchaisbitdula=P2A6;sbitwela=P2A7;sbitdl=PlAO;uclwnum;uclwcodetable=0x3f0x06.0x5b.0x4f,0x66.0x6d.0x7d.0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;voiddelav(uintz);voidniainQEA=1;开总中断EX0=l;开外部中断0/IT0=l;TCON=0x01;wela=l;/l1101010P0=0xea;wela=0;wlule(l)foi(num=0;num<16;num+)dl=l;

7、dula=l;P0=tablenum;dula=0:delav(lOOO);voiddelav(uintz)umtx.y;fbi(x=z;x>0;x一)for(y=110;y>0;y-);voidexterOQintermpt0dl=0;Lesson3-4#inch】de勺eg52.h>#defiiieuintunsignedint#defiiieucliarunsignedcharsbitdula=P2A6;sbitwela=P2A7;sbitdl=PlAO;uclwnum,numl;tt;uclwcodetable=0x3f.0x06.0x5b.0x4f,0x66.0x6

8、d.0x7d.0x07,0x7f,0x6f,0x77,0x7c,0x39.0x5e.0x79.0x71;voiddelav(uintz);voidniainQnum=0;tt=O;TMOD=0xliy/设置定时器0为工作方式1TH0=(65536-10000)/256;TL0=(6553610000)%256;THl=(65536-20000)/256;TLl=(6553620000)%256;/ea=m/开总中断ET0=l;/开定时器0中断ET1=1;TR0=l;/启动定时器0TR1=1;wela=l;/l1101010P0=0xea;wela=O;dula=l;P0=0x3f;dula=O

9、;wlule(l)if(numl=25)numl=O;PlPl;if(tt=100)tt=O;num+;if(num=16)num=O;dula=l;PO=tablenum;dula=O:voiddelav(uintz)umtx.y;fbi(x=z;x>0;x)foi(y=110;y>0;y-);TH0=(65536-10000)/256;TL0=(6553610000)%256;tt+;voidtime1()mtenupt3THl=(65536-20000)/256;TLl=(6553620000)%256;numl+;Lesson4-1# iiiclude<ieg52.h

10、># iiiclude<intrms.h>#defiiieunitunsignedint#defiiieucliarunsignedchaiuclwtempaaaium;sbitdula=P2A6;sbitwela=P2A7;uclwcodetable=0x3f.0x06.0x5b.0x4f,0x66.0x6d.0x7d.0x07,0x7f,0x6f,0x77,0x7c,0x39.0x5e.0x79.0x71;voiddelav(uintz);voidniainQnum=0;aa=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(655365000

11、0)%256;EA=1;ET0=l;TR0=l;temp=0xfe;Pl=temp;dula=l;P0=table0;dula=0;wela=l;P0=0xc0;wela=0;wlule(l)delay(lOOO);temp=_ciol_(temp,1);Pl=temp;/*if(aa=40)aa=0:num+;if(num=16)num=O;dula=l;PO=tablenum;dula=O:*/voiddelav(uintz)umtx.y;fbi(x=z;x>0;x)for(y=U0;y>0;y-);voidtimerOQiiitenupt1TH0=(65536-50000)/

12、256;TL0=(6553650000)%256;aa+;if(aa=40)aa=0;num+;if(num=16)num=0;dula=l;PO=tablenum;dula=0:Lesson4-2#iiiclude<reg52.h>#include<iiitriiis.h>#defineumtunsignedmt#defineuchaiunsignedcharuchaitemp5aa,numdu,numwe;sbitdula=P2A6;sbitwela=P2z7;uchaicodetable=0x3£0x06.0x5b,0x4f,0x66,0x6d,0x7d

13、.0x07,0x7f0x6f,0x77.0x7c,0x39,0x5匕0x79.0x71;uchaicodetablewe=0xfe,0xfd,0xfb,0xf7,0xef0xdf;/voiddelay(uintz);voidmain()numdu=0:numwe=0;aa=0;TMOD=0x01;TH0=(65536-5000)/256;TL0=(655365000)%256;EA=1;ET0=l;TR0=l;while(l)fi/delav(lOOO);/temp=_cioL(temp.1);/Pl=tenip:if(aa=l)aa=0;numdu-H-;if(numdu=7)numdu=l

14、;dula=l;P0=tablenumdu;dula=0;wela=l;PO=tablewenumwe;wela=O;numwe+;if(numwe=6)numwe=O;严voiddelay(uintz)uiiitx,y;fbi(x=z;x>0;x)for(y=110;y>0;y);*/voidtimerOQmtemipt1TH0=(655365000)/256;TL0=(655365000)%256;aa+;Lesson4-3#iiiclude<ieg52.h>#defiiieuintunsignedint#defiiieucliarunsignedchaiuclwt

15、emp,aa,bakshLge;sbitdula=P2A6;sbitwela=P2A7;uclwcodetable=0x3f.0x06.0x5b.0x4f,0x66.0x6d.0x7d.0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;voiddisplay(ucharbai.ucharslii.ucharge);voiddelav(uintz);voidiiiit();voidniainQuiitQ;/初始化子程序wlule(l)if(aa=20)aa=0:temp-r+;if(temp=100)temp=0;bai=temp/100;slii=tem

16、p%100/10;ge=temp%10;display(bai,shi,ge);voiddelav(uintz)umtx.y;fbi(x=z;x>0;x)for(y=110;y>0;y-);voiddisplay(ucharbai.ucharslii.ucharge)dula=l;PO=tablebai;dula=0;送百位数PO=Oxff;打开瞬间一个都不亮,消影wela=l;P0=0xfe;位选通百位数wela=0:delay(l);dula=l;PO=tableshi;dula=0;PO=Oxff;wela=l;PO=Oxfd;wela=O:delay(l);dula=l;P

17、O=tablege;dula=O;PO=Oxff;wela=l;PO=Oxfb;wela=O:delay(l);voiduut()/*对所有数进行初始化*/wela=0;dula=0;temp=0;TMOD=OxOi;TH0=(65536-50000)/256;TL0=(6553650000)%256;EA=1;ETO=1;TRO=1;voidtimerOQiiitenupt1TH0=(65536-50000)/256;TL0=(6553650000)%256;aa+;Lesson5-1#include<reg52.h>#include<mtrins.h>#defiii

18、eucliarunsignedchai#defiiieuintunsignedintsbitdula=P2A6;sbitwela=P2A7;uclwcodetable=0x3f.0x06.0x5b.0x4f,0x66.0x6d.0x7d.0x07,0x7f,0x6f,0x77,0x7c,0x39.0x5e.0x79.0x71、0x76,0x79,0x38,0x3f,0;uclwtempJO,tl.bai.slii.ge.flag.flag1;umtshu;voidiiiit();voiddisplay(uchai;uchai;uchaLUchaiuchauichar);voiddelav(ui

19、ntz)umttl,y;fbr(tl=z;tl>O;tl-)for(y=U0;y>0;y-);voidniainQunto;wlule(l)display(7,6,5,bai,shi,ge);elsedisplay(16.17J8J8J9,20);voidiiiit()shu=432;temp=0xfe;Pl=temp;TMOD=0xll;TH0=(65536-50000)/256;TL0=(6553650000)%256;THl=(65536-50000)/256;TLl=(65536-50000)%256;EA=1;ETO=1;ET1=1;TRO=1;TR1=1;voidtim

20、erOQiiitenupt1TH0=(65536-50000)/256;TL0=(6553650000)%256;tO+;if(flag!=l)if(t0=10)to=l;忙mp=_c【ol_(temp,1);Pl=temp;elseif(t0%40)PlPl;if(t0=60)TR0=0;Pl=Oxff;flagl=l;voidtimerIQiiitenupt3THl=(65536-50000)/256;TLl=(65536-50000)%256;tl+;if(tl=2)tl=O;shu-;bai=shw;100;slu=shu%100/10:ge=shu%10:if(shu=398)TR0

21、=0;TH0=(6553650000)/256;TL0=(6553650000)%256;TR0=l;flag=l;to=o;Pl=0xff;TR1=O;voiddisplay(ucharaa,ucharbb,ucharcc.ucharba.ucharsh,ucharg)dula=l;PO=tableaa;dula=0;P0=0xff;wela=l;P0=0xfe;wela=0:delay(l);dula=l;PO=tablebb;dula=0;P0=0xff;wela=l;P0=0xfd;wela=0:delay(l);dula=l;PO=tablecc;dula=0;P0=0xff;wel

22、a=l;PO=Oxfb;wela=O;delay(l);dula=l;PO=tableba;dula=O;PO=Oxff;wela=l;P0=0xf7;wela=O;delay(l);dula=l;PO=tablesh;dula=O;PO=Oxff;wela=l;PO=Oxef;wela=O;delay(l);dula=l;PO=tableg;dula=O;PO=Oxff;wela=l;PO=Oxdf;wela=O;delay(l);LessonS-2#include勺eg52h>#defiiieumtunsignedint#defiiieucliarunsignedchaisbitdl

23、=PlA0;sbitdula=P2A6;sbitwela=P2A7;sbitkevl=P3A4;Jzuclwcodetable=0x3f.0x06.0x5b.0x4f,0x66.0x6d.0x7d.0x07,0x7f,0x6f,0x77,0x7c,0x39.0x5e.0x79.0x71;uclwnum;voiddelav(uintz)umtx.y;fbi(x=z;x>0;x)for(y=U0;y>0;y-);voidniainQwela=l;P0=0xfe;wela=0;P3=0xff;wlule(l)if(kevl=0)delay(5);if(keyl=O)dl=0;num+;i

24、f(num=10)num=0;while(!keyl);delay(5);while(!keyl);elsedl=l;dula=l;P0=tablenum;dula=0;LessonS-3#iiiclude<ieg52.h>#defiiieunitunsignedint#defiiieucliarunsignedchaisbitdula=P2A6;sbitwela=P2A7;sbitkevl=P3A4;Jzuclwcodetable=0x3f.0x06.0x5b.0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,

25、0x71,0;uclwnumjemp.numl;voiddelav(uintz)umtx.y;fbi(x=z;x>0;x)for(y=110;y>0;y-);uclwkeyscanQ;voiddisplay(ucharaa);voidniainQnum=17;dula=l;P0=0;dula=0;wela=l;P0=0xc0;wela=0;wlule(l)display(keyscanQ);voiddisplay(ucharaa)dula=l;PO=tableaa-l;dula=0;uclwkeyscanQP3=0xfe;temp=P3;temp=temp&OxfO;whi

26、le(temp!=0xf0)delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0)temp=P3;switch(temp)caseOxee:num=l;break;case0xde:num=2;break;case0xbe:num=3;break;case0x7e:num=4;break;while(temp!=0xf0)temp=P3;temp=temp&0xf0;P3=Oxfd;temp=P3;temp=temp&OxfO;while(temp!=0xf0)delay(5);temp=P3;temp=temp&0x

27、f0;while(temp!=0xf0)temp=P3;switch(temp)caseOxed:num=5;break;case0xdd:num=6;break;case0xbd:num=7;break;caseOx7d:num=8;break;while(temp!=OxfO)temp=P3;temp=temp&OxfO;P3=Oxfb;temp=P3;temp=temp&OxfO;while(temp!=0xf0)delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0)temp=P3;switch(temp)case0xe

28、b:num=9;break;case0xdb:num=10;break;caseOxbb:num=ll;break;case0x7b:num=12;break;while(temp!=0xf0)temp=P3;temp=temp&OxfO;P3=Oxf7;temp=P3;temp=temp&OxfO;while(temp!=OxfO)delay(5);temp=P3;temp=temp&OxfO:wlule(temp!=OxfO)temp=P3;switch(temp)case0xe7:num=13;break;case0xd7:num=14;break;case0xb

29、7:num=15;break;case0x77:num=16;break;wlule(temp!=OxfO)temp=P3;temp=temp&OxfO;returnnum:Lesson6-1#iiiclude<ieg52.h>sbitcsda=P3A2;sbitwiP3A6;voidniainQcsda=O;wi-0;P0=0;wlule(l);Lesson62#include勺eg52h>#defiiieucliarunsignedchar#defiiieunitunsignedintsbitwiP3A6;sbitrd=P3A7;voiddelav(uintz)u

30、mttl,y;fbi(tl=z;tl>O;tl-)for(y=U0;y>0;y-);voidiiiit();voidstart。;voidniainQunto;wlule(l)start();delay(20);rd=O;delav(lO);id=l;delay(lO);voidiiiit()P0=0;voidstartQwi-1;wi-0;wi-1;Lesson7#include<ieg52.h>unsignedcharflag,a;voidniainQTMOD=0x20;/设置定时器1为工作方式2THl=0xfd;TLl=Oxfd;TR1=1;REN=1;SM0=0

31、;SM1=1;EA=1;ES=1;wlule(l)/*if<RI=l)RI=0;P1=SBUF;*/if(flag=l)ES=O;flag=O;SBUF=iy/28;while(!TI);TI=O;SEUF=228;while(!TI);TI=O;SBUF=3V/28;while(!TI);TI=O;ES=1;voidserQiiitemipt4RI=0;/P1=SBUF;a=SBUF;flag=l;Lesson8#include<ieg52.h>#defiiieucharunsignedchai#defiiieunitunsignedmtuchai-codetable=MI

32、LIKEMCU!M;uchai-codetable1=nWWV.TXMCU.COMH;sbitlcden=P3A4;sbitlcdrs=P3A5;sbitdula=P2A6;sbitwela=P2A7;uclwnum;voiddelay(uintz)umtx,y;foi(x=z;x>0;x-)fbr(y=110;y>0;y-);voidwrite_com(ucharcom)lcdrs=O;P0=com;delay(5);lcden=l;delay(5);lcden=0;voidwrite_data(uchardate)lcdrs=l;PO=date;delay(5);lcden=l

33、;delay(5);lcden=0;voiduiit()dula=0;wela=0;lcden=0;wiite_com(0x38);write_com(0x0e);write_com(0x06);write_com(0x01);write_com(0x80+0x10);voidniainQfoi(num=0;num<l1;num+)wiite_data(tablenum);delay(20);/write_com(l);write_com(0x80+0x53);foi(num=0;num<13;num+)write_data(table1num);delay(20);foi(num

34、=0;num<16:num+)write_com(0xl8);delay(20);wlule(l);Lesson9#include<ieg52.h>#defiiieucharunsignedchaisbitsda=P2A0;sbitscl=P2T;uclwa;voiddelay()voidstart。开始信号sda=l;delay();scl=l;delay();sda=O;delay();voidstop()停止sda=0;delay();scl=l;delay();sda=l;delay();voidresponsQ应答uclwi;scl=l;delay();wlule(

35、sda=l)&&(i<250)i+;scl=O;delay();voiduiit()sda=l;delay();scl=l;delay();voidwrite_byte(uchardate)uchai-i,temp;temp=date;for(i=0;i<8;i+)temp=temp«l;scl=O:delayQ;sda=CY;delay。;scl=l;delay。;/scl=O;delavO;scl=O;delay();sda=l;delay();uclwread_byte()uclwi,k;scl=O;delay();sda=l;delay();for

36、(i=0;i<8;i+)scl=l;delay。;k=(k«l)sda;scl=O;delayQ;returnk;voiddelay1(uclwx)uclwa,b;for(a=x;a>0;a-)for(b=100;b>0;b-);voidwrite_add(uchai-addiess.uchardate)stailQ;write_byte(OxaO);responsQ;write_byte(address);responsQ;write_byte(date);responsQ;stop。;uclwiead_add(ucharaddress)uclwdate;stan

37、Q;write_byte(OxaO);responsQ;write_byte(address);responsQ;startQ;write_byte(Oxal);responsQ;date=read_byte();stopQ;returndate;voidniainQwrite_add(23.0xaa);delayl(lOO);Pl=read_add(23);wliile(l);LessonlO#iiiclude<ieg52.h>#defiiieucliarunsignedchai#defiiieunitunsignedintsbitdula=P2A6;sbitwela=P2A7;

38、sbitrs=P3A5;sbitlcden=P3z4;sbitsl=P3A0;sbits2=P3Al;sbits3=P3A2;sbitrd=P3A7;uclwcounts!num;charniiao.slii.fen;uchai-codetable=M2007-7-30MON”;uchai-codetable1=H00:00:00H;voiddelav(uintz)umtx.y;fbi(x=z;x>0;x)for(y=U0;y>0;y-);voidwrite_com(ucharcom)is=0;lcden=0:P0=com;delay(5);lcden=l;delay(5);lcd

39、en=0:voidwrite_date(uchardate)1S=1;lcden=0:PO=date;delay(5);lcden=l;delay(5);lcden=0:voidiiiit()uchainum;dula=0;wela=0;lcden=0:/fen=59;/iniao=53;/slii=23;wnte_com(0x38);write_com(OxOc);wnte_com(0x06);wnte_com(0x01);wnte_com(0x80);fbi(num=O;num<15;num+)write_date(tablenum);delav(5);wiite_com(0x80+

40、0x40);fbi(num=0;num<12;num+)write_date(tablelnum);delav(5);TMOD=OxOi;TH0=(65536-50000)/256;TL0=(6553650000)%256;EA=1;ETO=1;TRO=1;voidwrite_sfin(ucharadduchaidate)uchaishi,ge;shi=date/10;ge=date%10:wnte_com(0x80+0x40-radd);write_date(Ox30+slii);write_date(Ox3O+ge);voidkeyscaii()id=0;if(sl=O)delay(

41、5);if(sl=O)slnum-H-;xvhile(!sl);if(slnum=l)TRO=O:write_com(0x80*0x40+10);write_com(0x0f);if(slnum=2)vite_com(0x80+0x40+7);if(slnum=3)write_com(0x80*0x40+4);if(slnum=4)slnum=0:write_com(0x0c);TR0=l;if(slnum!=0)if(s2=0)delav(5);if(s2=0)wlule(!s2);if(slnum=l)niiao+;if(niiao=60)iniao=0;write_sfin(10.nii

42、ao);wnte_com(0x80+0x40+10);if(slnum=2)fen+;if(fen=60)fen=O;wnte_sfin(7,fen);write_com(0x80+0x40+7);if(slnum=3)S111+;if(shi=24)shi=O;write_sfin(4,slii);write_com(0x80+0x40+4);if(s3=0)delay(5);if(s3=0)while(!s3);if(slnum=l)/*if(iniao=0)iniao=59;wnte_sfin(1Ojniao);wnte_com(0x80+0x40+10);*/niiao;if(nuao

43、=-l)miao=59;wiite_sfhi(lO.miao);write_com(0x80+0x40+10);if(slnum=2)fen;if(fen=-l)fen=59;write_sfhi(7,fen);write_com(0x80+0x40+7);if(slnum=3)shi-;if(shi=-l)slii=23;write_sfin(4,shi);wnte_com(0x80+0x40+4);voidniainQuiitQ;wlule(l)kevscanQ;wlule(l);voidtimerOQiiiteniipt1TH0=(65536-50000)/256;TL0=(655365

44、0000)%256;count+;if(count=18)count=0;niiao-H-;if(niiao=60)nuao=0;fen+;if(fen=60)fen=O;shi+;if(shi=24)shi=O;write_sfin(4,shi);write_sfin(7.fen);write_sfiu(1Ojiuao);时钟#include<ieg52.h>#include<define.h>voiddelay(uintz)umtx,y;foi(x=z;x>0;x-)fbi(y=110;y>0;y-);voiddidi()beep=O;delay(5O)

45、;beep=l;delay(lOO);beep=O;delay(5O);beep=l;voidwrite_com(ucharcom)is=0;lcden=0;P0=com;delay(5);lcden=l;delay(5);lcden=0;voidwrite_date(uchardate)1S=1;lcden=0;PO=date;delay(5);lcden=l;delay(5);lcden=0;voiduiit()uclwnum;EA=1;EXO=1;ITO=1;dula=0;wela=0;lcden=0;/set_timeQ;set_alam】(14,13)0);write_ds(0x0E

46、、0x26);iead_ds(0x0c);/fen=59;/iniao=53;/shi=23;write_com(0x38);wnte_com(0x0c);write_com(0x06);wiitjcom(OxOl);write_com(0x80);foi(num=0;num<15;num+)write_date(tablenum);delay(5);wnte_com(0x80+0x40);foi(num=0;num<12;num+)write_date(table1num);delay(5);voidwrite_sfiu(ucharadd.uchai-date)uclwshi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);voidkevscan()id=0;if(flagl=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论