基于单片机的LED调光器的设计_第1页
基于单片机的LED调光器的设计_第2页
基于单片机的LED调光器的设计_第3页
基于单片机的LED调光器的设计_第4页
基于单片机的LED调光器的设计_第5页
免费预览已结束,剩余34页可下载查看

下载本文档

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

文档简介

1、智能仪器课程设计报学 院:电气与信息工程学院专业班级:测控0902班学号:设计地点(单位)1512设计题目:LED调光器设计完成日期:指导教师评语:成绩(五级记分制)指导教师(签字):学生姓名:摘要LED作为一种固态冷光源,是继白炽灯、荧光灯、高强度放电灯(如高压钠灯和金 卤灯)之后的第四代新光源。基于白光 LED的固态照明,是一种典型的绿色照明方式, 与传统光源相比,具有节能、环保、寿命长、体积小、安全可靠等特点。但在实际中发 现LED灯功能单一,不能实现灯的亮度手动和自动控制,且不能随着环境光的变化而变 化,造成能源的浪费。本文介绍了以高性能的STC12C5A60S单片机为控制核心,利用单

2、片机的PWMR产生的占空比LED进行光度的手动和自动调节。通过光敏电阻对环境光 度进行AD采集,达到LED灯亮度随环境自动变化。关键词:LED STC12C5A60S单片机 PWM 占空比 AD采集摘要1绪论1.1 研究LED调光的目的及意义.1.2 本课题设计内容及要求2 LED调光系统总体设计2.1总体方案设计系统硬件设计3.1单片机最小系统.3.2 LED 驱动电路3.3按键电路系统软件设计4.1软件总体设计4.2手动调光程序设计.4.3自动调光程序设计.4.4 AD采集程序 4.5按键程序设计总结.345101011111314151617参考文献致谢附录1系统电路图 附录2程序清单.

3、1绪论1.1研究LED调光的目的及意义随着全球能源危机和气候变暖问题的日益严重,绿色节能已经成为全球普遍关注的话题,人们正通过各种途径寻找新的节能方式。照明是人类消耗能源的重要方面,在电 能消耗中,发达国家照明用电占发电总量的比例是 19%我国也达到12%随着经济发展, 我国的照明用电将有大比例的提高,因此绿色节能照明的研究越来越受到重视。LED作为一种固态冷光源,是继白炽灯、荧光灯、高强度放电灯(如高压钠灯和金卤灯)之后 的第四代新光源。基于白光LED的固态照明,是一种典型的绿色照明方式,与传统光源 相比,具有节能、环保、寿命长、体积小、安全可靠等特点,代表着照明技术的未来, 并符合当前政府

4、提出的"建设资源节约型和环境友好型社会"的要求。可以预见不久的将 来。_目前,市场上采用白炽灯、卤素灯、荧光灯为光源的台灯普遍存在着低效率、高能 耗、不易调光等缺点;至于寿命结束的含汞灯,一旦处理不当,将对环境造成严重危害; 且实际的应用中,发现LED灯在周边亮度大时依然以同一功率发光,存在电能浪费。另 外一方面,因为LED的发热量和电流存在正相关的关系,发热影响了LED的寿命,所以在不必要的亮度下也减少了 LED的寿命。然而,当LED在周边亮度小时,LED灯不能提 供足够和恰当的光度,这样又影响了阅读,造成视觉疲劳。而且部分LED灯功能单一,缺少亮度调节、手动控制、自动控

5、制,通过环境变化改 变自身亮度等功能。为解决当前问题,研究一个好的LED调光系统意义重大。1.2本课题设计内容及要求本次课题设计的目标是,在了解当前 LED现有功能的基础上,利用单片机设计一个 LED调光系统,该系统能够调节LED灯的亮度,且满足一定的精度要求。因此,本课题 研究设计内容概括如下:采用脉宽调制(PWM对LED进行调光;按给定时间-输出功率曲线自动调整LED亮度; 按键选择手动 /自动调光方式; 4位数码管显示LED光源的相对亮度(0.0100.0%); 具有电源开关、电源指示灯、复位等功能。扩展功能1. 基本功能1)2)3)4)5)2.1 )实现光敏自动调光,根据室内的光照变化

6、,自动改变LED光源的亮度;2 )对采集的光照数据进行处理,利用 3 c准则剔除粗大误差,设计算术平均数字 滤波器;3)手动遥控调光功能。2 LED调光系统总体设计2.1总体方案设计LED调光系统应主要包括称光敏采集、AD转换、单片机数据处理及控制、PW控制、 按键操作等部分。其系统组成如图 2.1所示。在系统中,设置了手动调光和自动调光。 在手动调光时,分为十档,每一档对应一个占空比对LED的电流进行控制,从而对LED的亮度进行调节。自动调光时,在一个子函数里调用控制LED亮度函数,再通过循环和延时实现一个简易的LED亮度的变化。光敏电阻采集的信号换成电信号送到线性放大器 放大,经过A/D转

7、换送入单片机,再经数据处理后,反馈给 LED灯改变其亮度,数码管 则显示当前与光敏电阻串联10K电阻的电压值。该调光系统是由硬件和软件两部分组成。硬件主要包括单片机最小系统、LED驱动电路、按键电路、数码管显示电路、LED显示电路等部分;软件部分主要包括系统初始 化子程序、手动控制子程序、自动控制子程序、 AD采集及处理子程序、定时及中断子程 序等,其软件采用模块化设计思想,可使程序设计思路清晰,便于调试。图2.1系统组成框图3系统硬件设计3.1单片机最小系统8051单片机一一STC12C5A60S2由国内宏晶科技生产,其指本系统采用新一代的令代码完全兼容传统8051,但速度快8-12倍。内部

8、集成MAX81专用复位电路,其工作 电压范围是3.5V5.5V °STC12C5A60S有60KB的用户应用程序空间,256B的RAM和1024B 的XRAM能满足程序代码的需求和缓冲区定义的需求。另外与程序存储空间独立的一片 闪存区域,可在应用编程中作 EEPRO使用。STC12C5A60S有双UART以及ISP串口,串 口资源足够系统使用。另外通过宏晶科技提供的软件,使用UART可很容易地实现程序下载。STC12C5A60S有 36个通用I/O 口,大部分可位控,并且有强推挽输出的能力, 足够系统使用。还拥有4个16bit定时器和一个独立的波特率发生器,另外还有两个PCA模块,能

9、获得丰富的定时器资源。STC12C5A60S有PDIP-40封装的芯片,易于快速进入实验。封装引脚图如图3.1所示。CLXOLmAOC0'P1.0 匸ADCl Pl.l U 吐D2E匚【丄DCHPIP匚S印匚PPI” ADC甲Pl.4 匚二 ADC*.P1.< 匚 MISO ADC6 P1.6C SCLK ADC7 P1.7C _, P4.7/RSI 匸 Tvr/ED/Pl.O 匚 TkDJPI I 匚 !vroF3.2 二 InTJ F3.3 匸 CLkOLTO'I>(rTO/P14 匚 CLICOLTLivri j 匚 匚 W Pl.' 匚XTAL2匚

10、XTALI匚 C崗匸I40二39丸4那3663S134K3293?10311111西122B142-1326162戈L24IS231922202 cePO.OPO.lP0.2POJ?0.5 网启PO.-EX_L D F4 6 RST2 ale P4 5P4.4P;.7.AI5P:.iA14ABAIZAllPll a9图3.1 STC12C5A60S2芯片PDIP封装引脚图STC12C5A60S主 要性能:1.增强型8051CPU 1T,单时钟/机器周期,指令代码完全兼容传统 8051。2. STC12C5A60S系列工作电压:3.3V- 5.5V ; STC12LE5A60S系列工作电压: 3

11、.6V-2.2V。3.工作频率范围:0-35MHZ相当于普通8051的0-420MH不4.用户应用程序空间 8K/16K/20K/32K/40K/48K/52K/60K/62K 字节等。5 .片上集成1280字节RAM6.通用I/O 口( 36/40/44个),复位后为:准双向口 /弱上拉(普通8051传统I/O口)。可设置成四种模式:准双向口 /弱上拉,推挽/强上拉,仅为输入/高阻,开漏。每个I/O 口驱动能力均可达到20mA但整个芯片最大不要超过55mA7. ISP (在系统可编程)/IAP (在应用可编程),无需专用编程器,无需专用仿真 器,可通过串口( P3.0/P3.1 )直接下载用

12、户程序,数秒即可完成一片。8. 有 EEPRO功能(STC12C5A62S2/AD/PW无I内部 EEPROM)9. 看门狗。10. 内部集成MAX81(专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)。11. 外部掉电检测电路:在 P4.6 口有一个低压门槛比较器。5V单片机为1.32V, 误差为± 5% 3.3V单片机为1.30V,误差为± 3%12.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为± 5%1吐10%以内)用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟。常温下内部R/C振荡器频率为:5.0V单片机为:1

13、1MHz- 15.5MHz 3.3V单片机为:8MHz- 12MHz 精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。13. 共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器TO 和T1,没有定时器2,但有独立波特率发生器。做串行通讯的波特率发生器,再加上 2 路PCA模块可再实现2个16位定时器。14. 2个时钟输出口,可由TO的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1 输出时钟。15. 外部中断I/O 口 7路,传统的下降沿中断或低电平触发中断,并新增支持上升 沿中断的PCA模块,Power Down模式可由外部中断唤

14、醒,INTO/P3.2 , INT1/P3.3,T0/P3.4 , T1/P3.5,RxD/P3.0, CCP0/P1.3(也可通过寄存器设置到 P4.2 ),CCP1/P 1.4 (也可通过 寄存器设置到P4.3)。16. PWM(路)/PCA(可编程计数器阵列,2路),也可用来当2路D/A使用,也可 用来再实现2个定时器,也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分 别或同时支持)。17. A/D转换,10位精度ADC共8路,转换速度可达250K/S(每秒钟25万次)。18. 通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器 或PCA软件实现多

15、串口。19. STC12C5A60S系列有双串口,后缀有 S2标志的才有双串口,RxD2/P1.2(可通 过寄存器设置到P4.2) , TxD2/P1.3(可通过寄存器设置到P4.3)。20. 工作温度范围:-40 - +85C (工业级)/0 -75r (商业级)。21. 封装:PDIP-40, LQFP-44, LQFP-48, I/O 口不够时,可用 2 到 3 根普通 I/O 口线外接,74HC164/165/595 (均可级联)来扩展I/O 口,还可用A/D做按键扫描来节 省I/O 口,或用双CPU三线通信,还多了串口。STC12C5A60S单片机最小系统由STC12C5A60S单片

16、机及其时钟和复位电路组成, 是整个自动称重系统控制部分的核心。该单片机是宏晶科技生产的单时钟/机器周期的单片机,指令代码完全兼容传统8051,但速度快8-12倍,提供Flash程序存储器60kByte , 1kByte的EEPRO,M片上集成1280Byte RAM 工作电压3.5-5.5V,内部集成 MAX81(专 用复位电路,拥有4个定时器,2个串口,2路PWM8路高速10位A/D转换,ISP/IAP , 内置看门狗电路,外部掉电检测电路等。STC12C5A60S的最小系统包括复位电路和时钟 电路,复位电路有上电复位、按键复位、看门狗等复位方式,本设计采用按键复位方式。 在单片机的X1、X

17、2引脚之间加上11.0592MHZ的晶振,并通过20pF左右的电容接地为 单片机提供工作时钟。其最小系统如图3.2所示。3.2 LED驱动电路本次设计L ED光源共由1只5mm高亮度小功率LED灯珠组成;灯珠的压降约3.1V, 工作电流约20mA由白光LED的正向伏安特性可知,当LED端电压超过其正向导通电 压后,较小的电压波动都会导致工作电流的的剧烈变化,从而影响LED的正常使用,固LED宜采用恒流驱动方式。采用 PW碉光,其基本原理是保持LED正向导通电流恒定, 而通过控制电流导通和关断的时间比例,即改变输入脉冲信号的占空比,使LED产生亮暗变化;并利用人眼的视觉残留效应,当 LED亮暗变

18、化频率大于120Hz时,人眼就不 会感觉到闪烁,而看到是LED的平均亮度。PWM调光的优势是LED正向导通的电流是恒 定的,LED的色度就不会像模拟调光时产生变化。输出的电流值计算公式为:(1.1)IL牛1单片机的频率是20KHZ时钟周期为T为50卩S。LED驱动电路如图3.3i2图3.3 LED驱动电路图L1为镇流电感,选取100卩H,用于稳定通过LED的电流。D1是续流二极管,当芯 片内部MOS管截止状态时为储存在电感L1中的电流提供放电回路。PWM脉冲信号则由 单片机P1.4 口产生,其高低电平决定LED的通断状态。将定时器T0溢出中断定为1/2500 秒(即400卩S),每10次脉冲作

19、为一个周期,即频率为 250HZ这样,在每1/250秒 的方波周期中,通过改变方波的输出占空比,从而实现LED灯的10级亮度调节,即LED 亮度等级由每个周期内的高电平脉冲数目决定。当高电平脉冲个数为1时,占空比为1/10,亮度最低,其调光原理如图 3.4所示;当高电平脉冲为10时,占空比为1,LED 亮度最大。3.3按键电路该系统有3个选择模式,模式的切换需要按键完成,根据所需功能和要求,该系统 采用的是4个独立式按键,分别为MOD键、UP键、DN键和ENT键。MOD键功能为模式 切换,ENT®为数字清零及部分画面切换功能,UP键起数字加作用,DN起数字减功能。 MOD键与单片机P

20、20 口相接,UP键与单片机P21 口相接,DN键与单片机P22 口相接, ENT键与单片机P32 口相接,最终完成模式切换和数码管显示电压功能。电路如图3.5所示。WDE.UP图4.3按键电路图1 1I !11,1 111 11 1Exrr1-1 '1DN O4系统软件设计4.1软件总体设计对于该LED调光系统,软件部分主要包括系统初始化子程序、手动控制子程序、自 动控制子程序、AD采集子程序、模式选择子程序等。总体设计思路为:首先进行系统初 始化,主要是设置定时器的工作方式、赋初值及等。在while循环中调用各个子程序,实现LED调光系统的各个功能。LED调光系统主函数流程图设计为

21、如图 4.1所示。图5.1系统主函数流程图4.2手动调光程序设计手动调光时,分为十档,分别输出不同的占空比对LED的电流进行控制,从而对LED 的亮度进行调节。其流程图如图4.2所示。图4.2手动调光程序流程图4.3自动调光程序设计自动调光时,在一个子函数里调用控制 LED亮度函数,再通过循环和延时实现一个LED亮度的变化(呼吸灯)。其流程图如图4.3所示。返回图4.3手动调光程序流程图4.4 AD采集程序4.4所示。本次设计AD采集所用的位数为10位(便于计算,且比8位更精确),光敏电阻采 集的信号经过放大器放大反馈给 P10 口,经过单片机的处理数码管显示其采样值,再送 给LED灯,从而达

22、到控制灯亮度的变化。其流程图如图图4.4AD米样程序流程图4.5按键程序设计4个按键操作主要在定时器0中断中完成。进入按键扫描程序,如果有键按下就先 延时去抖动确定有键按下,再判断是哪个键按下。每个按键具体作用如下:在模式1中,MOD键功能默认工作方式为手动控制;UP键为灯亮度的加控制;DOWN 为灯亮度的减控制,长按 MODES则跳出手动控制。在模式2中,按下MODES则进入自动控制(呼吸灯),每100ms对应一个亮度变化, 长按MODES则跳出自动控制在模式3中,按下MOD键进入AD采集模式,灯的亮度变化与环境光和光敏电阻反 馈的信号有关。长按MOD键则跳出AD采集模式。按键程序流程图如图

23、4.5所示。图4.5按键程序流程图5总结此次设计LED调光系统,历时4周,克服了经验不足等诸多问题,最终得以完成。在整个设计中,实现了手动调光,自动调光,基于环境变化调光等,基本功能全部实现。拓展功能做得不是很好,只实现光敏自动调光,而对采集的光照数据进行处理,利用3C准则剔除粗大误差,设计算术平均数字滤波器和手动遥控调光功能没能实现,主要因 素是在这方面能力欠缺和时间不足。调试过程中也遇到不少的问题:先是拓展板的光敏 电阻位置焊错,在拆卸的时候废了不少的劲。软件调试过程中:先是未加 “STC12C5A60S2”头文件,导致出现大量的错误。之后在按键模块各个分程序没有很 好的衔接,导致数码管显

24、示乱码,LED灯亮度没有变化,最后在老师和同学的帮助下最 终很好地解决了上诉问题。1234参考文献谭浩强.C程序设计M.北京:清华大学出版社,1991高海生,杨文焕.单片机应用技术大全M.西南交通大学出版社,1999-06.徐爱钧,彭秀华.单片机高级C51应用程序设计M.中国计量出版社,2001.马盅梅.单片机的C语言应用程序设计M.北京航胡文金.单片机应用技术实训教程M.重庆:重庆大学出版社,2005.致谢通过4周的努力,终于完成了 LED调光的设计及调试工作。由于设计经验的不足在 设计及调试中遇到了很多困难,但得到了老师和同学们的帮助,在此对他们表示感谢。 在软件编写与调试中也得到了老师们

25、的指导,在此由衷地感谢他们。由于本人的硬件设 计和调试全在1509实验室完成,实验室的负责老师给我提供了设计地方和全部所需器 材,非常感谢老师的帮助。在整个课程设计过程中,我的指导老师杨波老师一直都是耐心的指导,至始至终都 没有停止过对我的辅导,让我学到了许多知识,使我受益非浅。最后,感谢学校、学院给予这样的一次机会,经历了整个设计过程,我的收获是丰 富的,也对整个大学的知识进行了梳理,对所学专业有了更深刻的认识。TTfjl:EJ=J=GJ hr*港=1瓷hd上 i£= I>=«rL< Trx_z3-U-J t±Aa± 3a_L-±

26、Nh*:n辽车g:r 土:." 7 U>_BLK W I rm U-1 二ES!3iqyTZ.: _Z1 n;-iitoHHdUin1删iWl >.kHtP ELMII附录1系统电路图附录2程序清单头文件#in clude< intrin s.h>#i nclude<STC12C5A60S2.H>#defi ne uchar un sig ned char#defi ne uint un sig ned int#defi ne THCO0xEE#defi ne TLCO0x3F#defi ne AD_CHANNEL 0charcodeun sig

27、ned int vx=10;un sig nedDuan=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76;/段选码un sig ned char Data_Buffer6=0,0,0,0;un sig ned char Hour=7,Mi n=0,Sec=20;/ 时钟时间un sig ned int flag=0;/1 分时间到标志bit AD_flag=0;bit SOS_flag=0;char tp=0;un sig ned int v;un sig ned int

28、temp 1=600;un sig ned char Mode=0;un sig ned char K=1;bit flag1=0;/vx=5在用于12864LCD的LED背光调整时上电为半亮度状态,可根据自己的用途及要求任意设定sbit KEY_H=卩2人2;sbit KEY_L=Pil;sbit MODE=P"。;sbit P34=P3M;sbit P35=P3A5;sbit P36=P3A6;sbit P37=P3A7;sbit P14=PIM;sbit P24=P2M;sbit P25=P2A5;sbit P26=P2A6;sbit P27=P2A7;sbit P32=P3A

29、2;/*/void P WM_i nit (void)系统时钟SYclk/2/PWM初始化函数CMOD=0x02; /设置PCA定时器CL=0x00;CH=0x00;CCAPM1=0x42; /PWM1 设置PCA工作方式为 PWM方式(0100 0010)8位pwm输出无中断CCAP1L=0xff; /设置PWM1初始值与 CCAP0H相同CCAP1H=0xff; / PWM1 初始时为 0启动PCA定时器/*/void P WM1_set (u nsig ned int a)/PWM1占空比设置函数CCAP1L=a; /设置值直接写入 CCAP1LCCAP1H=a; /设置值直接写入 CC

30、AP1H/*/ void DelayM(unsigned int a)II 延时函数 1mS/次(用于 1T 单片机) un sig ned char n ,i,j;while(-a!=0)for(n=1; n>0;n-)for(j=222;j>0;j-)for(i=12;i>0;i-); /*/*/void man ual_c on trol()手动控制P WM1_set(vx*25);/减调整/if (KEY_L = 0 )DelayM(20); /延时20毫秒消抖动if(KEY_L = 0) /如果20SM后KEY_L还是0状态则确认下调键是按下的 vx-; if(vx

31、<1)vx=10;II如果设定vx=10,将语句改为if(vx<1)vx=10;则为单按键循环控制,则可去除加调整控制部分 while(KEY_L = 0);/ 等待键松开 /加调整/if (KEY_H = 0 ) DelayM(20);if(KEY_H = 0)vx+;if(vx>=11)vx=1;while(KEY_H = 0); /*/ void dis paly1() flag=0 ;Data_Buffer0=0;Data_Buffer1=vx;Data_Buffer2=0;Data_Buffer3=0;/*/ void a1() P 34=0, P37=1,ma n

32、u al_co ntrol(); dis paly1();CR=1; /*/un sig ned int AD_Sa mple(un sig ned char cha nn el) "uint i,q=0; un sig ned int temp;for(i=0;i<10;i+)tp=0;ADC_RES=0;ADC_RESL=0;ADC_CONTR=0x88|channel;/选择AD当前通道,并启动转换 while(!t p)tp=0x10;tp&=ADC_CONTR;ADC_CONTR&=0xe7;temp=(ADC_RES&0x03)*256+AD

33、C_RESL; q=q+te mp;temp=q/10;return temp; /void a2() if(flag1=1) flag1=0;v=AD_Sa mp le(AD_CHANNEL); Data_Buffer0=v/1000; Data_Buffer1=v/100%10; Data_Buffer2=v/10%10; Data_Buffer3=v%10; if(v<500)P WM1_set(25); if(v>510) P WM1_set(0xff);void AD_i nit()"P1M0=1;/P10设为A/D转换功以能P1M1=1;P1ASF=0X01;

34、 / 通道选择AUXR1|=0x04;ADC_CONTR=0x80; /打开A/D转换器电源 /*/void SOS_LED()呼吸灯子函数un sig ned int i;for(i = 100;i < 240;i=i+5)P WM1_set(i);DelayM(200);for(i = 240;i > 100;i=i-5)P WM1_set(i);DelayM(200);/*/void main (void)static un sig ned int flag1=0; un sig ned char i;TMOD=0x11; /定时器0初始化 TH0=THCO;TL0=TLCO

35、;TR0=1;ET0=1;EA=1;KEY_H = 1;KEY_L = 1;P wM_i nit ();while(1) if (MODE = 0 )DelayM(20); /延时20毫秒消抖动 if(MODE = 0) /如果20SM后KEY_L还是0状态则确认下调键是按下的 flag1+ ;vx=10,将语句改为if(vx<1)vx=10;则为单按键循环控制,则可去除加调整控制部分if(flag1>=4)flag1=0;/如果设定switch(flag1)case 0:a1();break;case 1case 2case 3while(MODE = 0);/ 等待键松开P W

36、M_i ni t();CR=1; P37=0;P 36=1; SOS_LED();break;CR=0,CL=0,CH=0;break;AD_i nit(); PWM_in it();CR=1;a2();break;void timer0() interrupt 1static un sig ned char coun t=0; static un sig ned char AD_co un t=0;static un sig ned char Bit=O;/静态变量,退出程序后,值保留TH0=THCO;TL0=TLCO;if(flag=1)coun t+;if(cou nt>=200)

37、/ 秒计时,coun t=0;Sec-;if(Sec=0) Sec=20,CR=0,CL = 0;CH = 0;定时器定时 5ms,计200次为一秒CCON = 0;/复位PCA的计数器flag=0;AD_cou nt+; if(AD_cou nt>=100) AD_cou nt=0; flag1=1;/半S时间到Bit+;if(Bit>=4)Bit=0;P24=P25=P26=P27=1;P 0=Dua nData_BufferBit;先关位码/开段码if(cou nt<100&&Bit=1) P0|=0x80;/0.5S中间小数点亮,之后灭,不断循环swi

38、tch(Bit)/ 送位码case 0: P 24=0;break;case 1: P 25=0;break;case 2: P 26=0;break;case 3: P 27=0;break;(不加头文件程序无法运行哟!)头文件STC12C5A60S2.H/新一代1T 8051系列 单片机内核特殊功能寄存器C51 Core SFRs/7650 Reset ValuesfrACCOxEO;/Accumulator0000,0000 sfrB0000,0000 sfr PSW = 0xD0; /Program Status Word P 0000,0000/sbit CYsbit ACOxFO;

39、BRegisterCYACFORS1 RS0OV F1=P SWA7;=P swysbit F0 = P SWpsbit RS1 = P SWM;sbit RS0 = P SW3;sbit OV = P SW2;sbit P= P SWP/sfrSP=0x81;/StackP oi nter0000,0111sfrDPL=0x82;/DataP oi nterLowByte0000,0000sfrDPH=0x83;/DataP oi nterHighByte0000,0000/新一代1T 8051系列单片机系统管理特殊功能寄存器/7Reset Valuesfr PCON= 0x87; /Pow

40、er ControlIDL 0001,0000/0 Reset Valuesfr AUXR = 0x8E; /Auxiliary Register T0x12 T1x12EXTRAM S1BRS 0000,0000/sfr AUXR1 = 0xA2; /Auxiliary Register 1DPS 0000,0000/*PCA_P 4:0,缺省PCA 在P1 口1,PCA/PWM 从 P1 口切换到 P4 口 : ECI 从 P 1.2 切换到 P4.1P CA0/ PWM0P CA1/ PWM1SMODSMOD0LVDFPOFGF1GF0PDPCA P4UART_M0x6SPI_P4从P1

41、.3切换到 从P1.4切换到BRTRS2SMOD BRTx12S2_P4 GF2ADRJSPI_P4:0,1,缺省SPISPI 在 P1 口从P1 口切换到P4切换到P4.3 口口,P 4.2P 4.3S2_P4:0,1,UART2 在 P1 口缺省UART2从P1 口切换到GF2:通用标志位口 : SPICLK 从 P1.7MISO 从 P 1.6 切换到 P4.2 口MOSI 从 P 1.5 切换到 P4.1 口SS从P1.4切换到P4.0 口P4 口 : TxD2 从 P 1.3 切换到 P4.3 口RxD2 从 P 1.2 切换到 P4.2 口ADRJ:0, 10位A/D转换结果的高1

42、, 10位A/D转换结果的最高 2位放在ADC_RES寄存器的低2位, 寄存器8位放在ADC_RES 寄存器,低2位放在ADC_RESL低8位放在寄存器ADC_RESLDPS: 0,使用缺省数据指针 DP TR01,使用另一个数据指针 DPTR1*/SFR WAK1 CLKOsfr WAKE_CLKO = 0x8F; / 附加的/*7Reset ValueP CAWAKE UPRXD_PIN_IET1_PIN_IET0_PIN_IELVD WAKET1CLKOT0CLKO0000,0000BPCAWAKEUP : PCA 中断可唤醒 powerdown。 RXD_PIN_IE :当 P3.0(

43、RXD)下降沿置位 RIT1_PIN_IE :当T1脚下降沿置位 T1中断标志时可唤醒T0_PIN_IE :当T0脚下降沿置位 T0中断标志时可唤醒b7b6b5b4b3断b2b1b0*/-sfr CLK_DIV = 0x97; /Clock DivderCLKS0 xxxx,x000/sfr BUS_SPEED = 0xA1; /Stretch registerRWS0 xx10,x011/*ALES1 and ALES0:00 :TheP0 address set up timeand holdtime to ALEn egative edgeisone clock cycle01 :The

44、P0 address set up timeand holdtime to ALEn egative edgeistwo clock cycles.10 :TheP0 address set up timeand holdtime to ALEn egative edgeisthree clock cycles. (default)11 :TheP0 address set up timeand holdtime to ALEn egative edgeisfour clock cycles.时可唤醒LVD W AKE :当CMPIN脚低电平置位 LVD中断标志时可唤醒powerdown(必须

45、打开相应中断)。 powerdown(必须打开相应中断)。 powerdown(必须打开相应中断)。powerdow n(必须打开相应中T1CLKO :允许 T1CKO(P3.5)脚输出 T1 溢出脉冲,Fck1 = 1/2 T1T0CLKO :允许 T0CKO(P3.4)脚输出 T0 溢出脉冲,Fck0 = 1/2 T1溢出率溢出率CLKS2CLKS1ALES1 ALES0RWS2RWS1RWS2,RWS1,RWS0:000 : The MOVX read/write p ulse is 1 clock cycle.001 : The MOVX read/write p ulse is 2

46、clock cycles.010 : The MOVX read/write p ulse is 3 clock cycles.011 : The MOVX read/write p ulse is 4 clock cycles. (default)100 : The MOVX read/write p ulse is 5 clock cycles.101 : The MOVX read/write p ulse is 6 clock cycles.110 : The MOVX read/write p ulse is 7 clock cycles.111 : The MOVX read/wr

47、ite p ulse is 8 clock cycles.*/新一代1T 8051系列单片机中断特殊功能寄存器/有的中断控制、中断标志位散布在其它特殊功能寄存器中,这些位在位地址中定义 其中有的位无位寻址能力,请参阅新一代1T 8051系列单片机中文指南/7654Reset ValueEA ELVD EADC ES ET1 EX1 ET0sfr IE= 0xA8;/中断控制寄存器EX0 0x00,0000/=IEA7;sbit EA=lEW; /低压监测中断允许位sbit EADC=IE5; /ADC 中断允许位sbit ES=lEM;sbit ET1=IE3;sbit EX1=02;sbit

48、 ET0=lEX;sbit EX0=00;/sfr IE2=0xAF;/AuxiliaryIn terr upt-0000,0000B/Reset Valuesfr IP=0xB8; 中断优先级低位PPCA0000,0000/sbit PPCA=IP人7;/PCA模块中断优先级sbit P LVD=IP 人6;/低压监测中断优先级sbit P ADC=IP 人5;/ADC中断优先级sbit PS=IP 人4;sbit PT1=IP 人3;sbit PX1=IP 人2;sbit PT0=IP 人1;sbit PX0=IP 人0;sbit ELVD7P LVD P ADC PSPT1PX1ESPIPT0ES2PX0/0 Reset Valuesfr IPH = 0xB7; /中断优先级高位P T0H P X0H0000,0000sfr IP2 = 0xB5; /xxxx,xx00sfr IPH2 = 0xB6; /xxxx,xx00/新一代1T 8051系列/Reset Valuesfr P0 = 0x80;1111,111

温馨提示

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

评论

0/150

提交评论