ain.c
来自「AVR典型实例.rar」· C语言 代码 · 共 56 行
C
56 行
/*
LEDShow.C
4位共阴数码管显示模拟比较器例程
*/
#include <avr/io.h>
#define uchar8 unsigned char
const uchar8 LedNum[] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay()
{
int i;
for(i=0;i<600;i++)
;
}
void LEDShow(int num)
{
uchar8 i,tmp,curnum;
int tmpnum;
tmp = 0xef;
tmpnum = num;
for(i=0;i<4;i++)
{
curnum = tmpnum % 10;
tmpnum = tmpnum / 10;
PORTA = tmp;
PORTC = LedNum[curnum];
delay();
tmp = (tmp << 1) + 0x1;
}
}
int main(void)
{
int num; /* 要显示的数字 */
DDRC = 0xff;
DDRA = 0xff;
DDRD = 0xf0; // AIN0和AIN1设置为输入
ACSR = 0x00; // 使能模拟比较器
num = 0;
while(1)
{
if((ACSR&0x20)==0x20) // 若AIN0>AIN1,显示1
num = 1;
else
num = 0; // 否则显示0
LEDShow(num);
delay();
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?