课程设计项目成绩评定表电子与信息工程系2012年6月设计项目成绩评定表一、设计任务及要求:1、设计任务:要求仪器能够感知所处环境的光线变化,调整照明设备的亮度。2、要求:1、利用8051单片机内定时器和I/O接口。2、感知不同光线变化。3、随着不同的亮度发生照明不同指导教师签名:年月日二、指导教师评语:该设计研究了亮度测试仪,对处理的信息有较强的实用价值,报告思路清晰,论述过程严谨,分析合理,达到了课程报告的各种要求。指导教师签名:年月日三、成绩评定:指导教师签名:年月日四、系部意见:系部盖章:年月日课程设计报告书目录电子与信息工程系2012年6月设计报告书目录一、设计目的....................................................1二、设计思路....................................................1三、设计过程....................................................13.1系统方案论证.....................................................13.1.1原理图.........................................................13.1.2系统板硬件连线.................................................23.2硬件设计.........................................................33.3软件设计.........................................................63.3.1按键的软件设计.................................................63.3.2一般串行下载介绍...............................................73.3.3LCD1062显示介绍...............................................73.4PWM控制具体过程.................................................8四、系统调试与结果..............................................8五、主要元器件与设备............................................8六、课程设计体会与建议..........................................96.1设计体会.........................................................96.2设计建议.........................................................9亮度检测仪设计1电子与信息工程系2012年6月一、设计目的1、掌握微机原理的有关知识。2、初步掌握应用微机解决问题的步骤及方法。3、熟悉AT89C51单片机。二、设计思路1、硬件板上的系统连线设计。2、程序设计内容。3、I/O并行口直接驱动LED显示。三、设计过程3.1系统方案论证其根据相应载荷的变化来调制晶体管栅极或基极的偏置来实现开关稳压电源输出晶体管或晶管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制,根据输出电压占空比不同灯的亮度也不一样。占空比越大说明输出电压越大灯就越亮,反之,占空比越小即说明输出电压越小灯就越暗。3.1.1原理图如图1所示。亮度检测仪设计2电子与信息工程系2012年6月图13.1.2系统板硬件连线系统板硬件发生模块,键盘模块,及LED显示模块连接如下它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期、PWM的占空比而达到控制充电电流的目的。流程图2所示。图2单片机PWM控制LCD1062显示按键初始化按键扫描LCD初始化AD初始化开始延时设第一行显示位置及内容设第二行显示位置及内容按键按下亮度检测仪设计3电子与信息工程系2012年6月3.1.3主要芯片简介AT89S51简介AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。3.2硬件设计亮度反馈部分如图3所示,图中RF为光敏电阻,它可更加接收到的LED灯光的亮度改变自身阻值。LED灯变亮,其阻值越小,反之,LED灯越亮,其阻值也越大。图3亮度反馈原理图亮度检测仪设计4电子与信息工程系2012年6月按键电路部分独立式键盘:独立式键盘是指直接用I/O口线构成的单个按键电路。每根I/O口线上按键的工作状态不会影响其他I/O口线的工作状态。微处理器通过向此I/O口发出读指令来得到当前按键的状态。键未按下时,此信号为1,高电平。键按下时,此信号为O,低电平。因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了。键盘电路选择根据实际需要本次设计采用独立式键盘,如图4所示。通过按键可以增大、减小LED灯的给定值。给定值的不同其亮度也不同。通过按键可把LED灯调节到合适的亮度。图4串口下载部分通过下图串口下载电路,可以将程序从PC机直接下载到板子上的STC中比较方便。亮度检测仪设计5电子与信息工程系2012年6月图5LED执行部件如下图2-3P1.4输出PWM输出控制信号。根据输出电压占空比不同灯的亮度也不一样。占空比越大说明输出电压越大灯就越亮,反之,占空比越小即说明输出电压越小灯就越暗。图6LED执行部件原理图亮度检测仪设计6电子与信息工程系2012年6月3.3软件设计3.3.1按键的软件设计1、查询方式查询方式是指CPU不断的判断I/O口按键接口的状态就像扫描一样,扫描哪个按键式是处于被按下状态,扫描到了就可以确定是哪个按键了。在查询方式下不管有没有按键,CPU都需要不断地进行查询操作以判断是否有键按下,这不利于提高CPU的效率。在一些任务繁重或者低功耗应用场合,尤其不适合使用。如果采用中断方式,只有在每次有键按下CPU才去响应键盘,这样能够大大减轻CPU的任务量。2、中断方式相比查询方式要好很多,当然它多占用了单片机的一个资源当检测到有按键按下时就进入到中断里面判断是哪个按键,换句话可以理解为在中断中扫描按键值。用中断方式恰恰就解决了查询方式中的问题。由于按键多为机械弹性开关,它是利用了机械触点的合、断作用。所以按键性决定,一般为5~10ms这是一个很重要的参数。抖动过程引起电平信号的波动有可能令CPU误解为多次按键操作,从而引起误处理。通常避免该问题是通过消抖来实现的,而消抖的方式也有两种:软件方式和硬件方式。1、可以用电路来实现,如加RS触发器,使其产生单次手动脉冲,此外,也可以利用积分电路来吸收抖动带来的干扰脉冲,只要选择好适当的参数也能达到较好的效果。2、多采用软件延时的方法,在第一次检测到有键按下时执行一段延时10ms的子程序后再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平则确认真正有键按下。释放一个键时方法相同。这种消除抖动影响的软件措施是切实可行的。亮度检测仪设计7电子与信息工程系2012年6月3.3.2一般串行下载介绍ISP在系统编程一般目标芯片内包含了专用的接口电路,上位机发送编程命令码及编程控制信息后由芯片硬件自动完成编程。比如通过JTAG口升级就是其中的一种,现在推出的许多新的芯片比如ARM都采用此模式。ATMEL公司的AT89S5x系列的单片机的下载模式虽然不属于JTAG模式,但很类似应该属于ISP类。IAP一般叫做在应用编程。MCS-51系列单片机中采用比较多的sst、stc两家公司的单片机就属于这种模式与上面的模式是有区别的。ISP编程属于纯硬件操作,只要FLASH的物理特性未损坏就可以实现串口升级,但升级模式是固定的。IAP模式属于属于软件操作,如果8K区并无物理损坏但软件有问题就只能使用编程器来编程,无法实现串口升级。但正是由于这种可更改性,可以扩展多种升级方式更灵活。其实物理损坏的可能性不大,所以个人认为还是IAP更好些。3.3.3LCD1062显示介绍1602LCD分为带背光和不带背光两种基控制器大部分为HD44780带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图所示图7LCD1062显示亮度检测仪设计8电子与信息工程系2012年6月3.4PWM控制具体过程脉冲宽度调制PWM是一种对模拟信号电平进行数字编码的方法。通过高行编码。PWM信号仍然是数字的,因为在给定的任何时刻满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。许多微控制器内部都包含有PWM控制器。占空比是接通时间与周期PWM操作之前这种微处理器要求在软件中完成以下工作:1、设置提供调制方波的片上定时器/计数器的周期2、在PWM控制寄存器中设置接通时间3、设置PWM输出的方向这个输出是一个通用I/O管脚4、启动定时器5、使能PWM控制器四、系统调试与结果1、硬件调试,对各个模块的功能进行调试,主要调试各模块能否实现指定功能2、软件调试主要检查语法错误。3、将调试好的硬件和软件进行联调,主要调试系统实现功能。此次系统设计结果较好,分别拨动按键会发出高低不同的声音。五、主要元器件与设备AT89C51单片机、键盘、PWM、LCD显示亮度检测仪设计9电子与信息工程系2012年6月六、课程设计体会与建议6.1设计体会我的设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。基本掌握了Protel99SE原理图的方法,并设计了一个单片机最小系统。通过开发板的设计和硬件搭建的过程,使我对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,如LED数码管,键盘等。在软件方面,通过串行口调试工具的开发,使我加深了对累封装的理解,熟悉了51系列单片机内部的寄存器和编程规则,以及如何控制外围电路。6.2设计建议我希望老师在我们动手制作之前应先告诉我们一些关于所做电路的资料、原理,以及如何检测电路的方法,还有关于检测芯片的方法。这样会有助于我们进一步的进入状态,完成