📄 main.c
字号:
/***********************************************/
//编译环境 IAR 4.10A
//CPU: Atmega16
/***********************************************/
#define MAIN_C
#include "includes.h"
#define KeyUp 0 //向下按键
#define KeyDown 1 //向上按键
unsigned char UpFlag;
unsigned char DownFlag;
int value = 1000;
unsigned char display[4];
void Key(void)
{
if(!(PINB&(1<<KeyUp)))
{
while(!(PINB&(1<<KeyUp)));
UpFlag = 1;
}
if(!(PINB&(1<<KeyDown)))
{
while(!(PINB&(1<<KeyDown)));
DownFlag = 1;
}
if(UpFlag)
{
value = value+50;
UpFlag = 0;
if(value>2000)
{
value = 0;
}
}
if(DownFlag)
{
value = value-50;
DownFlag = 0;
if(value<0)
{
value = 2000;
}
}
}
void IntToBcd(void)
{
int temp;
display[3] = value/1000;
temp = value%1000;
display[2] = temp/100;
temp = temp%100;
display[1] = temp/10;
display[0] = temp%10;
}
void main( void )
{
int i;
DDRD |= (1<<clk)|(1<<dat); //设置为输出
PORTB |= (1<<PB0)|(1<<PB1);
while(1)
{
Key();
IntToBcd();
switch(i)
{
case 0: write164(display[i] | 0x70); break;
case 1: write164(display[i] | 0xB0); break;
case 2: write164(display[i] | 0xD0); break;
case 3: write164(display[i] | 0xE0); break;
}
if(++i > 3) i = 0;
delay_nms(1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -