单片机原理及应用实验报告(共12页).doc
《单片机原理及应用实验报告(共12页).doc》由会员分享,可在线阅读,更多相关《单片机原理及应用实验报告(共12页).doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 实验课程:单片机原理及应用 实验项目:单片机控制LED灯亮灭 专业班级: 学 号: 姓 名:实验日期:实验一 单片机控制LED灯实验.一、实验目的1、 进一步掌握Keil的使用,熟悉单片机C语言编程。2、 学习I/O口的使用方法。二、实验原理发光二级管是半导体二极管的一种,可以把电能转化为光能,常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。只要加在发光二极管两端的电压超过它的导通电压(一般为1.7V-1.9V)它就会导通,而当流过它的电流超过一定电流时(一般2-3mA)它就会发光。LED常用在MCS-51单片机中指示单片机的某个开关
2、量的状态。对单片机的控制,其实就是对I/O口(单片机引脚)的控制。单片机共四个端口,P0、P1、P2、P3;每个端口分别有8个引脚 P0.0-P0.7、P1.0-P1.7、P2.0-P2.7、P3.0-P3.7;这32个引脚既可以作输出脚,又可以作输入脚。作输出脚时,单片机可以控制指示灯、数码管、电机等外部器件;作输入脚时,可以“感受”按键、开关、传感器等外部器件(例如接收数据-此就是作为输入脚的),单片机的每个引脚都是可以分开控制的,即独立的给高或者低电平。想要点亮一个小灯,首先要将小灯与单片机的一个 I/O 口连接好,然后将此引脚给高或者低电平,接着这个小灯就可以按照你给的电平实现点亮或熄
3、灭了。三、硬件电路设计 LED模块排线接口如图3-1所示。依据实验原理,只要将所需控制的LED 对应排线引脚连接到单片机一个I/O口即可。1、 连接方法:JP11(P2)和JP1和LED灯的JP1用8PIN排线连接起来。2、 硬件说明:使用单片机的P2口来驱动8个LED,发光二极管的阳极接高电平,故P2口为低电平时,就可以驱动其点亮。四、软件设计1. 单灯D3闪烁#include void delay(void) /延时程序 unsigned int i; for(i=0;i20000;i+) ; void main(void) while(1) P2=0xfb; /灯亮 delay(); /
4、延时 P2=0xff; /灯灭 delay(); /延时 2、双4只 LED 灯(D1、D3、D5、D7 与D2、D4、D6、D8)交替闪烁#include#define uint unsigned int #define uchar unsigned char void delay();void main() while(1) P2=0xaa; /1010 1010delay();P2=0x55; /0101 0101delay(); void delay() /延时程序uint x,y;for(x=100;x0;x-)for(y=600;y0;y-);3、8只LED灯(D1、D2、D3、D
5、4、D5、D6、D7、D8)流水灯显示#include void delay(void) unsigned char i,j; for(i=0;i250;i+) for(j=0;j250;j+); void main() while(1) P2=0xfe; delay(); P2=0xfd; delay(); P2=0xfb; delay(); P2=0xf7; delay(); P2=0xef; delay(); P2=0xdf; delay(); P2=0xbf; delay(); P2=0x7f; delay(); 三、 实验结果分析:刚开始不是很熟悉,无法按照老师所讲的进行试验,反复操
6、作后,完成了试验。实验二 数码管实验一、实验目的1、 掌握数码管显示原理(静态显示和动态显示)。2、 掌握数码管显示编程。二、实验原理数码管是一种半导体发光器件,是MCS-51单片机系统中用得非常多的一种输出通设备,其基本单元是发光二级管。MCS-51单片机系统中最常使用的是8段数码管。1、数码管显示原理图4-1 数码管内部原理图 8段数码管的内部结构是由8个发光二极管组成的,如图4-1所示,从图4-1(a)可看出,一位数码管的引脚是10个,显示一个8字需要7个小段,另外还有一个小数点,所以其内部一共有8个小的发光二极管,最后还有一个公共端,生产商为了封装的统一,单位数码管都封装10个引脚,其
7、中第3和第8引脚是连接在一起的。而它们的公共端又可以分为共阳极和共阴极,如图4-1(b)所示。 共阳极数码管的8个发光二极管的阳极(正极)连接在一起接高电平(一般接电源),其它管脚接各段驱动电路输出端。当某段的输出端为低电平时,则该段所连接的发光二极管导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。共阴极数码管的8个发光二极管的阴极(负极)连接在一起接低电平(一般接地),其它管脚接各段驱动电路输出端。当某段的输出端为高电平时,则该段所连接的发光二极管导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。因此我们在显示数字的时候首先做的就是给“0-9”十个数字编码,在要它亮什么数字
8、的时候直接把这个编码送到它的阳极就行了。当数码管为多位一体时,它们内部的公共端是独立的,而负责显示什么数字的段线全部是连接在一起的,独立的公共端可以控制多位一体中的哪一位数码管点亮,而连接在一起的段线可以控制这个能点亮数码管亮什么数字,通常我们把公共端叫做“位选线”,连接在一起的段线叫做“段选线”,有了这两个线后,通过单片机及外部驱动电路就可以控制任意的数码管显示任意的数字了。2、数码管静态显示静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是,当显示
9、多位数字时,将占用较多的I/O端口,硬件电路比较复杂,成本较高。3、数码管动态显示动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。点亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 三、软件设计1. 用一个数码管循环演示0-9#include unsigned char code tab10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0
10、x80,0x90;main() unsigned char i; unsigned int j; while(1) for(i=0;i10;i+)/循环演示0-9 P2=tabi; for(j=0;j50000;j+); /延时 2. 用数码管显示1,2,3,4,5,6,7/ 数码管同时显示1-7#include unsigned char code wei7=0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE; /*共阳0有效*/ unsigned char code duan7=0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07; /*共阴1有效*/ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 实验 报告 12
限制150内