资源描述
摘 要
现在单片机渗透到我们生活各个领域,几乎极难找到哪个领域没有单片机踪迹。导弹导航装置,飞机上多种仪表控制,计算机网络通讯和数据传输,工业自动化过程实时控制和数据处理,广泛使用多种智能IC卡,民用豪华轿车安全保障系统,录像机、摄像机、全自动洗衣机控制,和程控玩具、电子宠物等等,这些全部离不开单片机。更不用说自动控制领域机器人、智能仪表、医疗器械了。所以,单片机学习、开发和应用尤为关键。而51单片机是各类单片机中最为经典和最具代表性一个。本试验是基于MCS-51系列单片机所设计,以单片机芯片AT89C52作为关键控制器,经过硬件电路制作和软件程序编制,实现PWM控制LED亮度。
关键词:AT89C51、PWM、LED
目 录
1 项目概述和要求 1
1.1 单片机基础知识 1
1.3 项目设计任务和设计思绪 3
2 系统设计 5
2.2元件清单 5
2.2.1 AT89C51芯片 5
2.2.2 LED 7
2.2.3其它元件 8
3软件设计 9
3.1 程序 9
4 系统仿真和调试 11
4.1 硬件调试 11
4.2 软件调试 12
4.3 软硬件调试 12
5总结 14
参考文件 15
1 项目概述和要求
1.1 单片机基础知识
单片机又称单片微控制器,它不是完成某一个逻辑功效芯片,而是把一个计算机系统集成到一个芯片上。概括讲,一块芯片就成了一台计算机。
单片机含有体积小、功效强、应用面广等优点,现在正以前所未见速度替换着传统电子线路组成经典系统,蚕食着传统数字电路和模拟电路固有领地。它体积小、质量轻、价格廉价、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理和结构最好选择。
现在,这种单片机使用领域已十分广泛。彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机影子,单片机早已深深地融入我们每个人生活之中。
单片机能大大地提升这些产品智能性,易用性及节能性等关键性能指标,给我们生活带来舒适和方便同时,在工农业生产上也极大地提升了生产效率和产品质量。单片机按用途大致上可分为两类,一个是通用型单片机,另一个是专用型单片机
MCS-51单片机是美国INTEL企业于1980年推出产品,和MCS- 48单片机相比,它结构更优异,功效更强,在原来基础上增加了更多电路单元和指令,指令数达111条,MCS-51单片机能够算是相当成功产品,一直到现在,MCS-51系列或其兼容单片机仍是应用主流产品,各高校及专业学校培训教材仍和MSC-51单片机作为代表进行理论基础学习。MCS-51系列单片机关键包含8031、8051和8751等通用产品。
增强型单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路全部集成在单一芯片上,这么单片机包含单元电路就更多,功效就越强大。甚至单片机厂商还能够依据用户要求量身定做,制造出含有自己特色单片机芯片。
另外,现在产品普遍要求体积小、重量轻,这就要求单片机除了功效强和功耗低外,还要求其体积要小。现在很多单片机全部含有多个封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机组成系统正朝微型化方向发展。
1.3 项目设计任务和设计思绪
设计任务:
基于电位器控制LED亮度
设计思绪:
LED通常是恒流操作,怎样改变LED亮度呢?答案就是PWM控制。在一定频率方波中,调整高电平和低电平占空比,即可实现。比如我们用低电平点亮一个LED灯,假设我们把一个频率周期分为10个时间等份,假如方波中高低电平占空比是9:1,这是就是一个比较暗亮度,假如方波中高低电平占空比是0:10,这时,全部是高电平,灯是灭。假如占空比是5:5,就是一个中间亮度,假如高低比是9:1,是一个比较亮亮度,假如高低是10:0,这时全部是低电平,就是最亮。
实际上应用中,电视屏幕墙中几十百万LED象素全部是这么控制,而且每一个象素全部有红绿蓝3个LED,每个LED能够改变亮度是几百到几万或更多等级,以实现真彩色显示。还有在您手机中,背光灯亮度假如是能够改变,也应该是这种工作方法。现在城市彩灯也有很多全部使用了LED,需要控制亮度是也是PWM控制。
2 系统设计
2.1系统电路原理图
图2-1利用PWM信号控制LED亮度驱动电路
2.2元件清单
2.2.1 AT89C51芯片
AT89C51芯片图以下图2-2-1所表示。
图2-2-1AT89C51芯片图
①介绍:
AT89C51是一个带4K字节闪存可编程可擦除只读存放器(FPEROM—Flash Programmable and Erasable Read Only Memory)低电压、高性能CMOS8位微处理器,俗称单片机。AT89C2051是一个带2K字节闪存可编程可擦除只读存放器单片机。单片机可擦除只读存放器能够反复擦除1000次。该器件采取ATMEL高密度非易失存放器制造技术制造,和工业标准MCS-51指令集和输出管脚相兼容。因为将多功效8位CPU和闪烁存放器组合在单个芯片中,ATMELAT89C51是一个高效微控制器,AT89C2051是它一个精简版本。AT89C单片机为很多嵌入式控制系统提供了一个灵活性高且价廉方案。
②关键特征:和MCS-51 兼容;4K字节可编程闪烁存放器;寿命:1000写/擦循环;数据保留时间:;全静态工作:0Hz-24MHz;三级程序存放器锁定;128×8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中止源;可编程串行通道;低功耗闲置和掉电模式;片内振荡器和时钟电路。
2.2.2 LED
◆LED灯显示原理
原理:LED是英文light emitting diode(发光二极管)缩写,它基础结构是一块电致发光半导体材料,置于一个有引线架子上,然后四面用环氧树脂密封,起到保护内部芯线作用,所以LED抗震性能好。 LED结构图以下图所表示 发光二极管关键部分是由p型半导体和n型半导体组成晶片,在p型半导体和n型半导体之间有一个过渡层,称为p-n结。在一些半导体材料PN结中,注入少数载流子和多数载流子复合时会把多出能量以光形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作二极管叫发光二极管,通称LED。当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向阴极时,半导体晶体就发出从紫外到红外不一样颜色光线,光强弱和电流相关。
图2-2-1LED实物图
图 2-2-2LED 电路图
2.2.3其它元件
其它元件图以下图2-6所表示。
图2-2-3其它元件图
3软件设计
3.1 程序
#define uchar unsigned char //定义一下方便使用
#define uint unsigned int
#define ulong unsigned long
#include <reg52.h> //包含一个 52 标准内核头文件
sbit P10 = P1^0; //要控制 LED灯
sbit P11 = P1^1;
sbit P12 = P1^2;
sbit P13 = P1^3;
sbit P14 = P1^4;
sbit P15 = P1^5;
sbit P16 = P1^6;
sbit P17 = P1^7;
uchar scale; //用于保留占空比输出 0 时间份额,总共 10 份
char code dx516[3] _at_ 0x003b; //这是为了仿真设置
//模拟 PWM 输出控制灯 10 个亮度等级
void main(void) // 主程序
{
uint n;
RCAP2H =0xF3; //赋 T2 预置值,溢出 1 次是 1/1200 秒钟
RCAP2L =0x98;
TR2=1; //开启定时器
ET2=1; //打开定时器 2 中止
EA=1; //打开总中止
while(1) //程序循环
{ ; //主程序在这里就不停自循环,实际应用中,这里是做关键工作
for(n=0;n<50000;n++); //每过一会儿就自动加一个档次亮度
scale++;
if(scale==10)scale=0;
}
}
//1/1200秒定时器 2 中止
timer2() interrupt 5
{
static uchar tt; //tt 用来保留目前时间在一秒中百分比位置
TF2=0;
tt++;
if(tt==10) //每 1/120 秒整开始输出低电平
{
tt=0;
if(scale!=0) //这里加这一句是为了消除灭灯状态产生鬼影
P1=0x00;
}
if(scale==tt) //根据目前占空比切换输出高电平
P1=0xff;
}
4 系统仿真和调试
4.1 硬件调试
单片机软件仿真系统Proteus介绍:
Proteus是英国Labcenter Electro-nics企业开发一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES(Adv-Ancd Routing and Editing Software)也就是PCB.
图4-1 ISIS开启界面
图4-2 单片机属性设定
硬件调试分为静态调试和动态调试,对于硬件调试而言,只要认真焊接,硬件通常不会出现什么问题。
静态调试通常采取工具是万用表,它是在用户系统未工作时一个硬件检测。
动态调试是在用户系统工作情况下发觉和排查错误一个硬件检测。调试步骤是:首先把电路分为若干模块,调试过程中和该模块无关元件能够不加考虑,这么可把故障限定在一定范围内;故障清除后,把各个模块合在一起进行联调,即可完成整个硬件调试工作。
4.2 软件调试
Keil μVision2开发环境介绍:
Keil软件是现在最流行开发MCS-51系列单片机软件。Keil提供包含C编译器,宏汇编,连接器,库管理和一个功效强大仿真调试器等在内完整开发方案。经过一个集成开发环境μVision2将这些部分组合在一起。
软件调试是经过对程序汇编、连接、实施来发觉程序中存在语法错误和逻辑错误并加以排除纠正过程。
4.3 软硬件调试
软硬件联调是指把调试无误软件程序烧制进单片机芯片内部,通上电源后,检验硬件工作是否有预期效果,假如没有则需要检测软件是否在实现功效上有欠缺。若有错误,经过改写软件来调试,直至达成预期效果,则设计圆满成功。
本课程设计调试结果以下图4-3所表示。
图4-3 调试结果图
5总结
经过快要一个星期课程设计,PWM控制LED亮度设计基础完成,系统功效基础实现,测试运行也基础正常。该系统基础上完成了模拟PWM控制LED亮度。
当然这个系统还存在很多有待完善地方:功效相对较少,有待于添加,比方说时钟和闹钟功效;界面设计得不够精巧完美;
这次课程设计时间即使不算很长,但使我对很多东西有了更深刻认识。总结以下:
1.单片机基础知识要熟练掌握。
2.查阅资料和阅读相关文件关键性,充足利用网络这个大资料库。
.3..向同学请教关键性和团体协作关键性。
4 .勤动手关键性,自己动手,丰衣足食!在一次次调试代码过程中,我才明白“代码不是写出来,是调试出来”道理。
5.对待任何事情全部要有耐心和恒心,碰到问题要冷静地思索,主动找出症结所在,逐一处理。
经过此次课程设计,我更深刻认识到了教学实践在大学课程中关键性,同时也发觉到了自己在学习方面存在很多不足之处,在以后学习中我会努力改善这些不足,不停提升自己动手实践能力。
基于电位器控制LED亮度
要求:1 利用单片机控制AD采集电位器电压
2 依据电位器电压值大小控制LED灯亮度
3 led亮度控制采取PWM
参考文件
[1]康华光,陈大钦. 电子技术基础—模拟部分(第五版)[M].北京:高等教育出版社,
[2]李朝青.单片机原理及接口技术(第3版)[M].北京航空航天大学出版社,
[3]兰吉昌.51单片机应用设计百例.[M].北京:化学工业出版社,
[4]
[5]
[6]丁元杰 单片微机原理和应用(第3版)机械工业出版社,
[7]
展开阅读全文