单片机实验报告3.docx

上传人:b****4 文档编号:5512289 上传时间:2022-12-17 格式:DOCX 页数:11 大小:16.91KB
下载 相关 举报
单片机实验报告3.docx_第1页
第1页 / 共11页
单片机实验报告3.docx_第2页
第2页 / 共11页
单片机实验报告3.docx_第3页
第3页 / 共11页
单片机实验报告3.docx_第4页
第4页 / 共11页
单片机实验报告3.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

单片机实验报告3.docx

《单片机实验报告3.docx》由会员分享,可在线阅读,更多相关《单片机实验报告3.docx(11页珍藏版)》请在冰豆网上搜索。

单片机实验报告3.docx

单片机实验报告3

XXXXXXXXXXX

实验指导书

(微电子技术系)

 

编写

 

电子科技大学成都学院

2010年10月

学号:

姓名:

院系:

微电子技术系

专业:

集成电路设计与集成系统

教师:

李海

 

目录

实验一灯的闪烁

实验二IO口的端口读写实验

实验三流水灯

实验四数码管动态显示字符“0123”

实验五学号的显示

实验六定时器/计数器T1的使用

实验七定时器/计数器T0的使用

试验八实验板的PCB图

 

实验一:

灯的闪烁

实验时间:

2010年8月实验地点:

二实验楼405同组人员:

陈亚军

一、实验目的

1、认识和使用keil、ISP软件。

2、学会运用延时程序和掌握端口变量控制。

3、培养动手能力和单片机的学习兴趣。

二、实验原理和内容

通过端口的高低电平来控制发光二极管导通和截止。

并用延时程序使在一定的时间上导通和截止,即可得到闪烁效果。

三、实验步骤

1、编写代码,编译,修改直至通过,然后生成HEX文件。

2、在实验箱上连接好电路,将下载器连接到实验箱。

3、将代码下载到实验箱

4、观察结果。

四、实验代码

#include

voiddelay(unsignedcharms)

{

unsignedcharx,y;

for(ms=1;ms>0;ms--)

for(y=71;y>0;y--)

for(x=2;x>0;x--);

}

sbitLED=P0^0;

main()

{

LED=1

while

(1)

{

delay

(1);

LED=~LED;

}

}

五、实验总结

通过本次实验,学会了使用keil和ISP软件,学会了单片机怎样控制灯的亮与灭。

 

实验二:

I/O口的读写实验

实验时间:

2010年9月实验地点:

二实验楼405同组人员:

梁娅娇

 

一、实验目的

1、掌握I/O口的读写操作

二、实验原理和内容

用单片机的P1口去控制P2口的输出。

在P1口并联接八个按键,P2并联接八个共阳极LED灯。

按下P1^0则LED1亮,以此类推,按下P1^8,则LED8亮。

三、实验步骤

1、编写代码,编译,修改直至通过,然后生成HEX文件。

2、在实验箱上连接好电路,将下载器连接到实验箱。

3、将代码下载到实验箱

4、观察结果。

四、实验代码

#include

#defineuintunsignedint

sbitp20=P2^0;

sbitp10=P1^0;

voiddelay(uintx);

voidmain()

{while

(1)

{

if(p20==0)

delay(10);

if(p20==0)

p10=0;

elsep10=1;

}

}

voiddelay(uintx)

{

uinta,b;

for(a=x;a>0;a--)

for(b=110;b>0;b--);

}

 

实验三:

流水灯

实验时间:

2010年10月实验地点:

二实验楼405同组人员:

梁娅娇

一、实验目的

1、掌握实用的流水灯设计方法。

二、实验原理和内容

通过不同时刻,点亮不同的发光二极管,使其给人一种流水灯的感觉。

三、实验步骤

1、编写代码,编译,修改直至通过,然后生成HEX文件。

2、在实验箱上连接好电路,将下载器连接到实验箱。

3、将代码下载到实验箱

4、观察结果。

四、实验代码

#include

#include

voiddelayms(unsignedcharms)//延时程序

{

unsignedchari;

while(ms--)

{

for(i=0;i<240;i++);

}

}

main()

{

unsignedcharLED;

LED=0xfe;//位选信号,用来选择发光二极管

P0=LED;

while

(1)

{

delayms(250);

LED=_crol_(LED,1);//位选左循环实现循环位选

P0=LED;

}

}

 

实验四:

数码管动态显示字符“0123”

实验时间:

2010年10月实验地点:

二实验楼405同组人员:

梁娅娇

一、实验目的

1、掌握实用的数码管的动态显示的设计方法。

二、实验原理和内容

通过点亮7个不同的发光二极管形成一个数码,同时用一个端口控制不同时刻的数码管显示,实现数码的动态显示。

三、实验步骤

1、编写代码,编译,修改直至通过,然后生成HEX文件。

2、在实验箱上连接好电路,将下载器连接到实验箱。

3、将代码下载到实验箱

4、观察结果。

四、实验代码

#include

#include

#include

unsignedcharcodedis_code[]={0xc0,0xf9,0xa4,0xb0};

unsignedchardatadis_buf[4];

unsignedchardatadis_index;

unsignedchardatadis_digit;

voiddelay(intt)

{

inti;

while(t--){

for(i=0;i<120;i++);

}

}

voidmain()

{

P0=0xff;

P2=0;

TMOD=0x01;

TH0=0x8C;

TL0=0x8B;

IE=0x8A;

dis_buf[0]=dis_code[0x0];

dis_buf[1]=dis_code[0x1];

dis_buf[2]=dis_code[0x2];

dis_buf[3]=dis_code[0x3];

dis_digit=0x01;

dis_index=0;

TR0=1;

while

(1);

}

voidtimer0()interrupt1

{

TH0=0x8C;

TL0=0X8B;

P2=0;

if(dis_digit==0x10)

P0=dis_buf[dis_index];

P2=dis_digit;

dis_digit=_crol_(dis_digit,1);

delay(500);

dis_index++;

dis_index&=0x03;

}

 

实验五:

学号的显示

实验时间:

2010年11月实验地点:

二实验楼405同组人员:

梁娅娇

一、实验目的

二、实验原理和内容

通过点亮7个不同的发光二极管形成一个数码,同时用一个端口控制不同时刻的数码管显示,实现数码的动态显示。

三、实验步骤

1、编写代码,编译,修改直至通过,然后生成HEX文件。

2、在实验箱上连接好电路,将下载器连接到实验箱。

3、将代码下载到实验箱

4、观察结果。

四、实验代码

 

 

实验六:

定时器/计数器T1的使用

实验时间:

2010年11月实验地点:

二实验楼405同组人员:

梁娅娇

一、实验目的

1熟悉和学习定时器/计数器的用法。

二、实验原理和内容

通过定时计数器T1在工作方式2计数(检测到从高电平跳变到低电平计数器自动加1),判断TF1,若为真,则有益出,益出后就点亮发光二极管。

三、实验步骤

1、编写代码,编译,修改直至通过,然后生成HEX文件。

2、在实验箱上连接好电路,将下载器连接到实验箱。

3、将代码下载到实验箱

4、观察结果。

四、实验代码

#include

sbitled=P3^0;

main()

{

TMOD=0x60;

TL1=0xf0;

TH1=0xf3;

TR1=1;

led=1;

while

(1)

{if(TF1)

led=0;

else

led=1;

}

}

 

实验七:

定时器/计数器T0的使用

实验时间:

2010年11月实验地点:

二实验楼405同组人员:

梁娅娇

一、实验目的

1、熟悉掌握利用定时器定时较大的时间。

二、实验原理和内容

1、内容:

实现八位数码管动态显示0——F,动态显示时间间隔为0.5秒。

2、原理:

利用定时器定时1ms中断一次,若要实现定时0.5s,则可设计中断500次,此后再做所要求的操作。

三、实验步骤

1、编写代码,编译,修改直至通过,然后生成HEX文件。

2、在实验箱上连接好电路,将下载器连接到实验箱。

3、将代码下载到实验箱

4、观察结果。

四、实验代码

#include

#include

#include

unsignedcharcodedis_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,

0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x84,0x8e};

unsignedchardatadis_digit;

unsignedchardatadis_buf[16];

unsignedchardatadis_index;

unsignedchardatacount;

voidmain()

{

P0=0xff;

P2=0;

TMOD=0x01;

TH0=0xfc;

TL0=0x18;

EA=1;

ET0=1;

dis_buf[0]=dis_code[0x0];

dis_buf[1]=dis_code[0x1];

dis_buf[2]=dis_code[0x2];

dis_buf[3]=dis_code[0x3];

dis_buf[4]=dis_code[0x4];

dis_buf[5]=dis_code[0x5];

dis_buf[6]=dis_code[0x6];

dis_buf[7]=dis_code[0x7];

dis_buf[8]=dis_code[0x8];

dis_buf[9]=dis_code[0x9];

dis_buf[0x0a]=dis_code[0x0a];

dis_buf[0x0b]=dis_code[0x0b];

dis_buf[0x0c]=dis_code[0x0c];

dis_buf[0x0d]=dis_code[0x0d];

dis_buf[0x0e]=dis_code[0x0e];

dis_buf[0x0f]=dis_code[0x0f];

dis_digit=0x01;

dis_index=0;

count=500;

TR0=1;

while

(1);

}

voidtimer0()interrupt1

{

TH0=0xfc;

TL0=0X18;

count--;

if(count>0);

else

{P2=0;

P0=dis_buf[dis_index];

P2=dis_digit;

dis_digit=_crol_(dis_digit,1);

dis_index++;

dis_index&=0x0f;

}

}

 

试验八实验板的PCB图

实验时间:

2010年12月实验地点:

二实验楼406

同组人员:

梁娅娇向文学刘赛

1.灯的闪烁(时间间隔为0.5S)

2.IO口的读写实验

3.流水灯

4.数码管动态显示字符“0123”

5.学号的显示

6.定时器/计数器T1的使用

7.定时器/计数器T0的使用

8.蜂鸣器的使用

9.实验板的PCB图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1