下载此文档

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


文档分类:通信/电子 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
《微机实验》报告LED灯控制器指导教师:专业班级:姓名:学号:联系方式:一、任务要求实验目的:加深对定时/计数器、中断、IO端口的理解,掌握定时/计数器、中断的应用编程技术及中断程序的调试方法。实验内容:利用C8051F310单片机设计一个LED灯控制器主要功能和技术指标要求:。LED灯分别按2Hz,,各持续10s。在LED灯开始和停止闪烁时蜂鸣器分别鸣响1次。利用单片机内部定时器定时,要求采用中断方式。提高要求:使用按键(KINT)控制LED灯闪烁模式的切换。二、,,输入时钟信号为48个机器周期,所以T1定时器采用定时方式1,单次定时最长可以达到的时间为s,。基础部分:给TMOD赋值10H,即选用T1定时器采用定时方式1,、、1s。计算得需给TH1和TL1为C1H、B1H;83H、63H;06H、C6H。要使闪烁持续10s,三种模式需要各循环40、20、10次。用LOOP3:MOVC,;,进定时器中断后置一JNCLOOP3代替踏步程序等待中断,以便中断完后回到主程序继续向下执行。为了减少代码长度,可以采用循环结构,循环主题中,将R1、R2分别赋给TH1、TL1,R7为循环次数(用DJNZ语句实现);定时中断里,重新给TH1、TL1赋值时同理。这样,循环时只要把定时时间和循环次数赋给R1、R2、R7即可,达到减少代码长度的效果。蜂鸣器也采用T1定时方式1,定时一秒。提高部分:采用外部中断0,下降沿触发。,,是否跳出循环结束。R0用于判断执行何种模式,每按一次后RO加一,,这样程序就又回到了基础部分的循序执行。因为中断程序执行完后,会回到原来程序中断的地方,继续向下执行而给程序运行带来诸多不便。所以,查看了RETI语句的实现形式:将栈顶压入PCH,POP后再将栈顶压入PCL,利用这个定义,只要将需要返回的地址压入PCH和PCL就能返回到指定地址。三、:为LED灯控制端口,高电平触发。:为蜂鸣器控制端口,高电平触发。:为KINT键控制端口,下降沿触发。R1、R2:用于存放计时器计时数据,R1赋给TH1、R2赋给TL1。R7:存放三种模式的循环次数。R0:在外部中断程序中赋值,用于判断采用何种模式。:为标志位,用于等待定时器中断,中断执行完清零,并在中断处向下继续执行程序。:为标志位,用于判断执行一种中断还是三种,在外部中断程序中改变。四、流程图主程序流程图(含提高部分):开始初始化允许外部中断0,下降沿触发允许定时器1中断,定时方式1YR0=02HNYR0>02HNCASE3CASE1CASE2R106HR10C1HR183HR20C6HR20B1HR263HR70AHR728HR714H蜂鸣1sTH1R1TL1R2AR7开定时等待中断R7R7-1NR7==0A=14HY跳转到case3NNNA>+=()取反关定时器1返回主程序POP出栈两次DPTR0036HDPL先压入栈顶DPH再压入栈顶返回主程序五、源代码(含文件头说明、资源使用说明、语句行注释);*****************************************************************;Filename:;Decription:LEDLED灯分别按2Hz,,各持续10s。;在LED灯开始和停止闪烁时蜂鸣器分别鸣响1次。按一次按钮,LED以;2Hz频率闪动;按第二次以1Hz频率闪动;;;第四次时又顺序执行三种模式(可以在任何时候按按钮,不必等上一模;式闪烁完);Designedby:gxy;Date:;*****************************************************************$include();;;0000H;000

单片机实验报告——LED灯控制器 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2890135236
  • 文件大小1.77 MB
  • 时间2020-05-28