OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 13213|回复: 4

关于stm32测量频率问题(跪求原子哥)

[复制链接]

6

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2012-2-22
在线时间
0 小时
发表于 2012-3-8 14:48:27 | 显示全部楼层 |阅读模式
本人使用测量速度模块时, 那个模块是输出脉冲的, 当我使用stm32来计算每秒中的脉冲数,就得到了频率, 然后通过一个计算公式得到速度. 
但是问题是:
      我开始想的是通过stm32的外部中断来计算脉冲数量 ,但是就不知道用什么方法能得到1s的定时, 因为想测量1s钟的脉冲数
   求请教大家给我个思路吧!!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2012-3-8 14:58:17 | 显示全部楼层
回复【楼主位】zhongding818:
---------------------------------
一个定时器溢出时间一般都没有1s,你得多次溢出才能到1s,所以在中断里面做个标志,就OK了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

57

主题

431

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
886
金钱
886
注册时间
2011-12-25
在线时间
12 小时
发表于 2012-3-8 21:46:32 | 显示全部楼层
回复【楼主位】zhongding818:
---------------------------------
可以用两个定时器测速度,我之前用51也是这样算的。。
可以参考我的代码。。

#include <AT89X51.h>
#include   <lcd12864.h>
#include   <intrins.h>
#include   <xiaoche.h>
#include   <ds18b20.h>
#ifndef uchar
#define uchar unsigned char
#endif

#ifndef uint
#define uint  unsigned int
#endif
//Function Definition 函数声明 
uchar code num[]={"0123456789:.-"};
uchar code waves[]={"智能小车行驶速度"};
uchar code znwk[] ={"信息101 第十二组"};
uchar code zzr[]={"Louis "};
uchar code CM[] =  {"M/S"};
uchar code sdu[]={"小车速度"};
uchar wdu[4]={0,0,0,0,};
uchar disbuff[5]={0};
uint v;   //储存电机转速
uchar count;  //储存定时器T0中断次数
bit flag; 
/******************************************************************************/
/*--  一幅图像 KISS- 正向取模,字节正序*/     
/*--  宽度x高度=128x64  --*/ 
/********************************************************************************/
uchar code gdcp[]={/*--  调入了一幅图像:C:\Users\Administrator\Desktop\8月\图标\广东交通职业技术学院校徽1.bmp  --*/
/*--  宽度x高度=128x64  --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x78,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFC,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFE,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0x9F,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xDF,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xDF,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x03,0x80,0x3F,0xFF,0xFF,0xFF,0xC0,0x10,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1E,0x00,0x3F,0xFF,0xFF,0xFF,0xC0,0x0C,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x78,0x00,0x7F,0xFF,0xFF,0xFF,0xC0,0x07,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xE0,0x00,0x7F,0xFF,0xFF,0xFF,0xC0,0x03,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x80,0x00,0x7F,0xFF,0xFF,0xFF,0xC0,0x01,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xC0,0x00,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0x00,0x00,0xFD,0xFF,0xFF,0xFF,0xC0,0x00,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0x80,0x00,0xFC,0xFF,0xFF,0xFF,0x80,0x03,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xC0,0x00,0xFC,0xFF,0xFF,0xFF,0x80,0x07,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xF0,0x00,0xFC,0xFF,0xFF,0xFF,0x80,0x1F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0xFF,0xFF,0x00,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x3F,0x80,0xFC,0x7F,0xFF,0xFF,0x03,0xFC,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0F,0xFC,0xFC,0x7F,0xFF,0xFE,0x3F,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xC3,0xFF,0xFC,0x3F,0xFF,0xFF,0xFF,0xC7,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xE0,0x7F,0xFF,0xFF,0xFF,0xFF,0xFE,0x07,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xE0,0x0F,0xFF,0xFF,0xFF,0xFF,0xF0,0x07,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xE0,0x01,0xFF,0xFF,0xFF,0xFF,0x80,0x0F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xE0,0x00,0x7F,0xFF,0xFF,0xF0,0x00,0x0F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xF0,0x00,0x7F,0x07,0xFF,0xD0,0x00,0x0F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xF0,0x00,0x3F,0x03,0xFF,0x20,0x00,0x0E,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x78,0x00,0x3F,0x80,0x70,0x20,0x00,0x1E,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x78,0x00,0x3F,0x80,0x00,0x40,0x00,0x1C,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x3C,0x00,0x1F,0xC0,0x00,0xC0,0x00,0x3C,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1C,0x00,0x0F,0xC0,0x01,0x80,0x00,0x78,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1E,0x00,0x0F,0xF0,0x03,0x80,0x00,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0F,0x00,0x07,0xF8,0x07,0x00,0x01,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0F,0x80,0x03,0xFF,0xFE,0x00,0x03,0xE0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x07,0xC0,0x01,0xFF,0xFC,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x03,0xE0,0x00,0xFF,0xF8,0x00,0x0F,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0xF0,0x00,0x3F,0xF0,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x0F,0x80,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x03,0xF8,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x1F,0xE0,0x00,0x00,0x1F,0xF0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0F,0xFE,0x00,0x00,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xE1,0xF0,0x0E,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x03,0xF9,0xFC,0x1F,0x9F,0xE0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0x19,0x8E,0x39,0xDC,0xE0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x06,0x1D,0x87,0x70,0xDC,0x70,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0E,0x01,0x83,0x60,0x1C,0x60,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0C,0x7D,0x83,0x60,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0E,0x7D,0x83,0x60,0xDF,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x06,0x0D,0x87,0x70,0xDC,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0xFD,0xFE,0x3F,0xDC,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x03,0xF1,0xFC,0x1F,0x9C,0x00,0x00,0x00,0x00,0x00,0x00,
};
/******************************************************************************/
/*--  一幅图像电子技术研究协会 正向取模,字节正序*/     
/*--  宽度x高度=128x64  --*/ 
/******************************************************************************/
uchar code dzxh []={ 
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xF8,0x00,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFC,0x03,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFE,0x07,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0x9F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xBE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x01,0xFF,0xF0,0x07,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x03,0xFF,0x70,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x03,0xFC,0x70,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x03,0x80,0x00,0x07,0xF0,0xE0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x38,0x00,
      0x00,0x03,0x80,0x00,0x07,0xF8,0xE0,0x01,0xC0,0x00,0x00,0x20,0x00,0x00,0x78,0x00,
      0x00,0x03,0x80,0x00,0x07,0xF1,0xE0,0x01,0xC0,0x00,0x00,0x30,0x0C,0x00,0x78,0x00,
      0x00,0x07,0x80,0x00,0x07,0xC1,0xC0,0x01,0xC0,0x00,0x00,0x30,0x1C,0x00,0xF0,0x00,
      0x00,0x0F,0xF8,0x00,0x03,0x03,0xC0,0x03,0xC0,0x00,0x00,0x30,0x1C,0x00,0xF0,0x00,
      0x0F,0xFF,0xFF,0x00,0x00,0x03,0x80,0x03,0xE0,0x00,0x00,0x70,0x1C,0x01,0xF8,0x00,
      0x0F,0xFF,0xFF,0xC0,0x00,0x03,0x80,0x07,0xF0,0x00,0x00,0x70,0x1C,0x0F,0xFC,0x00,
      0x0F,0xFF,0x1F,0xE0,0x00,0x07,0x80,0x07,0xF8,0x04,0x00,0xF0,0x1C,0x3F,0xFE,0x00,
      0x1F,0x0F,0x03,0xF0,0x00,0x07,0x00,0x0F,0xFE,0x07,0x80,0xE0,0xFF,0xFF,0xDF,0x00,
      0x1E,0x0F,0x00,0xF0,0x00,0x0F,0x00,0x1F,0x7F,0xFF,0xE1,0xE0,0xFF,0xFF,0xCF,0x00,
      0x1F,0xFF,0x00,0x70,0x00,0x0E,0x00,0x3E,0x3F,0xFF,0xF3,0xE0,0x7F,0xA3,0x87,0x00,
      0x1F,0xFF,0xE0,0x70,0x00,0x0E,0x00,0x7C,0x1F,0xFF,0xF7,0xC0,0x1C,0x07,0x87,0x00,
      0x3F,0xFF,0xF0,0x70,0x00,0x1E,0x01,0xF8,0x07,0xFF,0xEF,0xC0,0x1C,0x37,0x87,0x70,
      0x3C,0x0F,0xE0,0x70,0x06,0x1C,0x07,0xF0,0x00,0x7F,0x9F,0x80,0x1C,0x77,0x07,0xF0,
      0x1C,0x0E,0x00,0x70,0x04,0x1C,0x1F,0xE0,0x00,0x00,0x3F,0x80,0x1C,0x7F,0x07,0x70,
      0x1E,0x0E,0x00,0xF0,0x0C,0x1C,0xFF,0xC0,0x00,0x00,0xFF,0x00,0x1C,0xFF,0x07,0x78,
      0x1F,0x0E,0x01,0xF0,0x0C,0x3F,0xFF,0x80,0x00,0x01,0xFE,0x00,0x1D,0xEE,0x07,0x38,
      0x0F,0xFE,0xFF,0xE0,0x1C,0x3F,0xFE,0x00,0x00,0x03,0xFC,0x00,0x1D,0xFE,0x07,0x3C,
      0x0F,0xFF,0xFF,0xC0,0x1C,0x3F,0xF8,0x00,0x00,0x0F,0xF8,0x00,0x1F,0xDE,0x07,0x1C,
      0x03,0xFF,0xFF,0x80,0x1C,0x1F,0xE0,0x00,0x00,0x3F,0xF0,0x00,0x1F,0xDC,0x07,0x00,
      0x00,0x0F,0xE0,0x00,0x1E,0x1F,0x00,0x00,0x00,0xFF,0xE0,0x00,0x3F,0x9C,0x07,0x00,
      0x00,0x0F,0x00,0x00,0x1E,0x00,0x00,0x00,0x03,0xFF,0xC0,0x00,0x1C,0x3C,0x07,0x00,
      0x00,0x0F,0x81,0xF0,0x1F,0x00,0x00,0x00,0x1F,0xFF,0x80,0x00,0x08,0x3D,0x8F,0x00,
      0x00,0x07,0xFF,0xF0,0x1F,0xC0,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x39,0xFF,0x00,
      0x00,0x03,0xFF,0xF0,0x0F,0xE0,0x00,0x07,0xFF,0xFC,0x00,0x00,0x00,0x39,0xFE,0x00,
      0x00,0x01,0xFF,0xC0,0x0F,0xFE,0x00,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x38,0xF8,0x00,
      0x00,0x00,0x38,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x30,0x00,0x00,
      0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0xC0,
      0x01,0x83,0x04,0x04,0x12,0x0C,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0xC0,0x17,0xF0,
      0x01,0x83,0x06,0x6E,0x1F,0xFC,0x00,0x00,0x00,0x00,0x01,0xFF,0x0C,0x5E,0x1F,0xD0,
      0x01,0xC3,0x0F,0xFC,0x0F,0xE8,0x00,0xF8,0x71,0x80,0x00,0x10,0x0F,0xFE,0x12,0xF8,
      0x03,0xFF,0x1F,0xE0,0x03,0xFC,0x00,0xFE,0x73,0x80,0x00,0x10,0x1F,0x6C,0x1F,0xF3,
      0x06,0x3B,0x0F,0x66,0x3E,0xF8,0x00,0xCF,0x3B,0x00,0x00,0x1F,0xC9,0xE8,0x1D,0xDC,
      0x07,0xEB,0x3F,0xFF,0x1E,0xF8,0x00,0xC3,0x3F,0x00,0x07,0xFF,0xC3,0xE0,0x3F,0xFC,
      0x0F,0xCB,0x3E,0x6C,0x0E,0xF8,0x00,0xC3,0x9E,0x00,0x07,0x10,0x03,0x60,0x3D,0xF8,
      0x1E,0x4B,0x1F,0xEC,0x0E,0xF8,0x00,0xC3,0x8E,0x00,0x00,0x10,0x1F,0xFF,0x1C,0x78,
      0x07,0xCB,0x1F,0x6C,0x1E,0xB0,0x00,0xC3,0x1E,0x00,0x00,0x10,0x1F,0xF0,0x1F,0xF4,
      0x06,0xEB,0x0F,0xCC,0x7D,0xBC,0x00,0xC7,0x3F,0x00,0x00,0x10,0x01,0xF0,0x3E,0xF4,
      0x06,0x2B,0x1A,0xCC,0x3F,0xAC,0x00,0xFF,0x33,0x80,0x00,0xF0,0x07,0x3C,0x7B,0x9C,
      0x03,0x6F,0x3E,0xCC,0x1F,0xE0,0x00,0xFE,0x73,0x80,0x00,0x70,0x1E,0x0C,0x00,0x0E,
      0x03,0xE7,0x07,0x8C,0x18,0x60,0x00,0x00,0x00,0x00,0x00,0x30,0x38,0x04,0x00,0x06,
      0x00,0x03,0x01,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
}; 
/******************************************************************************/
void LCD_Write_number(uchar s)//
{
Write_char(1,num);
Delaynms(1);

/********************************************************/ 
void delayms(uint xms) 
{
  uint i,j;
  for(i=xms;i>0;i--)
     for(j=110;j>0;j--);
}
/******************************************************************************/
void disp_temper()//温度值显示

    uint temper;
temper=read_temp();//读取温度
temper=temper-15;
wdu[1]=temper%10;
wdu[2]=temper%100/10;
wdu[3]=temper/100;
if(tflag==1)
{
LCD_Write_string(3,4," -");
}
else
{
  LCD_Write_string(3,4,"  ");

LCD_set_xy( 3, 4 );
    LCD_Write_number(wdu[3]);
LCD_Write_number(wdu[2]);
LCD_set_xy( 3, 5 );
LCD_Write_number(12); 
    LCD_Write_number(wdu[1]);
LCD_Write_string(3,6, "℃");
}
   /*****************************************************************************/
/******************************************************************************/
void Lcd_Mark2(void)
{
Clr_Scr();//清屏
LCD_Write_string(2,0,znwk);//
LCD_Write_string(1,0,waves);//
LCD_Write_string(3,0,zzr);
LCD_Write_string(4,0,sdu);
LCD_Write_string(4,6,CM);//
}
 /******************************************************************************
 函数功能:显示速度数值                        
******************************************************************************/
void Display_12864(uint x)
{
    disbuff[0]=x/1000;         //取千位
    disbuff[1]=(x%1000)/100;   //取百位 
    disbuff[2]=(x%100)/10;     //取十位 
    disbuff[3]=x%10;           //取个位 
LCD_set_xy( 4, 4 );
LCD_Write_number(disbuff[1]);
LCD_Write_number(12);  //小数点显示
LCD_set_xy( 4, 5 );
LCD_Write_number(disbuff[2]);
LCD_Write_number(disbuff[3]);  
 } 
/*******************************************************
函数功能:主函数
********************************************************/
 void main(void)
 {
    TMOD=0x51;                //定时器T1工作于计数模式1,定时器T0工作于计时模式1;
TH0=(65536-46083)/256;    //定时器T0的高8位设置初值,每50ms产生一次中断
TL0=(65536-46083)%256;    //定时器T0的低8位设置初值,每50ms产生一次中断
EA=1;                     //开总中断
ET0=1;                    //定时器T0中断允许
TR0=1;                    //启动定时器T0
count=0;                  //将T0中断次数初始化为0
Lcd_init();            //调用LCD初始化函数
Clr_Scr();        //清屏
    Disp_img(gdcp);   //显示广东交通职业技术LOGO
delayms(1800);
Disp_img(dzxh);  //显示电子技术协会LOGO
delayms(1500);
Lcd_init();       //从图形显示状态下返回
    Lcd_Mark2();  //12864字显示
Display_12864(0);         //显示速度单位
while(1)                 //无限循环
{
      disp_temper();  //温度显示
  xiaoche_Go();
          TR1=1;            //定时器T1启动
  TH1=0;            //定时器T1高8位赋初值0
  TL1=0;            //定时器T1低8位赋初值0
  flag=0;           //时间还未满1分钟
  while(flag==0)    //时间未满等待
     ;
 v=(TH1*256+TL1)*36/10; //计算速度,每周产生16个脉冲
 Display_12864(v);        //显示速度
    }
}
/*******************************************************
函数功能:定时器T0的中断服务函数
********************************************************/
void Time0(void ) interrupt 1 using 1 //定时器T0的中断编号为1,使用第1组工作寄存器
  {
    count++;          //T0每中断1次,count加1
if(count==20)     //若累计满20次,即计满1秒钟
{
        flag=1;        //计满1秒钟标志位置1
 count=0;       //清0,重新统计中断次数
}
    TH0=(65536-46083)/256;   //定时器T0高8位重新赋初值
 TL0=(65536-46083)%256;   //定时器T0低8位重新赋初值

  }  


很喜爱电子行业
回复 支持 反对

使用道具 举报

39

主题

597

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
2115
金钱
2115
注册时间
2011-9-3
在线时间
121 小时
发表于 2012-3-8 23:11:19 | 显示全部楼层
回复【楼主位】zhongding818:
---------------------------------
是的,如原子哥所说,一般不会有定时器一次性定时1S的,那太长了。但是不管它能定时多短,我们都可以在定时器中断内部加个变量记录定时中断的次数,这样就可以随心所欲的想定时多久就能时多久了,然后计算频率就用定时器的输入捕捉来搞比较好。
回复 支持 反对

使用道具 举报

14

主题

98

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2014-3-5
在线时间
0 小时
发表于 2014-3-12 12:45:33 | 显示全部楼层
回复【楼主位】zhongding818:
---------------------------------
楼主,你是采用定时器中断的方式么?可不可以发给我一份源码。。。我的脉冲计数不正常。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-13 20:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表