欢迎来到天天文库
浏览记录
ID:29738008
大小:21.71 KB
页数:14页
时间:2018-12-22
《led灯实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划led灯实验报告 《微机实验》报告 LED灯控制器 指导教师:专业班级:姓名:学号: 联系方式: 一、任务要求 实验目的:加深对定时/计数器、中断、IO端口的理解,掌握定时/计数器、中断的应 用编程技术及中断程序的调试方法。 实验内容:利用C8051F310单片机设计一个LED灯控制器主要功能和技术指标要求:1.LED灯外接于端。 2.LED灯分别按2Hz,1Hz和三种不同频率闪动,各持续10s。3.在LED灯开始和停止闪烁时蜂鸣器分别鸣响1次。4.利用单片机内部定
2、时器定时,要求采用中断方式。提高要求: 使用按键控制LED灯闪烁模式的切换。 二、 设计思路目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 C8051F310单片机片上晶振为,采用8分频后为,输入时钟信号为48个机器周期,所以T1定时器采用定时方式1,单次定时最长可以达到的时间为,可以满足是的定时要求。基础部分: 给TMOD赋值10H,即选用T1定时器采用定时方式1,三种频率对应的半周期时间为、
3、、1s。计算得需给TH1和TL1为C1H、B1H;83H、63H;06H、C6H。要使闪烁持续10s,三种模式需要各循环40、20、10次。 用LOOP3:MOVC,;为标志位,进定时器中断后置一 JNCLOOP3 代替踏步程序等待中断,以便中断完后回到主程序继续向下执行。 为了减少代码长度,可以采用循环结构,循环主题中,将R1、R2分别赋给TH1、TL1,R7为循环次数;定时中断里,重新给TH1、TL1赋值时同理。这样,循环时只要把定时时间和循环次数赋给R1、R2、R7即可,达到减少代码长度的效果。 蜂鸣器也采用T1定时方式1,定时一秒。 提高部分: 采用外部中断0,下降沿触发
4、。外部中断程序里置标志位和R0,用于判断执行完一种模式后,是否跳出循环结束。R0用于判断执行何种模式,每按一次后RO加一,第四次时就将R0和清零,这样程序就又回到了基础部分的循序执行。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 因为中断程序执行完后,会回到原来程序中断的地方,继续向下执行而给程序运行带来诸多不便。所以,查看了RETI语句的实现形式:将栈顶压入PCH,POP后再将栈顶压入PCL,利用这
5、个定义,只要将需要返回的地址压入PCH和PCL就能返回到指定地址。 三、资源分配 :为LED灯控制端口,高电平触发。 :为蜂鸣器控制端口,高电平触发。:为KINT键控制端口,下降沿触发。 R1、R2:用于存放计时器计时数据,R1赋给TH1、R2赋给TL1。 R7:存放三种模式的循环次数。 R0:在外部中断程序中赋值,用于判断采用何种模式。 :为标志位,用于等待定时器中断,中断执行完清零,并在中断处向下继续执 行程序。 :为标志位,用于判断执行一种中断还是三种,在外部中断程序中改变。 四、流程图 1.主程序流程图: 2.外部中断流程图 【任务要求】目的-通过该培训员工可
6、对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 利用C8051F310单片机设计一个LED灯控制器,LED灯外接于端,LED灯分别按2Hz,1Hz和三种不同频率闪动,各持续10s,在LED灯开始和停止闪烁时蜂鸣器分别鸣响1次,利用单片机内部定时器定时,要求采用中断方式。设计思路 【设计思路】 设置定时器T0定时时间为25ms,每隔25ms开一次中断,共R1次,R0与R2共同作用构成循400次循环,以达到定时10秒的目的。
7、首先LED灯以2Hz频率闪动,初始赋值R1=10,循环执行10次中断后,即过去,灯闪烁一次,依次循环,直至10s定时时间到,蜂鸣器响一次,2Hz频率的闪烁结束。然后LED灯以1Hz频率闪动,设置R1=20,与上类似,每过灯闪烁一次,十秒定时到,蜂鸣器响一次,到下一阶段。最后LED灯以频率闪动,设置R1=40即可,思路同上。当三十秒执行完毕后,使用无条件转移语句跳转到程序开始处,循环以上过程。 【
此文档下载收益归作者所有