新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > PIC單片機C語言程序設計(6)

PIC單片機C語言程序設計(6)

作者: 時間:2013-02-05 來源:網絡 收藏

while(1)   // while 循環(huán)語句開始

  {

  while(x>0)

  {

  display(x); // 調顯示函數(shù)

  key_server(); // 調鍵值服務函數(shù)

  x--; // 分自減量(倒計時)

  }

  if (x==0) // 如果X=0

  RA0=1; // RA0 賦值1(報警信號)

  display_set(x); // 調鍵值顯示函數(shù)

  key_server(); // 調鍵值服務函數(shù)

  }

  }

  void key_server()// 鍵值服務程序開始

  {

  unsigned int value=0; // 給存儲顯示值賦0

  display_set(x); // 調鍵值顯示函數(shù)

  if( PORTA_4==0 ) // 如果RA4 為0

  {

  while(1)

  {

  x++; // 鍵值X 自增

  if(x>99) // 如果鍵值X>99

  x=0;   // 給X 賦值0

  display_set(x); // 調鍵值顯示函數(shù)

  delay_1m(); // 按鍵延時,以便觀察

  if(PORTA_4==1) // 如果RA4 為高電平

  {

  sign_a=0; // 清零設定時間標志位

  RA0=0; // 給RA0 賦值0

  break; // 跳出循環(huán)返回

  }

  }

  }

  }

  void display_set(unsigned int x)

  // 鍵值顯示函數(shù)開始

  {

  unsigned int d=20,unit_bit,ten_bit,unsigned char SEG7[10]={0xc0,0xf9,0xa4,

  0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

  unit_bit=x%10;

  // 這里的注釋與display 的函數(shù)相似

  ten_bit=x/10%10;

  while(d>0)

  {

  PORTA=0x1e;

  PORTB=SEG7[unit_bit];

  RA3=0; // 顯示個位

  delay(200);

  RA3=1;

  delay(2);

  PORTB=SEG7[ten_bit];

  RA2=0; // 顯示十位

  delay(200);

  RA2=1;

  delay(2);

  d--;

  }

  }

  void delay_1m()

  // 按鍵(圖6 的K1)延時函數(shù)開始

  {

  unsigned long int k; // 說明語句

  for(k=0;k4;k++) // for 語句

  {

  display_set(x); // 調用鍵值顯示函數(shù)

  }

  }

  說明: 上述C 程序經picc 編譯后生成。hex,即可用PIC 單片機編程器將。hex 燒寫到pic16F84A芯片中,再按圖6 電路制成倒計時器,即可按需要使用。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉