PIC单片机电子钟程序+仿真电路

发布者:Huixin8888最新更新时间:2019-10-28 来源: 51hei关键字:PIC  单片机  电子钟程  仿真电路 手机看文章 扫描二维码
随时随地手机看文章

 

#include

#define uchar unsigned char

#define uint unsigned int

#define CS RA5

uchar secs = 0;

uchar minutes = 0;

uchar hours = 0;

unsigned char disbuf[8] = {1,2,3,4,5,6,7,8};

void delay_ms(uint n)

{

        uchar i;

        while(n--)

        {

                for(i=0;i<100;i++);

        }

}

void Port_Initial(void)

{

        TRISC = 0xD7;

        PORTC = 0x00;

        TRISA = 0x00;

        PORTA = 0x00;

}

void Time0_Initial(void)

{

        T0CS = 0;

        PSA = 1;

        T0IF = 0;

        T0IE = 1;

        GIE = 1;

        TMR0 = 0x00;

}

volatile unsigned int cnt = 0;

void interrupt ISR(void)

{

        TMR0 = 0x13;

        T0IF = 0;

        CLRWDT();

        cnt ++;

        if(cnt==500)

        {

                cnt = 0;

                secs ++;

        }

        if(secs==60)

        {

                secs = 0;

                minutes ++;

        }

        if(minutes==60)

        {

                minutes = 0;

                hours ++;

        }

        if(hours==24)

        {

                hours = 0;

        }

}

void SPI_Initial(void)

{

        PIR1 = 0;

        SSPCON = 0x30;

        SSPSTAT = 0x00;

}

void Display(uchar *str)

{

        uchar i;

        for(i=0;i<8;i++)

        {

                MAX7221_WRITE(i+1,str[i]);

        }

}

void HEXTOBCD(void)

{

        disbuf[0] = hours/10;

        disbuf[1] = hours%10;

        disbuf[2] = 10;

        disbuf[3] = minutes/10;

        disbuf[4] = minutes%10;

        disbuf[5] = 10;

        disbuf[6] = secs/10;

        disbuf[7] = secs%10;

}

void main()

{

        SPI_Initial();

        delay_ms(10);

        Port_Initial();

        delay_ms(10);

        Time0_Initial();

        delay_ms(10);

        MAX7221_Initial();

        delay_ms(10);

        while(1)

        {

                HEXTOBCD();

                delay_ms(10);

                Display(disbuf);

                delay_ms(10);

        }

}



关键字:PIC  单片机  电子钟程  仿真电路 引用地址:PIC单片机电子钟程序+仿真电路

上一篇:PIC16F877输出正弦波信号PROTEUS仿真及程序
下一篇:PIC单片机与18b20的应用

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved