• pidn_Jeans
    了解作者
  • Visual C++
    开发工具
  • 1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 1
    下载次数
  • 2015-12-10 12:50
    上传日期
这是AVR的4位数码管动态显示的程序,可以通过这个程序,学习、了解AVR单片机的位操作,C语言的位运算;以及学习数码管动态显示的过程。
Digital-Tube.zip
  • Digital Tube.c
    1.2KB
内容介绍
#include <iom1284pv.h> #include <macros.h> #define uchar unsigned char #define uint unsigned int unsigned char number[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x0,0x10,0xff,0x7f,0xc6};//0~9 and 0.~9; void delay(uchar ms)//30ms { uint i,j; for(j=0;j<=ms;j++) for(i=0;i<20;i++); } void seg7(uchar a,uchar b,uchar c,uchar d) //不可以一个申明后面跟着很多变量 { PORTB=number[a]; PORTC&=~BIT(0); delay(1); PORTC|=BIT(0); PORTB=number[b]; PORTC&=~BIT(1); delay(1); PORTC|=BIT(1); PORTB=number[c]; PORTC&=~BIT(2); delay(1); PORTC|=BIT(2); PORTB=number[d]; PORTC&=~BIT(3); delay(1); PORTC|=BIT(3); } void CPUinit(void) { DDRA=0xff; //复合运算不可以有空格 DDRB=0xff; DDRC=0x0f; PORTA=0xff; PORTB=0xff; PORTC=0x0f; } void main(void) //int main(void) ==>old-style function definition for 'main' { uchar k,i=0; //主函数可以一个申明后面跟着很多变量 CPUinit(); while(1) { seg7(1,2,3,4); k++; if(k>10&i>=8) { i=0; k=0; PORTA|=0xff; } if(k>10) { PORTA&=~BIT(i); k=0; i++; } } }
评论
    相关推荐