单片机应用技术的项目教程的项目2 闪烁灯.ppt

单片机应用技术的项目教程的项目2 闪烁灯.ppt

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

单色灯闪烁:8只单色灯亮,然后8只单色灯灭 #include reg51.h void main() { P2 = 0x00; //全亮 (1) P2 = 0xff; //全灭 (2) } P1=0xff;是什么呢?0xff对应二进制的数值对应的引脚为1是熄灭单色灯,8个1,代表的就是熄灭8个单色灯。录入程序后我们通过单步运行程序,就可以看到当程序走过第(1)条语句后单色灯全亮,走过第二条语句后单色灯全灭了。 单片机执行的速度实在是太快了,我们跟本分辨不出单色灯点亮呢。单色灯就已经被熄灭了,如何能让我们分辨出单色灯的亮和灭呢,解决的办法就是“延时”,如何做延时呢? 延时程序是一种应用较为广泛的小程序,在程序设计中一般采用通过执行无意义的操作消耗CPU时间实现延时的。在C语言中“空语句;”在程序执行时需要占用一条指令的执行时间,但是什么也不做。 常用延时方法: 非精确延时 1、for(i = 0; i 100; i++); 2、i = 100; while(i--); 精确延时办法 1、利用库函数_nop_(); (需要include intrins.h) 2、利用定时器进行定时 (后边的课程进行介绍) 延时算法分析 开始 外循环次数i 内循环次数j 空操作 j-1=0? i-1=0? 结束 Y Y N N 延时函数流程 /***********************************/ * 函数功能:延时约1ms /*********************************/ void delay(void) //延时程序 { unsigned int i,j; /定义变量 for(i=0;i10;i++) //外循环次数控制 { for(j=0;j115;j++)/内循环次数控制 { ; } //循环体 } } 程序说明:延时函数地很多程序设计都会用到,这里的延时函数delay使用了双重循环,内外循环的循环次数由变量i和j提供,总的循环次数是i×j,循环体是空操作。 延时程序 【活动三】系统仿真调试 启动Keil uVision4软件,创建新工程:CH2.UVPROJ,CPU选择Atmel 89C52。 对工程的属性进行设置:目标属性中选择“生成HEX文件”。 编写参考源程序CH2.c,以C为扩展名保存在工程文件夹中。 将参考源程序加入程序组:鼠标右键单击程序组图标,加入文件组。 调试:进入调试状态,期间可能需要修改参考源程序,直到没有语法错误为止。打开相应窗口,运行程序,观察运行结果。 【活动四】实物制作 闪烁灯实物图 考核项目 考核内容 技术要求 评分 标准 得分 备注 总体设计 ①任务分析 ②方案设计 ③软件和硬件功能划分 ①任务明确(5分); ②方案设计合理、有新意(10分); ③软件和硬件功能划分合理(5分); 20分 硬件设计 ①片内器件分配;②电路原理图设计; ③电路制作; ①片内器件分配正确、合理(5分); ②电路原理图设计正确(10分); ③电路制作:布线正确、整齐、合理(5分); 20分 软件设计 ①算法和数据结构设计; ②流程图设计; ③编程; ①算法和数据结构设计正确、合理(5分); ②流程图设计正确、简明;(5分); ③编程正确、有新意(10分); 20分 系统仿真与调试 ①调试顺序; ②错误排除; ③调试结果; ①调试顺序正确(5分); ②能熟练排除错误(10分); ③调试后运行正确(5分); 20分 实训报告 ①书写; ②内容; ③图形绘制; ④结果分析 ①书写规范整齐(5分); ②内容翔实具体(5分); ③图形绘制正确、完整、全面(5分); ④能正确分析实验结构(5分); 20分 合计 100分 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语言程序基本结构 /*****文件说明****************/ #include at89x5

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档