如何用51单片机数码管实现跑马灯功能?.doc

上传人:白大夫 文档编号:3428169 上传时间:2019-08-24 格式:DOC 页数:2 大小:15.50KB
返回 下载 相关 举报
如何用51单片机数码管实现跑马灯功能?.doc_第1页
第1页 / 共2页
亲,该文档总共2页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《如何用51单片机数码管实现跑马灯功能?.doc》由会员分享,可在线阅读,更多相关《如何用51单片机数码管实现跑马灯功能?.doc(2页珍藏版)》请在三一文库上搜索。

1、如何用51单片机数码管实现跑马灯功能?51单片机数码管显示跑马灯程序源代码讲解基于51单片机学习板。用S1键作为控制跑马灯的方向按键,S5键作为控制跑马灯方向的加速度按键,S9键作为控制跑马灯方向的减速度按键,S13键作为控制跑马灯方向的启动或者暂停按键。记得把输出线P0.4一直输出低电平,模拟独立按键的触发地GND。(2)实现功能:跑马灯运行:第1个至第8个LED灯一直不亮。在第9个至第16个LED灯,依次逐个亮灯并且每次只能亮一个灯。每按一次独立按键S13键,原来运行的跑马灯会暂停,原来暂停的跑马灯会运行。用S1来改变方向。用S5和S9来改变速度,每按一次按键的递增或者递减以10为单位。数

2、码管显示:本程序只有1个窗口,这个窗口分成3个局部显示。8,7,6位数码管显示运行状态,启动时显示“on”,停止时显示“oFF”。5位数码管显示数码管方向,正向显示“n”,反向显示“U”。4,3,2,1位数码管显示速度。数值越大速度越慢,最慢的速度是550,最快的速度是50。(3)源代码讲解如下:#include REG52.H#define const_voice_short 40 /蜂鸣器短叫的持续时间#define const_key_time1 20 /按键去抖动延时的时间#define const_key_time2 20 /按键去抖动延时的时间#define const_key_t

3、ime3 20 /按键去抖动延时的时间#define const_key_time4 20 /按键去抖动延时的时间void initial_myself();void initial_peripheral();void delay_short(unsigned int uiDelayShort);void delay_long(unsigned int uiDelaylong);/驱动数码管的74HC595void dig_hc595_drive(unsigned char ucDigStatusTemp16_09,unsigned char ucDigStatusTemp08_01);voi

4、d display_drive(); /显示数码管字模的驱动函数void display_service(); /显示的窗口菜单服务程序/驱动LED的74HC595void hc595_drive(unsigned char ucLedStatusTemp16_09,unsigned char ucLedStatusTemp08_01);void led_flicker_09_16(); /第9个至第16个LED的跑马灯程序,逐个亮并且每次只能亮一个.void led_update(); /LED更新函数void T0_time(); /定时中断函数void key_service(); /按键服务的应用程序void key_scan();/按键扫描函数 放在定时中断里sbit beep_dr=P2; /蜂鸣器的驱动IO口sbit key_sr1=P0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1