基于单片机的LED调光器的设计_第1页
基于单片机的LED调光器的设计_第2页
基于单片机的LED调光器的设计_第3页
基于单片机的LED调光器的设计_第4页
基于单片机的LED调光器的设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、重庆科技学院智能仪器课程设计报告 学 院:_电气与信息工程学院_ 专业班级: 测控0902班 学生姓名: 学号: 设计地点(单位)_I512_ _ _ _设计题目:_LED调光器设计_ 完成日期: 年 月 日 指导教师评语: _ _ _ _ 成绩(五级记分制):_ _ 指导教师(签字):_ _ 欢迎下载摘 要LED作为一种固态冷光源,是继白炽灯、荧光灯、高强度放电灯(如高压钠灯和金卤灯)之后的第四代新光源。基于白光LED 的固态照明,是一种典型的绿色照明方式,与传统光源相比,具有节能、环保、寿命长、体积小、安全可靠等特点。但在实际中发现LED灯功能单一,不能实现灯的亮度手动和自动控制,且不能随

2、着环境光的变化而变化,造成能源的浪费。本文介绍了以高性能的STC12C5A60S2单片机为控制核心,利用单片机的PWM口产生的占空比LED进行光度的手动和自动调节。通过光敏电阻对环境光度进行AD采集,达到LED灯亮度随环境自动变化。关键词:LED STC12C5A60S2单片机 PWM 占空比 AD采集目 录摘要11 绪论2 1.1 研究LED调光的目的及意义2 1.2 本课题设计内容及要求22 LED调光系统总体设计3 2.1 总体方案设计33 系统硬件设计4 3.1 单片机最小系统4 3.2 LED驱动电路7 3.3 按键电路84 系统软件设计9 4.1 软件总体设计9 4.2 手动调光程

3、序设计10 4.3 自动调光程序设计11 4.4 AD采集程序11 4.5 按键程序设计125 总结14参考文献15致谢16附录1 系统电路图17附录2 程序清单181 绪论1.1 研究LED调光的目的及意义随着全球能源危机和气候变暖问题的日益严重,绿色节能已经成为全球普遍关注的话题,人们正通过各种途径寻找新的节能方式。照明是人类消耗能源的重要方面,在电能消耗中,发达国家照明用电占发电总量的比例是19%,我国也达到12%.随着经济发展,我国的照明用电将有大比例的提高,因此绿色节能照明的研究越来越受到重视。LED 作为一种固态冷光源,是继白炽灯、荧光灯、高强度放电灯(如高压钠灯和金卤灯)之后的第

4、四代新光源。基于白光LED 的固态照明,是一种典型的绿色照明方式,与传统光源相比,具有节能、环保、寿命长、体积小、安全可靠等特点,代表着照明技术的未来,并符合当前政府提出的"建设资源节约型和环境友好型社会"的要求。可以预见不久的将来。目前,市场上采用白炽灯、卤素灯、荧光灯为光源的台灯普遍存在着低效率、高能耗、不易调光等缺点;至于寿命结束的含汞灯,一旦处理不当,将对环境造成严重危害;且实际的应用中,发现LED灯在周边亮度大时依然以同一功率发光,存在电能浪费。另外一方面,因为LED的发热量和电流存在正相关的关系,发热影响了LED的寿命,所以在不必要的亮度下也减少了LED的寿命。

5、然而,当LED在周边亮度小时,LED灯不能提供足够和恰当的光度,这样又影响了阅读,造成视觉疲劳。而且部分LED灯功能单一,缺少亮度调节、手动控制、自动控制,通过环境变化改变自身亮度等功能。为解决当前问题,研究一个好的LED调光系统意义重大。1.2 本课题设计内容及要求本次课题设计的目标是,在了解当前LED现有功能的基础上,利用单片机设计一个LED调光系统,该系统能够调节LED灯的亮度,且满足一定的精度要求。因此,本课题研究设计内容概括如下:1.基本功能1)采用脉宽调制(PWM)对LED进行调光;2)按给定时间-输出功率曲线自动调整LED亮度;3)按键选择手动/自动调光方式;4)4位数码管显示L

6、ED光源的相对亮度(0.0100.0%);5)具有电源开关、电源指示灯、复位等功能。2. 扩展功能 1)实现光敏自动调光,根据室内的光照变化,自动改变LED光源的亮度; 2)对采集的光照数据进行处理,利用3准则剔除粗大误差,设计算术平均数字滤波器;3) 手动遥控调光功能。2 LED调光系统总体设计2.1 总体方案设计LED调光系统应主要包括称光敏采集、AD转换、单片机数据处理及控制、PWM控制、按键操作等部分。其系统组成如图2.1所示。在系统中,设置了手动调光和自动调光。在手动调光时,分为十档,每一档对应一个占空比对LED的电流进行控制,从而对LED的亮度进行调节。自动调光时,在一个子函数里调

7、用控制LED亮度函数,再通过循环和延时实现一个简易的LED亮度的变化。光敏电阻采集的信号换成电信号送到线性放大器放大,经过 A/D转换送入单片机,再经数据处理后,反馈给LED灯改变其亮度,数码管则显示当前与光敏电阻串联10K电阻的电压值。该调光系统是由硬件和软件两部分组成。硬件主要包括单片机最小系统、LED驱动电路、按键电路、数码管显示电路、LED显示电路等部分;软件部分主要包括系统初始化子程序、手动控制子程序、自动控制子程序、AD采集及处理子程序、定时及中断子程序等,其软件采用模块化设计思想,可使程序设计思路清晰,便于调试。图2.1系统组成框图3 系统硬件设计3.1 单片机最小系统本系统采用

8、新一代的8051单片机STC12C5A60S2,由国内宏晶科技生产,其指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,其工作电压范围是3.5V5.5V。STC12C5A60S2有60KB的用户应用程序空间,256B的RAM和1024B的XRAM。能满足程序代码的需求和缓冲区定义的需求。另外与程序存储空间独立的一片闪存区域,可在应用编程中作EEPROM使用。STC12C5A60S2有双UART以及ISP串口,串口资源足够系统使用。另外通过宏晶科技提供的软件,使用UART可很容易地实现程序下载。STC12C5A60S2有36个通用I/O口,大部分可位控,并且有强

9、推挽输出的能力,足够系统使用。还拥有4个16bit定时器和一个独立的波特率发生器,另外还有两个PCA模块,能获得丰富的定时器资源。STC12C5A60S2有PDIP-40封装的芯片,易于快速进入实验。封装引脚图如图3.1所示。图3.1 STC12C5A60S2芯片PDIP封装引脚图STC12C5A60S2主要性能:1增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051。2STC12C5A60S2系列工作电压:3.3V- 5.5V;STC12LE5A60S2系列工作电压:3.6V-2.2V。3工作频率范围:0-35MHz,相当于普通8051的0-420MHz。4用户应用程序

10、空间8K/16K/20K/32K/40K/48K/52K/60K/62K字节等。5片上集成1280字节RAM。6通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口)。可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏。每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55mA。7ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片。8有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)。9看门狗。10内部集成

11、MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)。11外部掉电检测电路:在P4.6口有一个低压门槛比较器。5V单片机为1.32V,误差为±5%;3.3V单片机为1.30V,误差为±3%。12时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为±5%到±10%以内)用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟。常温下内部R/C振荡器频率为:5.0V单片机为:11MHz15.5MHz;3.3V单片机为:8MHz12MHz。 精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。13共4

12、个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器。做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器。14. 2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟。15外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2 ),CCP1/P1.4 (也可通

13、过寄存器设置到P4.3)。16PWM(2路)/PCA(可编程计数器阵列,2路),也可用来当2路D/A使用,也可用来再实现2个定时器,也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)。17A/D转换,10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)。18通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口。19STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)。20工作温度范围:-40 -

14、+85(工业级) /0 - 75(商业级)。21封装:PDIP-40,LQFP-44,LQFP-48,I/O口不够时,可用2到3根普通I/O口线外接,74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。STC12C5A60S2单片机最小系统由STC12C5A60S2单片机及其时钟和复位电路组成,是整个自动称重系统控制部分的核心。该单片机是宏晶科技生产的单时钟/机器周期的单片机,指令代码完全兼容传统8051,但速度快8-12倍,提供Flash程序存储器60kByte,1kByte的EEPROM,片上集成1280Byt

15、e RAM。工作电压3.5-5.5V,内部集成MAX810专用复位电路,拥有4个定时器,2个串口,2路PWM,8路高速10位A/D转换,ISP/IAP,内置看门狗电路,外部掉电检测电路等。STC12C5A60S2的最小系统包括复位电路和时钟电路,复位电路有上电复位、按键复位、看门狗等复位方式,本设计采用按键复位方式。在单片机的X1、X2引脚之间加上11.0592MHZ的晶振,并通过20pF左右的电容接地为单片机提供工作时钟。其最小系统如图3.2所示。 图3.2单片机最小系统电路图3.2 LED驱动电路本次设计 L ED 光源共由1只5mm 高亮度小功率LED 灯珠组成;灯珠的压降约3.1V,工

16、作电流约20mA。由白光LED 的正向伏安特性可知,当LED 端电压超过其正向导通电压后,较小的电压波动都会导致工作电流的的剧烈变化,从而影响LED的正常使用,固LED 宜采用恒流驱动方式。采用PWM调光,其基本原理是保持LED正向导通电流恒定,而通过控制电流导通和关断的时间比例,即改变输入脉冲信号的占空比,使LED产生亮暗变化;并利用人眼的视觉残留效应,当LED 亮暗变化频率大于120Hz 时,人眼就不会感觉到闪烁,而看到是LED 的平均亮度。PWM 调光的优势是LED正向导通的电流是恒定的,LED的色度就不会像模拟调光时产生变化。输出的电流值计算公式为: (1.1)单片机的频率是20KHz

17、,时钟周期为T为50S。LED驱动电路如图3.3图3.3 LED驱动电路图L1为镇流电感,选取100H,用于稳定通过LED 的电流。D1 是续流二极管,当芯片内部MOS 管截止状态时为储存在电感L1中的电流提供放电回路。PWM 脉冲信号则由单片机P1.4口产生,其高低电平决定LED的通断状态。将定时器T0溢出中断定为1/2500 秒(即400S),每10 次脉冲作为一个周期,即频率为250HZ。这样,在每1/250 秒的方波周期中,通过改变方波的输出占空比,从而实现LED 灯的10 级亮度调节,即LED 亮度等级由每个周期内的高电平脉冲数目决定。当高电平脉冲个数为1 时,占空比为1/10,亮度

18、最低,其调光原理如图3.4所示;当高电平脉冲为10 时,占空比为1,LED亮度最大。图3.4PWM 调光原理图3.3 按键电路该系统有3个选择模式,模式的切换需要按键完成,根据所需功能和要求,该系统采用的是4个独立式按键,分别为MODE键、UP键、DN键和ENT键。MODE键功能为模式切换,ENT键为数字清零及部分画面切换功能,UP键起数字加作用,DN起数字减功能。MODE键与单片机P20口相接,UP键与单片机P21口相接,DN键与单片机P22口相接,ENT键与单片机P32口相接,最终完成模式切换和数码管显示电压功能。电路如图3.5所示。图4.3 按键电路图4 系统软件设计4.1 软件总体设计

19、对于该LED调光系统,软件部分主要包括系统初始化子程序、手动控制子程序、自动控制子程序、AD采集子程序、模式选择子程序等。总体设计思路为:首先进行系统初始化,主要是设置定时器的工作方式、赋初值及等。在while循环中调用各个子程序,实现LED调光系统的各个功能。LED调光系统主函数流程图设计为如图4.1所示。图5.1 系统主函数流程图4.2 手动调光程序设计手动调光时,分为十档,分别输出不同的占空比对LED的电流进行控制,从而对LED的亮度进行调节。其流程图如图4.2所示。图4.2手动调光程序流程图4.3 自动调光程序设计自动调光时,在一个子函数里调用控制LED亮度函数,再通过循环和延时实现一

20、个LED亮度的变化(呼吸灯)。其流程图如图4.3所示。图4.3手动调光程序流程图4.4 AD采集程序本次设计AD采集所用的位数为10位(便于计算,且比8位更精确),光敏电阻采集的信号经过放大器放大反馈给P10口,经过单片机的处理数码管显示其采样值,再送给LED灯,从而达到控制灯亮度的变化。其流程图如图4.4所示。图4.4AD采样程序流程图4.5 按键程序设计4个按键操作主要在定时器0中断中完成。进入按键扫描程序,如果有键按下就先延时去抖动确定有键按下,再判断是哪个键按下。每个按键具体作用如下:在模式1中,MODE键功能默认工作方式为手动控制;UP键为灯亮度的加控制;DOWN为灯亮度的减控制,长

21、按MODE键则跳出手动控制。在模式2中,按下MODE键则进入自动控制(呼吸灯),每100ms对应一个亮度变化,长按MODE键则跳出自动控制在模式3中,按下MODE键进入AD采集模式,灯的亮度变化与环境光和光敏电阻反馈的信号有关。长按MODE键则跳出AD采集模式。按键程序流程图如图4.5所示。图4.5 按键程序流程图5 总结此次设计LED调光系统,历时4周,克服了经验不足等诸多问题,最终得以完成。在整个设计中,实现了手动调光,自动调光,基于环境变化调光等,基本功能全部实现。拓展功能做得不是很好,只实现光敏自动调光,而对采集的光照数据进行处理,利用3准则剔除粗大误差,设计算术平均数字滤波器和手动遥

22、控调光功能没能实现,主要因素是在这方面能力欠缺和时间不足。调试过程中也遇到不少的问题:先是拓展板的光敏电阻位置焊错,在拆卸的时候废了不少的劲。软件调试过程中:先是未加“STC12C5A60S2.H”头文件,导致出现大量的错误。之后在按键模块各个分程序没有很好的衔接,导致数码管显示乱码,LED灯亮度没有变化,最后在老师和同学的帮助下最终很好地解决了上诉问题。参考文献1 谭浩强.C程序设计M.北京:清华大学出版社,19912 高海生,杨文焕.单片机应用技术大全M.西南交通大学出版社,1999-06.3 徐爱钧,彭秀华.单片机高级C51应用程序设计M.中国计量出版社,2001.4 马盅梅.单片机的C

23、语言应用程序设计M.北京航5 胡文金.单片机应用技术实训教程M.重庆:重庆大学出版社,2005.致谢通过4周的努力,终于完成了LED调光的设计及调试工作。由于设计经验的不足在设计及调试中遇到了很多困难,但得到了老师和同学们的帮助,在此对他们表示感谢。在软件编写与调试中也得到了老师们的指导,在此由衷地感谢他们。由于本人的硬件设计和调试全在I509实验室完成,实验室的负责老师给我提供了设计地方和全部所需器材,非常感谢老师的帮助。在整个课程设计过程中,我的指导老师杨波老师一直都是耐心的指导,至始至终都没有停止过对我的辅导,让我学到了许多知识,使我受益非浅。最后,感谢学校、学院给予这样的一次机会,经历

24、了整个设计过程,我的收获是丰富的,也对整个大学的知识进行了梳理,对所学专业有了更深刻的认识。附录1 系统电路图附录2 程序清单 /头文件#include<intrins.h> #include<STC12C5A60S2.H>#define uchar unsigned char#define uint unsigned int #define THCO 0xEE#define TLCO 0x3F#define AD_CHANNEL 0unsigned int vx=10;unsigned char code Duan=0x3f,0x06,0x5b,0x4f,0x66,0

25、x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76;/段选码unsigned char Data_Buffer6=0,0,0,0;unsigned char Hour=7,Min=0,Sec=20; /时钟时间unsigned int flag=0;/1分时间到标志bit AD_flag=0;bit SOS_flag=0;char tp=0;unsigned int v;unsigned int temp1=600;unsigned char Mode=0;unsigned char K=1;bit flag1=0;/vx=5在

26、用于12864LCD的LED背光调整时上电为半亮度状态,可根据自己的用途及要求任意设定sbit KEY_H=P22; sbit KEY_L=P21;sbit MODE=P20; sbit P34=P34;sbit P35=P35;sbit P36=P36;sbit P37=P37; sbit P14=P14;sbit P24=P24;sbit P25=P25;sbit P26=P26;sbit P27=P27;sbit P32=P32;/*/void PWM_init (void)/PWM初始化函数CMOD=0x02; /设置PCA定时器 系统时钟 SYclk/2 CL=0x00; CH=0x

27、00;CCAPM1=0x42; /PWM1设置PCA工作方式为PWM方式(0100 0010) 8位pwm输出无中断 CCAP1L=0xff; /设置PWM1初始值与CCAP0H相同 CCAP1H=0xff; / PWM1初始时为0 /启动PCA定时器/*/void PWM1_set (unsigned int a)/PWM1占空比设置函数CCAP1L=a; /设置值直接写入CCAP1LCCAP1H=a; /设置值直接写入CCAP1H/*/void DelayM(unsigned int a)/延时函数 1mS/次(用于1T单片机) unsigned char n,i,j;while(-a!=

28、0) for(n=1;n>0;n-) for(j=222;j>0;j-) for(i=12;i>0;i-); /*/*/void manual_control() /手动控制 PWM1_set(vx*25);/-减调整-/ if (KEY_L = 0 ) DelayM(20); /延时20毫秒消抖动 if(KEY_L = 0) /如果20SM后KEY_L还是0状态则确认下调键是按下的 vx-;if(vx<1)vx=10;/如果设定vx=10,将语句改为if(vx<1)vx=10;则为单按键循环控制,则可去除加调整控制部分 while(KEY_L = 0);/等待键

29、松开 /-加调整-/if (KEY_H = 0 ) DelayM(20); if(KEY_H = 0) vx+; if(vx>=11)vx=1; while(KEY_H = 0); /*/void dispaly1()flag=0; Data_Buffer0=0;Data_Buffer1=vx;Data_Buffer2=0; Data_Buffer3=0;/*/void a1() P34=0,P37=1,manual_control(); dispaly1();CR=1;/*/unsigned int AD_Sample(unsigned char channel) uint i,q=0

30、; unsigned int temp; for(i=0;i<10;i+) tp=0; ADC_RES=0; ADC_RESL=0; ADC_CONTR=0x88|channel;/选择AD当前通道,并启动转换 while(!tp) tp=0x10; tp&=ADC_CONTR; ADC_CONTR&=0xe7; temp=(ADC_RES&0x03)*256+ADC_RESL; q=q+temp; temp=q/10; return temp;/ void a2() if(flag1=1) flag1=0; v=AD_Sample(AD_CHANNEL); Da

31、ta_Buffer0=v/1000; Data_Buffer1=v/100%10; Data_Buffer2=v/10%10;Data_Buffer3=v%10;if(v<500)PWM1_set(25);if(v>510) PWM1_set(0xff); void AD_init() P1M0=1; /P10设为A/D转换功以能 P1M1=1; P1ASF=0X01; /通道选择 AUXR1|=0x04; ADC_CONTR=0x80; /打开A/D转换器电源/*/void SOS_LED() /呼吸灯子函数 unsigned int i;for(i = 100;i < 2

32、40;i=i+5) PWM1_set(i); DelayM(200); for(i = 240;i > 100;i=i-5) PWM1_set(i); DelayM(200); /*/void main(void) static unsigned int flag1=0;unsigned char i; TMOD=0x11;/定时器0初始化TH0=THCO;TL0=TLCO;TR0=1;ET0=1;EA=1;KEY_H = 1;KEY_L = 1;PWM_init ();while(1) if (MODE = 0 ) DelayM(20); /延时20毫秒消抖动 if(MODE = 0)

33、 /如果20SM后KEY_L还是0状态则确认下调键是按下的 flag1+ ;if(flag1>=4)flag1=0;/如果设定vx=10,将语句改为if(vx<1)vx=10;则为单按键循环控制,则可去除加调整控制部分 while(MODE = 0);/等待键松开 switch(flag1) case 0:a1();break;case 1:PWM_init();CR=1;P37=0;P36=1; SOS_LED();break;case 2: CR=0,CL=0,CH=0;break;case 3: AD_init();PWM_init();CR=1;a2();break; vo

34、id timer0() interrupt 1static unsigned char count=0;static unsigned char AD_count=0;static unsigned char Bit=0;/静态变量,退出程序后,值保留 TH0=THCO; TL0=TLCO; if(flag=1) count+; if(count>=200)/秒计时,定时器定时5ms,计200次为一秒 count=0; Sec-; if(Sec=0) Sec=20,CR=0, CCON = 0; CL = 0; /复位PCA的计数器 CH = 0; flag=0; AD_count+;

35、if(AD_count>=100)/半S时间到 AD_count=0; flag1=1; Bit+; if(Bit>=4)Bit=0; P24=P25=P26=P27=1;/先关位码 P0=DuanData_BufferBit;/开段码 if(count<100&&Bit=1)P0|=0x80;/0.5S中间小数点亮,之后灭,不断循环 switch(Bit)/送位码 case 0: P24=0;break; case 1: P25=0;break; case 2: P26=0;break; case 3: P27=0;break; (不加头文件程序无法运行哟!

36、)头文件STC12C5A60S2.H/-/新一代 1T 8051系列 单片机内核特殊功能寄存器 C51 Core SFRs/ 7 6 5 4 3 2 1 0 Reset Valuesfr ACC = 0xE0; /Accumulator 0000,0000sfr B = 0xF0; /B Register 0000,0000sfr PSW = 0xD0; /Program Status Word CY AC F0 RS1 RS0 OV F1 P 0000,0000/-sbit CY = PSW7;sbit AC = PSW6;sbit F0 = PSW5;sbit RS1 = PSW4;sbi

37、t RS0 = PSW3;sbit OV = PSW2;sbit P = PSW0;/-sfr SP = 0x81; /Stack Pointer 0000,0111sfr DPL = 0x82; /Data Pointer Low Byte 0000,0000sfr DPH = 0x83; /Data Pointer High Byte 0000,0000/-/新一代 1T 8051系列 单片机系统管理特殊功能寄存器/ 7 6 5 4 3 2 1 0 Reset Valuesfr PCON = 0x87; /Power Control SMOD SMOD0 LVDF POF GF1 GF0

38、PD IDL 0001,0000/ 7 6 5 4 3 2 1 0 Reset Valuesfr AUXR = 0x8E; /Auxiliary Register T0x12 T1x12 UART_M0x6 BRTR S2SMOD BRTx12 EXTRAM S1BRS 0000,0000/-sfr AUXR1 = 0xA2; /Auxiliary Register 1 - PCA_P4 SPI_P4 S2_P4 GF2 ADRJ - DPS 0000,0000/*PCA_P4: 0, 缺省PCA 在P1 口 1,PCA/PWM 从P1 口切换到P4 口: ECI 从P1.2 切换到P4.1

39、口, PCA0/PWM0 从P1.3 切换到P4.2 口 PCA1/PWM1 从P1.4 切换到P4.3 口SPI_P4: 0, 缺省SPI 在P1 口 1,SPI 从P1 口切换到P4 口: SPICLK 从P1.7 切换到P4.3 口 MISO 从P1.6 切换到P4.2 口 MOSI 从P1.5 切换到P4.1 口 SS 从P1.4 切换到P4.0 口S2_P4: 0, 缺省UART2 在P1 口 1,UART2 从P1 口切换到P4 口: TxD2 从P1.3 切换到P4.3 口 RxD2 从P1.2 切换到P4.2 口GF2: 通用标志位ADRJ: 0, 10 位A/D 转换结果的高

40、8 位放在ADC_RES 寄存器, 低2 位放在ADC_RESL 寄存器 1,10 位A/D 转换结果的最高2 位放在ADC_RES 寄存器的低2 位, 低8 位放在ADC_RESL 寄存器DPS: 0, 使用缺省数据指针DPTR0 1,使用另一个数据指针DPTR1*/-sfr WAKE_CLKO = 0x8F; /附加的 SFR WAK1_CLKO/* 7 6 5 4 3 2 1 0 Reset Value PCAWAKEUP RXD_PIN_IE T1_PIN_IE T0_PIN_IE LVD_WAKE _ T1CLKO T0CLKO 0000,0000Bb7 - PCAWAKEUP :

41、PCA 中断可唤醒 powerdown。b6 - RXD_PIN_IE : 当 P3.0(RXD) 下降沿置位 RI 时可唤醒 powerdown(必须打开相应中断)。b5 - T1_PIN_IE : 当 T1 脚下降沿置位 T1 中断标志时可唤醒 powerdown(必须打开相应中断)。b4 - T0_PIN_IE : 当 T0 脚下降沿置位 T0 中断标志时可唤醒 powerdown(必须打开相应中断)。b3 - LVD_WAKE : 当 CMPIN 脚低电平置位 LVD 中断标志时可唤醒 powerdown(必须打开相应中断)。b2 - b1 - T1CLKO : 允许 T1CKO(P3

42、.5) 脚输出 T1 溢出脉冲,Fck1 = 1/2 T1 溢出率b0 - T0CLKO : 允许 T0CKO(P3.4) 脚输出 T0 溢出脉冲,Fck0 = 1/2 T1 溢出率*/-sfr CLK_DIV = 0x97; /Clock Divder - - - - - CLKS2 CLKS1 CLKS0 xxxx,x000/-sfr BUS_SPEED = 0xA1; /Stretch register - - ALES1 ALES0 - RWS2 RWS1 RWS0 xx10,x011/*ALES1 and ALES0:00 : The P0 address setup time and hold time to ALE negative edge is one clock cycle01 : The P0 address setup time and hold time to ALE negative edge is two clock cycles.10 : The P0 address setup time and hold time to ALE negative edge is three clock cycles. (default)11 :

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论