标题:
PIC单片机计数器
[打印本页]
作者:
Trump1438
时间:
2019-1-31 14:01
标题:
PIC单片机计数器
yyyyyyyyy.jpg
(745.72 KB, 下载次数: 86)
下载附件
2019-1-31 14:00 上传
#include<pic.h>
#define uchar unsigned char
#define uint unsigned int
#define DIN RC0
#define CS RC1
#define CLK RC2
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)
{
TRISA = 0x10;
PORTA = 0x10;
TRISC = 0x00;
PORTC = 0x00;
}
void WriteByte(uchar dat)
{
uchar i;
for(i=0;i<8;i++)
{
DIN = ((dat<<i)&0x80)?1:0;
CLK = 0;
NOP();
CLK = 1;
NOP();
}
}
void MAX7221_WRITE(uchar addr,uchar dat)
{
CS = 0;
WriteByte(addr);
WriteByte(dat);
CS = 1;
}
void MAX7221_Initial(void)
{
MAX7221_WRITE(0x0A,0x07);
MAX7221_WRITE(0x0B,0x07);
MAX7221_WRITE(0x0C,0x01);
MAX7221_WRITE(0x0F,0x00);
MAX7221_WRITE(0x09,0xFF);
}
void Display(uchar *str)
{
uchar i;
for(i=0;i<8;i++)
{
MAX7221_WRITE(i+1,str[i]);
}
}
void Time0_Initial(void)
{
T0CS = 1;//TOCS和T0SE配合起来实用,时T0工作在计数器状态;
PSA = 1;
T0IF = 0;
T0IE = 1;
T0SE = 1;//
GIE = 1;//开中断可以用ei()函数代替;关闭中断可以用di()函数代替;
TMR0 = 0xFF;
}
/*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 = 0xFF;
T0IF = 0;
//CLRWDT = 0;
cnt ++;
if(cnt==1)
{
cnt = 0;
secs ++;
}
if(secs==60)
{
secs = 0;
minutes ++;
}
if(minutes==60)
{
minutes = 0;
hours ++;
}
if(hours==24)
{
hours = 0;
}
}
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()
{
Port_Initial();
delay_ms(10);
MAX7221_Initial();
delay_ms(10);
Time0_Initial();
delay_ms(10);
//ei();
while(1)
{
HEXTOBCD();
delay_ms(10);
Display(disbuf);
delay_ms(10);
}
}
复制代码
作者:
Sawardeakar
时间:
2019-2-3 00:38
不错,不错,出手不同凡响
作者:
jinsheng7533967
时间:
2019-2-3 00:50
终于出案例了,后面多来看看了
作者:
Trump1438
时间:
2019-2-6 05:44
谢谢你们的支持
作者:
孤立无援
时间:
2020-6-26 12:17
请问能把仿真电路中的pic16f877a换成pic18f452单片机在仿一次吗
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1