1 / 19
文档名称:

单片机实验报告.doc

格式:doc   大小:258KB   页数:19页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机实验报告.doc

上传人:xunlai783 2018/5/4 文件大小:258 KB

下载得到文件列表

单片机实验报告.doc

相关文档

文档介绍

文档介绍:单片机实验报告

08电子2班
向灯
080110021118
目录
实验一单片机控制LED灯点亮
实验二单片机控制数码管实验
实验三中断系统应用实验
实验四定时器/计数器使用
实验一单片机控制LED灯点亮
一、实验目的



二、实验说明
P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。
三、实验步骤及参考例子
实验步骤说明:
本实验需要用到单片机最小应用系统和十六位逻辑电平显示模块。
用P1口做输出口,接十六位逻辑电平显示,程序功能使发光二极管点亮。
。用扁平数据线连接单片机P1口与LED灯相连。
,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
uVision2仿真软件,首先建立本实验的项目文件,输入源程序(实验(一)),进行编译,直到编译无误。生成hex文件。
,将hex文件下载到实验板内,观察发光二极管显示情况。
参考例子:
点亮板子上的第一个灯D0
点亮板子上的D0、D2、D4、D6灯,与D1、D3、D5、D7灯交替闪烁
流水灯:从D0---D7依次点亮
注:在做完实验时记得养成一个好****惯:把相应单元的短路帽和电源开关还原到原来的位置!以下将不再重述。
四、参考程序
1)
#include<>
void main()
{
P1=0xfd;
}
2)
#include<>
#define uint unsigned int
#define uchar unsigned char
void delay();
void main()
{
while(1)
{
P1=0xaa;
delay();
P1=0x55;
delay();
}
}
void delay()
{
uint x,y;
for(x=100;x>0;x--)
for(y=600;y>0;y--)
;
}
3)
#include<>
#include <>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
void delay(uint);
void main()
{

temp=0xfe;
while(1)
{
for(num=0;num<8;num++)
{
P1=temp;
delay(100);
temp=_crol_(temp,1);
P1=0xff;
delay(100);
}

}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--)
;
}
五、电路图
实验二单片机控制数码管实验
一、实验目的
1. 掌握数码管是如何显示出字符
2. 掌握数码管动态显示原理
二、实验原理

2. 共阴极数码管编码
0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d ,
0 1 2 3 4 5
0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c ,
6 7 8 9 A B
0x39 , 0x5e , 0x79 , 0x71 , 0x00
C D E F 无显示

动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。
三、参考例子
1)让第一个数码管显示一个8字
让第一个数码管显示8字,那么别的数码管的位选就要关闭,即只打开第一个数码管的位选。控制位选的P2口要输出的数据位0xfe(二进制为111 11110)。位选确定后,在确定段选,要显示的是8,那么只有dp段为0,其余段为1,所以P0口要输出0x7f(二进制0111 1111)
2)在四个数码管上显示1