访问手机版页面
你的位置:老古开发网 > Pic单片机 > PIC16系列单片机 > 正文  
PIC16F877A的T0定时器制作的电子钟程序
内容导读:

  经过努力,利用PIC16F877A的T0定时器制作的电子钟实验成功!下面是部分源程序:

  /#include 《pic.h》 //调用头文件

  __CONFIG(0x3F32); //芯片配置字

  #define uchar unsigned char

  #define uint unsigned int

  const uchar table[]={

  0xC0,/*0*/ 0xF9,/*1*/

  0xA4,/*2*/ 0xB0,/*3*/

  0x99,/*4*/ 0x92,/*5*/

  0x82,/*6*/ 0xF8,/*7*/

  0x80,/*8*/ 0x90,/*9*/

  0x88,/*A*/ 0x83,/*b*/

  0xC6,/*C*/ 0xA1,/*d*/

  0x86,/*E*/ 0x8E,/*F*/};

  const uchar table1[]={

  0x40,/*0*/ 0x79,/*1*/

  0x24,/*2*/ 0x30,/*3*/

  0x19,/*4*/ 0x12,/*5*/

  0x02,/*6*/ 0x78,/*7*/

  0x00,/*8*/ 0x10,/*9*/};

  //0-9的显示代码

  uchar sec,min,couter;

  void delay(uint x);

  void ShowLed(uchar a,uchar b,uchar c);

  void SHOW();

  void main (void)

  {

  uchar temp1;

  TRISA=0;

  TRISD=0;

  ADCON1=0X06;

  OPTION=0x07;

  INTCON=0XA0;

  TMR0=0x70;

  while(1)

  {

  if(couter》49)

  {

  couter=0;

  sec++++;

  if(sec》59)

  {

  sec=0;

  min++;

  }

  if(min》59)

  min=0;

  }

  SHOW();

  }

  }

  void interrupt TMR0INT()

  {

  T0IF=0;

  couter++;

  TMR0=0x70;

  }

  void delay(uint x)//延时

  {

  uint a,b;

  for(a=x;a》0;a--)

  for(b=110;b》0;b--);

  }

  ---------------

标签:定时器,PIC16F877A,
来源:51黑电子论坛 作者:51黑电子论坛 时间:2020/5/15 9:42:00
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐