标题:
单片机定时器计数器实现电机测速程序和proteus仿真
[打印本页]
作者:
lichen55212
时间:
2017-6-1 11:34
标题:
单片机定时器计数器实现电机测速程序和proteus仿真
单片机电机测速仿真原理图如下(proteus仿真工程文件可到本帖附件中下载):
0.png
(38.95 KB, 下载次数: 91)
下载附件
2017-6-1 17:52 上传
0.png
(51.92 KB, 下载次数: 125)
下载附件
2017-6-1 17:52 上传
单片机源程序:
#include "LCMDRV_1602.h"
#include <reg51.h>
#define TIMER1DEF ( 65536 - 50000 )
// 全局变量定义
uint8 bRefreshDisp = 0; // 显示刷新标志
uint16 wSpeed = 0; // 速度测量值
/***********************************************************************
* 名称:main()
* 功能:主函数。
***********************************************************************/
void main(void)
{
// 初始化
LCM_Init(); // 初始化LCM
// 中断设置
TMOD=0X15;
// 定时/计数设置
TH1=TIMER1DEF/256;
TL1=TIMER1DEF%6;
TL0=0;
TH0=0;
// 启动内部定时
TR0=1;
TR1=1;
TR0=1;
TR1=1;
// 开中断
EA = 1;
// 主循环
while( 1 )
{
while( bRefreshDisp )
{
bRefreshDisp = 0;
LCM_DispUIntXY(1, 5, wSpeed);
}
}
}
// 内部定时中断服务程序 **************************
void INT_Timer1() interrupt 3 using 1
{
static uint8 bCount = 20; // 秒计数
// 重置定时常数
TH1=TIMER1DEF/256;
TL1=TIMER1DEF%6;
// 判断1秒时间到
if( --bCount == 0)
{
// 重置秒计数
bCount=20;
wSpeed = TH0 * 256 + TL0;
TL0 = 0;
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
下载:
定时器计数器.zip
(23.1 KB, 下载次数: 81)
2017-6-1 11:33 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
admin
时间:
2017-6-1 17:55
好资料,51黑有你更精彩!!!
作者:
xymiss
时间:
2017-7-14 20:06
学习一下。可惜不能看完下载币不够。留个字,回头够币来下
作者:
123456987rys
时间:
2018-11-12 20:38
好资料
作者:
yixinshijie
时间:
2018-11-18 21:19
程序不完整,欺骗读者,浪费黑币
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1