基于单片机C语言的数字频率计(单片机仿真部分)
长按设置键可选择测试频率或者周期 ,短按则是选择设置闸门时间(0.05s~10s可调)
#include <AT89x52.h>
#include <stdio.h>
#include <math.h>
#include <intrins.h>
float f; /* 频率 */
float p; /* 周期 */
float sj; /* 闸门时间 */
char idata buff[20];
char flag = 0; /* 频率\周期选择标志位 */
char xs = 0; /* 设置闸门时间结束后是否显示结果的标志位 */
unsigned char m = 0, n = 0, yichu = 0, fenpin; /* m定时中断次数 n计数中断次数 yichu判断是定时器还是计数器溢出 */
#define Key_Set P1
#define K1 0xbf
#define K2 0x7f
#define NO_Set 0xff
#define Freq 0
#define Peri 1
sbit B153 = P2 ^ 4;
sbit A153 = P2 ^ 3;
sbit P17 = P1 ^ 7;
sbit P16 = P1 ^ 6;
sbit P35 = P3 ^ 5;
sbit Set = P3 ^ 2;
unsigned char LCD_Wait( void );
void LCD_Write( bit style, unsigned char input );
void LCD_SetDisplay( unsigned char DisplayMode );
void LCD_SetInput( unsigned char InputMode );
void LCD_Initial();