仪器网(yiqi.com)欢迎您!

| 注册 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-直播- 视频

问答社区

基于单片机AT89C52频率计,求程序,求助

poupsis 2017-06-22 09:26:53 352  浏览
  •  

参与评论

全部评论(1条)

  • ljx123456aas 2017-06-23 00:00:00
    //用定时计数器0作为脉冲计数器,定时器1作为定时器用,定时50ms产生中断 //中断10次后(即0.5s)读计数器0的数据乘2即为所得频率值,适于频率变化较慢的场所 //先进行50ms预判断,若TH0计数值大于12,说明1S内计数值将超过65535(虽0.5S内远不超65535) //变量ee是无符号整数不能超过65535,为防止出错,则报警 //Z大可测频率约65535hz,实际上STC12C系列是1T单片机,11.0592下其Z高可计数频率远大于此 #include <reg52.h> #include <math.h> #define uint unsigned int #define uchar unsigned char //定义以I/O口的功能 sbit beiguang=P3^2;//液晶屏背光 sbit rs=P1^3;//液晶屏写选择,0命令 1数据 sbit rw=P1^4;//液晶屏读写选择 sbit lcden=P1^5;//液晶屏使能 sbit fm=P1^7;//蜂鸣器 #define db P2 //定义P2为数据输出口,写数据时用db代替P2,增加液晶屏程序的通用性 //更改硬件接线时,只更改此处,而不必去更改液晶屏读写子程序 uchar aa,bb,cc; uint dd,ee; void Delay1ms(unsigned int i) //1ms延时程序 { unsigned int j; for(;i>0;i--) { for(j=0;j<125;j++) {;} } } void init()//初始化设置 { TMOD=0x15;//定时器0作为计数器,定时器1作为定时器用 TH0=0;//计数器清0 TL0=0; EA=1;//开总中断 ET1=1;//允许定时器1中断 TH1=0x4c; TL1=0x5c; TR0=1;//启动计数器 TR1=1;//启动定时器 aa=0; } void write_com(uchar com)//向液晶屏写命令 { db=com; rs=0; rw = 0; lcden=0; Delay1ms(10*12); lcden=1; Delay1ms(10*12); lcden=0; } void write_date(uchar date)//向液晶屏写数据 { db=date; rs=1; rw = 0; lcden=0; Delay1ms(10*12); lcden=1; Delay1ms(10*12); lcden=0; } void init2()//液晶屏初始化 { beiguang=0; rw=0; write_com(0x38);//显示模式16字*2行,5*7点阵,数据口8位 Delay1ms(10*12); write_com(0x0f);//开显示,显示光标,光标闪烁 Delay1ms(10*12); write_com(0x06);//写完数据后数据指针和光标位置自动加1 Delay1ms(10*12); write_com(0x01);//屏幕清除 Delay1ms(10*12); } void display4(unsigned int number) //单行多位显示程序 { uchar A1,A2,A3,A4,A5; init2();//液晶屏初始化 A1=number/10000%10;//分离出十万,万,千,百,十,个 A2=number/1000%10; A3=number/10; A4=number/10%10; A5=number%10; write_com(0x80);//第1个数据的位置设定,第1行第1列 Delay1ms(10); write_date(0x30+A1);//写数据 Delay1ms(10); write_date(0x30+A2); Delay1ms(10); write_date(0x30+A3); Delay1ms(10); write_date(0x30+A4); Delay1ms(10); write_date(0x30+A5); Delay1ms(10); write_com(0x87);//第6个数据'H'的位置,中间空85和86 二格 write_date('H'); Delay1ms(10); write_date('z'); Delay1ms(10); } void main()//主程序很简单 { init();//初始化 while(1)//循环程序 { dd=bb*256+cc;//0.5S的计数值 ee=2*dd;//换算为1秒钟的计数值 if(aa==1) { if(TH0>12)//预判断,50ms内TH0>12,1s内计数值将超过可计数的Z大值65535 fm=1;//报警 } display4(ee);//显示 fm=0;//报警停止 } } void timer1()interrupt 3//注意:定时器1的中断序号为3 { aa++; TH1=0x4c;//11.0592Mhz TL1=0x5c;//实际电路振荡频率11.03705Mhz,对TL1修正 if(aa==10)//中断10次,共0.5S { TR0=0;//暂停计数 aa=0; bb=TH0;//读出计数器数据 cc=TL0; TL0=0;//计数器清0 TH0=0; TR0=1;//重新启动计数器 } }

    赞(3)

    回复(0)

    评论

获取验证码
我已经阅读并接受《仪器网服务协议》

热门问答

基于单片机AT89C52频率计,求程序,求助
 
2017-06-22 09:26:53 352 1
跪求单片机at89c52频率计c语言程序
还有跪求那个方波的名字叫神马~~~
2015-04-23 09:42:30 295 1
求一个简易单片机频率计设计程序
频率测量精度为1HZ 误差小于10HZ通过LCD1602显示出来
2010-07-11 07:06:44 471 2
基于单片机的频率计
哪位大侠有基于单片机频率计的设计,范围1HZ到100MHZ,希望能不吝赐教啊。自己做的频率计仿真达不到要求。只能达到10M,卡在哪了,做不下去了。O(∩_∩)O谢谢了。
2012-05-08 03:40:25 220 3
基于51单片机用LCD1602液晶显示的频率计程序
求程序——————
2013-04-23 19:11:42 305 1
stc12c5a60s2单片机频率计程序
2017-07-07 00:38:42 357 1
基于单片机的频率计设计
设计要求设计一个以单片机为核心的频率测量装置。使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码管显示出来。(1)被测频率fx<110Hz,采用测周法,显示频率×××. ×××;fx>1... 设计要求设计一个以单片机为核心的频率测量装置。使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码管显示出来。(1)被测频率fx<110Hz,采用测周法,显示频率×××. ×××;fx>110Hz,采用测频法,显示频率××××××。(2)利用键盘分段测量和自动分段测量。(3)完成单脉冲测量,输入脉冲宽度范围是100ms~0.1s。(4)显示脉冲宽度要求如下。Tx<1000ms,显示脉冲宽度×××。Tx>1000ms,显示脉冲宽度××××。 求大神给个程序,给个设计方,您之前给的失效了,谢谢大神 展开
2016-07-07 19:24:28 280 1
基于51单片机,ADC0804,光敏电阻,湿度传感器,求程序!!!!
我用的51单片机,采集光强度和空气湿度,利用了两个ADC0804进行转换(光敏电阻和电阻式湿度传感器),但是没有相应程序,哪位大哥能帮忙弄一个程序啊?如果是可行的程序,我账号里剩下... 我用的51单片机,采集光强度和空气湿度,利用了两个ADC0804进行转换(光敏电阻和电阻式湿度传感器),但是没有相应程序,哪位大哥能帮忙弄一个程序啊?如果是可行的程序,我账号里剩下的分全给你,虽然不多... 展开
2011-06-01 01:20:26 252 4
求基于STC89c52单片机做超声波测距仪程序
 
2015-04-11 11:12:58 359 1
你有没有 基于51单片机用LCD1602液晶显示的频率计程序
 
2013-05-20 02:57:49 317 1
基于STC15单片机的频率计及方波发生器设计,求原理框图、流程图和程序
一.基础部分 1. 数字频率计设计要求: 1) 被测信号为正弦波或方波,频率范围为1Hz~5MHz; 2) 测量相对误差的值不大于百分之一; 3) 门限电压2V-5V; 4) 测量数据刷新时间不大于2s,测量结果稳定。 2. 方波发生器设... 一.基础部分 1. 数字频率计设计要求: 1) 被测信号为正弦波或方波,频率范围为1Hz~5MHz; 2) 测量相对误差的值不大于百分之一; 3) 门限电压2V-5V; 4) 测量数据刷新时间不大于2s,测量结果稳定。 2. 方波发生器设计要求: 1) 方波发生器可以分为低频和高频2个端口产生,频率范围1Hz-6MHz; 2) 通过不同按键实现频率的粗调和微调。 二.发挥部分 1) 频率计范围为 大于5MHz; 2) 测量相对误差的值不大于 千分之一; 3) 增加脉冲信号占空比的测量功能。 是STC15不是51哦,大神求救呀。。。 展开
2018-12-07 15:50:50 434 0
基于单片机C51的频率计电路图
1、要共阴数码显示。2、频率超过2K报警。3、蜂鸣器报警。可测1Hz到5KHz
2018-11-17 14:51:41 373 0
基于AT89C52单片机和DS18B20温度传感器的实物图,急用!!!!
就是基于单片机温度传感器的控制设计,实物图,老师要,不会做,求帮助!!!!... 就是基于单片机温度传感器的控制设计,实物图,老师要,不会做,求帮助!!!! 展开
2016-05-02 04:57:33 210 1
频率计原理及用单片机AT89C52设计时的程序代码---求高手帮助急
 
2011-07-14 21:26:33 359 2
求助,基于51单片机,激光测距
 
2018-11-30 04:20:40 364 0
基于单片机的频率计如何实现采集
 
2012-05-18 14:01:37 248 1
求基于单片机的低频信号发生器的原理图和程序
需要的是4*4键盘DAC0832滤波电路放大电路AT89C51液晶显示... 需要的是4*4键盘 DAC0832 滤波电路 放大电路 AT89C51 液晶显示 展开
2015-04-15 00:58:46 206 2
求一份如图 基于单片机超声波倒车测距的程序
2016-08-01 00:14:58 559 1
单片机频率计的这段程序怎么理解
 
2017-12-05 00:32:59 453 3
基于at89c52单片机简易函数信号发生器怎么焊在面包板上
 
2016-11-26 10:54:49 498 1

9月突出贡献榜

推荐主页

最新话题