谁会 51单片机 继电器定时控制,数码管最大显示99 ,最小显示00可,以用俩个按键 控制加减数码管的俩位

可以从99递减到00.老师给了我们俩个选择。1是递减到00的时候蜂鸣器响一下。2是再加一个键,递减的时候按一下可以定在那个数字上比如说98变成97的时候按一下,就会定在9... 可以从99递减到00.老师给了我们俩个选择。1是递减到00的时候 蜂鸣器响一下。2是 再加一个键,递减的时候 按一下 可以定在那个数字上 比如说 98 变成97的时候 按一下,就会定在97上 而不会变成96.再按一下的时候继续递减变为96...真心很急。星期3就要给老师了。。跟考核有关。。希望会的朋友帮帮忙~ 展开
 我来答
冯伟8008
2012-06-01 · TA获得超过1195个赞
知道小有建树答主
回答量:440
采纳率:100%
帮助的人:447万
展开全部
本人只提供思路:方法还需自己努力!
1:继电器的电压选择和可以为5V的用一个三极管做电流放大控制,毕竟单片机的输出能力不够驱动继电器,三极管选择8050系列或8550系列,基极电阻可选用2K的。5V / 2K =2.5mA 足够使三极管饱和导通输出最大800mA的电流(自然散热情况下,继电器的电流在100mA左右)
2:数码管两位的采用共阳,同样使用三极管控制共阳位(占用两个I/O口)数码段及小数点占用8个I/O口 采用500欧姆电阻。数码管以 至少250HZ的频率 轮显,每次停留1mS 这样才能感觉不闪烁,并且亮度也够。
3:由题目得知 数码管 为十进制 递减 速度未知 可设定为 秒基准 那么单片机的晶振 适合采用12M的。且 数码管最大显示为 99 因此 这个数值 只需要一个字节地址就OK。
4:蜂鸣器可直接采用有源5V 蜂鸣器 采用一个 I/O口 输出低电平时有效并且只提供1秒时间。
5:程序思路:主程序读取 地址 20H((自己定义,初始值为99))的数值转换成十进制 分别 对应十位及个位通过查表 ((表的内容是数码管显示的内容))让数码管显示十位对应数码 延时1mS 再显示个位对应数码 延时1mS,计算上面的程序时间 然后执行它 一定次数凑够1秒,循环完毕后判断 20H 地址的数值是否为 00H 是则控制蜂鸣器或继电器对应操作同时停止程序,不是的话 20H 地址内容减去 21H ((自己定义,初始内容为01H )) 地址的数值后从头运行。按键全部通过中断操作,中断程序判断一下按的是什么键,然后只需要对 20H 地址做加1或减1操作,如果按的是暂停键,就让21H 的 最低位地址 取反就行了,中断结束后,主程序读取 被加1或减1的 20H 地址就会显示加过或减过的 数码值,如果按的是暂停键 21H 的最低位被取反后成了00H ,那么主程序循环运行时 20H 地址内容 减 21H 内容00H 后数值不变,于是 数码显示数值就停止了,同理再按一次暂停键,21H 内容的最低位 取反变1 主程序循环运行时 20H 地址内容减去 21H 内容 01H 就会形成 递减效果。
wgq930
2012-06-01 · TA获得超过2262个赞
知道大有可为答主
回答量:4926
采纳率:51%
帮助的人:1906万
展开全部
不是很难的
要自己努力
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
long05931
2012-06-02 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:84.4万
展开全部
说实话 做并不难,它是一个系统 这么问应该没有满意答复,还得靠自己。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nihaihaoma___
2012-06-01 · TA获得超过102个赞
知道答主
回答量:520
采纳率:0%
帮助的人:182万
展开全部
具体解释额
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式