基于单片机的直流电机转速测量与显示(DOC) 下载本文

微机控制原理课程设计

图2-3 ADC0809与单片机接线图

2.2.3 数码管

选用四位共阳数码管对转速值进行显示。数码管的位选端接P3口的低四位,段选端接P1口。此外,段选端应连接330Ω的上拉电阻,本处使用排阻,位选端应用PNP型三极管作为数码管的驱动。 2.2.4 电源模块

11 / 18

微机控制原理课程设计

图2-4 电源模块电路图

2.2.4 综合接线图

将上述模块综合,衔接后,得到如下系统接线图:

图2-5 系统接线图

2.3 软件设计

2.3.1 程序设计思路说明

针对与转速对应的电压值的测量,严格按照ADC0809要求的时序图设定相关控制端口的状态,读入转换后的数据,数学运算处理成转速后用数码管显示,数码管采用动态扫描法显示,在中断中完成动态扫描。

12 / 18

微机控制原理课程设计

2.3.2 总程序控制流程图

开始 测速发电机输出电压 启动0809进行本次转换 延时等待AD转换结束 读取 AD转换结果

将电压结果转换成转速

调用显示程序显示转速

图2-6 总程序控制流程图

2.3.3 ADC0809工作流程图及程序

启动ADC0809对模拟量输入信号进行转换,通过判断EOC(P2.0引脚)来确定转换是否完成,若EOC为0,则继续等待;若EOC为1,则把OE置位,读入数据。

流程图如下:

13 / 18

微机控制原理课程设计

开始 初始化

该部分程序如下:

sbit EOC=P2^0; sbit OE=P2^1; sbit ST=p2^2; sbit CLK=P3^7;

uchar dat;

void main()

启动AD转换 AD转换是否结束 N (P2.0=1?) Y OE置位,读取数据 结束 图2-7 ADC0809工作流程图 14 / 18

微机控制原理课程设计

{ ST=0; ST=1; ST=0; while(EOC==0); OE=1; dat=P0; OE=0; TMOD=0X11; TH1=(65536-2)/256; TL1=(65536-2)%6; TR1=1; ET1=1; EA=1; }

void timer1(void) interrupt 3 { CLK~=CLK; }

2.3.4 显示部分工作流程图及程序

四位数码管的显示采用中断法控制,动态扫描,定义变量jishu轮流扫描四位,在disp_busf数组中存放转速的四位,在定时/计数器T0中,每次进入中断时显示以为,当时间足够小时能达到人眼的停留效应,完成动态显示。

工作流程图如下:

15 / 18