一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 6098|回复: 22

[其他综合] 学生兴趣爱好,程序难住了!

  [复制链接]
发表于 2012-3-17 19:32 | 显示全部楼层 |阅读模式
本帖最后由 zwxzj 于 2012-3-17 22:23 编辑

有几个学生由于兴趣爱好,他们想做两样东西,第一个是利用超声波探头做距离探测报警,A、B两个超声波探头可以分别任意预先设置探测距离,平时轮番显示A、B探头距离,如果预设值距离内有障碍物,则输出报警信号;第二个是速度限速报警,有一个反射式光电传感器作为速度测定(他们准备用录音机机芯来模拟电动机,卷带轮作为光电信号),可以预先设置任意期望的限制速度,如果卷带轮转速超过预先设置速度,则输出报警信号,这两种都由发光二极管(或者有源蜂鸣器)显示报警信号。
     他们找了我们的计算机老师,虽然平时给学生上课,但对于单片机编程他们也无能为力,最后找到了我这里,当然我对C语言等也是一抹儿黑,以前也下过决心学一学,但还是没能坚持下来,为了不打击学生们的兴趣,只能求助朋友们了,因为学生自己买来了超声波探头,他们想的太简单了,以为有个探头就可以测距了,不过可以理解,我们也是从那时候过来的。
      只要能达到这个演示效果就可以了,不必追求完美。
      根据要求,随手画了个两者兼顾的电路图,也就是用一个同样的单片机公用电路,来完成这两个实验。电路中用了两个共阴的数码管,在超声波用途中分别显示A、B两路超声波探头的设置距离参数;在测速报警用途中显示预设值速度,平时显示转速。

压缩包内为超声波探头有关特性资料,还有我画的单片机电路图(电路图中设置按键图中有两种方式,不知哪一种合适些)。(手头有AT89C2051-24,所以就用这个了)
资料.rar (540.41 KB, 下载次数: 1354)

超声波测距和测速限速电路图.jpg
发表于 2012-3-17 20:28 | 显示全部楼层
用定时与中断可以实现效果,本人也很菜
回复

使用道具 举报

发表于 2012-3-17 21:31 | 显示全部楼层
1、89c2051引脚少了点,2个按键和3个传感器全接上的话引脚不够用,你图上那些重复使用的端口是不能那样用的,建议换89c51
2、at系列芯片烧写程序得用编程器比较麻烦,建议用stc等能用串口下载的芯片
回复

使用道具 举报

发表于 2012-3-17 21:33 | 显示全部楼层
只有有AT89C2051的话减少传感器,红外或超声波只用一个
回复

使用道具 举报

发表于 2012-3-17 21:52 | 显示全部楼层
呵呵  前面没看仔细
原来是两个实验分开的

那么如果小数点不显示的话可以多出一个IO代替p3.7接按键 也可以用
回复

使用道具 举报

 楼主| 发表于 2012-3-17 21:58 | 显示全部楼层
只有有AT89C2051的话减少传感器,红外或超声波只用一个
阳光999 发表于 2012-3-17 21:33 https://www.yleee.com.cn/images/common/back.gif


你理解错了,这个图是针对两种不同的实验,所以用超声波测距时2个探头一共占用4个端口;在另一测速报警时只用一个光电传感器,所以只占用一个端口,并不是超声波探头和测速光电传感器同时使用,主要是想输入接口接不同的传感器,并换用相应的程序做这两个实验,除过输入端口配接相应的探头,其它电路部分是一样的,这样做一个PCB电路板就行了,只换单片机程序和输入探头(学校事情多,没时间搞,学生求上了没办法,主要懒得做PCB,这样一举两得)。

编程器手头有,以前本坛里买的,没用上几次!不过有了感觉挺方便的。
回复

使用道具 举报

 楼主| 发表于 2012-3-17 22:00 | 显示全部楼层
本帖最后由 zwxzj 于 2012-3-17 22:14 编辑
呵呵  前面没看仔细
原来是两个实验分开的

那么如果小数点不显示的话可以多出一个IO代替p3.7接按 ...
阳光999 发表于 2012-3-17 21:52 https://www.yleee.com.cn/images/common/back.gif


呵呵,我描述的太罗嗦了

(1)A实验:超声波测距设置距离30CM一档递进巡回设置,最大距离按3米,数码管显示0---9 一共10个预设置档位。可以用按键分别任意设置A、B两个超声波探头的探测距离,超出预设值则输出报警信号。
(2)B实验:速度测定每秒钟0---9个脉冲(录音机芯卷带轮转速较慢,所以按每秒钟最大9个脉冲),数码管依次按每秒脉冲显示0---9即可,也就是每秒钟输入一个脉冲则数码管显示1,如果每秒钟输入5个脉冲则数码管显示5,可以用按键进行预设值,超出这个预设值单片机输出报警信号。
回复

使用道具 举报

发表于 2012-3-17 23:20 | 显示全部楼层
请问您的进度要求? 如果不是很紧我来试试。手头没有相应的硬件,倒是可以仿真。
建议两个超声模块的管脚调整一下,ECHO分别接到INT0和INT1上。
回复

使用道具 举报

发表于 2012-3-18 09:17 | 显示全部楼层
学生的话可以建议学生自己学习编程
用bascom51很容易上手
keilc花点时间应该也可以
小孩子学东西很容易上手的 比我们快多了
回复

使用道具 举报

 楼主| 发表于 2012-3-18 10:36 | 显示全部楼层
本帖最后由 zwxzj 于 2012-3-18 11:30 编辑
请问您的进度要求? 如果不是很紧我来试试。手头没有相应的硬件,倒是可以仿真。
建议两个超声模块的管脚调 ...
fujiachun 发表于 2012-3-17 23:20 https://www.yleee.com.cn/images/common/back.gif


那真是太感谢了,也代表学生谢谢你!

(输入的P3.2、P3.3、P3.4、P3.5几个端口可按你的意向随意定义,其它部分不用改动可以么?另外设置按键采用我的电路图中三键方式的还是右边两键方式?因为只是0--9数字设置及显示,数码管用一个也可以吧,如果可以的话我先搞PCB板了)
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-11-4 20:16 , Processed in 0.036033 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表