bian.c

来自「用C语言编程实现的基于avr单片机的编码程序」· C语言 代码 · 共 64 行

C
64
字号
// Target : M8
// Crystal: 1.0000Mhz

#include <iom8v.h>
#include <macros.h>
#define UP (PIND&0X01)
#define DOWN (PIND&0X04)
#define uchar unsigned char

unsigned char  led[]={0x88,0xeb,0x4c,0x49,0x2b,0x19,0x18,0xcb,0x08,0x09,0xff};//共阴板子
unsigned char num[4]={0x01,0x02,0x03,0x04};
void port_init(void)
{
 PORTB = 0xFF;
 DDRB  = 0xff;
 PORTC = 0x7F; //m103 output only
 DDRC  = 0xFF;
 PORTD = 0xFF;
 DDRD  = 0x02;//PD2,PD3,PD4输入,PD1:TXD,输出
}
//延时子程序
void delay_us(int time)
	 {     
  	  do
	  	{
		 time--;
		}	
  	  while (time>1);
	 }	   
void delay_ms(unsigned int time)
	 {
	   while(time!=0)
	  	  {		
		   delay_us(30);
		   time--;
		  }
	 } 
void code(uchar a)
{int i;
 for(i=0;i<8;i++)
 {if(a&0x01==0x01)
  {PORTD|=BIT(1);
   delay_ms(100);
   PORTD&=~BIT(1);
   delay_ms(20);
  }
  else {PORTD|=BIT(1);
        delay_ms(20);
        PORTD&=~BIT(1);
        delay_ms(100);
       }
  a=a<<1;
  delay_ms(200);
 }
}	
void main()
{int i;
 uchar b[2]={0x12,0x86};
 port_init();
 while(1)
 {for(i=0;i<2;i++)
  code(b[i]);
 }
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?