欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: avr數碼管程序 新人不懂求教 [打印本頁]

作者: 一只放羊的牛    時間: 2018-3-6 17:36
標題: avr數碼管程序 新人不懂求教
/**********************HJ-2G V8.0實驗開發板例程************************
新人不懂求教 ,求大佬講一下這個程序

******************************************************************/
#include "iom16v.h"
#include "macros.h"
//數組聲明并定義在存儲數據區code
//0~9
#pragrma data:code  
unsigned char const Number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,};
//A~F
#pragrma data:code
unsigned char const Alpha[]={0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,};
unsigned char i=0,ch=0,adc_rel,sens1,sens2,adc_ral;
//枚舉變量aplha聲明
enum alpha{A,B,C,D,E,F};
//延遲函數
void Delay(unsigned long x)
{
   while(x--);
}
//動態顯示函數
void Dynamic_Show()
{
   int i;
   for(i=0;i<6;i++)
   {
      PORTB=Number[i];     //送模碼
      PORTA|=BIT(PA3);    //PA3高電平
      PORTA&=~BIT(PA3);   //PA3低電平
      
      PORTB=~BIT(i);      //送位選
      PORTA|=BIT(PA4);    //PA3高電平
      PORTA&=~BIT(PA4);   //PA3低電平
      Delay(100);         //稍微延遲
   }
}
//靜態顯示函數
void Static_Show(unsigned char No,unsigned char We)
{
   PORTB=Number[No];   //送模碼
   PORTA|=BIT(PA3);    //PA3高電平
   PORTA&=~BIT(PA3);   //PA3低電平
         
   PORTB=~BIT((--We)); //送位選
   PORTA|=BIT(PA4);    //PA3高電平
   PORTA&=~BIT(PA4);   //PA3低電平
   Delay(100);         //稍微延遲
}
//動態顯示函數
void Number_Show(unsigned char Num)
{
   unsigned char Hundred,Ten,One;
   Hundred=Num/100;       //取百位
   Ten=Num%100/10;        //取十位
   One=Num%10;            //取個位
   
   //顯示百位
   PORTB=Number[Hundred];     //送模碼
   PORTA|=BIT(PA3);    //PA3高電平
   PORTA&=~BIT(PA3);   //PA3低電平
         
   PORTB=~BIT(0);      //送位選
   PORTA|=BIT(PA4);    //PA3高電平
   PORTA&=~BIT(PA4);   //PA3低電平
   Delay(100);         //稍微延遲
   
   //顯示十位
   PORTB=Number[Ten];  //送模碼
   PORTA|=BIT(PA3);    //PA3高電平
   PORTA&=~BIT(PA3);   //PA3低電平
         
   PORTB=~BIT(1);      //送位選
   PORTA|=BIT(PA4);    //PA3高電平
   PORTA&=~BIT(PA4);   //PA3低電平
   Delay(100);         //稍微延遲
   
   //顯示個位
   PORTB=Number[One];  //送模碼
   PORTA|=BIT(PA3);    //PA3高電平
   PORTA&=~BIT(PA3);   //PA3低電平
         
   PORTB=~BIT(2);      //送位選
   PORTA|=BIT(PA4);    //PA3高電平
   PORTA&=~BIT(PA4);   //PA3低電平
   Delay(100);         //稍微延遲
   
}
//IO初始化函數
void IO_Init()
{
      //DDRA|=BIT(PA3);      //PA3狀態為輸出
      //DDRA|=BIT(PA4);      //PA4狀態為輸出 DDRA=0b11111110;
   DDRA=0xFC;
   DDRB=0xff;           //PB狀態為輸出
}

//主函數
void main()
{
   IO_Init();
   
   while(1)
   {
      Number_Show(321);
      //Dynamic_Show();
      //Static_Show(1,3);
   }
}



作者: fhx9999    時間: 2018-3-7 14:29
#pragrma data:code  
unsigned char const Number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,};
//A~F
#pragrma data:code
unsigned char const Alpha[]={0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,};

這個為LED 顯示段碼
別的函數已經注明了,一看就懂了




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1