📄 common.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 + -