新闻中心

EEPW首页>嵌入式系统>设计应用> PIC单片机C语言程序设计(6)

PIC单片机C语言程序设计(6)

作者: 时间:2013-02-05 来源:网络 收藏

while(1)   // while 循环语句开始

  {

  while(x>0)

  {

  display(x); // 调显示函数

  key_server(); // 调键值服务函数

  x--; // 分自减量(倒计时)

  }

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

  RA0=1; // RA0 赋值1(报警信号)

  display_set(x); // 调键值显示函数

  key_server(); // 调键值服务函数

  }

  }

  void key_server()// 键值服务程序开始

  {

  unsigned int value=0; // 给存储显示值赋0

  display_set(x); // 调键值显示函数

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

  {

  while(1)

  {

  x++; // 键值X 自增

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

  x=0;   // 给X 赋值0

  display_set(x); // 调键值显示函数

  delay_1m(); // 按键延时,以便观察

  if(PORTA_4==1) // 如果RA4 为高电平

  {

  sign_a=0; // 清零设定时间标志位

  RA0=0; // 给RA0 赋值0

  break; // 跳出循环返回

  }

  }

  }

  }

  void display_set(unsigned int x)

  // 键值显示函数开始

  {

  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 的函数相似

  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)延时函数开始

  {

  unsigned long int k; // 说明语句

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

  {

  display_set(x); // 调用键值显示函数

  }

  }

  说明: 上述C 程序经picc 编译后生成。hex,即可用PIC 单片机编程器将。hex 烧写到pic16F84A芯片中,再按图6 电路制成倒计时器,即可按需要使用。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭