PIC16F887单片机LED数字钟程序.doc_第1页
PIC16F887单片机LED数字钟程序.doc_第2页
PIC16F887单片机LED数字钟程序.doc_第3页
PIC16F887单片机LED数字钟程序.doc_第4页
PIC16F887单片机LED数字钟程序.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1.硬件原理图2.印制板PCB图3.硬件测试程序用PIC16F887实验板,通过PIC3连接,进行在线调试和脱机运行,调试中遇到很多问题;经过我们的努力和老师的讲解我们成功攻克所有难题。程序如下:#include_CONFIG(0X03E4);_CONFIG(0X0700);#define uint unsigned int#define uchar unsigned charuchar tab=0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67;/七段数码管段码uchar table1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, 0x87,0xff,0xef; init();disp(uint num1,uint num2,uint num3,uint num4,uint num5,uint num6);disp1(uint num7,uint num8,uint num9,uint num10,uint num11,uint num12);/闹钟delay(uint x);uint i=0;int q=0,m=0,p=0;void KeyProcess();#define K0 RB0#define K1 RB2#define K2 RB1#define K3 RB3#define BEEP RE0uchar K1_FLAG=0;uint miao=0,mig=0,mis=0;uint fen=0,fe=0,fn=0;uint shi=0,sh=0,si=0;uint miaoa=0,migb=0,misc=0;/闹钟uint fena=0,feb=0,fnc=0;uint shia=0,shb=0,sic=0;uchar a1,a2,a3,a4,a5,a6;main() init(); TMR0=6; while(1) if(q=0)|(q=1) mig=miao/10; /十位 mis=miao%10; /个位 fe=fen/10; /十位 fn=fen%10; /个位 sh=shi/10; /十位 si=shi%10; /个位 disp(sh,si,fe,fn,mig,mis);if(K3=0)delay(10);if(K3=0)q+;K1_FLAG=1; if(q=3)TMR1ON=1;q=0;p=0;K1_FLAG=0;while(!K3);if(K1_FLAG=1)KeyProcess(); void interrupt t0() uint k=0,m=0; T0IF=0; i+; if(i=3670) miao+; if(miao59) miao=0; k=1; if(fen=59) if(miao53) BEEP=1;/蜂鸣器 delay(50);BEEP=0;delay(50);BEEP=1;/蜂鸣器 delay(50);BEEP=0;delay(50); if(shi=shia)if(fen=(fena-1) if(miao53) BEEP=1;/蜂鸣器 delay(50);BEEP=0;delay(50);BEEP=1;/蜂鸣器 delay(50);BEEP=0;delay(50); i=0; TMR0=6; if(k=1) fen+; if(fen59) fen=0; m=3; if(m=3) shi+; if(shi23) shi=0; init() TRISE=0x00; OPTION=0x18;/B端口弱电上位(使用B端口内部上啦电阻) INTCON=0XA0; TRISD=0;TRISB=0XFF;ANS8=0;ANS9=0;ANS10=0;ANS12=0; TRISC=0; ANSEL=0;BEEP=0;disp(uint num1,uint num2,uint num3,uint num4,uint num5,uint num6) PORTD=tabnum1; PORTC=0XFE; delay(1); PORTD=table1num2; PORTC=0XFD; delay(1);PORTD=0X40;PORTC=0XFB;delay(1); PORTD=tabnum3; PORTC=0XF7; delay(1); PORTD=table1num4; PORTC=0XEF; delay(1); PORTD=0X40;PORTC=0Xdf;delay(1); PORTD=tabnum5; PORTC=0XBF; delay(1); PORTD=tabnum6; PORTC=0X7F; delay(1);delay(uint x)/延时uint a=0,b=0;for(a=x;a0;a-)for(b=110;b0;b-);/*按键处理*/void KeyProcess()TMR1ON=0;if(q=1)if(K1=0)delay(10);if(K1=0) shi+;if(shi=24)shi=0;while(!K1);if(K2=0)delay(10);if(K2=0)while(!K2);fen+;if(fen=60)fen=0;if(q=2)if(K1=0)delay(10);if(K1=0)shia+;if(shia=24)shia=0;while(!K1);if(K2=0)delay(10);if(K2=0)while(!K2);fena+;if(fena=60)fena=0;migb=miaoa/10; /十位 misc=miaoa%10; /个位 feb=fena/10; /十位 fnc=fena%10; /个位 shb=shia/10; /十位 sic=shia%10; /个位 disp(shb,sic,feb,fnc,migb,misc);disp1(uint num7,uint num8,uint num9,uint num10,uint num11,uint num12) PORTD=tabnum7; PORTC=0XFE; delay(500); PORTD=table1num8; PORTC=0XFD; delay(5000);PORTD=0X40;PORTC=0XFB;delay(5000); PORTD=tabnum9; PORTC=0XF7; delay(5000); PORTD=table1num10; PORTC=

温馨提示

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

评论

0/150

提交评论