ZKX's LAB

51单片机电子频率计 51单片机设计数字频率计

2020-09-30知识14

单片机课程设计数字频率计 数码管台古老了,你用这个吧,看着还稍微有点可以,代码和电路都给你了,没有做不出来的理由,有问题加我QQ11422376745include\"d:\\c51\\reg51.hinclude\"d:\\c51\\intrins.hsbit LCM_RS=P3^0;sbit LCM_RW=P3^1;sbit LCM_EN=P3^7;define BUSY 0x80/常量定义define DATAPORT P1define uchar unsigned chardefine uint unsigned intdefine L 50uchar str0[16],str1[16],count;uint speed;unsigned long time;void ddelay(uint);void lcd_wait(void);void display();void initLCM();void WriteCommandLCM(uchar WCLCM,uchar BusyC);void STR();void account();延时K*1ms,12.000mhz*/void int0_isr(void)interrupt 0/*遥控使用外部中断0,接P3.2口*/{unsigned int temp;time=count;TR0=0;temp=TH0;temp=((temp)|TL0);TH0=0x3c;TL0=0xaf;count=0;TR0=1;time=time*50000+temp;}void time0_isr(void)interrupt 1/*遥控使用定时计数器1*/{TH0=0x3c;TL0=0xaf;count+;}void main(void){TMOD=0x01;TMOD T0选用方式1(16位定时)*/IP|=0x01;INT0 中断优先*/TCON|=0x11;TCON EX0下降沿触发,启动T0*/IE|=0x83;TH0=0x3c;TL0=0xaf;initLCM();WriteCommandLCM(0x01,1);清。

51单片机电子频率计 51单片机设计数字频率计

51单片机电子频率计 建议\"幸福校园\"看看 面些 参考前言传统数字频率计都采用纯硬件式组(纯数字电路)集电路(IC)用量较产品体积、功耗都较产本较高产品定型能升级(加入新功能)采用。

51单片机电子频率计 51单片机设计数字频率计

51单片机的数字频率计 该系统由定时器0中断子函数、定时器1中断子函数、延时子函数、按键消抖子函数、闸门控制子函数、主函数和数据定义这几部分组成。闸门时间由定时器1控制,初始为2s,可以通过按键加减,范围为2s到7秒。闸门时间就是采样时间,闸门时间越长,测量精度越准确。由P3.4输入信号,低电平有效,触发T0外部中断。当T0触发中断的时候执行的程序。这里只进行了一个操作,t0+。所以,t0的值表示触发了几次中断,也就表示接受到的脉冲几次从0到65536。所以会有t0*65536。另外,由于计时的机制是THO+、TL0+,所以,THOTL0就表示当前的计数值。THOTLO-初值就可以确定没有触发中断定时多少。TH0*256=TH0*2^8,实质就是左移8位,就是拼接TH0跟TL0的处理。所以频率的核心算法为daimao=(t0*65536+TH0*256+TL0)/n程序框图?总源程序include\"reg52.hdefine uchar unsigned chartypedef unsigned int uint;sbit w1=P2^0;sbit w2=P2^1;sbit w3=P2^2;sbit w4=P2^3;sbit w5=P2^4;sbit w6=P2^5;sbit jia=P1^6;sbit jian=P1^7;sbit s=P3^7;启动bit flag;标签uchar s1,s2,s3,s4,s5,s6,shu=1;控制数组取值uchar t0,t1,t2,a;unsigned long m=5,n;m为闸门时间int y;unsigned long daimao;。

51单片机电子频率计 51单片机设计数字频率计

51单片机制作简易数字频率计程序 这里有一个四位数码管的频率计,供参考123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111#include<;reg52.h>;#define uchar unsigned char#define uint unsigned int uchar duan[10]={0xc0,0Xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};所需的段的位码/uchar wei[4]={0XEf,0XDf,0XBf,0X7f};位的控制端(开发板)uchar wei[4]={0X80,0X40,0X20,0X10};位的控制端(仿真)uint z,x,c,v,date;定义数据类型uint dispcount=0;uint lck=0;uint disp=0;延时函数*/void delay(uchar t){ uchar i,j;for(i=0;i;i+){ for(j=13;j>;0;j-);{;} }}/*数码管动态扫描*/void xianshi(){/*数据转换*/z=date/1000;求千位 x=date%1000/100;求百位 c=date%100/10;求十位 v=date%10;求个位 P2=wei[0];P0=duan[z];delay(50);P2=wei[1];P0=duan[x];delay(50);P2=wei[2];P0=duan[c];delay(50);P2=wei[3];P0=duan[v];delay(50);}/*定时器初值1ms*/void initTimer(void){ TMOD=0x0;TH0=0xe3;TL0=0xc;}/*定时器。

#单片机#电路仿真#unsigned#proteus#频率计

随机阅读

qrcode
访问手机版