c语言实现流水灯实验报告

c语言实现流水灯实验报告

ID:21132554

大小:286.51 KB

页数:9页

时间:2018-10-19

c语言实现流水灯实验报告_第1页
c语言实现流水灯实验报告_第2页
c语言实现流水灯实验报告_第3页
c语言实现流水灯实验报告_第4页
c语言实现流水灯实验报告_第5页
资源描述:

《c语言实现流水灯实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C语言实现流水灯实验报告目录1.单片机基础第3页2.ATmegal6单片机原理第4页3.1/0口结构第5页4.C语言流水灯制作流程第6页5.流水灯编写程式第7页6.Proteus模乎以仿真第9页7.Proteus的优缺点第10页8.参考资料第11页9.学习小结第11页单片机基础内容简介1.什么是单片机?单片机是一种集成CPU,储存器,I/O设备的可编程半导体集成电路芯片,属于微型计算机的一种类型。单片机具有体积小,集成度高,功能强,使用灵活,价格低廉,稳定可靠等优点,被广泛应用电器,只能仪器,电子通信,工业控制等领域。微型计

2、算机有传统的冯•诺依曼和哈弗结构,有单时钟周期结构CPU和多时钟指令CPU,流水线指令技术亦在单片机中应用,这些新技术极大提高了单片机的性能。2.AVR单片机简介。AVR系列单片机是ATMEL公司于1997年推出的一款全新配置的,采用RTCS精简指令结构的新型8位单片机。是一种一种高可靠性,功能强,高速度,低功耗和低价位的单片机。AVR单片机分类:①.低档单片机,Tiny系列,主要型号有Tiny11/12/13等。①.中档单片机,AT90S系列,主要型号有AT90S1200/2313/8515/8535等。目前已被淘汰。②.

3、高要型号有ATmega8/16/32/64/128等。ATmegal6是AVR单片机钟一款比较典型,比较常见的高性能单片机,采用增强的RISC结构低功耗8位CMOS高性能微控制器。由于先进的指令集以及单时钟周期指令执行时间,大大提高了代码效率,并且具有普通微控制器最高至10倍的数据吞吐率。I/O口结构ATmegal6共四组通用可编程的I/O口引脚。分别为PA,PB,PC,PD口。每一组有8个引脚,分别用PX0—PX7表zjO1.1/0口寄存器I/O口的结构大体相同,一个典型的I/O口引脚如图所示,只要有三个寄存器分别为DD

4、RX,PORTX,PINX每组I/O口均有这3钟=种寄存器,每个寄存器8bit,分别对应一个引脚。2.1/0口特点每个I/O口内部集成了一个可控制的上啦电阻,在I/O口作为输入引脚时,该上拉电阻可以通过编程设定其有效还是无效,当设置内部上拉电阻有效时可以省略外接上拉电阻。每个I/O口均有很强的驱动能力,驱动拉电流负载时能提供20mA的电流,驱动灌电流负载能吸入40mA的电流,因此能直接驱动LED发光二极管,数码管等器件。C语言流水灯制作流程1.项目要求编程实现8个发光二极管从左到右和从中间到两边的流水灯效果。8个发光二极管接

5、于PC口,且阳极接I/O口,阴极接地。2.项目分析根据项目要求,发光二极管的驱动方式为I/O口输出1点亮,输出0熄灭。依次使PC口出现高电平1,控制发光二极管从左到右亮了一遍。当数据沿反顺序输出一遍时发光二极管从D8亮到D1,实现从右到左亮。1.项目实现根据项目分析,控制Dl—D8点亮的控制字分别为0x01,0x02,0x04,0x08,0xl0,0x20,0x40,0x80。定义一个数组LED,将这8个控制字放在数组LED中。定义变量i,使用流水灯编写程序流水灯从中间往两边流动效果#includevoid

6、delay(unsignedchart);constunsignedled[8]={0x18,0x24,0x042,0x81,0x81,0x42,0x24,0x18};voidmain(void){unsignedchari;DDRC=0xff;DDRA=0xff;while(1){for(i=0;i<7;i++){PORTC=led[i];delay(50);}for(i=7;i〉0;i-->{PORTC=led[i];delay(50);}}}voiddelay(unsignedchart){unsignedchari,

7、j,k;for(i=0;i<50;i++)for(j=0;j<50;j++)for(k=0;kvoiddelay(unsignedchart);constunsignedled[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40z0x80};voidmain(void){unsignedchari;DDRC=0xff;DDRA=0xff;charcharwhile(1){for(i=0;i<7;i++){PORTC=led[i

8、];delay(50);}for(i=7;i〉0;i--){PORTC=led[i];delay(50);}for(i=7;i〉0;i--){PORTC=led[i];delay(50);}}}voiddelay(unsignedchart){unsignedchari,j,k;for(i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。