日志档案

发表于 2008-5-12 12:36:18

1

标签: avr单片机  数码管显示  动态扫描  

avr单片机 数码管显示实验 实验(三)

点击下载

这个实验利用mega16实现数码管的动态扫描显示,详情见附件.

平台:FDRAVR开发板

代码:

#include <mega16.h>
#include <delay.h>     
//num,要显示的数据(0~9);pos,要显示的位置(从右到左)
void display(uchar num,uchar pos)
{  
    DDRA="0XFF";//定义PORTA口输出
    PORTA="0XFF";//输出高电平
    switch(pos)
    {
        case 3:PORTA=0X01;break;
        case 2:PORTA=0X02;break;
        case 1:PORTA=0X04;break;
        case 0:PORTA=0X08;break;
        default:PORTA=0X00;
    }
    num<<=4;//取数字,送CD4511
    PORTA|=num;
}
void main()     
{
    uint t="0";
    while(1)
    { 
        display(t%10,0);delay_ms(5);
        display((t/10)%10,1);delay_ms(5);
        display((t/100)%10,2);delay_ms(5);
        display((t/1000),3);delay_ms(5);
        if(t>9999)t=0;
        t++;
    }
}   

 

 

 

 

 

 

系统分类: 单片机   |   用户分类: avr单片机专区   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(136)    回复(0)  

投一票您将和博主都有获奖机会!