单片机应用技术 课件 项目2 LED动感灯箱设计与实现.pptx

单片机应用技术 课件 项目2 LED动感灯箱设计与实现.pptx

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

项目2动态灯箱;素质目标:

1.通过需求分析、设计与制作等任务,培养学生自主学习能力,规范意识,安全意识。

2.通过动感灯箱的创意设计,培养学生勇于实践和勇于创新的科学精神。

知识目标:

1.能概述MCS-51单片机并行输入/输出(I/O)端口的结构和功能。

2.能使用单片机的时钟和时序。

3.熟练使用C语言基本语句,能区别循环语句while、do…while、for的语法特点。

4.熟练应用延时程序设计。

能力目标:

1.能根据用户需求进行灯光控制系统设计。

2.能够编写MCS-51单片机控制多路LED灯组合的驱动程序。

3.会制作与调试LED动感灯箱。;设计要求:

LED动感灯箱控制系统的设计与实现,以MCS-51单片机为主控芯片,外接多个LED组成创意动感灯箱电路,通过编程实现多个LED的动态、个性化的显示。;并行输入输出(I/O)端口;P0口;P1和P2口;P3口;小结;CPU时序;CPU时序;时钟周期与状态周期;时钟周期;机器周期;指令周期;时钟周期、机器周期、指令周期的计算;小结;C语言基本语句;C语言三种结构;for语句;while语句;do…while语句;C51数据类型;C51运算符及表达式;常量和变量;常量和变量;结构化程序设计;无参函数;有参函数;有参函数;系统设计;硬件电路设计;软件设计;#includereg51.h

voidmain()

{

P0=0x00; //全亮 (1)

P0=0xff; //全灭 (2)

}

P0=0xff;是什么呢?0xff对应二进制的数值对应的引脚为1是熄灭单色灯,8个1,代表的就是熄灭8个单色灯。录入程序后我们通过单步运行程序,就可以看到当程序走过第(1)条语句后单色灯全亮,走过第二条语句后单色灯全灭了。

单片机执行的速度实在是太快了,我们跟本分辨不出单色灯点亮呢。单色灯就已经被熄灭了,如何能让我们分辨出单色灯的亮和灭呢,解决的办法就是“延时”,如何做延时呢?;延时程序是一种应用较为广泛的小程序,在程序设计中一般采用通过执行无意义的操作消耗CPU时间实现延时的。在C语言中“空语句;”在程序执行时需要占用一条指令的执行时间,但是什么也不做。

常用延时方法:

非精确延时

for(i=0;i100;i++);

i=100;while(i--);

精确延时办法

利用库函数_nop_();(需要includeintrins.h)

利用定时器进行定时(后边的课程进行介绍)

;;系统仿真调试;参考视频;1.MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,都可做I/O使用。P0口内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。P1、P2、P3口内部有上拉电阻。其中P0口在系统外部扩展存储器时,作数据总线/低8位地址总线;P2口可作地址总线使用(高8位),P3口有第二功能。

2.C语言程序基本结构

/*****文件说明****************/

#includeat89x52.h//预处理命令

/**********函数说明*************/

voidmain()//程序入口(主函数)

{//函数体开始

………;//功能语句

}//函数体结束

3.C51语言有for循环、while循环和do…while循环三种循环语句。;延时功能函数清单:

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

*函数功能:延时约1ms

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

voiddelay(void)//延时程序

{

unsignedinti,j;//定义变量

for(i=0;i10;i++)//外循环次数控制

{

for(j=0;j115;j++)//内循环次数控制

{;}//循环体

}

};例如:

1.一个语句以分号作为结束标识符。

2.任何C程序都必须有且只能有一个主函数main(),它是程序的入

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档