手机
当前位置:查字典教程网 >编程开发 >C#教程 >c#实现51单片机频率计的代码分享(数字频率计设计)
c#实现51单片机频率计的代码分享(数字频率计设计)
摘要:复制代码代码如下:#include#defineucharunsignedchar#defineuintunsignedint#define...

复制代码 代码如下:

#include <reg51.h>

#define uchar unsigned char

#define uint unsigned int

#define ulong unsigned long

//按键

sbit button=P1^7;

//LED

sbit led2=P3^5;

sbit led3=P3^7;

//数码管位选

sbit c0 = P3^0;

sbit c1 = P3^1;

sbit c2 = P3^2;

sbit c3 = P3^3;

//数码管段码

uchar code dm[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

uchar wm[]={0,0,0,0};

ulong pl;

uchar mode;

void delay3ms(void) //误差 0us

{

unsigned char a,b,c;

for(c=1;c>0;c--)

for(b=176;b>0;b--)

for(a=7;a>0;a--);

}

void smg()

{

static uchar i=0;

c0=1;c1=1;c2=1;c3=1;

P1 = 0XFF;

switch(i)

{

case 0:c0=0;

break;

case 1:c1=0;

break;

case 2:c2=0;

break;

case 3:c3=0;

break;

}

P1 = dm[wm[i]];

i++;

if(i>3)

{

i=0;

}

}

void ledmode()

{

switch(mode)

{

case 0:led2=led3=0;

break;

case 1:led2=1;led3=0;

break;

case 2:led2=0;led3=1;

break;

case 3:led2=led3=1;

break;

}

}

void key()

{

static uchar num;

delay3ms();

button=1;

switch(num)

{

case 0:if(!button)

{

num=1;

}

break;

case 1:if(!button)

{

if(mode<3)

{

mode++;

}

else

{

mode=0;

}

num=2;

}

else

{

num=0;

}

break;

case 2:if(button)num=3;

break;

case 3:if(button)num=0;

break;

}

}

void timeinit()

{

TMOD=0x15; //设置T0T1控制字

TH0=0x00;

TL0=0x00;

TH1=0xfC;

TL1=0x18;

ET0=1; //定时器0中断允许

ET1=1;

TR0=1; //启动T0计数

TR1=1; //并启动T1计数

EA=1; //CPU开中断

}

void main()

{

timeinit();

while(1)

{

smg();

ledmode();

key();

}

}

void t1()interrupt 3

{

static uint time;

TR0=0;

TH1=(65536-10000)/256;

TL1=(65536-10000)%256;

time++;

if(time>99)

{

time=0;

pl=TH0*256+TL0;

wm[0]=(pl/1000)%10;

wm[1]=(pl/100)%10;

wm[2]=(pl/10)%10;

wm[3]=pl%10;

TH0=TL0=0;

}

TR0=1;

}

【c#实现51单片机频率计的代码分享(数字频率计设计)】相关文章:

C#全角半角转换函数代码分享

C#版ftp方法实现类的代码

c#完美截断字符串代码(中文+非中文)

C#中实现任意List的全组合算法代码

C#用Activex实现Web客户端读取RFID功能的代码

C#实现图片分割方法与代码

C#实现写入与读出文本文件的实例代码

利用thrift实现js与C#通讯的实例代码

c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法源代码

C# 实现阶乘 (递归,非递归) 实现代码

精品推荐
分类导航