单片机LED灯控制器报告.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【单片机LED灯控制器报告】的实验是基于C8051F310单片机设计一个能够控制LED灯以2Hz、1Hz和0.2Hz三种不同频率闪烁的控制器,同时在LED灯闪烁开始和结束时,通过蜂鸣器鸣响1次。该控制器使用中断方式,主要涉及以下知识点: 1. **C8051F310单片机**:C8051F310是一款集成度高的微控制器,拥有内部晶振和丰富的I/O资源,适合进行实时控制应用。在这个实验中,它作为核心处理单元,负责LED灯和蜂鸣器的控制以及中断处理。 2. **定时器**:C8051F310内置了定时器,本实验中使用了定时器T1,采用定时方式1。2Hz和1Hz的闪烁通过单次计时实现,而0.2Hz闪烁则需要通过中断设置定时器技术,以延长计时时间。 3. **中断系统**:中断是单片机处理外部事件的重要机制。实验中,使用了外部中断0(KINT键)和两个定时器中断(T0、T1)。当LED灯开始和停止闪烁时,通过外部中断0触发蜂鸣器鸣响;定时器溢出中断(IT0P)用于控制2Hz和1Hz的闪烁;定时器T1中断(IT1P)用于0.2Hz的闪烁控制。 4. **I/O端口**: - P0.0:LED灯控制端口,高电平触发LED亮。 - P3.1:蜂鸣器控制端口,高电平触发鸣响。 - P0.1:KINT键控制端口,检测下降沿触发中断。 5. **寄存器分配**: - R1、R2:用于存储定时器T1的计数值。 - R3:在0.2Hz模式下作为中断程序的内部循环计数器。 - R7:存储三种模式的循环次数。 - R0:在外部中断程序中用于判断当前模式。 - PSW.1:作为标志位,等待定时器中断,中断执行完后清零。 6. **程序流程**: - 主程序:初始化单片机,设置中断,根据R0的值选择闪烁模式,通过调用子程序设置定时器并开始计时。 - T_KINT中断:处理KINT键按下,切换模式。 - IT0P中断:定时器溢出,控制2Hz和1Hz的闪烁,更新LED和蜂鸣器状态。 - IT1P中断:处理0.2Hz的闪烁,更新计数器和LED、蜂鸣器状态。 7. **源代码**: - 包含了初始化、中断服务子程序和主程序,使用C语言编写,通过设置TMOD寄存器配置定时器工作模式,通过R0、R1、R2等寄存器配合中断处理不同频率的闪烁。 该实验旨在让学生掌握单片机的中断系统、定时器的使用以及I/O端口的控制,通过实践理解单片机在控制系统中的应用。
剩余13页未读,继续阅读
- 粉丝: 77
- 资源: 5万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- matlab-R2016a-win64-crack 下载地址
- 计算机专业学习硬件内存原理详细解析.txt
- 微电网模型Matlab Simulink,风光储微电网,永磁风机并网仿真,光伏并网仿真,蓄电池仿真,柴油发电机,光储微电网 风储微电网 Matlab仿真平台搭建的风光储微电网模型,风光柴储微电网,pw
- Ruby的 `Gosu` 库实现的较为完整的贪吃蛇游戏源码.txt
- 磁链,直接功率控制simulink仿真,vf-dpc,整流器仿真,逆变器仿真磁链仿真,MATLAB仿真,参考文献,
- 磁链,直接功率控制,定频磁链直接功率控,VF-DPC,基于pi调节的磁链直接功率控制,附带仿真说明文档和相关lunwen
- 购物系统项目(文档+视频+源码).zip
- 三相半波整流+三相桥式全控.zip
- 词法分析LR的C语言实现
- cst-matlab联合排布 matlab里面建模,运行后cst自动排布 编码的相位计算都有,CST-Matlab联合仿真代码,有录屏,可降解编码都是excel算的,直接导入联合仿真代码,很方便,超材