基于单片机的简易频率计设计内容摘要:

ain() { init_timer()。 //定时器配置 LED_number0 = 0。 LED_number1= 0。 LED_number2= 0。 LED_number3= 0。 while(1) { convert_LED()。 //将频率值转换成显示在 8 段数码管上的数据 LED_display()。 //将前面转换出来的数字显示在 LED 上 } } /****************************LED 显示函数 **************************/ void LED_display() { unchar index = 0。 unchar NOT_zero。 8 NOT_zero = 0。 for(index=0。 index8。 index++) { if(!(((LEDBUF[index]==0)amp。 (!NOT_zero))amp。 (index != point))) { NOT_zero = 1。 // P0 = index。 P1 = 0x00。 P0 amp。 = 0xf8。 P0 |= index。 if(point==index) P1 = led_point[LEDBUF[index]]。 else P1 = leddata[LEDBUF[index]]。 mult_delay(1)。 } } } /*基础延时函数 */ void delay() { unsigned int time_length。 time_length = 0x0a。 while(time_length)。 } /*//基础延时函 数整数倍延时 */ void mult_delay(unchar time) { while(time) {delay()。 } } /************************LED 结果转化函数 ***********************/ void convert_LED() { if(temp_add != 0) { LED_number_add(temp_add)。 temp_add = 0。 } if(LED_number0=100) { 9 LED_number1 += LED_number0/100。 LED_number0 = (LED_number0/100)*100。 } if(LED_number1=100) { LED_number2 += LED_number1/100。 LED_number1 = (LED_number1/100)*100。 } if(LED_number2=100) { LED_number3 += LED_number2/100。 LED_number2 = (LED_number2/100)*100。 } if(LED_number3=100) { LEDBUF[0] = 11。 LEDBUF[1] = 11。 LEDBUF[2] = 11。 LEDBUF[3] = 11。 LEDBUF[4] = 11。 LEDBUF[5] = 11。 LEDBUF[6] = 11。 LEDBUF[7] = 11。 while(1) { LED_display()。 } } LEDBUF[7] = LED_number0%10。 LEDBUF[6] = LED_number0/10。 LEDBUF[5] = LED_number1%10。 LEDBUF[4] = LED_number1/10。 LEDBUF[3] = LED_number2%10。 LEDBUF[2] = LED_number2/10。 LEDBUF[1] = LED_number3%10。 LEDBUF[0] = LED_number3/10。 } /**************************加法函数 *****************************/ void LED_number_add(unsigned int add) { unchar addH,addL。 addH = add/100。 addL = add%100。 LED_number0 += addL。 LED_number1 += addH。 } /***********************定时器初始化函数 ***************************/ void init_timer() { EA = 1。 //开总中断 10 ET0 = 1。 //允许定时器 0 中断 TMOD = 0x51。 //定时器工作方式选择 TL0 = 0x00。 TH0 = 0x4c。 //定时器赋予初值 /**/ TL1 = 0x00。 TH1 = 0x00。 //计数器赋予初值 /*。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。