⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.c

📁 基于Mini51板的数字示波器设计
💻 C
字号:
#include "common.h"
#include "Mini51b.h"

void delay(unsigned int t)
{  
  while(t--);
  //测量如下:
  //delay(1);//15.2us
  //delay(2);//20.2us
  //delay(5);//34.8us
  //delay(10);//59.2us
  //delay(20);//108us
  //delay(50);//256us
  //delay(100);//500us
  //delay(200);//984us
  //delay(500);//2460us
  //delay(1000);//4880us
  //delay(2000);//9760us
  //delay(5000);//24400us
}

//延时nms子程序,
void delay_ms(unsigned int n)
{
     unsigned char j;
     while(n--)
     for(j=0;j<230;j++);//230是实验测试所得!
}
/*

参数n>0;
延时1ms:delay_ms(1);
延时11ms:delay_ms(11);
延时123ms:delay_ms(123);
延时155ms:delay_ms(155);
*/


/*/一般常用通用延时函数
void delay(unsigned char t)
{  
    while(t--);
}

测量如下:
  //delay(1);//10.88us
  //delay(2);//14us
  //delay(5);//23.8us
  //delay(10);//40us
  //delay(20);//72.8us
  //delay(50);//170us
  //delay(100);//332us
  //delay(200);//656us
  //delay(250);//824us

 */

 /*调试用*/
//通用数码管显示函数,传入数据0~9999
void seg7_disp(uint number)
{
	unsigned char code tab1[20]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};
	unsigned char temp,flag=0;

	if(number < 10000)
	{		
		//千位数码管
		temp = number/1000%10;
		if (temp) {
			SEG_Q = tab1[temp];
			flag = 1;	
		}
		else {
			SEG_Q = 0xff;//数码管熄灭
			flag = 0;	
		}

		//百位数码管
		temp = number/100%10;	
		if(flag | temp)	{
			SEG_B = tab1[temp];
			flag = 1;	
		}
		else {
			SEG_B = 0xff;//数码管熄灭
			flag = 0;	
		}					
		
		//十位数码管
		temp = number/10%10;
		if(flag | temp) SEG_S = tab1[temp];		
		else SEG_S = 0xff;//数码管熄灭		
		
		//个位数码管
		temp = number%10;	
		SEG_G = tab1[temp];
	}
	else {
		SEG_Q = 0xbf;//"-"
		SEG_B = 0xbf;
		SEG_S = 0xbf;
		SEG_G = 0xbf;	
	} 
}

⌨️ 快捷键说明

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