- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录
试题3.21 按键控制彩灯软件开发 3
功能分析 3
软件流程图 3
程序代码 4
仿真截图 7
试题3.22 计数器软件开发 8
功能分析 8
软件流程图 8
程序代码 9
仿真截图 11
试题3.23 按键控制组合灯软件开发 12
功能分析 12
软件流程图 12
程序代码 12
仿真截图 14
试题3.24 频率计软件开发 16
功能分析 16
软件流程图 16
程序代码 17
仿真截图 18
试题3.25 小型电子产品软件开发 20
功能分析 20
软件流程图 20
程序代码 21
仿真截图 22
试题3.26 秒表软件开发 23
功能分析 23
软件流程图 23
程序代码 23
仿真截图 26
试题3.27 倒计时秒表软件开发 27
功能分析 27
软件流程图 27
程序代码 27
仿真截图 30
试题3.28 小交通灯控制软件开发 31
功能分析 31
软件流程图 31
程序代码 32
仿真截图 34
试题3.29单片机与PC机通信软件开发 35
功能分析 35
软件流程图 35
程序代码 35
试题3.30 单片机与PC机通信软件开发 37
功能分析 37
软件流程图 37
程序代码 38
试题3.21 按键控制彩灯软件开发
一、任务
在下列开发板硬件(原理图见pdf文档)基础上,编写完整程序实现如下模拟彩灯,开发板从左至右4个按键分别为S1-S4,从上至下8个灯为L1-L8,按下S1键8只LED小灯以1HZ频率闪烁,按下S2键8只灯奇偶交替点亮,间隔0.3S,按下S3键,L1-L4与L5-L8灯交替点亮,间隔0.2s,按下S4键熄灭所有灯。
二、要求
1、根据提供的开放板硬件,分析系统功能,并画出系统主程序流程图;
2、编写程序,程序代码要符合编程规范(函数/子程序名称、功能、入口参数、出口参数、注释等),易读性要好;
3、编译调试、下载程序;
4、调试系统达到功能指标;
5、编写设计报告。
功能分析
根据开发板硬件电路,P1口为8位LED灯端口, P3口的低四位为独立按键操作端口。对P3口的低四位进行判断,以确定按键是否按下。当按键S1按下,LED灯以1Hz频率闪烁,频率与周期互为倒数说明闪烁周期为1秒,在1秒钟时间能完成一次亮灭。用定时/计数器定时500ms,每次时间一到让P1口取反一次,就可以使该端口上的LED灯实现1Hz频率的闪烁。同理当按键S2按下后,先将P1口端口值设置为0x55,然后将定时/计数器定时300ms,每次时间一到让P1口取反一次,,就可以使该端口上的LED灯实现0.3s的奇偶交替闪烁。当按键S3按下后,将P1口端口值设置为0x0f,然后将定时/计数器定时200ms,每次时间一到让P1口取反一次,,就可以使该端口上的LED灯实现0.2s的高低位交替闪烁。当按键S3按下后,熄灭所有LED灯。
因为fosc=11.0592MHz,机器周期=12/11.0592MHz=1.085μs,而定时/计数器在定时模式时就是对fosc的12分频即机器周期进行计数,因此要定时1ms需要计数次数为9216次。为了使计算中断次数少而减少误差初值应该尽量取值大一些,但模式1的16位寄存器的最大值为65536,也就是说最大初值不能超过65536,为了取整数计算方便我们这里取46080,也就是50ms,要实现1Hz、0.3s和0.2s分别为进入中断次数为10次、6次和4次。
软件流程图
程序代码
/***********************************************************************
按键控制彩灯:编写完整程序实现如下模拟彩灯,开发板从左至右4个按键分别为S1-S4,从上至下8个灯为L1-L8,按下S1键8只LED小灯以1HZ频率闪烁,按下S2键8只灯奇偶交替点亮,间隔0.3S,按下S3键,L1-L4与L5-L8灯交替点亮,间隔0.2s,按下S4键熄灭所有灯。
晶振频率:11.0592MHz
************************************************************************/
#includereg51.h //包含单片机寄存器的头文件
#define LED P1 //发光二极管接P1
sbit S1=P3^0; //将S1位定义为P3.0
sbit S2=P3^1; //将S2位定义为P3.1
sbit S3=P3^2; //将S3位定义为P3.2
sbit S4=P3^3; //将S4位定义为P3.3
char flag=0,q=0; //flag为延时变量标志,q记录中断次数
/****************************
您可能关注的文档
最近下载
- BIM建模——Revit建筑设计PPT教学课件(全707页).ppt VIP
- 钢筋翻样自动计算excel表格.xls VIP
- 高中数学竞赛(强基计划)历年真题练习 专题14 初等数论 (学生版+解析版).docx
- 高中数学竞赛(强基计划)历年真题练习 专题13 数学归纳法 (学生版+解析版).docx
- 钢筋笼(螺旋箍筋)工程量自动计算表.xlsx VIP
- G平法识图与钢筋量计算.pptx VIP
- 2024华医网继续教育心血管病预防与康复题库答案.docx VIP
- 雷克萨斯is250维修手册m be 0023.pdf VIP
- 2020年国家公务员考试面试真题(海关+海事局).doc VIP
- 桩钢筋笼自动计算简表(精算版).xls VIP
文档评论(0)