微机控制原理课程设计
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
微机控制原理课程设计
开始
初始化定时器T0
该部分程序如下:
开启中断 获取转速数据 进入中断,显示 jishu位 jishu++ Jishu>=4? N Y jishu=0 2-8 显示部分工作流程图 16 / 18
图