版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、任务要求利用C8051F310单片机设计了一个发光二极管灯控制器,发光二极管灯外接P0.0端子。发光二极管灯分别以2Hz、1Hz和0.5Hz的3种不同频率闪烁,每次持续10秒。当发光二极管灯开始和停止闪烁时,蜂鸣器分别鸣响一次。使用单片机内部定时器计时,需要中断模式。设计理念设计理念定时器T0被设置为具有25毫秒的定时时间,并且每25毫秒被中断一次,总共为R1时间。R0和R2一起工作,形成400次循环,达到计时10秒的目的。首先,发光二极管灯以2Hz的频率闪烁,初始值为R1=10。在10次中断后,也就是说,在过去的0.25秒内,灯闪烁一次并依次循环,直到10秒的计时到来,蜂鸣器鸣响一次,以2H
2、z的频率闪烁结束。然后,发光二极管灯以1Hz的频率闪烁,设置R1=20。与上面类似,灯每0.5秒闪烁一次,蜂鸣器每10秒响一次,进入下一阶段。最后,发光二极管灯以0.5赫兹的频率闪烁,R1=40可以设置。想法和上面一样。执行30秒后,使用无条件转移语句跳到程序的开始,并循环上述过程。资源分配R1:计时0.25秒、0.5秒或1秒R0,R2: 400个周期,计时10秒定时器T0:计时中断25毫秒定时器T1:计时10秒流程图源代码(包括文件头描述、资源使用描述、语句行注释);-。-生成的初始化文件-;-$包括(C8051F310.inc公共初始化设备起始段代码为起始组织0000小时,主组织000小时
3、;T0中断条目LJMP IT0P转到中断服务程序ORG 001BHT1中断入口LJMP IT1P转动T1中断服务程序组织1000小时;主程序MAIN: LCALL初始化_设备;设备初始化MOV SP,#60H;栈指示器MOVTMOD,# 11HT1时序模式1,T0时序模式1 MOV R0,#40;400个周期MOVR2,10号MOVR1,10号;时间:0.25秒MOV TH1,#38H;T1是初始值。MOV TL1,#9EHMOV TH0,#38H;T0设置初始值SETB EA;允许中断SETB ET0SETB ET1环路: SETB TR0;开始时间SETB TR1 CJNE R1,#0,环
4、路;判断是否达到0.25秒CLR P3.1 CPL P0.0;收回MOV R1,#10 CJNE R0,#0,LOOP;判断是否达到10秒CLR TR0;零清算CLR TR1MOVR1,20号;R1重新分配MOV R0,40号;400个周期MOVR2,10号SETB P3.1环路1: SETB TR0;定时SETB TR1 CJNE R1,#0,LOOP1判断是否达到0.5sCLR P3.1 CPL P0.0;收回MOV R1,#20 CJNE R0,#0,LOOP1判断是否达到10s CLR TR0;零清算CLR TR1MOVR1,40号;R1又被指派了。MOV R0,40号;循环MOVR2
5、,10号环路2: SETB 3.1 SETB TR0;定时SETB TR1CJNE R1,0号,环路2;判断是否达到1CLR P3.1 CPL P0.0;取逆movr1,# 40cjnar0,# 0,loop2;判断是否达到10秒CLR TR0;零清算CLR TR1这里是: AJMP;等待中断组织1500小时;T0中断服务程序IT0P: MOV TH0,#38H;重置计数初始值MOV TL0,#9EH DJNZ R2,环路0;循环MOV R2,12月10日,R0雷蒂环路0: RETI组织1600小时;T1中断服务程序IT1P: MOV TH1,#38H;重置计数初始值R1 RETI 12月9日
6、,MOV TL1;外围设备特定的初始化功能,;从初始化设备标签调用PCA_Init:anl PCA0MD,#0BFhmov PCA0MD,#000h浸水使柔软定时器_Init:mov TMOD # 001h浸水使柔软端口_IO_Init:;P0.0 -未分配、开漏、数字;P0.1 -未分配、开漏、数字;P0.2 -未分配、开漏、数字;P0.3 -未分配、开漏、数字;P0.4 -未分配、开漏、数字;P0.5 -未分配、开漏、数字;P0.6 -未分配、开漏、数字;P0.7 -未分配、开漏、数字;P1.0 -未分配、开漏、数字;P1.1 -未分配、开漏、数字;P1.2 -未分配、开漏、数字;P1.3
7、 -未分配、开漏、数字;P1.4 -未分配、开漏、数字;P1.5 -未分配、开漏、数字;P1.6 -未分配、开漏、数字;P1.7 -未分配、开漏、数字;P2.0 -未分配、开漏、数字;P2.1 -未分配、开漏、数字;P2.2 -未分配、开漏、数字;P2.3 -未分配、开漏、数字mov XBR1,#040h浸水使柔软振荡器_Init:mov OSCICN,#083h浸水使柔软中断_初始化:mov IE,#082h浸水使柔软;设备的初始化功能,;从主程序调用初始化设备Init_Device:lcall PCA_Initlcall计时器_初始化lcall端口_输入输出_初始化lcall振荡器_初始化
8、lcall中断_初始化浸水使柔软目标程序测试方法和结果,软件即硬件性能分析1软件测试和性能分析1.开始时,发光二极管灯以2Hz的频率闪烁,P0.0位输入可以看到P0.0位闪烁。蜂鸣器位P3.1在10秒前保持低电平。截图如下:时间是:在时间2.10秒时,蜂鸣器将鸣响一次,并且P3.1将会变高。屏幕截图如下:时间是:3.之后,发光二极管灯以1Hz的频率闪烁。观察表明,P0.0端口的闪烁比以前慢,与显示时间相对应,符合设计要求。截图如下:时间是:在4.20秒时,蜂鸣器将鸣响一次,相应的3.1端口将变高。截图如下:此时,时间为:5.20秒后,发光二极管灯以0.5赫兹的频率闪烁,观察显示P0.0的闪烁比以前慢,与显示时间相对应,符合设计要求。屏幕截图如下:此时,时间是6.30秒,蜂鸣器再次响起,并且P3.1端口变为高电平。截图如下:7.30秒后,发光二极管灯再次以2Hz闪烁,即上述过程循环执行。屏幕截图如下:通过以上分析,可以看出程序在每一步都运行正常。发光二极管灯以2Hz的频率闪烁0 10秒,蜂鸣器鸣响一次10秒,发光二极管灯以1Hz的频率闪烁10秒 20秒,蜂鸣器鸣响一次20秒,然后发光二极管灯以0.5秒的频率闪烁,蜂鸣器鸣响一次30秒,30秒后重复上述操作。软件运行结果达到了预期目标,测试成功!2硬件测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年职业病诊断医师资格考试(职业性尘肺病及其他呼吸系统疾病)模拟练习题及答案(驻马店)
- 2026年贵州省职业病诊断医师资格职业性尘肺病及其他呼吸系统疾病复习题及答案
- 低功耗蓝牙在医疗设备普及
- 2026年人工智能在智能翻译的应用报告
- 大数据实时分析与预警系统
- 2026年生物科技制药创新成果与发展报告
- 5G+AR远程手术技术落地
- 区块链供应链金融智能合约
- 元宇宙场景化数字孪生城市模型
- 2026年度长期固废处理服务合同
- 行政事业单位资产管理系统单位版操作手册修改后
- 路灯控制器的设计与仿真
- (高清版)DZT 0227-2010 地质岩心钻探规程
- 仓储物流部团队协作与沟通技巧
- 2023CSCO免疫检查点抑制剂相关的毒性控制指南(全文)
- DB14T+2779-2023营造林工程监理规范
- 开阳县东湖片区路网及停车场建设项目(南江大道)环评报告
- GB/T 42901-2023钢筋机械连接件试验方法
- (10.4)-6.3.1童年回忆蒲公英中药养颜秘籍
- 合肥工业大学电动葫芦设计说明书
- 房地产项目开发成本及产品结转表(财务用模板)
评论
0/150
提交评论