单片机实验报告――LED灯控制器.doc

单片机实验报告――LED灯控制器.doc

ID:56796121

大小:288.50 KB

页数:14页

时间:2020-07-12

单片机实验报告――LED灯控制器.doc_第1页
单片机实验报告――LED灯控制器.doc_第2页
单片机实验报告――LED灯控制器.doc_第3页
单片机实验报告――LED灯控制器.doc_第4页
单片机实验报告――LED灯控制器.doc_第5页
资源描述:

《单片机实验报告――LED灯控制器.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、《微机实验》报告LED灯控制器指导教师:专业班级:姓名:学号:联系方式:一、任务要求实验目的:加深对定时/计数器、中断、IO端口的理解,掌握定时/计数器、中断的应用编程技术及中断程序的调试方法。实验内容:利用C8051F310单片机设计一个LED灯控制器主要功能和技术指标要求:1.LED灯外接于P0.0端。2.LED灯分别按2Hz,1Hz和0.5Hz三种不同频率闪动,各持续10s。3.在LED灯开始和停止闪烁时蜂鸣器分别鸣响1次。4.利用单片机内部定时器定时,要求采用中断方式。提高要求:使用按键(K

2、INT)控制LED灯闪烁模式的切换。二、设计思路C8051F310单片机片上晶振为24.5MHz,采用8分频后为3.0625MHz,输入时钟信号为48个机器周期,所以T1定时器采用定时方式1,单次定时最长可以达到的时间为1.027s,可以满足0.5Hz是的定时要求。基础部分:给TMOD赋值10H,即选用T1定时器采用定时方式1,三种频率对应的半周期时间为0.25s、0.5s、1s。计算得需给TH1和TL1为C1H、B1H;83H、63H;06H、C6H。要使闪烁持续10s,三种模式需要各循环40、2

3、0、10次。用LOOP3:MOVC,PSW.5;PSW.5为标志位,进定时器中断后置一JNCLOOP3代替踏步程序等待中断,以便中断完后回到主程序继续向下执行。为了减少代码长度,可以采用循环结构,循环主题中,将R1、R2分别赋给TH1、TL1,R7为循环次数(用DJNZ语句实现);定时中断里,重新给TH1、TL1赋值时同理。这样,循环时只要把定时时间和循环次数赋给R1、R2、R7即可,达到减少代码长度的效果。蜂鸣器也采用T1定时方式1,定时一秒。提高部分:采用外部中断0,下降沿触发。外部中断程序里置

4、标志位PSW.1和R0,PSW.5用于判断执行完一种模式后,是否跳出循环结束。R0用于判断执行何种模式,每按一次后RO加一,第四次时就将R0和PSW.5清零,这样程序就又回到了基础部分的循序执行。因为中断程序执行完后,会回到原来程序中断的地方,继续向下执行而给程序运行带来诸多不便。所以,查看了RETI语句的实现形式:将栈顶压入PCH,POP后再将栈顶压入PCL,利用这个定义,只要将需要返回的地址压入PCH和PCL就能返回到指定地址。一、资源分配P0.0:为LED灯控制端口,高电平触发。P3.1:为蜂

5、鸣器控制端口,高电平触发。P0.1:为KINT键控制端口,下降沿触发。R1、R2:用于存放计时器计时数据,R1赋给TH1、R2赋给TL1。R7:存放三种模式的循环次数。R0:在外部中断程序中赋值,用于判断采用何种模式。PSW.1:为标志位,用于等待定时器中断,中断执行完清零,并在中断处向下继续执行程序。PSW.5:为标志位,用于判断执行一种中断还是三种,在外部中断程序中改变。二、流程图1.主程序流程图(含提高部分):2.外部中断流程图3.定时器中断流程图一、源代码(含文件头说明、资源使用说明、语句行

6、注释);*****************************************************************;Filename:LED灯闪烁.asm;Decription:LEDLED灯分别按2Hz,1Hz和0.5Hz三种不同频率闪动,各持续10s。;在LED灯开始和停止闪烁时蜂鸣器分别鸣响1次。按一次按钮,LED以;2Hz频率闪动;按第二次以1Hz频率闪动;按第二次以0.5Hz频率闪动;;第四次时又顺序执行三种模式(可以在任何时候按按钮,不必等上一模;式闪烁完);De

7、signedby:gxy;Date:2012.10.31;*****************************************************************$include(C8051F310.inc)LEDBITP0.0;LED灯控制端口BEEPBITP3.1;蜂鸣器控制端口KINTBITP0.1;KINT按钮端口ORG0000H;复位入口LJMPMAINORG0003H;外部中断0入口LJMPT_KINTORG001BH;定时器1入口LJMPTIME1MAIN:L

8、CALLInit_Device;初始化配置MOVR0,#00HCLRLED;关led灯CLRBEEPCLRPSW.1;标志位1清零CLRPSW.5;标志位2清零SETBEA;允许总中断SETBEX0;外部中断0允许SETBIT0;下降沿延触发MOVTMOD,#10H;置T1为定时方式1SETBET1;定时器T1允许中断;*****************************************************************;外部中断返回处,选

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。