📄 cepin.c
字号:
//cepin.c : source file for the cepin project
//
#include "cepin.h"
#include "cepinTimer.h"
#include "delay.h"
#define uchar unsigned char
#define uint unsigned int
/////////////////////////////////////////////////////////////////////////////
//cepin
uchar led0[42]=
{0x60,0x7e,0x31,0x32,0x2e,0xa2,0xa0,0x7a,0x20,0x22,0x28,0xa4,0xe1,0x34,0xa1,0xa9,
0x40,0x5e,0x11,0x12,0x0e,0x82,0x80,0x5a,0x00,0x02,0x08,0x84,0xc1,0x14,0x81,0x89,
0xff,0x64,0xdf,0xa1,0x68,0x34,0xbf,0xa5,0x2a};
uchar led[24];
uint f3;
static void io_init(void)
{
//{{WIZARD_MAP(General)
//}}WIZARD_MAP(General)
//{{WIZARD_MAP(I/O Ports)
// PortA
PORTA = 0x0;
DDRA = 0xf8;
// PortB
PORTB = 0x0;
DDRB = 0x1f;
// PortC
PORTC = 0x20;
DDRC = 0xc0;
// PortD
PORTD = 0xb0;
DDRD = 0x2;
//}}WIZARD_MAP(I/O Ports)
//{{WIZARD_MAP(Watchdog)
// Watchdog Disabled
wdt_disable();
//}}WIZARD_MAP(Watchdog)
//{{WIZARD_MAP(Analog Comparator)
// Analog Comparator Disabled
ACSR = 0x80;
//}}WIZARD_MAP(Analog Comparator)
}
int main(void)
{
//{{WIZARD_MAP(Initialization)
io_init();
timers_init();
//}}WIZARD_MAP(Initialization)
// TODO: Add extra initialization here
//{{WIZARD_MAP(Global interrupt)
sei();
//}}WIZARD_MAP(Global interrupt)
while(1)
{
// TODO: Add your code here
display();
}
}
/****************************************************
频率显示程序
****************************************************/
void display(void)
{
uint t;
uint f;
f=200000000/f3;
led[23]=(f/1000)%10;
led[22]=(f/100)%10+16;
led[21]=(f/10)%10;
led[20]=f%10;
t=123450;
led[19]=(t/10000)%10;
led[18]=(t/1000)%10;
led[17]=(t/100)%10;
led[16]=(t/10)%10;
}
/**********************************************
数码管显示程序
RCK=PA5 SCK=PA6 SER=PA7
***********************************************/
void led_outbyt(char a)
{
char i,d;
for(i=0;i<8;i++)
{
cbi(PORTA,6);
d=a&0x80;
if(d)
sbi(PORTA,7);
else
cbi(PORTA,7);
a<<=1;
sbi(PORTA,6);
}
}
void led_list(void)
{
uchar i,j;
j=1;
for(i=0;i<8;i++)
{
led_outbyt(led0[led[i]]);
led_outbyt(j);
led_outbyt(led0[led[i+8]]);
led_outbyt(j);
led_outbyt(led0[led[i+16]]);
led_outbyt(j);
cbi(PORTA,5); //数据锁存
sbi(PORTA,5); //数据锁存
delay(8,1000);
j<<=1;
led_outbyt(0);led_outbyt(0);led_outbyt(0);led_outbyt(0);led_outbyt(0);led_outbyt(0);
cbi(PORTA,5); //数据锁存
sbi(PORTA,5); //数据锁存
delay(1,1000);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -