首页 > 编程知识 正文

51单片机花样流水灯设计,双向流水灯单片机程序

时间:2023-05-03 16:50:31 阅读:145625 作者:2304

/*1次延迟时间为1ms,用T0计时器进行延迟

LED小灯的闪烁变化为500ms

有三种LED样式:

1、从右到左,从左到右

2、从边缘接近中间

3、从右依次点亮,从左依次闪烁

*/

# includereg 52.h # include stdio.h # defineucharunsignedchar # defineuintunsignedint/*位绑定**/sbit ADDR0=P1^0 sbit ADDR1=P1^1; sbit ADDR2=P1^2; sbit ADDR3=P1^3; sbit ENLED=P1^4; /**以计时器溢出为延迟函数的**/void timerDelay () {uint count=0; while(1) if ) TF0==1) ) {/*代码*/tf0=0; //软件零溢出标志TH0=0xFC; TL0=0x67; 出局; if (计数==500 (/*代码* /计数=0; 布雷克; }}}}/**主函数**/void main () {uchar index=0; //索引uchar initData=0x00; 启用u3addr0=0addr1=1; ADDR2=1; ADDR3=1; ENLED=0; //计时器相关配置TMOD=TMOD |0x01; TH0=0xFC; TL0=0x67; TR0=1; wile(1)//模式1for )索引; 索引7; 索引() P0=~)0x 01索引); timerDelay (; (for )索引; 索引0; 索引----} { P0=~~ (0x 01索引); timerDelay (; (//模式2for )索引=0; 索引7; 索引() P0=(0xff ()0xff索引) (0xff ) )0xff索引); timerDelay (; //样式3 for (索引=0; 索引8; 索引() P0=~~ ) initdata=0x 01索引); timerDelay (; (for ); 索引0; 索引--- } { P0=~~ (initdata-=0x 01索引); timerDelay (; }}}}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。