06416211林飞

发布时间 : 星期二 文章06416211林飞更新完毕开始阅读

闪烁LED小灯的设计

一、设计要求

利用单片机作为控制核心,完成功能:本设计的闪烁小灯控制器,

具体要求如下:可使小灯轮流点亮,可使小灯轮流点亮、逐点点亮、间隔点亮。通过按键来进行切换。

1.1基本部分

(1)主程序 (2) 中断程序 (3) 扫描子程序 (4)延时程序

二、实验方案与原理分析

实验总体电路构造方案比较简单,主要包括键盘控制电路(用脉冲按键开关对电路进行控制)和显示电路(单片机控制发光二极管的显示)。

按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~12MHz工作频率,使用ST89C52单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。

2.1方案一

利用STC89C52A芯片做为CPU。

只有3.3V工作电压的STC89C52单片机,使得产品更小,更轻,功耗更低降低成本,提升性能,原有程序直接使用,硬件无需改动。。如果相关新增功能没有用到,则不需看相应部分。用STC提供的STC-ISP.exe工具将您原有的代码下载进STC相关的单片机即可,或用通用编程器编程

另外TXD和RXD是用于异步串行通信的。其实STC系列单片机的ISP下载线就是一个max232芯片连接STC和计算机的串行通信口。计算机把程序从九针串口送到MAX232芯片,电平转换后送进单片机的串行口,也就是TXD和RXD。然后单片机的串行模块把数据送到程序区。

方案一系统方框图如下:

CPU(运算部件)数据存储器P0口P2口程序存储器特殊功能寄存器定时、计数器串行口(控制部件)P1口中断系统P3口图 1 系统方框图

2.2、方案二

利用MSP430芯片做为CPU。

MSP430各端口具有丰富的控制寄存器供用户实现相应的操作。其中P1,P2具有7

个寄存器,P3~P6具有4个寄存器。通过设置寄存器我们可以实现:(1)每个I/O位独立编程;(2)任意组合输入,输出和中断;(3)P1,P2所有8个位全部可以用作外部中断处理;(4)可以使用所以指令对寄存器操作;(5)可以按字节输入、输出,也可按位进行操作; 方案二的框图如下:

XINXOUTACLKMCLK闪存器内存256B比较器P1口8个IO口16MhzCPU16个寄存器启动定时寄存器JTAG接口看门狗电路掉电保护P2.X&XIN/XINOUTP2口8个IO口VCCVSS基本的时钟系统SMCLKP1.x&JTAG图 2 方案二系统框图

2

2.3、方案三

框图略。利用芯片PIC16FA做为主要芯片。原理图见附录中的PIC16FA.,此芯片具有高性能RISC CPU.仅有35条单字指令,除程序分支指令为两个周期外,其余均为单周期指令,有14个中断源,8个深度的硬件堆栈,也是支持直接,间接和相对寻址方式。

三、方案对比

利用STC89C52A芯片做为CPU时在掉电时典型功耗为0.5uA, 还可由外部中断唤醒,中断返回后,继续执行原程序。空闲模式,典型功耗为2mA。正常工作模式,典型功耗为4mA - 7mA。超强抗干扰STC89C51RC / RD+系列单片机。 I/O口输入/输出口经过特殊处理,很多干扰是从I/O进去的,每个I/O均有对VCC/对GND二级管箝位保护。电源单片机内部的电源供电系统经过特殊处理,很多干扰是从电源进去的。时钟,单片机内部的时钟电路经过特殊处理,很多干扰是从时钟部分进去的。看门狗,单片机内部的看门狗电路经过特殊处理,打开后无法关闭,可放心省去外部看门狗。复位电路,单片机内部的复位电路经过特殊处理,很多干扰是从复位电路部分进去的,STC89C51RC/RD+系列单片机为高电平复位。推荐外置复位电路为MAX810/STC 。 而在用MSP430芯片做为CPU时,MSP430系统中没有专门的输入/输出指令,输入/输出操作通过传送指令来实现。当任一事件引起的中断进行处理时,PXIFG.0~PXIFG.7不会自动复位,必须由软件来判断是对哪一个事件,并将相应的标志复位并且外部中断事件的时间必须保持不低于1.5倍的MCLK时间,以保证中断请求被接受,且使相应中断标志同时端口P3、P4、P5、P6没有中断能力,端口COM和S,他们实现必需要与液晶片的直接接口相连。对于方案三中,在当中断发生时,中断标志位置1,不管它的相应使能位或全体使能位的状态,用户软件在使能一个中断之前保证合适的中断标志位清零。且价格比ST89C52要贵得多。

尤其重要的是STC89C52A芯片便宜,且对于我们所需功能不是很多,且对于这个要求不是很高的LED灯点亮的情况下,都能满足条件。因此我是毫不犹豫的选择了STC89C52A芯片做为我的主芯片;

四、各种应用软件及芯片的简介

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-5

3

1单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

4.1、ST89C52的简介

如外部不加上拉,或外部上拉到Vcc,上电复位后单片机从内部开始执行程序,当外部下拉到地,上电复位后单片机上电复位后单片机从内部开始执行程序;从外部开始执行程序。阻容复位时,电容为10uF,电阻为10K;RC/RD+ 系列单片机RESET 脚内部没;电容C2 可接47~33pF(<24MHz),30,22,15pF,33M 以上15pF;6M 以下47pF,100pF-180pF;下拉电阻,必须用此10K 电阻;单片机内部的复位电路经过特殊处理,很多干扰是从复位电路部分进去的,STC89C51RC/RD+系列单片机为高电平复位。推荐外置复位电路为 MAX810/STC810,STC6344,STC6345,813L,706P;也可用R/C 复位,10uF 电容/10k 电阻,22uF/8.2k 等。宽电压,不怕电源抖动5V: 6v - 3.4v 3V: 4v - 1.9v; 外部时钟频率降一半: 传统的8051 为每个机器周期12 时钟,如将STC 的增

强型8051 单片机在ISP 烧录程序时设为双倍速(即6T 模式,每个机器周期6 时钟),则可将单片机外部时钟频率降低一半,有效的降低单片机时钟对外界的辐射 单片机内部时钟振荡器增益降低一半: 在ISP 烧录程序时将OSCDN 设为1/2 gain

可以有效的降低单片机时钟高频部分对外界的辐射,5V单片机外部晶振频率<24MHz时,3V;单片机外部晶振频率<16MHz 时,将OSCDN 设为1/2 gain。

4

联系合同范文客服:xxxxx#qq.com(#替换为@)