历史上的今天

今天是:2024年11月12日(星期二)

2019年11月12日 | avr单片机流水灯和按键抗干扰

发布者:WiseSage123 来源: 51hei关键字:avr单片机  流水灯  按键抗干扰 手机看文章 扫描二维码
随时随地手机看文章

第一次做。都是用的avr单片机ATMEGA16仿真。。有3个按键控制流水灯程序 和1个单片机按键抗干扰,左右按键要松开才行.
0.png
单片机源码:

#include

void delay(unsigned int x)

{

  int i,j;

  for(i=0;i    for(j=0;j<1141;j++);

}


void button(int i)

{

if((PINC&(1<{

delay(20);

if((PINC&(1<{

up(i);

}

while((PINC&(1<}

if((PINC&(1<{

delay(20);

if((PINC&(1<{

down(i);

}

while((PINC&(1<}if((PINC&(1<{

delay(20);

if((PINC&(1<{

left(i);

}

while((PINC&(1<

}

if((PINC&(1<{

delay(20);

if((PINC&(1<{

right(i);

}

while((PINC&(1<}

}


void down(int i)

{

while(i<4)

{

int k = i;

for(i+=4;i<8;i+=4)

{

PORTA = 1<delay(50);

PORTA = 0x00;

button(i);

}

i-=4;

for(i+=4;i<16;i+=4)

{

PORTB = 1<<(i-8);

delay(50);

PORTB=0x00;

button(i);

}

i-=4;

i=k;

PORTA = 1<delay(50);

button(i);

}

while(i>3&&i<8)

{

for(i+=4;i<16;i+=4)

{

PORTB = 1<<(i-8);

delay(50);

PORTB=0x00;

button(i);

}

i-=4;

for(i-=12;i<8;i+=4)

{

PORTA=1<delay(50);

PORTA=0x00;

button(i);

}

i-=4;

}

while(i>7&&i<12)

{

for(i+=4;i<16;i=+4)

{

PORTB=1<<(i-8);

delay(50);

PORTB=0x00;

button(i);

}

i-=4;

for(i-=12;i<8;i+=4)

{

PORTA=1<delay(50);

PORTA=0x00;

button(i);

}

PORTB=1<<(i-8);

delay(50);

PORTB=0x00;

button(i);

}

while(i<16&&i>11)

{

for(i-=12;i<8;i+=4)

{

PORTA=1<delay(50);

PORTA=0x00;

button(i);

}

for( ;i<16;i+=4)

{

PORTB=1<<(i-8);

delay(50);

PORTB=0x00;

button(i);

}

i-=4;

}

}



void up(int i)

{

while(i<4)

{

PORTA=0x00;

for(i+=12;i<16&&i>7;i-=4)

{

PORTB = 1<<(i-8);

delay(50);

button(i);

}

PORTB=0x00;

i+=4;

for(i-=4;i>=0&&i<8;i-=4)

{

PORTA=1<delay(50);

PORTA=0x00;

button(i);

}

i+=4;

}

while(i>3&&i<8)

{

for(i-=4;i>=0;i-=4)

{

PORTA = 1<delay(50);

PORTA=0x00;

button(i);

}

i=+4;

for(i+=12;i<16&&i>7;i-=4)

{

PORTB=1<<(i-8);

delay(50);

PORTB=0x00;

button(i);

}

PORTA=1<delay(50);

button(i);

}

while(i>7&&i<12)

{

for(i-=4;i<8&&i>=0;i=-4)

{

PORTA=1<delay(50);

PORTA=0x00;

button(i);

}

i+=4;

for(i+=12;i<16&&i>7;i-=4)

{

PORTB=1<<(i-8);

delay(50);

PORTB=0x00;

button(i);

}

i+=4;

}

while(i>11&&i<16)

{

for(i-=4;i<16&&i>7;i=-4)

{

PORTB=1<<(i-8);

delay(50);

PORTB=0x00;

button(i);

}

for( ;i<8&&i>=0;i-=4)

{

PORTA=1<delay(50);

PORTA=0x00;

button(i);

}

i+=16;

PORTB=1<<(i-8);

delay(50);

button(i);

}

}



void right(int i)

{

while(i<4)

{

i-=1;

for(i+=1;i>=0&&i<4;i+=1)

{

PORTA = 1<delay(50);

button(i);

}

i-=4;

}

while(i>3&&i<8)

{

i-=1;

for(i+=1;i>3&&i<8;i+=1)

{

PORTA = 1<delay(50);

button(i);

}

i-=4;

}

while(i>7&&i<12)

{

i-=1;

for(i+=1;i>7&&i<12;i+=1)

{

PORTA = 1<<(i-8);

delay(50);

button(i);

}

i-=4;

}

while(i>11&&i<16)

{

i-=1;

for(i+=1;i>11&&i<16;i+=1)

{

PORTA = 1<<(i-8);

delay(50);

button(i);

}

i-=4;

}

}


void left(int i)

{

while(i<4)

{

i+=1;

for(i-=1;i>=0&&i<4;i-=1)

{

PORTA = 1<delay(50);

button(i);

}

i+=4;

}

while(i>3&&i<8)

{

i+=1;

for(i-=1;i>3&&i<8;i-=1)

{

PORTA = 1<delay(50);

button(i);

}

i+=4;

}

while(i>7&&i<12)

{

i+=1;

for(i-=1;i>7&&i<12;i-=1)

{

PORTA = 1<<(i-8);

delay(50);

button(i);

}

i+=4;

}

while(i>11&&i<16)

{

i+=1;

for(i-=1;i>11&&i<16;i-=1)

{

PORTA = 1<<(i-8);

delay(50);

button(i);

}

i+=4;

}

}



void main()

{

int i;

DDRA = 0xFF; 

DDRB = 0xFF;

PORTC|=(1<PORTC|=(1<PORTC|=(1<PORTC|=(1<while(1)

{

for(i=0;i<4;i++)

{

PORTA = 1<delay(50);

button(i);

}

}

}



关键字:avr单片机  流水灯  按键抗干扰 引用地址:avr单片机流水灯和按键抗干扰

上一篇:基于OV7670摄像头的SCCB总线的实现
下一篇:一种智能频率计的设计与制作(AVR) 带仿真与源程序和原理图

推荐阅读

在京东正着力打造的智慧物流中心里,从入库、在库到拣货、分拣、装车的完整过程都无需人力参与,让库房拥有极高的效率和出色的灵活性。负责京东智慧物流研发的X事业部总裁肖军表示,“无人仓”代表着全新的第三代物流系统技术,将是京东物流应用质的飞越,其智能化体现为:数据感知,机器人融入,算法指导生产。 随着中国制造2025和工业4.0概念的深化,...
据外媒报道,美国约翰·霍普金斯大学应用物理实验室(Johns Hopkins Applied Physics Laboratory)的一组研究人员设计了一种柔性锂离子电池,即使在被切割、被浸没、被模拟弹道撞击等极端条件下,该电池都可正常工作,而且现在,该电池还不会着火。(图片来源:约翰·霍普金斯大学应用物理实验室)目前的锂离子电池都由易燃和可燃材料制成,很容易发生...
Pao Ato Networks(纽交所代码:PANW)(派拓网络)日前宣布推出云交付企业级数据防泄漏(DP)服务,为数据保护、隐私和合规性带来一种全新、简单且现代化的方法。 Pao Ato Networks(派拓网络)防火墙即平台业务高级副总裁兼总经理Anand Oswa表示:“数据泄露是全球范围内一个...
10月末,泰科天润半导体(以下简称“泰科天润”)宣布D轮融资获得了某国际半导体大厂和元禾重元的联合助力,根据日前天眼查显示的变更记录,泰科天润所称的某国际半导体大厂便是SK海力士。图源:天眼查此前有消息称SK集团到2025年将在尖端材料领域投资5.1万亿韩元。其中,7000亿韩元用于SiC晶圆。面对潜力巨大的SiC市场,SK集团计划将SiC晶圆的生产能力从...

史海拾趣

问答坊 | AI 解惑

HT1380串行时钟芯片

HT1380串行时钟芯片一般来说,HT系列的芯片在串行口的应用一直以来就是很好的在单片机 这个领域,串行时钟一直占着很重要的位置…

查看全部问答∨

Introduction to NI VeriStand

Introduction to NI VeriStand…

查看全部问答∨

工程师们看过来——电气测量时,聪明人所做的10件糊涂事

本人搜集到的一篇很好的文章,因此转载给各位大虾,希望对工程师们有所帮助: 何靠与电打交道来谋生的人很快都会对任何“带电”的物体生出理性的敬意,哪怕是“带电”的机会很小。然而,需要按时完成一项工作或者使某个关键设备恢复联机的紧迫压力 ...…

查看全部问答∨

奇怪了,请大家看下做标记的那几行代码

请大家看下下面打问号几行代码,抛开其功能不说,真的是奇怪了,我都看了又看,头都大了,就是不知道为什么,请朋友们指点下 #include<reg52.h>                     &nbs ...…

查看全部问答∨

evc托盘编程

使用evc4.0编写一个系统托盘,就是我的程序起来之后,不显示对话框,自动出现一个图标到右下角,通过双机图标,可以弹出对话框。 右键单击右下角图标,可以弹出一个菜单。 不知道如何实现这些功能,请兄弟姐妹们帮个忙!…

查看全部问答∨

请高手帮忙~~~在EVC下的2个函数没定义.

error C2065: \'GetRunningObjectTable\' : undeclared identifier error C2065: \'CreateItemMoniker\' : undeclared identifier 我用的是EVC 4.0+SP4…

查看全部问答∨

si4010有没有人用过,求探讨

si4010有没有人用过,求探讨,开发软件,调试软件,烧录工具等等…

查看全部问答∨

STM32的驱动库好用吗?效率高吗?优化的吗?准备上STM32

    N多年没买过开发板了,也没用过仿真器了。都是用软件编译调试好,直接ISP,然后通过串口命令开启调试信息的输出。    昨天买了块STM32F103全功能型开发板,他们的办事效率真低(深圳到广州通常当 ...…

查看全部问答∨

求IAR Embedded Workbench for MCS-51 完整版

各位高手,小弟求IAR Embedded Workbench for MCS-51完整版,有哪位高人有,能否分享一下。我的邮箱jinghongchen@126.com…

查看全部问答∨

猎头招聘

世界500强招聘压力传感器SAE,如有兴趣可发简历至:aerie.song@seek-jobs.com.cn 要求:至少五年以上相关工作经验,英文流利。…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved