基于单片机的超声波测距系统设计实验报告 - 重(14)
发布时间:2021-06-11
发布时间:2021-06-11
基于单片机的超声波测距系统设计实验报告,课程设计
2.5系统的软件设计
(1)各主要模块
① 超声波测距模块。给超声波Trig口至少10us的高电平,启动测量,定时 器T0计时,通过计算测得距离。
② 显示模块。包括数码管位选函数、段选函数及距离处理显示模块。将超声 波测距测量值、报警设定值显示在4位数码管上。
③ 键盘模块。由键盘检测函数及键盘处理函数组成。有设定键、加键、减键、 复位键、开关键。主要设置报警值。
④ 声光报警模块。将测量值与设定报警值比较,若小于设定值,报警。 ⑤ 特殊存储器eepom模块。包括单片机eepom存储器读、写操作以及初始化。 其内存储设定报警值,掉电数据不丢失。
⑥ 定时器模块。TO定时器用于超声波测距的计时。T1定时器用于主程序扫 描时间的控制。
(2)主程序源代码
void main() { send_wave(); //测距离函数 smg_display(); //处理距离显示函数 time_init(); //定时器初始化 init_eepom(); //初始化eepom(读取set_d) while(1) { if(flag_300ms == 1) //300ms执行一次 { flag_300ms = 0; clock_h_l(); //报警函数 send_wave(); //测距离函数 if(menu_1 == 0) //没有键按下时才给缓冲数组赋新值 smg_display(); //处理距离显示函数 if(zd_break_en == 1) //自动退出设置界面程序 { zd_break_value ++; //每300ms加一次 if(zd_break_value > 100) //30秒后自动退出设置界面 { menu_1 = 0; smg_i = 3; zd_break_en = 0; zd_break_value = 0;
下一篇:第五届高数竞赛理工类答案