发 帖  
原厂入驻New

ATmega32应用 8bit数码管动态扫描及流动显示

2011-7-27 16:17:26  1782 数码管
分享
ATmega32应用 8Bit数码管动态扫描及流动显示




  1. #include<iom32v.h>
  2. #include<macros.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #progma data:code
  6. const table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
  7.                0x80,0x90};
  8. void delay(uint k)
  9. {
  10.    uchar i,j;
  11.   for(i=0;i<k;i++)
  12.    for(j=0;j<1141;j++);
  13. }
  14. void main()
  15. {
  16.   uchar i,k;
  17.    DDRA=0XFF;
  18. DDRC=0xff;
  19. while(1)
  20.   {
  21.     for(i=0;i<8;i++)
  22.   {
  23.     //PORTC=0XFF;
  24.    PORTC=~BIT(i);
  25.    PORTA=table[i];
  26.    delay(2);   
  27.   }
  28.   }
  29. }

  30. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  31. #include<iom32v.h>
  32. #include<macros.h>
  33. #define uchar unsigned char
  34. #define uint unsigned int
  35. #progme data:code
  36. const table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
  37.                0x80,0x90};
  38. void delay(uint k)
  39. {
  40.   uint i,j;
  41. for(i=0;i<k;i++)
  42.   for(j<0;j<1141;j++);
  43. }      
  44. void showLED(uchar k,uchar d)
  45. {
  46.    PORTA=table[d];
  47.   PORTC=~BIT(k);
  48.   delay(2);
  49. }
  50. void main()
  51. {
  52.    uint j;
  53.    uchar i;
  54.   DDRA=0XFF;
  55.   DDRC=0XFF;
  56.   while(1)
  57.   {
  58.     for(j=0;j<64000;j++)//J的值可控制时间
  59.   {
  60.     for(i=0;i<8;i++)
  61.    {
  62.      showled((i+j/100)%8,i);
  63.    }
  64.   }
  65.   }
  66. }

复制代码

ATmega32应用 8bit数码管动态扫描及流动显示


1
2011-7-27 16:17:26   评论 分享淘帖
高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发表新帖
关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表