多个单片机C程序与图_第1页
多个单片机C程序与图_第2页
多个单片机C程序与图_第3页
多个单片机C程序与图_第4页
多个单片机C程序与图_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE201~99数码管显示电子钟10秒定时器-中断矩阵式键盘开关加数八灯依次亮//循环亮6~5~4~3~2~1倒计时9~01~99数码管显示#include<reg52.h>unsignedchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};sbitled1_en=P2^0;sbitled2_en=P2^1;unsignedcharshi,k,ge,shu;voiddelay(){unsignedchari,j; for(i=0;i<80;i++) for(j=0;j<100;j++) {P3=tab[shi]; led1_en=0; k++; led1_en=1;//十位 P3=tab[ge]; led2_en=0; k++; led2_en=1;}} voidmain(){while(1) { shi=shu/10; ge=shu%10; shu++; if(shu==100) shu=0; delay();}}10秒定时器#include<reg52.h>sbitled1_en=P3^0;sbitled2_en=P3^1;unsignedchartemp,key,k,s;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};voiddelay10ms(void)//10ms延时子程序{unsignedchari,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}voidtimer1()interrupt3{ TR1=0;//定时器清零 k++;if(k==20) { k=0; s++; if(s==10) { s=0; } P1=table[s]; } TH1=(65536-50000)/256; TL1=(65536-50000)%256;TR1=1//定时器打开}voidmain(void){TMOD=0x10;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET1=1;TR1=1;while(1);}中断矩阵式键盘#include<reg52.h>sbitled1_en=P3^0;sbitled2_en=P3^1;unsignedchartemp,key,k,ge,shi,cishu,shu1,shu2,shu3,hao;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};voiddelay10ms(void)//10ms延时子程序{unsignedchari,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}voidkey_scan()//{ P0=0xfe;//第一行按键扫描 if(P0!=0xfe) { delay10ms(); if(P0!=0xfe) { //flag=1; temp=P0; switch(temp) { case0xee:key=1;break; case0xde:key=2;break; case0xbe:key=3;break; case0x7e:key=4;break; } while(P0==temp); delay10ms(); while(P0==temp); cishu++; } } P0=0xfd;//第二行按键扫描 if(P0!=0xfd) { delay10ms(); if(P0!=0xfd) { temp=P0; switch(temp) { case0xed:key=5;break; case0xdd:key=6;break; case0xbd:key=7;break; case0x7d:key=8;break; } while(P0==temp); delay10ms(); while(P0==temp); cishu++; } } P0=0xfb;//第三行按键扫描 if(P0!=0xfb) { delay10ms(); if(P0!=0xfb) { temp=P0; switch(temp) { case0xeb:key=9;break; case0xdb:key=10;break; case0xbb:key=11;break; case0x7b:key=12;break; } while(P0==temp); delay10ms(); while(P0==temp); cishu++; } } P0=0xf7;//第四行按键扫描 if(P0!=0xf7) { delay10ms(); if(P0!=0xf7) { temp=P0; switch(temp) { case0xe7:key=13;break; case0xd7:key=14;break; case0xb7:key=15;break; case0x77:key=16;break; } while(P0==temp); delay10ms(); while(P0==temp); cishu++; } }}voidx()interrupt0{ key_scan(); P1=table[key]; P0=0X0f;}voidmain(void){ IT0=1;//下降沿触发 EA=1; EX0=1; P0=0X0f; while(1); }开关加数#include<reg52.h>sbitSW=P2^0;unsignedchar shu;unsignedchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};voiddelay()//延时{ unsignedchari,j; for(i=1;i<80;i++) for(j=1;j<100;j++);}voidmain(){ P3=tab[shu]; while(1) { if(SW==0) { delay(); if(SW==0) { shu++; if(shu==10) shu=0; P3=tab[shu]; while(SW==0); delay(); while(SW==0);}}}}#include<reg52.h>电子钟#include<intrins.h>Unsignedcharcodetab[]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C};unsignedcharj,k,temp,second,minute,hour;unsignedchartod[]={0,0,0,0,0,0};voiddelay(){unsignedchari; for(i=0;i<20;i++);}voidtimer()interrupt3{ TH1=(65536-50000)/10; TL1=(65536-50000)%10; j++; if(j==20) { j=0; second++; if(second==60) { second=0; minute++; if(minute==60) { minute=0; hour++; if(hour==24) hour=0; } }} tod[5]=hour/10; tod[4]=hour%10; tod[3]=minute/10; tod[2]=minute%10; tod[1]=second/10; tod[0]=second%10; TR1=1; }voidmain(){EA=1; ET1=1;TMOD=0X10; TR1=1; TH1=(65536-50000)/10; TL1=(65536-50000)%10; while(1) { temp=0x01; for(k=0;k<6;k++) { P0=tab[tod[k]]; P1=~temp; temp=temp<<1; delay(); P1=0xff;}}}9~0倒计时#include<reg52.h>unsignedcharcodetab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C};unsignedchari,j,temp,s,k,shu;unsignedchara=9;voidDelay(){unsignedchari;for(i=0;i<20;i++);}voidtimer0(void)interrupt1//50mS中断一次{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; j++; if(j==20) { j=0; a--; }}voidmain(void){EA=1;ET0=1;TR0=1; TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;while(1){temp=0x01;for(s=0;s<6;s++){P0=tab[a]; Delay(); }}} 八灯依次亮 #include<reg52.h>#include<intrins.h>voiddelay(){unsignedcharj,i;for(i=0;i<255;i++)for(j=0;j<255;j++); }voidmain(){unsignedchartemp=0xfe;P1=0xfe;while(1){ P1=temp;delay(); temp=_crol_(temp,1);}}从左到右显示#include<reg52.h>unsignedchartab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C};unsignedcharcodem[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};unsignedchari=6,j;voiddelay(){unsignedcharj;for(j=0;j<250;j++);}voidtimer0()interrupt1//50mS中断一次{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; j++; if(j==20) {j=0; i--; if(i==0)i=6; } } voidmain(void){EA=1;ET0=1;TR0=1; TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;while(1){ P0=tab[i]; P1=m[i-1]; delay(); P1=0xff; delay(); }}远程数据采集发送#include<AT89X52.h>sbitsw=P2^0;unsignedcharadc;//存放转换后的数据voiddelay10ms(void)//10ms延时子程序{unsignedchari,

温馨提示

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

评论

0/150

提交评论