📄 -ͦ
字号:
#include <iom16.h>
#include <inavr.h>
#define EEWE 1
#define EEMWE 2
#define EERE 0
#define uchar unsigned char //变量类型的宏定义
#define uint unsigned int
uchar __flash SEG7[10]={0x3f,0x06,0x5b, //共阴极数码管0~9的字形码
0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar __flash ACT[3]={0xfe,0xfd,0xfb};//3位共阴极数码管的位选码
uchar DispBuff[3]; //定义全局变量及数组
//*************************************
void delay_ms(uint k) //延时子函数
{
uint i,j;
for(i=0;i<k;i++)
{
for(j=0;j<1140;j++)
;
}
}
//****************数据转换子函数*********************
void conv(uchar i) //将变量i分解成待显数并存入数组
{
uchar x;
x=i;
DispBuff[2]=x/100;
x=i;
DispBuff[1]=(x/10)%10;
x=i;
DispBuff[0]=x%10;
}
//*************************************
void display(uchar *p) //将数组扫描到数码管上显示
{
PORTA=SEG7[*p];
PORTC=ACT[0];
delay_ms(1);
PORTA=SEG7[*(p+1)];
PORTC=ACT[1];
delay_ms(1);
PORTA=SEG7[*(p+2)];
PORTC=ACT[2];
delay_ms(1);
}
//*************************************
void port_init(void) //端口初始化子函数
{
PORTA = 0xFF; // PA端口初始化输出11111111
DDRA = 0xFF; //将PA端口设为输出
PORTB = 0xFF; // PB端口初始化输出11111111
DDRB = 0xFF; //将PB端口设为输出
PORTC = 0xFF; // PC端口初始化输出11111111
DDRC = 0xFF; //将PC端口设为输出
PORTD = 0xFF; // PD端口初始化输出11111111
DDRD = 0xFF; //将PD端口设为输出
}
//*************************************
void main(void) //定义主函数
{
uchar val=0,temp=98;
port_init(); //调用端口初始化子函数
__EEPUT(125,temp);
__EEGET(val,125);
conv(val); //调用数据转换子函数
while(1) //无限循环
{
display(DispBuff); //数码管显示
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -