ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:645.30KB ,
资源ID:2275229      下载积分:15 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-2275229.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LED灯控制器.docx)为本站会员(j****9)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

LED灯控制器.docx

1、实验名称 综合实验-LED 灯控制器 成 绩 1、任务要求利用 C8051F310 单片机设计一个 LED 灯控制器主要功能和技术指标要求:1. LED 灯外接于 P0.0 端。 2. 采用 PWM 方式调节 LED 灯的亮度,亮度分为 16 个等级,亮度顺序为0-1-2E-F-E-D1-0-1-2F-E2-1-0,每个亮度等级延时 2 秒钟。 0 对应熄灭,F 最亮。3. 在 LED 显示器上显示当前亮度等级。 4. 在 LED 灯亮度最大最小时蜂鸣器分别鸣响 1 次(0.5 秒钟) 。 5. 利用单片机内部定时器定时,要求采用中断方式。 提高要求: 1)使用按键(KINT)开关 LED 灯

2、,要求采用中断方式。 2)改变 LED 的亮度调节范围为 0-31,并在在 LED 显示器上显示当前亮度值。3)可用键盘设置亮度值。 4)其它个性化设计。二、设计思路基础部分:使用定时器产生不同占空比的信号,具体操作如下:每 0.5ms 中断一次,每次中断 A 加 1 或减 1,当 AR0 时输出高电平,当 AR0 时输出低电平,这样就能产生不同占空比的信号。同时每 2s 中断一次,每次中断 R0 加 1 或减 1。再给 A,与 R0 设定周期,这样就能实现 LED 从暗到亮再从亮到暗。数码管根据亮度等级通过查表方式实现亮度显示。每次 R0=0H,或 R0=0FH 时蜂鸣器打开并用定时器定时

3、0.5s。提高部分:按键 KINT 将作为外部 0 中断的信号来源,采用低电平触发。当低电平持续一段时间后进入键盘输入模式,持续时间不足则会进入另外两种模式,模式 1 暂停并关闭LED,模式 2 恢复 LED。调节占空比的方式采用 F310 内部的 PWM 功能,一个亮度等级对应一个 PWM 值。数码管的显示此时变为两位,通过快速切换显示实现两个数码管同时显示。在键盘输入模式中,先查询是否有按键按下,有按键按下开始进行键盘扫描,通过行扫描和列扫描得到行值与列值,再得到键值,再将键值进行转化即可实现键盘亮度调节。同时对于按键的使用应进行消抖。LED 阵列是单片机通过控制 74HCT164 来间接

4、控制,74HCT164是一个移位寄存器,可以通过一个数据输入端以及一个时钟信号输入端实现跑马灯的效果。3、资源分配基础部分:第 0 组工作寄存器 R0,R3,R4:R0 存亮度等级;R3、R4 用于循环位寻址区 1H:用于保护判断位提高部分:第 0 组工作寄存器R0,R1,R2,R3:R0 存亮度等级;R1 记录递增或递减状态;R2 记录数码管位选;R3 记录PWM;R4,R5,R6,R7 用于循环赋值位寻址区0H:用于选择模式字节地址30H:记录输入是第几个数;45H:记录输入第一个数;46H:记录输入第二个数;39H:用于扫描键盘4、流程图 基础部分提高部分五、源代码 (含文件头说明、语句

5、行注释)/*实验名 :LED 灯控制器(基础部分) */$include (C8051F310.inc)ORG 001BH LJMP TIME1ORG 00BHLJMP TIME0ORG 002BHLJMP TIME2ORG 0000HLJMP MAINORG 1000HMAIN: LCALL Init_Device ;初始化配置LED BIT P0.0BEEP BIT P3.1CLR P0.6 ;选末位数码管CLR P0.7CLR BEEP ;关闭蜂鸣器MOV P1,#0FCH ;初始数码管显示MOV DPTR,#TAB ;存数码表表头MOV R0,#00H ;亮度等级初始MOV R3,#0

6、8H ;LED 亮度持续循环八次 0.25*8MOV R4,#02H ;蜂鸣器定时循环两次 0.25s*2MOV A,#00START: CJNE R0,#00H,A1LCALL VOICE ;最暗蜂鸣器打开A1: CJNE R0,#0FH,A2LCALL VOICE ;最亮蜂鸣器打开A2: SETB TR1SETB TR0LOOP: JB PSW.5,NEXTCJNE A,00H,CCCC: JC OPEN ;判断是熄灭还是点亮 LEDSETB LEDSJMP LOOPOPEN: CLR LEDSJMP LOOPNEXT: CLR PSW.5DJNZ R3,LOOP ;T0 定时器定时循环

7、8 次 0.25*8=2sCLR TR1 ;调整亮度等级模块CLR TR0CLR AMOV R3,#08HCJNE R0,#0FH,L1 ;达到亮度等级上限开始递增模式SETB (20H).0L1: CJNE R0,#00H,L2 ;达到亮度等级下限开始递增模式CLR (20H).0L2: JNB (20H).0,L3DEC R0SJMP XIANL3: INC R0XIAN: PUSH ACC ;调整数码管显示模块MOV A,R0MOVC A,A+DPTRMOV P1,APOP ACCSJMP START;*;蜂鸣器;*VOICE: SETB BEEP ;开蜂鸣SETB TR2 ;开定时器

8、2RETTAB: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0HDB 0FEH,0E6H,0EEH,3EH,1AH,7AH,9EH,8EH;*;定时器模块;*TIME0: MOV TH0,#06HMOV TL0,#0C6HSETB PSW.5 ;用于 0.25s 中断标志RETITIME1: MOV (20H).1,C ;保护判断位 JC UPINC A MOV TH1,#0FCHMOV TL1,#018HCJNE A,#0FH,LMOV A,#0HL: MOV C,(20H).1RETITIME2: CLR TF2HDJNZ R4,LOOP1 ;循环 2 次 0.25*2=0.5sMOV R4,#02HCLR BEEP ;关蜂鸣CLR TR2LOOP1: RETI; Peripheral specific initialization functions,; Called from the Init_Device labelPCA_Init:anl PCA0MD, #0BFhmov PCA0MD, #000hretPort_IO_Init:mov XBR1, #040hmov P1MDOUT, #0FFhret

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。