《单片机原理与应用》实验报告3 数码管实验.docx

上传人:b****6 文档编号:15965984 上传时间:2023-07-09 格式:DOCX 页数:22 大小:408.09KB
下载 相关 举报
《单片机原理与应用》实验报告3 数码管实验.docx_第1页
第1页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第2页
第2页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第3页
第3页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第4页
第4页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第5页
第5页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第6页
第6页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第7页
第7页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第8页
第8页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第9页
第9页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第10页
第10页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第11页
第11页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第12页
第12页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第13页
第13页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第14页
第14页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第15页
第15页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第16页
第16页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第17页
第17页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第18页
第18页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第19页
第19页 / 共22页
《单片机原理与应用》实验报告3 数码管实验.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《单片机原理与应用》实验报告3 数码管实验.docx

《《单片机原理与应用》实验报告3 数码管实验.docx》由会员分享,可在线阅读,更多相关《《单片机原理与应用》实验报告3 数码管实验.docx(22页珍藏版)》请在冰点文库上搜索。

《单片机原理与应用》实验报告3 数码管实验.docx

《单片机原理与应用》实验报告3数码管实验

《单片机原理与应用》实验报告

实验序号:

4  实验项目名称:

数码管实验

学  号

1507162233

姓  名

杨舫

专业、班

15计算机

实验地点

实1-218

指导教师

何一凡

实验时间

2016.10.14

一、实验目的

1.了解8段数码管工作原理

2.掌握8段数码管的使用方法

3.了解4位数码管工作原理

4.掌握4位数码管的使用方法

5.进一步掌握Arduino设计的流程、方法

二、实验设备(环境)及要求

硬件:

ØPC机

ØArduinoUno开发板

ØUSB下载线

Ø面包板,面包板跳线

Ø电阻,8段数码管,4位数码管等

软件:

ØArduino集成开发环境

三、实验要求

实验1:

点亮8段数码管,并显示各个数字(具体要求详见课堂ppt)

实验2:

用4位数码管实现圈、Z字形等效果(具体要求详见课堂ppt)

实验3(选做):

用4位数码管实现秒表功能

四、实验内容

实验1:

1.原理图

2.实际连接图

3.实验程序代码

//设置控制各段的数字IO脚

inta=7;//定义数字接口7连接a段数码管

intb=6;//定义数字接口6连接b段数码管

intc=5;//定义数字接口5连接c段数码管

intd=11;//定义数字接口11连接d段数码管

inte=10;//定义数字接口10连接e段数码管

intf=8;//定义数字接口8连接f段数码管

intg=9;//定义数字接口9连接g段数码管

intdp=4;//定义数字接口4连接dp段数码管

voiddigital_1(void)//显示数字1

{

unsignedcharj;

digitalWrite(c,LOW);//点亮c段

digitalWrite(b,LOW);//点亮b段

for(j=7;j<=11;j++)//熄灭其余段

digitalWrite(j,HIGH);

digitalWrite(dp,HIGH);//熄灭小数点DP段

}

voiddigital_2(void)//显示数字2

{

unsignedcharj;

digitalWrite(b,LOW);

digitalWrite(a,LOW);

for(j=9;j<=11;j++)

digitalWrite(j,LOW);

digitalWrite(dp,HIGH);

digitalWrite(c,HIGH);

digitalWrite(f,HIGH);

}

voiddigital_3(void)//显示数字3

{

unsignedcharj;

digitalWrite(g,LOW);

digitalWrite(d,LOW);

for(j=5;j<=7;j++)

digitalWrite(j,LOW);

digitalWrite(dp,HIGH);

digitalWrite(f,HIGH);

digitalWrite(e,HIGH);

}

voiddigital_4(void)//显示数字4

{

digitalWrite(c,LOW);

digitalWrite(b,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

digitalWrite(dp,HIGH);

digitalWrite(a,HIGH);

digitalWrite(e,HIGH);

digitalWrite(d,HIGH);

}

voiddigital_5(void)//显示数字5

{

unsignedcharj;

for(j=7;j<=9;j++)

digitalWrite(j,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

digitalWrite(dp,HIGH);

digitalWrite(b,HIGH);

digitalWrite(e,HIGH);

}

voiddigital_6(void)//显示数字6

{

unsignedcharj;

for(j=7;j<=11;j++)

digitalWrite(j,LOW);

digitalWrite(c,LOW);

digitalWrite(dp,HIGH);

digitalWrite(b,HIGH);

}

voiddigital_7(void)//显示数字7

{

unsignedcharj;

for(j=5;j<=7;j++)

digitalWrite(j,LOW);

digitalWrite(dp,HIGH);

for(j=8;j<=11;j++)

digitalWrite(j,HIGH);

}

voiddigital_8(void)//显示数字8

{

unsignedcharj;

for(j=5;j<=11;j++)

digitalWrite(j,LOW);

digitalWrite(dp,HIGH);

}

voiddigital_9(void)//显示数字9

{

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

digitalWrite(e,HIGH);

digitalWrite(dp,HIGH);

}

voiddigital_dp(void)//显示

{

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

digitalWrite(e,HIGH);

digitalWrite(dp,LOW);

}

voiddigital_all(void)//显示

{

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

digitalWrite(e,HIGH);

digitalWrite(dp,HIGH);

}

voidsetup()

{

inti;//定义变量

for(i=4;i<=11;i++)

pinMode(i,OUTPUT);//设置4~11引脚为输出模式

}

voidloop()

{

while

(1)

{

digital_1();//显示数字1

delay(1000);//延时2s

digital_2();//显示数字2

delay(1000);//延时1s

digital_3();//显示数字3

delay(1000);//延时1s

digital_4();//显示数字4

delay(1000);//延时1s

digital_5();//显示数字5

delay(1000);//延时1s

digital_6();//显示数字6

delay(1000);//延时1s

digital_7();//显示数字7

delay(1000);//延时1s

digital_8();//显示数字8

delay(1000);//延时1s

digital_9();//显示数字9

delay(1000);//延时1s

digital_dp();//显示小数点

delay(1000);//延时1s

digital_all();//显示小数点

delay(1000);//延时1s

}

}

4.实验操作说明

第一步:

连接线路,启动程序,上传代码;

第二步:

观察数码管的显示。

5.其他说明

6.实验结果

见实验5文件夹下视频:

8段数码管实验结果。

实验2:

1.原理图

2.实际连接图

3.实验程序代码

//设置控制各段的数字IO脚

inta=1;//定义数字接口7连接a段数码管

intb=2;//定义数字接口6连接b段数码管

intc=3;//定义数字接口5连接c段数码管

intd=4;//定义数字接口11连接d段数码管

inte=5;//定义数字接口10连接e段数码管

intf=6;//定义数字接口8连接f段数码管

intg=7;//定义数字接口9连接g段数码管

intdp=8;

intd4=9;

intd3=10;

intd2=11;

intd1=12;

voiddigital_up_1(void)

{

unsignedcharq,m;

for(m=12;m>=9;m--)

{

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(a,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(12,HIGH);

digitalWrite(m,LOW);

delay(200);

}

}

voiddigital_up_2(void)

{

unsignedcharq,m;

for(m=9;m<=12;m++)

{

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(a,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(12,HIGH);

digitalWrite(m,LOW);

delay(200);

}

}

voiddigital_right(void)

{

unsignedcharq,m;

for(m=2;m<=3;m++)

{

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(12,HIGH);

digitalWrite(m,HIGH);

delay(200);

}

}

voiddigital_right_1(void)

{

unsignedcharq,m;

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(12,HIGH);

digitalWrite(b,HIGH);

delay(200);

}

voiddigital_right_2(void)

{

unsignedcharq,m;

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(12,HIGH);

digitalWrite(c,HIGH);

delay(200);

}

voiddigital_down_1(void)

{

unsignedcharq,m;

for(m=9;m<=12;m++)

{

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(d,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(12,HIGH);

digitalWrite(m,LOW);

delay(200);

}

}

voiddigital_down_2(void)

{

unsignedcharq,m;

for(m=12;m>=9;m--)

{

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(d,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(12,HIGH);

digitalWrite(m,LOW);

delay(200);

}

}

voiddigital_left(void)

{

unsignedcharq,m;

for(m=5;m<=6;m++)

{

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(m,HIGH);

delay(200);

}

}

voiddigital_left_1(void)

{

unsignedcharq,m;

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(e,HIGH);

delay(200);

}

voiddigital_left_2(void)

{

unsignedcharq,m;

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(f,HIGH);

delay(200);

}

voiddigital_mid(void)

{

unsignedcharq,m;

for(m=9;m<=12;m++)

{

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(g,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(12,HIGH);

digitalWrite(m,LOW);

delay(200);

}

}

voiddigital_thing_1(void)

{

unsignedcharq;

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(a,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(12,HIGH);

digitalWrite(b,HIGH);

digitalWrite(g,HIGH);

digitalWrite(f,HIGH);

digitalWrite(12,LOW);

delay(200);

}

voiddigital_thing_2(void)

{

unsignedcharq,m;

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(d,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(12,HIGH);

digitalWrite(g,HIGH);

digitalWrite(c,HIGH);

digitalWrite(e,HIGH);

delay(200);

}

voiddigital_thing_3(void)

{

unsignedcharq,m;

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(a,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(12,HIGH);

digitalWrite(b,HIGH);

digitalWrite(g,HIGH);

digitalWrite(f,HIGH);

digitalWrite(11,LOW);

delay(200);

}

voiddigital_thing_4(void)

{

unsignedcharq,m;

for(q=1;q<=12;q++)

digitalWrite(q,LOW);

digitalWrite(d,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

digitalWrite(12,HIGH);

digitalWrite(c,HIGH);

digitalWrite(g,HIGH);

digitalWrite(e,HIGH);

delay(200);

}

voiddigital_1(void)

{

digital_up_1();

digital_right();

digital_down_1();

digital_left();

}

voiddigital_2(void)

{

digital_up_1();

digital_right_1();

digital_mid();

digital_left_1();

digital_down_2();

digital_right_2();

digital_mid();

digital_left_2();

}

voiddigital_3(void)

{

digital_thing_1();

digital_thing_2();

digital_thing_3();

digital_thing_4();

}

voidsetup()

{

inti;//定义变量

for(i=1;i<=12;i++)

pinMode(i,OUTPUT);//设置1~12引脚为输出模式

}

voidloop()

{

while

(1)

{

digital_1();

digital_1();

digital_2();

digital_2();

digital_3();

digital_3();

}

}

4.实验操作说明

第一步:

连接线路,启动程序,上传代码;

第二步:

观察数码管的显示。

5.其他说明

6.实验结果

见实验五文件夹下视频:

4位数码管实验结果。

实验3:

1.原理图

2.实际连接图

3.实验程序代码

4.实验操作说明

5.其他说明

6.实验结果

 

五、教师评语

签名:

日期:

成绩

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

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2