标题: 基于单片机的速度测量系统设计(程序+电路原理图) [打印本页]
作者: 雷疯子 时间: 2018-12-28 18:24
标题: 基于单片机的速度测量系统设计(程序+电路原理图)
要求:
设计一个汽车速度测速系统,已知车轮直径D一米,
器件清单: 光电传感器,单片机,共阳极数码管
本系统设计主要内容
1信号采集 这部分主要采用光电信号传感器采集信号,并传向单片机
2单片机数据处理 这部分主要才用单片机采用适当的算法,对相关数据进行相关运算并得出结果
3 Led数字显示 这部分主要通过7位共阳极数码管显示给用户。
4 用protues仿真
:
一 。 光电脉冲发生器
在车轮上安装光电传感器,轮子转一次得到一个脉冲,经过信号处理,通过T1口传到单片机,经过单片机处理,通过数码管显示。如图所示:
单片机测速系统总原理图

二. 系统程序设计:
本设计软件主要分为主程序,中断服务子程序,led数码管显示子程序三个部分。软件功能在keil中编写c语言实现。
中断函数程序如下:
void timero(void) interrupt 1 //中断子程序
{
TR1=0; TR0=0;
TF0=0;
TL0=0x00;
TH0=0x4c;
k++;
if(k>=20) //每50ms中断一次,那么当K》=20是就是1s,每一秒计算一次颛顼
{
js=TH1*256+TL1;
TH1=0; TL1=0; k=0;
}
js=0; TR0=1;
}
三.Led显示子程序 主要通过控制共阳极来实现由p1线控制四个数码管
while(1)
{
P0=SEG_TAB[ss/10000];
P2_0=0;
delay(10);
P0=SEG_TAB[(ss%100000)/100];
P2_1=0;
delay(10);
P0=SEG_TAB[(ss%100000)%100/10];
P2_2=0;
delay(10);
P0=SEG_TAB[(ss%100000)%100%10];
P2_3=0;
delay(10);
附录
单片机测量系统主程序如下:
- #include <reg51.h>
- #include <stdio.h>
- #define uchar unsigned char
- #define unit unsigned int
- #define ulong unsigned long
- #define R 5
- #define PI 314 //段暄定义
- sbit P0_0=P0^0;
- sbit P0_1=P0^1;
- sbit P0_2=P0^2;
- sbit P0_3=P0^3;
- sbit P0_4=P0^4;
- sbit P0_5=P0^5;
- sbit P0_6=P0^6;
- sbit P0_7=P0^7;
- //位选定义
- sbit P2_0=P2^0;
- sbit P2_1=P2^1;
- sbit P2_2=P2^2;
- sbit P2_3=P2^3;
- uchar SEG_TAB[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
- ulong js=0;
- uchar k=0;
- void main()
- {
- int ss=js*2*PI*R;
- TMOD=0x51;
- TL1=0x00; TH1=0x00;
- TL0=0x00;TH0=0x4c;
- IE=0x82;
- TR0=1;//定时开始
- while(1)
- {
- P0=SEG_TAB[ss/10000];
- P2_0=0;
- delay(10);
- P0=SEG_TAB[(ss%100000)/100];
- P2_1=0;
- delay(10);
- P0=SEG_TAB[(ss%100000)%100/10];
- P2_2=0;
- delay(10);
- P0=SEG_TAB[(ss%100000)%100%10];
- P2_3=0;
- delay(10);
- }
- }
- void timero(void) interrupt 1 //中断子程序
- {
- TR1=0; TR0=0;
- TF0=0;
- TL0=0x00;
- TH0=0x4c;
- k++;
- if(k>=20)
- {
- js=TH1*256+TL1;
- TH1=0; TL1=0; k=0;
- }
- js=0; TR0=1;
-
- }
- void delay(unsigned int time)
- {
- unsigned int j=0;
- for(;time>o;time--);
- for(j=0;j<125;j++);
-
-
- }
复制代码
完整的Word格式文档51黑下载地址:
基于单片机的速度测量系统.doc
(46.5 KB, 下载次数: 47)
作者: a1a1a1 时间: 2019-10-29 22:16
没有proteus的文件吗
作者: 1340634897 时间: 2021-3-19 09:05
这个是不是无法仿真,得有实际测试才可以
作者: Ming.MO 时间: 2022-3-6 16:39
大佬大佬,程序里面的js是时间吗,如果是时间的话ss=js*2*PI*R该怎么理解
作者: Ming.MO 时间: 2022-3-12 22:09
大佬,我按照你的仿真做了没反应呀,就算加了时钟激励源也没反应这是为啥呢
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |