单片机课程设计报告--对可调光LED灯发光强度进行控制-毕业(学术)论文设计.docVIP

  • 9
  • 0
  • 约1.45万字
  • 约 19页
  • 2018-12-03 发布于广西
  • 举报

单片机课程设计报告--对可调光LED灯发光强度进行控制-毕业(学术)论文设计.doc

单片机课程设计报告 题目:对可调光LED灯发光强度进行控制 学院: 机电工程学院 班级: 自09A-1 姓名: 学号: 0910101011 指导教师: 设计任务: 1、单片机可选用飞思卡尔型。 2、按键及显示方案可采用CH451芯片或其他方案。 3、设计并制作可调光LED灯,并对发光强度进行控制。 二、设计方案: 硬件选择:飞思卡尔MC9S12S128系类单片机,驱动模块,LED 模块,CH4541模块; 工作原理:通过调节PWM为1KHz至10KHz TTL方波,调节其占空比,从而调节电压,决定了发光强度。 MC9S12S128部分管脚图: MC9S12S128主要系统参数: S12X CPU, 最高总线速度 40MHz ? 64KB、128KB和256KB 闪存选项,均带有错误校正功能(ECC) ? 带有ECC的、4KB至8KB DataFlash,用于实现数据或程序存储 ? 配置8 、10或12位模数转换器(ADC),转换时间3μ s ? 支持控制区域网(CAN)、本地互联网(LIN)和串行外设接口(SPI)协 议模块 ? 带有16-位计数器的、8-通道定时器 ? 出色的EMC,及运行和停止省电模式 由于MC9S12S128自带有AD以及PWM 功能,所以对软件的要求交简单。 键盘输入采用CH451整体模块 通信端口为PA口,与中断端口 三、硬件结构: CH451硬件电路结构 驱动模块设计 四、软件设计 4.1 HCS12控制软件主要理论 智能车开发环境采用了飞思卡尔HCS12系列单片机开发软件CodeWarrior。该软件具有支持多种语言、开发环境界面统一、交叉平台开发以及支持插件工具等特点。在CodeWarrior界面完成编译后,通过BDM FOR S12工具,在CodeWarrior环境下向MC9S12模块下载程序。BDM FOR S12工具使用简单,十分方便。 在整个系统设计中,用到了4个单片机基本功能模块:时钟模块、PWM输出模块、AD转换模块、。通过编写程序先对所用到的模块进行初始化,并通过对相应数据寄存器或状态寄存器的读写,实现期望的功能。为实现所期望的功能所需芯片资源如表4.1所示。 表4.1 系统所用到的芯片资源 AD模块 PAD 电阻调值 PWM 模块 PWM01 PWM IO 端口模块 PA0 CH451 系统通过在主函数中循环调用CH451读写函数、计算、、控制PWM等功能子模块,对LED进行控制;程序执行前先对各个模块初始化,然后执行主函数的功能;初始化流程图如图10所示: 图10 程序初始化流程图 4.2各模块设计 时钟初始化 PWM初始化 PWM 的主要特点有: 1、它有 8 个独立的输出通道,并且通过编程可控制其输出波形的周期。 2、每一个输出通道都有一个精确的计数器。 3、每一个通道的 PWM 输出使能都可以由编程来控制。 4、PWM 输出波形的翻转控制可以通过编程来实现。 5、周期和脉宽可以被双缓冲。当通道关闭或 PWM 计数器为 0 时,改变周期和脉宽才起作用。 6、8 字节或 16 字节的通道协议。 7、有 4 个时钟源可供选择(A、SA、B、SB) ,他们提供了一个宽范围的时 钟频率。 8、通过编程可以实现希望的时钟周期。 9、具有遇到紧急情况关闭程序的功能。 10、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。 4.3.1 设定单片机总线频率 时钟基本脉冲是CPU工作的基础。MC9S12XS128微控制器的系统时钟信号,由时钟振荡电路或专用时序脉冲信号提供。MCU内部的所有时钟信号都来源于EXTAL引脚,也为MUC与其他外接芯片之间的通信提供了可靠的同步时钟信号。 对于S12,可以利用寄存器SYNR、REFDV来改变晶振频率,从而产生由锁相环倍频后的时钟频率fPLLCLK,可以选用8MHz或16MHz外部晶体振荡器作外时钟。在本车的设计中,外部晶体振荡器为16MHz,即fOSCCLK=16MHz。而锁相环产生的时钟频率fPLLCLK=2*fOSCCLK*(SYNR+1)/(REFDV+1),设计中我们将SYNR设为4,REFDV设为1,故fPLLCLK=80MHz。 S12的总线时钟是整个MCU系统的定时基准和工作同步脉冲,其频率固定为晶体频率fPLLCLK的1/2。故可以得到fPLLCLK/2=40MHz的总线频率,接近MC9S12XS128单片机

文档评论(0)

1亿VIP精品文档

相关文档