ç»ä¸ä¸ªæ以ååçä¸ä¸ªç¨åºä½ åèåèï¼å
容差ä¸å¤
/****************************************************************
å©ç¨å®æ¶å¨0å·¥ä½æ¹å¼1ï¼å®ç°å¦ä¸åè½ï¼ *
ç¨ä¸æ ¹å¯¼çº¿ä¸æ®µæ¥å°ï¼å¦ä¸ç«¯å»æ¥è§¦T0ï¼P3.4ï¼å¼èï¼æ¯æ¥è§¦ä¸ä¸ï¼ *
计æ°å¨è®°ä¸æ¬¡æ°ï¼å¹¶å°æè®°çæ°å®æ¶æ¾ç¤ºå¨æ°ç 管ä¸ï¼è®¡æ»¡100æ¸
é¶ *
*****************************************************************/
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
/* 0~9ç¼ç */
uchar code table[]={0x3f,0x06,0x5b,
0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/* 延æ¶å½æ° */
void delay(uint z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/* æ¾ç¤ºå½æ°ï¼å°è®¡æ°å¼å®æ¶æ¾ç¤ºå¨æ°ç ç®¡ä¸ */
void display(uchar shi, uchar ge)
{
P2 = 1;
P0 = 0xff; // æ¶å½±
P0 = table[shi]; //æ¾ç¤ºç§åä½
delay(10); //çæ延æ¶
P2 = 3;
P0 = 0xff;
P0 = table[ge]; //æ¾ç¤ºç§ä¸ªä½
delay(10);
}
/**************************************************************************
读åè¿è¡ä¸è®¡æ°å¨å¯åå¨ä¸çå¼ï¼ç±äºè¯¥å¯åå¨çå¼ä¼éæ¶ååï¼ *
è¥åªè¯»ä¸æ¬¡ï¼å½åçè¿ä½æ¶ï¼å¾å¯è½ä¼è¯»éæ°æ®ï¼å æ¤TH0å¯åå¨çå¼éè¦è¯»ä¸¤æ¬¡ï¼ *
以确ä¿è¯»åçæ¶å没æåçè¿ä½ã *
*
æä½æ¶ï¼å
读åTH0ä¸æ¬¡ï¼å读åTL0ä¸æ¬¡ï¼ç¶åå¨è¯»åTH0ä¸æ¬¡ï¼æ¯è¾ä¸¤æ¬¡TH0çå¼ *
å¦æ两次读åçTH0çå¼ç¸åï¼è¯´æTL0没æåTH0è¿ä½ã *
***************************************************************************/
uint read(void)
{
uchar tl, th_1, th_2;
uint val;
while(1)
{
th_1 = TH0; // 第ä¸æ¬¡è¯»åTH0
tl = TL0; // 读åTL0
th_2 = TH0; // 第äºæ¬¡è¯»åTH0
if(th_1 == th_2) // è¥ä¸¤æ¬¡TH0çå¼ç¸åï¼è¯´ææ è¿ä½ï¼è·³åº
break;
}
val = th_1*256 + tl; // è·å计æ°å¨ä¸åå¨ç计æ°å¼
return val; // è¿å计æ°å¼
}
void main(void)
{
uchar a, b;
uint num;
TMOD = 0x05; // å®æ¶å¨0å·¥ä½å¨æ¹å¼1
TH0 = 0; // åå§åï¼æ¸
空TH0
TL0 = 0; // åå§åï¼æ¸
空TL0
TR0 = 1; // å¯å¨å®æ¶/计æ°å¨0
while(1)
{
num = read();
if(num >= 100) // è¥è®¡æ°å°100æ¸
é¶
{
num = 0; // æ¸
空num
TH0 = 0; // æ¸
空TH0
TL0 = 0; // æ¸
空TL0
}
a = num/10; // è·ååä½
b = num%10; // è·å个ä½
display(a, b);
}
}
追é®è½ç»ä¸ªè¯¦ç»ç¹ä¹ æåºç¡å·® 表示çä¸æåå山大
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/6d81800a19d8bc3eef3c7f3e818ba61ea8d34509?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
追çæç°å¨æ头ä¸æ²¡å¼åæ¿ï¼è½¯ä»¶å段æ¶é´å¸è½½äºï¼æ²¡åæ³ç°ç¼ç¨åºï¼åªè½ç»ä½ ç¹æè·¯äºã
ä½ å°±å个æé®æ«æç¨åºï¼å¦ææ£æµå°ææé®å¨ä½ï¼å°±å°è®¡æ°å¨ï¼ä¸ä¸ªåéaï¼å 1ï¼å¹¶éå°æ¾ç¤ºå½æ°å»æ¾ç¤ºãè³äºå¤ä½å°±ç´æ¥å°è®¡æ°å¨ï¼ä¸é¢çé£ä¸ªåéaï¼æ¸
é¶å¹¶æ¾ç¤ºå°±è¡
追é®å¤§ç¥ 表示ä¸ä¼å