数字转速表-源程序(汇编语言)
四位数码管转速表的设计
本文是基于51单片机的转速测量系统,其测量方法较多,随着单片机对脉冲信号的处理能力越来越强大,使得全数字量系统越来越普及,并且使转速测量系统也可以用全数字化处理。
输出电压经整形电路送入STC89C51单片机进行数据处理并用四位7段LED显示器显示测量结果。
文中首先阐述了构成该系统的原理、硬件的实现方法,在该系统中对信号频率进行测量是首要任务,通过各种测量方法的对比下,该系统应采用测频法测量。
其次,在软件设计部分,此系统包含系统初始化程序的设计、数据接收和处理程序的设计、显示程序的设计三个模块。
最终,给出各部分的原理框图、电路图及转速测量的程序流程图,并编出其具体的程序。
总之,本课题完成了硬件和软件系统的设计,实现了转速测量系统的测量,转速计算、显示功能,同时实现键盘的开始/停止功能,完成了设计的要求。
关键词单片机、转速测量、脉冲信号1 单片机的应用 (1)1.1 单片机的介绍 (1)1.1.1 单片机的发展历程 (1)1.1.2 单片机的分类 (2)1.1.3 单片机的应用与开发 (3)1.2 单片机的结构 (4)1.2.1 单片机的内部结构 (4)1.2.2 单片机的引脚功能 (6)1.2.3 单片机定时与工作方式 (7)2 工作原理和设计思路及方案 (8)2.1 基本原理 (8)2.2 设计思路 (9)2.3 设计方案 (9)3 硬件电路设计 (10)3.1 按键设计电路图 (10)3.2 显示电路设计图 (11)3.3 脉冲产生电路设计图 (11)4 软件设计 (12)4.1 主程序流程及说明 (12)4.2 中断服务子程序 (13)4.3 键盘扫描程序 (14)5 四位数码管转速表的仿真 (15)5.1 系统仿真软件介绍 (15)5.1.1 Proteus软件介绍 (15)5.1.2 Keil uVision3 软件介绍 (17)5.2 系统的仿真 (18)5.3 四位数码管转速表程序 (20)总结 (25)致谢 (26)参考文献 (27)1 单片机的应用1.1 单片机的介绍1.1.1 单片机的发展历程自单片机出现至今,单片机技术已走过了近20年的发展路程。
热工仪表及控制装置试验职业技能试卷(208)
一、选择题(共 50 题,每题 1.0 分):【1】水三相点热力学温度为()。
A.273.16KB.273.15KC.+0.01KD.-0.01K【2】当冷端温度为0℃且不变时,热电势和热端温度间的()称为热电偶的分度。
A.大小关系B.函数关系C.温度D.数值关系【3】恒温油槽用于检定()的水银温度计。
A.100~300℃B.0~300℃C.0~300℃D.0~100℃【4】KF系列现场型指示调节仪的输出信号为()。
A.0~100kPaB.0~20mAC.20~100kPaD.4~20mA【5】采用示值比较法校验弹簧管压力表时,所用标准压力表的允许误差的要求是()。
A.小于被校表允许误差B.小于被校表允许误差的1/2C.小于被校表允许误差的1/3D.小于被校表允许误差的1/4【6】带电接点信号装置压力表的示值检定合格后进行信号误差检定,其方法是将上限和下限的信号接触指针分别定于()个以上不同的检定点上进行。
A.2B.3C.5D.7【7】标准热电偶检定炉,温度最高区域偏离炉中心距离不应超过()。
A.10mmB.15mmC.20mmD.25mm【8】中央处理单元CPU由运算器和()组成。
A.存储器B.软件C.控制器D.输入设备【9】锅炉汽包水位控制和保护用的水位测量信号应采()。
A.双冗余B.四重冗余C.独立回路D.三重冗余【10】将10.70修约到小数点后一位(取偶数)()。
A.10.4B.10.6C.10.8D.10.7【11】带电接点信号装置压力表的电器部分与外壳之间的绝缘电阻在环境温度为5~35℃、相对湿度不大于85%时,应不小于()MΩ(工作电压500V)。
A.50B.20C.10D.5【12】在单元机组汽轮机跟随的主控系统中,汽轮机调节器采用()信号,可使汽轮机调节阀的动作比较平稳。
A.实发功率B.功率指令C.蒸汽压力D.蒸汽流量【13】自动调节系统应在移交生产前的24h试运时间内具备投入条件,并连续运行6h以上,累计运行应达()h。
数字转速表
Page 7
工作原理
光照度改变使光敏电阻阻值的改变,而引起光敏电阻两端 电压的改变。电压变化信号通过传感器传到计数器上计数 计时。在光电门一端有个线性光源,另一端有个光敏电阻, 门中无物体阻挡时光照射到光敏电阻上。有光照时光敏电 阻阻值减小,光敏电阻两端为低电压。当门中有物体阻挡 时,光敏电阻受到光照度减小,电阻增大,光敏电阻两端 为高电压。当光电门计数时,传感器将高低变化的信号传 到计数器上,计数器迚行计数。一次电压变化计数器计数 一次。当计数器计时时,计数器获得高电压时计时开始, 获得低电压时计时停止。利用光反射信号的边沿停止单片 机计时。这样就可以测量出装盘的旋转周期t,然后在利 用单片机把周期换算成转速并通过LED数码管显示出来。
Page 10
实施方案
先利用图书馆和网络资源,查询有关数显转速表的有 关资料,选择合适的光电元件和光电检测电路,迚行电路 设计、外形及机械结构设计和单片机软件设计,画出 protel电路图和CAD图,完成报告书。
Page 11
关键问题
1、如何让被测物体旋转过程中有规律的发出光信号丏能 够被光敏器件有效接收 2、如何消除杂光干扰,有效精确区别出光信号 3、如何正确编写程序,使单片机实现功能 4、外形工艺设计
Page 12
Page 13
学生姓名:帅帅 杨爽 翟树华 赵彤彤 与业班级:光信093 指导教师:逯力红
报告摘要
1、课题来源 2、数显转速表在该领域的国内外现状
3、研究目的及意义
4、数显转数表的原理
5、研究内容
6、实施方案 7、拟解决关键问题 8、阶段迚度计划
Page 2
课题来源
速表在自动化生产设备和旋转运动装置中的应用十分广泛。 传统的转速表大部分都是由机械式戒模拟数字电路来实现
课程设计--数字转速(数)计的设计
课程设计--数字转速(数)计的设计课程设计说明书设计题目:学院:机械工程学院专业:机械设计制造及其自动化班级:学号:姓名:指导教师:目录1. 课程设计要求 (1)2. 系统功能分析与方案确定 (1)3. 系统主要硬件电路模块设计 (4)3.1编码器模块 (4)3.2液晶显示模块 (9)3.3复位电路模块 (14)3.4晶振电路模块 (17)3.5 单片机硬件端口分配 (18)4. 程序软件设计与分析 (19)4.1系统软件分析及详细技术文件设计 (19)5. 后续有待完善和提高的工作 (25)参考文献 (26)附录 (26)1. 课程设计要求数字转速(数)计的设计一、设计任务转速计是我们经常会用到的仪器之一,通常与编码器配合用来测量旋转机械设备的转速。
用单片机的定时/计数器功能可以实现频率计的数字化、智能化,通过合理的硬件设计和软件编程使测量精度达到实用化要求。
二、基本要求1.测量速度范围1~1000转每分钟。
2.可对转数计数并实时显示;3.可对转速检测并实时显示;4.速度检测精度:1%。
5.被测信号是方波。
显示方式为转数计数:5位十进制数显示;速度计:5位有效数字显示,保留小数点后2位。
2. 系统功能分析与方案确定2.1 转速测量系统的原理2.1.1 转速测量方法转速是指作圆周运动的物体在单位时间内所转过的圈数,其大小及变化往往意味着机器设备运转的正常与否,因此,转速测量一直是工业领域的一个重要问题。
按照不同的理论方法,先后产生过模拟测速法(如离心式转速表) 、同步测速法(如机械式或闪光式频闪测速仪) 以及计数测速法。
计数测速法又可分为机械式定时计数法和电子式定时计数法。
本文介绍的采用单片机和光电传感器组成的高精度转速测量系统,其转速测量方法采用的就是电子式定时计数法。
对转速的测量实际上是对转子旋转引起的周期脉冲信号的频率进行测量。
在频率的工程测量中,电子式定时计数测量频率的方法一般有三种:①测频率法:在一定时间间隔t 内,计数被测信号的重复变化次数N ,则被测信号的频率fx 可表示为f x =Nt(1)②测周期法:在被测信号的一个周期内,计数时钟脉冲数m0 ,则被测信号频率fx = fc/ m0 ,其中, fc 为时钟脉冲信号频率。
数字转速表的设计
数字转速表的设计一、概述随着科学技术特别是微型计算机技术的高速发展,单片微机技术也获得了飞速发展。
目前,单片机已经在日常生活和控制领域等方面得到广泛的应用,它正为我国经济的快速发展发挥着举足轻重的作用。
作为自动化专业的一名工科学生应该牢牢掌握这一重要技术。
而课程设计这一环节是我们提高单片机应用能力的很好机会,也是我们学好这一课程的必经环节。
通过课程设计可以进一步巩固我们前面所学理论知识,使我们对单片机理论知识有一个深刻的认识和全面的掌握。
另外通过这一真正意义上的实践活动,我们可以从中发现自己不足之处并能够在自己的深思下和老师的指导下得到及时的解决。
再次,它能使我们的应用能力和科技创新能力得到较大的提高。
本课程设计是单片机系统在测速方面的简单应用。
目前单片机技术已经在电机转速等为控制对象的控制系统中得到了广泛的应用,而在这一控制过程中必须通过单片机来测量转速。
基于此本课程设计利用89C51单片机及外围电路来设计一个数字转速表。
通过测量转速所对应的方波脉冲来测量转速,其转速可以通过键盘输入给定,同时其具体数值也可以在LED上显示出来。
设计要求1) 利用单片机组成一数字转速表。
2) 电机转速由信号发生器的方波脉冲信号来模拟。
3) 利用四位LED显示器显示:a. 当前转速b. 给定转速c.给定转速与当前转速的区别标志d. 超速报警显示4) 利用小键盘实现:a. 显示选择b. 给定转速的输入5) 测速范围为500rpm—1500rpm。
电机的正常转速为1000rpm。
6) 检测对应关系为:1024个脉冲/转,采用周期为40ms。
二、数字转速表方案为了确定其设计方案,首先必须构思好初步的设计思路。
根据设计要求和实验仿真条件,初步的设计思路可以总结如下:1) 用信号发生器来产生周期为0.04ms—0.2ms的方波脉冲信号。
2) 当前转速与给定转速显示用4段LED数码管。
3) 键盘采用矩阵式键盘,一共12个键,用2个控制键和10个数字键。
基于单片机的电机转速测量系统设计_(附图及源程序)
摘要在工程实践中,经常会遇到各种需要测量转速的场合,测量转速的方法分为模拟式和数字式两种。
模拟式采用测速发电机为检测元件,得到的信号是模拟量。
数字式通常采用光电编码器,霍尔元件等为检测元件,得到的信号是脉冲信号。
随着微型计算机的广泛应用,特别是高性能价格比的单片机的出现,转速测量普遍采用以单片机为核心的数字式测量方法。
本文便是运用AT89C51单片机控制的智能化转速测量仪。
电机在运行过程中,需要对其进行监控,转速是一个必不可少的一个参数。
本系统就是对电机转速进行测量,并可以和PC机进行通信,显示电机的转速,并观察电机运行的基本状况。
本设计主要用AT89C51作为控制核心,由霍尔传感器、LED数码显像管、HIN232CPE电平转换、及RS232构成。
详细介绍了单片机的测量转速系统及PC机与单片机之间的串行通讯。
充分发挥了单片机的性能。
本文重点是测量速度并显示在5位LED数码管上。
其优点硬件是电路简单,软件功能完善,测量速度快、精度高、控制系统可靠,性价比较高等特点。
关键字:MSC-51(单片机);转速;传感器目录摘要 (1)Abstract .................................... 错误!未定义书签。
1 序言 (1)2 系统功能分析 (2)2.1 系统功能概述 (2)2.2 系统要求及主要内容 (3)3 系统总体设计 (4)3.1 硬件电路设计思路 (4)3.2 软件设计思路 (4)4 硬件电路设计 (6)4.1 单片机模块 (6)4.1.1 处理执行元件 (6)4.1.2 时钟电路 (10)4.1.3 复位电路 (11)4.1.4 显示电路 (12)4.2 霍尔传感器简介 (15)4.2.1 霍尔器件概述 (15)4.2.2 霍尔传感器的应用 (16)4.2.3 AH41霍尔开关 (17)4.3 发送模块 (18)5 软件设计 (22)5.1 单片机转速程序设计思路及过程 (22)5.1.1 单片机程序设计思路 (22)5.1.2 单片机转速计算程序 (23)5.1.3 二-十进制转换程序 (24)5.2 程序设计 (27)6 系统调试 (29)6.1 硬件调试 (29)6.2 软件调试 (30)6.3 综合调试 (32)6.4 故障分析与解决方案 (33)6.5 结论与经验 (34)参考文献 (36)致谢 (37)附录 (38)附录1 电路原理图 (38)附录2 元器件清单 (39)1 序言智能化转速测量可以对电机的转速进行测量,电机在运行的过程中,需要对其平稳性进行监测,适时对转速的测量有效地可以反映电机的状况。
电机转速测量源程序 lcd显示
#include<A T89X52.H>unsigned char dispcount;unsigned char count;unsigned int timecount;bit flag; //将flag定义为位变量//long double a;float x;unsigned char b1,b2,b3,b4,b5,b6;unsigned int b0,b00;#define LCD_DA TA P2 //LCD DA TA#define LCD_BUSY0x80sbit LCD_RS = P1^1;sbit LCD_RW = P1^2;sbit LCD_E = P1^3;/***************************1秒延时子程序start***************************/ void Delay1ms(unsigned int count){unsigned int i,j;for(i=0;i<count;i++)for(j=0;j<120;j++);}///////////////////////void dellay(unsigned int h){while(h--); //0.01MS}/**************************************************** 函数名称: WriteDataLcd** 入口参数:wdata(unsigned char型)** 出口参数:无** 功能描述: 写数据到LCD****************************************************/void WriteDataLcd(unsigned char wdata){LCD_DA TA=wdata;LCD_RS=1;LCD_RW=0;LCD_E=1;dellay(500); //短暂延时,代替检测忙状态LCD_E=0;}/**************************************************** 函数名称: WriteCommandLcd** 入口参数:wdata(unsigned char型)** 出口参数:无** 功能描述: 写命令到LCD****************************************************/void WriteCommandLcd(unsigned char wdata){LCD_DA TA=wdata;LCD_RS=0;LCD_RW=0;LCD_E=1;dellay(500); //短暂延时,代替检测忙状态LCD_E=0;}//LCD初始化void lcd_init(void){LCD_DA TA=0;WriteCommandLcd(0x38);dellay(2000);WriteCommandLcd(0x38); //显示模式设置WriteCommandLcd(0x08); //关闭显示WriteCommandLcd(0x01); //显示清屏WriteCommandLcd(0x06); //显示光标移动设置WriteCommandLcd(0x0c); //显示开及光标移动设置//改变显示模式:文字不动,光标自动右移?}/**************************************************** 函数名称: display_xy** 入口参数:x(unsigned char型),y(unsigned char型)** 出口参数:无** 功能描述: 设置光标位置,x是列号,y是行号****************************************************/void display_xy(unsigned char x,unsigned char y){if(y==1)x+=0x40;x+=0x80;WriteCommandLcd(x);}/********************************************************************** 函数名称: display_char** 入口参数:x(unsigned char型),y(unsigned char型),dat(unsigned char型)** 出口参数:无** 功能描述: 在具体位置显示单个字符,x是列号,y是行号*********************************************************************/void display_char(unsigned char x,unsigned char y,unsigned char dat){display_xy(x,y);WriteDataLcd(dat);}/********************************************************************* ** 函数名称: display_string** 入口参数:x(unsigned char型),y(unsigned char型),s(指针型)** 出口参数:无** 功能描述: 在具体位置显示字符串,以/0结束,x是列号,y是行号**********************************************************************/ void display_string(unsigned char x,unsigned char y,unsigned char *s){display_xy(x,y);while(*s){WriteDataLcd(*s);s++;}}void main(void){IP=0x02; //将T0定义为高优先级,使CPU优先响应其中断//count=0; //计数脉冲赋初值0//TMOD=0x15; //给TOMD送方式控制字,使T0为计数方式,T1为定时方式// TH0=0;TL0=0;TH1=0XF0;TL1=0X60;TR1=1;ET1=1;TR0=1;ET0=1;EA=1;lcd_init();while(1){if(flag==1){flag=0; //位变量清0//a=count*65536+TH0*256+TL0; // 计算脉冲个数//x=a/10/60;//x=0.5b0=x*10;//b1=10b1=b0%10;//小数位b00=b0/10;//整数4位b2=b00%10;//个位b3=(b00/10)%10;//十位b4=(b00/100)%10;//baib5=b00/1000;//千位timecount=0; //重新使T0计数//count=0;TH0=0;TL0=0;TR0=1;}display_char(5,0,b1|0x30);display_char(4,0,0x2e);display_char(3,0,b2|0x30);display_char(2,0,b3|0x30);display_char(1,0,b4|0x30);display_char(0,0,b5|0x30);display_string(6,0,"(r/min)");}}void to (void) interrupt 1 using 0 // 中断服务函数说明// {count++; //溢出的次数//}void t1 (void) interrupt 3 using 1 //中断服务函数说明// {TH1=0XF0; //重新给T1填装定时初值//TL1=0X60;timecount++;dispcount++;if(dispcount==6){dispcount=0; // 6位扫描完后清0//}if(timecount==250)//时间到1秒关掉计数器//{TR0=0; //时间到10秒关掉计数器//timecount=0;flag=1; //位变量置1//}}。
数字转速表
1 设计任务描述1.1设计题目:数字转速表1.2 设计要求1.2.1 设计目的(1) 掌握数字转速表的构成、原理与设计方法;(2)熟悉集成电路的使用方法。
1.2.2 基本要求(1) 数字转速的测试与显示电路,要求四位数码显示;(2)数字时间的显示部分——时、分的显示;(3) 时间与转速共用显示器,使用按键切换;1.2.3 发挥部分(1) 转速表的溢出报警和显示;(2) 可预置的转速超限报警。
2 设计思路我的设计题目的数字转速表,数字转速表的主要功能是实现对每分钟转速的测量和计时功能,当按键时能实现转速和时钟的切换显示。
(1)脉冲产生部分:方波信号发生器是记录时间的一个重要组成部分,其稳定度及频率精度决定了计时的准确度。
一般来说,方波信号发生器的频率越高,计时精度越高。
我在这里用到了555与RC组成的多谐振荡器,它产生频率f=1kHz的方波信号。
(2)分频电路部分:分频电路的功能是对方波信号发生器产生的方波信号进行分频处理,这里我用计数器将产生的频率分成两部分,一部分是将频率分成100s,另一部分是分成60的脉冲。
(3)时钟计时部分:根据要求我设计的时钟能显示时和分,是通过60s的脉冲和4个计数器的串联来完成的,将分钟部分接成60进制,小时部分接成24进制。
(4)转速测量部分:将100s的脉冲通过单稳触发器将其变成60s和传感器一起通过闸门实现转速的测量。
(5)数据选择及显示部分:将时钟和转速通过数据选择器实现开关切换的功能,然后通过译码器将数据显示在显示器上,此外此计数器还能实现自动所存功能(6)发挥部分:当转速超出额定输入值时和在转速溢出时进行报警,主要输入信号通过单稳和多频振荡器实现在一定时间报警的功能3 设计方框图4 各部分电路设计及参数计算4.1脉冲产生电路设计及其参数计算4.1.1 脉冲产生电路设计图4.11 555振荡器与分频器的连接电路本电路中的振荡器是由555定时器构成的多谐振荡器。
利用霍尔元件测转速源程序
源程序如下:#include <reg51.h>#define T0HIGH 0x3C //*计数器0初值高字节值#define T0LOW 0xB0 //*计数器0初值低字节值sbit P3_5=P3^5; //*定义位变量sbit P3_0=P3^0;sbit P3_1=P3^1;sbit P3_3=P3^3;sbit P3_7=P3^7;void count(void); //*计算转速函数void display(void); //*数码管显示函数void disp_init (void); //*初始化函数unsigned char i,number;unsigned int n,len[4], sum=0;char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}; //*共阳极数码管真值表void main(void){disp_init(); //*初始化while (1) //*计脉冲个数{ while (!P3_3){}if(P3_3) { //*高电平计一个数sum++;while(P3_3){} //*高电平等待}} //*如果溢出转中断函数执行}void count(void){n=sum*20; //*计算转速if(n>6000&&n<600) {len[0]=0;len[1]=0;len[2]=0;len[3]=0;}len[0]=n/1000; //*计算千位数len[1]=n%1000/100; //*计算百位数len[2]=n%1000%100/10; //计算十位数len[3]=n%10; //*计算个位数}void display(void){for (i=0;i<1000 ;i++)P1=number;}void disp_init (void){for(i=0;i<10000 ;i++){ //*检查数码管是否正常工作P3_0=0;P3_1=1;P3_5=1;P3_7=1;P1=0x82;P3_0=1;P3_1=0;P3_5=1;P3_7=1;P1=0x82;P3_0=1;P3_1=1;P3_5=0;P3_7=1;P1=0x82;P3_0=1;P3_1=1;P3_5=1;P3_7=0;P1=0x82;}TMOD=0x1; //*初始化定时器TCON=0x00;TH0=T0HIGH;TL0=T0LOW;IE=0x82;TR0=1;}void system_tick(void) interrupt 1 /*定时器中断函数*/ {static unsigned char second_cnt=20;TR0=0;TH0=T0HIGH;TL0=T0LOW;second_cnt--;if(!second_cnt){ /*一秒钟到送出显示*/count( );P3_7=0; /*显示个位数*/ P3_5=1;P3_1=1;P3_0=1;number=table[len[3]];display();P3_7=1; //*显示十位数P3_5=0;P3_1=1;P3_0=1;P3_7=1; //*显示百位数P3_5=1;P3_1=0;P3_0=1;number=table[len[1]];display( );P3_7=1; //*显示千位数P3_5=1;P3_1=1;P3_0=0;number=table[len[0]];display( );second_cnt=20; //*重新计数sum=0;TR0=1;}TR0=1;}。
基于FPGA的等精度数字转速表设计
由于传统 转 速 表 在 测 量 时精 度 低 , 可靠 性 差 , 且测量 精度 随被 测信 号 频 率 的变 化 而 变 化 , 以在 所
实际应 用 中有很 大 的局 限性 . 精度 频 率 计 不 但 具 等
=
Fs
』
() 1
由式 ( ) 1 可知 , 忽略标 准 的误 差 , 若 而等精 度 测频 可能产 生 的相对误 差 为
6一
r
有较高 的测 量精度 , 且 在 整 个 频 率 区域 能 保 持 恒 而
定 的测 量精 度. 因此 , 本文 给 出 了一 种基 于 F GA的 P
× lO O %
一 ( + △N N )
一
实 际 闸 门 标 准 信 号
— — — — — 一 — — — —
() 3
将式 ()和式 ( ) 人式 ()并 整理得 1 3代 2,
6一 ≤ 一 ㈤
被 测 信 号
— — — —
由上 面可 以看 出 , 测量 频 率 的相 对 误 差 和被 测
兰
州 交
通
大
学
学
报
第 2 卷 9
2 等精度测速的设计
本设计 利用 F G 的高 速数 据处 理 能力 , 成 PA 完
了等精度数 字转 速表 计 的设 计 . 件 结构 框 图 如 图 硬 2所示 , 该系统 主要包 括去 噪模块 、 门信号 控制 模 闸 块 、 测 信号 和标 准 信 号 的 测 量计 数 模 块 、 算 模 被 运 块、 显示 模块 和报警 模块 .
基 于 F GA 的等 精 度 数 字 转 速 表设 计 P
数字转速表开题报告
数字转速表开题报告姓名:韩才学号:指导老师:施国梁学院:城市轨道交通学院专业:通信信号一、课题的研究意义:在大学期间通信工程专业开设了数字电路,模拟电路,高频电路,传感器原理,单片机原理与运用,c语言等与电子电路相关的课程。
本课题在实际制作的基础上充分巩固深化了学生在大学期间所学的各门课程。
有助于学生讲理论与实际制作相结合,充分锻炼学生的动手能力。
为即将开始的职业生活打下基础,另外随着我国工业的迅速发展,智能化的仪器仪表越来越受到亲睐。
数字转速表作为一种汽车电子,机械制造等方面必不可少的仪表在工业化生产中发挥着重要作用。
所以本课题的研究紧扣工业化发展的核心,有助于学生对智能化数字化的理解。
同时让学生理解一种产品的开发流程,从确定思路到得到成品的各个环节。
从而加深对所学课程的理解,充分锻炼学生的动手能力。
二、课程设计内容及基本要求:总体要求:运用51单片机,红外传感器,液晶显示器等原件制作出一个能精确测量电动机转速的数字转速表。
具体要求:1.熟悉单片机最小系统及应用;2.熟悉传感器的原理与运用,能制作出红外光电传感器;3.结合任务要求,完成系统设计和调试,鼓励功能扩展和创新;4.根据设计的电路,用Altuim Designer等工具,画出完整的硬件电路图;5.熟悉C51语言,用C51完成系统的软件编程;三、课题的主要研究方案:1)电源供电模块为使模块稳定工作,须有可靠电源。
我考虑了两种电源方案方案一:采用独立的稳压电源。
此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。
方案二:采用单片机控制模块提供电源。
改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。
综上所述,我们选择第二种方案。
22)信号采集模块该模块分为两个部分:光电传感器部分和光脉冲信号整形部分。
光电传感器部分:方案一:选用单光束反射式红外光电传感器,其特点是:采用高发射功率红外光电二极管和高灵敏度光电晶体管组成;其检测距离为4--13mm。
转速表程序设计
1 设计任务描述1.1设计题目:转速表程序设计1.2 设计要求1)利用转速传感器实现转速测量。
2)设置超速值并予以显示。
3)实现分段测量。
1.3 设计目的1)学会使用定时器/计数器和利用外部中断实现某些功能块的方法。
2)引导一种创新的思维,把学到的知识应用到日常生活当中,积累设计系统的经验。
1.4 设计发挥可关闭报警, 并且自动回复到初始测量时间长度2 设计思路本次课程设计的题目是转速表程序设计,包含有定时中断, 外部中断6(中断7)程序块, 8位二进制数字转换为十进制子程序块,LCD液晶显示程序块, 越限报警子程序,延时子程序及一些循环语句程序块。
基本设计思路是, 在一段闸门时间内采集被测脉冲的个数, 让其转换成十进制后再去显示程序块显示。
定时器T0选用的是十六位定时方式, 定时器T1选用的是十六位计数方式, 主程序赋初值默认的T0闸门时间为10ms, 当按下外部按键KEY3, 响应中断6, 程序指针跳到中断6的服务子程序去执行更改闸门时间的语句, 使闸门时间改为50ms, 以实现分段测量, 当定时时间计满, 程序指针又会根据定时中断向量入口进入T0中断子程序中,其作用是关闭及清零计数器和关闭定时器, 当调用一段延时程序后又重新开启定时器和计数器。
由于设计的范围, 输入被测脉冲个数不是特别多, 用计数器的低八位所计的个数就足以够用, 把计数器低八位二进制数转换为十进制子程序块是根据十进制逢十进一的原理把计数器T1中所计的数依次除以百十, 把得到的商存起来, 把余取出来再除以百十, 这样依次把各个存起来的值送入显示程序块。
而越限报警的设计思想是, 把转换成十进制之后的数先拿来与限定值比较, 当超过此限定值就去报警, 未超过此限定值再转去显示子程序显示。
主程序一开始, 会先调用显示子程序, 让液晶显示器一遍遍的显示示值, 当产生了定时器中断就转去中断取出计数器所计的值, 送到进制转换程序块, 通过判断语句判断是否应该报警, 进而再显示示值。
单片机转速表程序设计课设
课程设计设计题目:转速表程序设计1.设计主要内容及要求;编写转速表程序。
要求:1)利用转速传感器实现转速测量。
2)设置超速值并予以显示。
3)实现分段测量。
2.对设计论文撰写内容、格式、字数的要求;(1).课程设计论文是体现和总结课程设计成果的载体,一般不应少于3000字。
(2).学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。
课程设计论文的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
(3).论文要求打印,打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。
(4). 课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。
3.时间进度安排;转速表课程设计成绩评定表中文摘要转速表是机械行业必备的仪器之一,用来测定电机的转速、线速度或频率。
常用于电机、电扇、造纸、塑料、化纤、洗衣机、汽车、飞机、轮船等制造业。
转速测量在国民经济的的各个领域,都是必不可少的。
转速检测仪表可分为离心式转速表、磁性转速表、电动式转速表、磁电式转速表、闪光式转速表、电子式转速表、离心式转速表等。
转速传感器从原理上分,有磁电感应式、光电效应、式、霍尔效应式、磁阻效应式、介质电磁感应式等。
另外间接测量转速的转速传感器:如加速度传感器,位移传感器等等。
测速发电机和某些磁电传感器在线性区域,可以直接通过交流有效值转换,来测量速度;大多数都输出脉冲信号。
针对脉冲信号测量转速的方法有:频率积分法和频率运算法。
随着电子技术的发展,现在大多数采用电子数字式转速表,常见的是由光电或霍尔传感器获取信号,通过对脉冲进行计数而推算出转速,并由数字显示器件直接显示,单位为r/s,即每秒多少转。
本文用C8051F020单片机的两个定时器/计数器来实现转速测量,用单片机电子计数法测量频率有测频率法和测周期法两种方法。
c51写的测转速源程序
t0=60*js*t0;
zs=60*js+t0/t1;
if(zs>6000){zs=0;}
if(zs<count)
{
if(en_bj==1)
{
if(bhtm>=bh)
{
out=1;
/****************全局变量定义*******************/
uchar ktemp;
uchar disp[4];
uint count;//预设报警值
uint zs;//转速值
uint time0;//
uint time1;//记器
bit begin1;//T1开始启动标志
uchar ltj=1;//高低速
uint js;//脉冲计数器
ulong t0;
ulong t1;
bit key_set;//设置标志
uchar disp_i[4];//显示闪动标志
uint disp_c;//闪动显示计数器//借用time0
uint disp_j;//闪动显示定时//借用time1
_nop_();
//_nop_();
//_nop_();
}
void x24c02_init()
{
scl=1;
flash();
sda=1;
flash();
}
void start()
{
sda=1;
flash();
scl=1;
flash();
disp[0]=0;
}
else
数字转速表设计正文
目录1 绪论 (2)1.1课题描述 (2)1.2基本工作原理及框图 (3)2 相关芯片及硬件电路设计 (3)2.1 霍尔集成传感器 (3)2.2 时基信号发生器 (5)2.2.1 555定时器基本组成 (5)2.2.2 555定时器的主要性能参数 (6)2.2.3 由555定时器的构成的实际信号发生器的电路图及工作原理 (7)2.3 选通门电路 (8)2.3.1 CD4011的引脚图和功能 (8)2.3.2 CD4011构成的选通门电路 (8)2.4 三位十进制计数及LED显示组件电路 (9)2.4.1 CL102的特点 (9)2.4.2 CL102的引脚功能 (10)总结 (11)致谢 (12)参考文献 (13)1绪论1.1课题描述随着科学技术的发展电子应用技术日益频繁的被人们所利用,不仅在日常生活中而且在生产中更是被人们喜于接受。
这些对推动我国经济发展以及提高生产效率等有重大意义。
电子技术应用不仅应用在高端科技领域内而且和生活息息相关,例如各种电器电路板设计,维修等都需要结合电子技术来完成。
而作为电子信息工程专业的学生掌握这一技术显得更为重要,而课程设计这一环节是对我们是否掌握知识的一大考验,或者是理论结合实际的一种锻炼,更是对我们前面所学过的科目如模拟电子技术才,数字电子技术以及原理图设计等的综合应用。
而且通过《数字转速表设计》这课题的设计通过真正意义上的实践来发现自己的不足并通过深思后再得到老师和同学的帮助更能留下深的印象并在以后的学习实践中来弥补自己的不足。
而课程设计最大一方面的意义是能提高我们得应用能力和科技创新能力。
本课题是设计一个具有实际应用意义的电子转速表,它是一个将被测转轴的转速用数码显示电路进行定量显示的技术装置。
1.2基本工作原理及框图本课题设计的数字转速表是由装有永久磁铁的转盘、霍尔集成传感器、选通门电路、时基信号电路、计数及数码显示电路等组成。
其基本工作原理是:由霍尔传感器获取转速信号,次信号通过由时基信号控制的选通门,最后被送进计数器,通过对脉冲进行计数而推算出转速,并由数字显示器件直接显示。
数字转速表设计(AT89C51)
目录第一章概述 (2)1.1 单片机的在生产生活的的应用 (2)1.2 课题简介 (2)第2章总体方案的确定 (3)2.1 设计思路 (3)2.2 硬件设计方案 (3)2.3 软件设计方案 (4)第3章硬件电路的设计 (5)3.1 时钟电路设计 (5)3.2 按键电路设计 (5)3.3 显示电路设计 (6)3.4 脉冲电路设计 (6)3.5 整体电路的细节修改与调整 (7)第4章软件的设计 (8)4.1 显示子程序设计 (8)4.2 按键扫描设计 (9)4.3 中断程序设计 (10)第5章系统调试 (11)5.1 系统调试与仿真 (11)5.2 调试与仿真中产生的问题 (11)5.3 仿真截图 (11)第6章总结与体会 (14)参考文献 (15)附录A 总硬件设计图 (16)附录B 程序清单 (17)电气与信息工程系课程设计评分表 (24)第一章概述目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用就显得越发的重要了。
1.2课题简介本课题要求以MCS-51系列单片机为核心,设计一个数字转速表对脉冲转速信号进行检测,能将所测量的转速在LED显示器上显示(十进制),并具有方便的键盘操作(启动、停止、复位)功能。
第2章总体方案的确定2.1 设计思路1、设计1S定时:T0作定时器,定时20ms。
这样计20个循环即是1S。
2、T1作计数器,接收外部的脉冲个数。
3、在1S内的脉冲个数乘以60即得每分钟的脉冲个数,而电动机是转一圈产生一个脉冲,所以每分钟的脉冲个数即是电动机每分钟的转速。
数字转速表方案
数字转速表的设计方案第1章序言单片机作为嵌入式微控制器在工业测控系统,智能仪器和家用电气中获得宽泛应用。
固然单片机的品种好多,但MCS-51系列单片机仍不失为单片机中的主流机型。
本课程一 MCS-51系列以及派生系列单片机芯片为主介绍单片机的原理与应用,与其特色是由浅入深,着重接口技术和应用。
最近几年来,微型计算机的发展速度足以让世人惊讶,以计算机为主导的信息技术作为一种崭新的生产力,正在向社会的各个领域浸透,也使机电一体化的进度大大加速。
机电一体化是现在制造技术和产品发展的主要偏向,也是我国机电工业发展的必由之路。
能够以为,它是用系统工程学的看法和方法,研究在机电系统和产品中怎样将机械、计算机、信息办理和自动控制技术综合应用,以求机电系统和产品达到最正确的组合。
机电一体化产品所需要的是嵌入式微机,而单片机拥有体积小、集成度高、功能强等特点,适于嵌入式应用。
智能仪器、家用电器、数控机床、工业控制等机电设施和产品中竟相使用单片机。
就目前而言,单片机的发展势头依旧不减,各样型号和功能更强的单片机和超级接口芯片不停出现,进一步向高层次发展的重要标记就是构成多机系统和散布式网络。
世界上单片机芯片的产量以每年 27%的速度递加,到本世纪初已达 30 亿片,而我国的年需求量也超出了亿片的数目,这表示单片机有着广阔的应用远景。
本课程设计主要针对目前我国初期应用比较宽泛的“ MCS-51”单片机进行系统的解说和剖析。
为使用和开发各种机电一体化设施和仪表成立基础。
第2章基来源理利用 AT89C51作为主控器构成一个转速表。
电机转速采纳光电脉冲传感器来丈量,设置准时器/ 计数器T0 和T1,利用其部准时器T1 设置为准时方式,且准不时间为1s。
计数器T0 设置为外面脉冲计数工作方式,设在1s丈量的脉冲个数为n,又因为脉冲频率为 60 个脉冲 / 转,故测到转速 n 就是脉冲频次。
准时 1s,在 1s 同意中止,每中止一次,软件计数器加 1,1s 后,封闭中止,则软件计数器即为 1s 的脉冲数,经过计数一准时间经过准时器的脉冲数经过软硬件联合工作即可测出电机的转速。
一种基于单片机和CPLD的数字转速表
得有些力不
。 杂可编程 逻辑器件 (PD 具有集成度高、 复 CL)
量 结果 送L D E 显示 输出。 被测信号整形 电路主要对被测信号进
运算速 度快 、 开发周期短等特点, 的出现, 它 改变了数字 电路的 行 限幅、 放大、 再经 施密特 触发器 整形后送 入C L 。 0 H 的 P D 用5 M z 设计方法、 增强了 设计 的灵活性 。 本文提 出了 一种采用Atr公 有源晶振作为C L 的测试标准频率所对应 的转速 。 l a e PD 单片机由外
z 标准频率
单
P 2 B0
键盘 输入
、 机
—r ,
J 、 — / 卜 + .
P1
转: 脉冲转换及整形
时钟 电路
\
,
、 /
自校输入
图3 系统原理框图
数字转速 表的设计方 法。 a + l sI N x Pu l开发工具是美国At r 公 2 系统软件设计 le a 司自 行设计 的一种CE A 软件工具 。 它具有全面的逻辑 设计 能力, 本系统 的单片机 主控及 其外 围电路模 块用K i C e 1 语言编 设计 者可以 自由组合文 本、图形和波 形输入法 , 立起层 次化 写, 建 软件 模块对应 于硬 件电路的每一个部分, 还包括部分数据 的单器件或多器件设计。 利用该工具配备的编辑、 编译、 仿真、 计算和 转换模块。 P D 块用V D 语言编写, CL模 HL 并在M xP U I A+LSI
居 ,093 ) 2 0 (2.
[] 3 苏魁 武, 宁 、, 邱 F 孙 慎 言. 板机控 制的敬 单 字转 速 表 ¨ ] 电机 技 .
术 ,96 1. 18 ()
斯玛特转速表编程
斯玛特转速表编程1. 介绍斯玛特转速表是一种用于测量机械设备转速的仪表。
它通过感应器获取旋转设备的运动信息,并将其转换为转速值,以便用户可以监控设备的运行状态。
编程斯玛特转速表可以实现更多功能,例如数据记录、报警和远程监控等。
本文将介绍斯玛特转速表编程的相关知识和技术,包括传感器选择、数据处理、编程语言选择等。
我们将从基础知识开始,逐步深入,帮助读者理解并掌握斯玛特转速表编程的要点。
2. 传感器选择在编程斯玛特转速表之前,我们首先需要选择合适的传感器。
常用的转速传感器包括光电传感器、霍尔传感器和磁性传感器等。
选择传感器时需要考虑以下几个因素:•转速范围:不同的传感器有不同的转速测量范围,需要根据实际需求选择合适的传感器。
•精度要求:不同的应用场景对转速测量的精度要求不同,需要选择具有足够精度的传感器。
•安装方式:传感器的安装方式也要考虑,有些传感器需要直接接触转动设备,而有些传感器可以离线感应。
在选择传感器时,可以参考厂商提供的技术规格和性能参数,选择适合的传感器型号。
3. 数据处理编程斯玛特转速表需要进行数据处理,将传感器获取的信号转换为实际的转速值。
常用的数据处理方法包括计数法和周期法。
3.1 计数法计数法是最简单的数据处理方法,它通过统计传感器输出的脉冲数量来计算转速。
具体步骤如下:1.设置一个固定的时间间隔(例如1秒)。
2.统计在这个时间间隔内传感器输出的脉冲数量。
3.将脉冲数量除以时间间隔,得到平均转速值。
计数法的优点是简单易实现,但对于转速变化较快的设备可能精度较低。
3.2 周期法周期法是一种更精确的数据处理方法,它通过测量传感器输出脉冲的周期来计算转速。
具体步骤如下:1.测量传感器输出脉冲的周期。
2.将周期的倒数乘以60,得到转速值。
周期法的优点是精度较高,适用于转速变化较快的设备。
但周期法需要较高的计算性能和较高的采样频率。
在实际应用中,可以根据需求选择合适的数据处理方法。
4. 编程语言选择编程斯玛特转速表可以使用多种编程语言实现,包括C、C++、Python等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DAOT EQU 40H ;定时器T0软件计数器单元 SCNT EQU 41H ;送0832控制输出电压值 CKCH EQU 42H ;电机转速
CKCN EQU 43H
SETP EQU 44H
TEMP EQU 45H
ORG 0000H
STRT: LJMP MAIN
ORG 0003H ;外部中断0
LJMP PINT0
ORG 000BH ;定时器0
LJMP PTF0
ORG 0013H
LJMP LINT1 ;外部中断1
ORG 0030H
PTF0: MOV TH0,#0D0H ;以下是计算转速部分 PUSH Acc
PUSH PSW
SETB PSW.3
DJNZ SCNT,PTFJ
MOV SCNT,#64H
MOV A,CKCN
MOV B,#0AH ;B为十秒
DIV AB ;先除以10秒
MOV 39H,B ;把值给39H
MOV B,#0AH ;B为十次
DIV AB ;除以十次
MOV 3AH,B
MOV 3BH,A
MOV A,CKCN
CJNE A,SETP,PTFX ;观察显示几位,3位还是两位 SJMP PTFY
PTFX: JC PTFZ
DEC DAOT
SJMP PTFY
PTFZ: CJNE A,#3,$+3
JC PTFR
INC DAOT
PTFR: INC DAOT
PTFY: MOV CKCN,#0
MOV DPTR,#7FFFH
MOV A,DAOT
MOVX @DPTR,A
MOVX @DPTR,A
PTFJ: NOP
POP PSW
POP Acc
RETI
MAIN: MOV SP,#06FH ;堆栈指针赋值
MOV DPTR,#5FFFH ;指向8279命令/状态口
MOV A,#0DCH
MOVX @DPTR,A ;送显示RAM清零命令字0DCH LP: MOVX A,@DPTR
JB Acc.7,LP ;读8279的状态,直到DU不为1 MOV A,#00H
MOVX @DPTR,A
MOV A,#34H ;分频系数为20
MOVX @DPTR,A
CLR 12H
NOP
MOV R0,#39H
MOV R7,#06H
MLP0: MOV @R0,#17H
INC R0
DJNZ R7,MLP0
LCALL DIR
MOV DAOT,#06FH
MOV SCNT,#04H
MOV CKCH,#00H
MOV CKCN,#00H
SETB EA ;开总中断
NOP
SETB EX1 ;开外部中断1
NOP
CLR IT1 ;设置触发方式
NOP
MLP1: LCALL KEYI
ANL A,#0FH
CJNE A,#0AH,$+3
JNC MLP1
MOV 3EH,A
LCALL DIR
MLP2: LCALL KEYI
ANL A,#0FH
CJNE A,#0AH,$+3
JNC MLP2
MOV 3DH,A
MOV A,3EH
MOV B,#0AH
MUL AB ;时间乘以转的圈数
ADD A,3DH
MOV SETP,A
MOV DPTR,#7FFFH ;指向0832地址
MOV A,DAOT
MOVX @DPTR,A
MOV A,#1
ORL A,TMOD
MOV TMOD,A ;设置定时器方式为计数
MOV TH0,#0F0H
MOV TL0,#00H
SETB TR0
SETB EA ;开相关中断,就是一些开关 SETB ET0
SETB EX0
SETB IT0
SETB EX1
CLR IT1
NOP
MOV IP,#04H
MLP4: MOV DPTR,#7FFFH
MOV A,DAOT
MOVX @DPTR,A
LCALL DIR ;调用显示程序
LJMP MLP4
PINT0: PUSH Acc
INC CKCN
MOV A,CKCN
JNZ PIPI
INC CKCN ;一次中断脉冲数加一PIPI: POP Acc
RETI
LINT1: PUSH Acc ;压入堆栈,现场保护 PUSH DPH
PUSH DPL
MOV DPTR,#5FFFH ;指向8279
MOV A,#40H ;40H值为200
MOVX @DPTR,A
MOV DPTR,#5EFFH ;取数据
MOVX A,@DPTR
MOV 27H,A ;把取数据(转速)给27H SETB 12H ;中断标志位打开
NOP
POP DPL
POP DPH
POP Acc
RETI
KEYI: JNB 12H,KEYI ;等待中断到来 MOV A,27H
CLR C
SUBB A,#10 ;十次脉冲信号到,灯取反 JNC TTT1
MOV A,27H
CLR 12H
RET
TTT1: MOV A,27H
CLR C
SUBB A,#04H
CLR 12H ;中断标志位手动清0 RET
DIR: MOV R2,#06H ;显示程序
MOV A,#92H ;输入显示命令字
MOV DPTR,#5FFFH
MOVX @DPTR,A
MOV R1,#39H ;显示数据首地址
TY11: MOV A,@R1
MOV DPTR,#LCODE
MOVC A,@A+DPTR
MOV DPTR,#5EFFH
MOVX @DPTR,A ;写入显示RAM
INC R1 ;显示地址加一
DJNZ R2,TY11
RET
LCODE: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H,88H
DB 83H,0C6H,0A1H,86H,8EH,8CH
DB 0C1H,89H,0C7H,0BFH,91H
DB 00H,0FFH
END。