isr.c

来自「用于测定温度和湿度值」· C语言 代码 · 共 58 行

C
58
字号
#include <main.h>
#include <ISR.h>
code seven_seg[10] = {0xc0,0xf9,0xa4,0x99,0x92,0x82,0xf8,0x80,0x90};
code scan[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char counter[6]={0,0,0,0,0,0};
unsigned char numBit[6]={0,0,0,0,0,0};
/******************************************/
//程序名:timer0_isr(void)
//功能:定时器0的中断服务程序。用来显示温度值和湿度百分比
//作者:唐立军
//时间:2007.11.15
/******************************************/
static void timer0_isr(void) interrupt 1 using 1
{
	static unsigned char dis_cnt;
	TR0 = 0;
	TL0 = (TIME0_COUNT&0xff);
	TH0 = (TIME0_COUNT>>8);
	TR0 = 1;
	
	timer_trik++;
	if(timer_trik==1000)
	{
		timer_trik = 0;
	if(++dis_cnt>7)dis_cnt=0; //扫描5位数码管的计数值
    switch(dis_cnt)
   {
	  case 7:P1 = seven_seg[disp_val2/1000];
	  		 P3 = scan[7];
	  		 break;
	  case 6:P1 = seven_seg[(disp_val2%1000)/100];
	  		 P3 = scan[6];
	  		 break;
	  case 5:P1 = seven_seg[(disp_val2%100)/10];
	  		 P3 = scan[5];
	  		 break;
	  case 4:P1 = seven_seg[disp_val2%10];
	  		 P3 = scan[4];
	  		 break;
	 case 3:P1 = seven_seg[disp_val1/1000];
	  		 P3 = scan[3];
	  		 break;
	  case 2:P1 = seven_seg[(disp_val1%1000)/100];
	  		 P3 = scan[2];
	  		 break;
	  case 1:P1 = seven_seg[(disp_val1%100)/10];
	  		 P3 = scan[1];
	  		 break;
	  case 0:P1 = seven_seg[disp_val1%10];
	  		 P3 = scan[0];
	  		 break;
	}
	
   }

}

⌨️ 快捷键说明

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