微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC电子钟实验成功

PIC电子钟实验成功

时间:11-30 来源:互联网 点击:
经过努力,利用PIC16F877A的T0定时器制作的电子钟实验成功!下面是部分源程序和图片:


/#include //调用头文件
__CONFIG(0x3F32); //芯片配置字

#defineuchar unsignedchar
#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--);
}
---------------

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top