#include //AVR单片机头文件包含

#define uchar unsigned char//宏定义

#define uint unsigned int//

/*************************************************************/

/*********************延时子程序******************************/

/*************************************************************/

void delay(uint z)//一个带参数,不带返回值的子函数

{

uint x,y;//定义两个变量

for(x=0;x<100;x++)//外循环

for(y=z;y>0;y--);//内循环

}

/*************************************************************/

/*********************左移流水灯******************************/

/*************************************************************/

void zouyi()

{

uchar shu,j;//定义两个变量,shu表示要存的数,j表示循环变量

shu=0x01;//先将数变量赋值,即让左边第1颗灯亮起

for(j=0;j<9;j++)//循环9次

{

PORTA=~shu;//将要显示的数给寄存器

delay(3550);//调用延时子程序

shu<<=1;//将要显示的数左移1位,这样就形成了左移

}

}

/*************************************************************/

/*********************右移流水灯******************************/

/*************************************************************/

void youyi()

{

uchar shu,j;//定义两个变量,shu表示要存的数,j表示循环变量

shu=0x80;//先将数变量赋值,即让右边第1颗灯亮

for(j=0;j<9;j++)//循环9次

{

PORTA=~shu;//将要显示的数给寄存器

delay(3550);//调用延时子程序

shu>>=1;//将要显示的数右移1位,这样就形成了右移

}

}

/*************************************************************/

/*********************左移跑马灯******************************/

/*************************************************************/

void zoupao()

{

uchar shu,j;//定义两个变量,shu表示要存的数,j表示循环变量

shu=0xfe;//先将数变量赋值,即让左边第1颗灯亮

for(j=0;j<9;j++)//循环9次

{

PORTA=shu;//将要显示的数给寄存器

delay(1000);//调用延时子程序

shu<<=1;//将要显示的数左移1位,这样就亮起2颗灯.....3颗灯

}

}

/*************************************************************/

/*********************右移跑马灯******************************/

/*************************************************************/

void youpao()

{

uchar shu,j;//定义两个变量,shu表示要存的数,j表示循环变量

shu=0x7f;//先将数变量赋值,即让右边第1颗灯亮

for(j=0;j<9;j++)//循环9次

{

PORTA=shu;//将要显示的数给寄存器

delay(1000);//调用延时子程序

shu>>=1;//将要显示的数右移1位,这样就亮起2颗灯.....3颗灯

}

}

/*************************************************************/

/******************中间到两边跑马灯***************************/

/*************************************************************/

void zhongjian()

{

uchar shu,j;//定义两个变量,shu表示要存的数,j表示循环变量

shu=0x08;//先将数变量赋值,即中间那颗LED亮

for(j=0;j<6;j++)//循环6次

{

PORTA=~shu;//将要显示的数给寄存器

delay(2000);//调用延时子程序

shu<<=1;//将要显示的数左移1位,这样就形成了从中间到左边亮起

}

shu=0x08;//先将数变量赋值,即中间那颗LED亮

for(j=0;j<5;j++)//循环5次

{

PORTA=~shu;//将要显示的数给寄存器

delay(2000);//调用延时子程序

shu>>=1;//将要显示的数右移1位,这样就形成了从中间到右边亮起

}

}

/*************************************************************/

/************************主程序*******************************/

/*************************************************************/

void main()

{

uchar shu,j;//定义两个变量,shu表示要存的数,j表示循环变量

DDRA=0xff;//设置PA口全为输出口

while(1)//大循环

{

zouyi();//调用左流水灯子程序

youyi();//调用右流水灯子程序

zoupao();//调用左跑马灯子程序

youpao();//调用右跑灯子程序

zhongjian();//调用从中间到两边流水灯子程序

zoupao();//调用左跑马灯子程序

zhongjian();//调用从中间到两边流水灯子程序

youyi();//调用右流水灯子程序

zouyi();//调用左流水灯子程序

zhongjian();//调用从中间到两边流水灯子程序

}

}

avr单片机流水灯程序c语言,AVR单片机综合流水灯C程序相关推荐

  1. avr单片机流水灯程序c语言,AVR单片机学习C语言的流水灯验证

    AVR 的IO口简介与寄存器的概念 一.何谓"寄存器" 寄存器就是RAM中的一些特殊单元,映射片上外设的特殊功能 二.何谓"IO口" 可以将"0&qu ...

  2. 点亮第一盏灯的c语言编程,单片机点亮第一盏灯实验详细教程

    第一个实验:keil软件使用与点亮人生的第一只发光二极管 1.001.jpg (23.15 KB, 下载次数: 78) 2017-5-20 17:27 上传 本章详细介绍单片机程序常用编译软件 Kei ...

  3. 煤气检测与报警程序C语言,基于单片机的煤气检测报警系统毕业设计.doc

    基于单片机的煤气检测报警系统毕业设计 届 别 学 号 毕业设计 基于单片机的煤气检测报警系统 姓 名 系 别. 专 业 导 师 姓 名.职 称 完 成 时 间 目录 摘要3 Abstract3 1 绪 ...

  4. 单片机跑马灯程序c语言,MCS-51单片机控制跑马灯的三种方法

    描述 在MCS一51单片机的控制系统中,它的四个并行8位输入输出端口P0一P3是我们经常使用的.在并行端口的编程学习中,"跑马灯"是单片机并行端口输出控制的典型实例.所谓跑马灯,是 ...

  5. 单片机原理及应用c语言编程,单片机原理及应用(C语言版)

    目录 模块1单片微型计算机 项目1:认识单片微型计算机 任务11:认识单片机 任务12:相关知识 项目2:认识单片机应用 任务21:了解单片机应用 任务22:相关知识 项目3:认识仿真软件Pr ...

  6. p1口亮灯实验c语言代码,p1口亮灯实验报告.docx

    p1口亮灯实验报告 实验一P1口亮灯实验 一.实验目的 熟悉编程和程序调试 学习P1口的使用方法: 学习延时子程序的编写. 二.实验内容 P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点 ...

  7. 单片机用python还是c语言_单片机为什么一直用C语言,不用其他编程语言?

    单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言. 这个问题的意思应该是:现在有很多很好用的高级语言,如java,python,VC等等,为什么这些语言不能用来编写单片机程序呢 ...

  8. 程序员语言也有鄙视链!某美团程序员爆料:筛选简历时,用go语言的基本不看!网友:当韭菜还当出优越感了!...

    程序员使用的语言有鄙视链吗?有人说有,有人说没有.一个美团员工发帖说,筛选简历时用go语言的基本不看.短短一句话,把对go语言的鄙视体现得淋漓尽致,难道go语言真的不如其他语言? 和他一样想法的前阿里 ...

  9. 51单片机4位数乘法C语言,51单片机实现4位数以内的加减法

    中南民族大学,电子信息工程学院,开设了一门课程,叫<嵌入式电路设计>,由舒老师带头,旨在引导低年级的学生入门嵌入式,其内容比较多,包括模电.数电.C语言.单片机.EDA技术等.最近有位师弟 ...

  10. c语言编辑学生信息录入的程序,c语言编的学生信息管理系统小程序!!有不足的请指出,谢谢!!...

    c语言编的学生信息管理系统小程序!!有不足的请指出,谢谢!! #include #include #include struct st { char name[20]; int english; in ...

最新文章

  1. java自考真题_自考04747JAVA语言程序设计(一)历年真题试卷下载
  2. 目标层准则层MATLAB,层次分析法-MATLAB
  3. 线程池,这一篇或许就够了
  4. Win10 64位 汇编环境的搭建: 安装配置 DOSBOX、MASM
  5. 深入ASP.NET MVC之七:ActionResult的执行(View的加载和渲染)
  6. 系统总线频率和外频有何区别?
  7. cocos2dx arm64 jpg格式的不显示_相机保存照片你选RAW还是JPG?这里面大有讲究
  8. 黑苹果hidp显示不清楚_魔兽世界9.0:盟约指挥台不显示胜率?搞清楚机制,轻松收菜!...
  9. 霍金这次想帮AI说点好话,后来没忍住……
  10. c语言gettext的头文件,C语言中用GNU gettext实现本地化
  11. sqli-labs(1)
  12. poj 3468 A Simple Problem with Integers 线段树!!!!
  13. 高等代数——大学高等代数课程创新教材(丘维声)——3.3笔记+习题
  14. pptswot分析图怎么做_SWOT分析图-PPT模板.pptx
  15. matlab 函数semilogy()
  16. BLE service, characteristic
  17. hillin:浮木漂流
  18. 使用opengl es编写2d游戏的一些说明和技巧
  19. java json parser_自己实现JSON解析器 JsonParser
  20. HTTP请求方式——GET请求

热门文章

  1. linux远程登录命令
  2. 邮件发回软件错误信息
  3. Android原生音量控制
  4. Oracle 11g 服务器结构
  5. 什么是 URL Schema
  6. 立秋后注意脚部保暖 试试量身定制合脚鞋
  7. 如何克隆LINUX硬盘:4种方法
  8. [reading notes] css W3school reading notes
  9. mysql菜单表设计_多级联动菜单的数据库表如何设计?
  10. 云计算发展趋势好不好 学后能胜任哪些岗位