5《单片机原理A》考试文档Word格式.docx
《5《单片机原理A》考试文档Word格式.docx》由会员分享,可在线阅读,更多相关《5《单片机原理A》考试文档Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
1.1目的与意义1
1.2国内外研究现状1
1.3未来发展的愿景1
1.4总结1
2搭建平台2
2.1概述2
2.2proteus2
2.3keil2
2.4STC_ISP2
3硬件技术介绍3
3.1系统总体设计3
3.2最小系统电路设计3
3.3按键电路设计4
3.4发光二极管电路设计4
4功能实现5
4.1整体仿真电路图5
4.2LED显示程序的流程图5
4.3LED显示程序5
5测试结果及分析6
5.1硬件测试6
5.2软件测试6
5.3实验截图6
致谢7
参考文献8
附件9
.
1综述
随着人们生活水平的提高,基于单片机。
。
1.1目的与意义
中国发展集成电路。
1.2国内外研究现状
1.3未来发展的愿景
1.4总结
2搭建平台
……….protues仿真软件和keil编写程序软件STC_ISP烧录软件[1]。
2.1概述
2.2proteus
2.3keil
2.4STC_ISP
3硬件技术介绍
本设计通过用按键控制各个元器件,每个按键功能不同,显示效果不同。
硬件原理图由三个部分组成,分别是单片机模块,按键模块,发光二极管模块[7]。
4个按键接在P1.0—P1.3引脚上,P2口接了8个流水灯,控制流水灯的亮灭。
3.1系统总体设计
本系统中单片机主要是负责信息输入输出和判断,按键是是负责信息的输入,单片机负责判断输入的是按键几,然后输出对应的信息,数码管显LED灯受按键控制,会有不同的变换方式。
该电路板功能模块分为以下几个部分:
1)单片机模块:
2)按键模块:
3)发光二极管模块:
3.2最小系统电路设计
单片机最小系统中两个22pf的电容和一个11.0592M的晶振组成了震荡电路,复位电路为10uf的电解电容和一个10k电阻组成,此复位电路为上电自动复位。
(以上器件只有电解电容分正负极长正短负)具体电路如图1所示。
图1最小系统电路图
3.3按键电路设计
在单片机中键盘分为独立键盘和矩阵键盘,本课程设计中使用的是独立键盘。
独立键盘的特点是每个键相互独立,
3.4发光二极管电路设计
4功能实现
在单片机中,我们通过4个按键形成的独立键盘控制接在P1口的8个LED灯,实现4种花样流水灯的亮灭方式。
4.1整体仿真电路图
4.2LED显示程序的流程图
4.3LED显示程序
5测试结果及分析
想要知道自己设计的系统是否可行,对于软硬件的测试是必不可少的,本章主要介绍了对于软硬件测试的结果。
5.1硬件测试
(1)在上电前先检查电路的正负极有无接反的情况。
(2)检查线路无错的情况下,接通电源下载程序,发现有灯不亮,经检查是灯的接线处松动。
(3)检查改正后测试硬件正常。
5.2软件测试
编写程序时是先一个模块一个模块的写,单个写完后,再将各个程序汇总,注意的是按键的扫描每个循环都需扫描一次,这样才不至于出现延迟情况,能及时退出程序,进入下个程序,延时函数有很大的作用,需进行大量调试。
5.3实验截图
(1)软件实现截图
(2)硬件实现截图
通过对程序代码的最后测试,以及硬件原理图的在计算机上的虚拟演示都得到了实现,最后我们通过通过STC单片机下载编程烧录软件,可以烧录由keil软件生成的HEX文件,从而帮助我们实现课程设计。
致谢
经过一段时间的努力,我们小组顺利的完成了交通灯的设计与实现。
这是一个磨练意志的过程。
从课题的选择开始,硬件和软件系统的设计、到最后的设计成功,这其中经历了很多困难。
但是更重要的是在这个过程中我得到了很大的锻炼。
通过AT89C51单片机等一些器件的设计让我学习和掌握了。
通过设计,我不仅学到了。
,同时也让我感觉到。
同时学会了如何有效和快速的找到资料及其与他人交流思想是取得成功的关键,在交流中不仅强化了。
,也扩展了自己。
,这种锻炼提高了自己思考、发问、解惑。
我会在以后的学习中。
参考文献
[1]张灿.单片机花样流水灯设计[J].信息通信,2013,01:
42-43.
[2]朱艳梅.基于单片机的流水灯的设计与实现[J].电子制作,2014,04:
23-24.
[3]毛炳奎.基于单片机的精确定时流水灯设计[J].科技风,2014,09:
20.
[4]庄乾成.基于Proteus仿真的单片机项目化教学改革[J].辽宁高职学报,2014,08:
47-50.
[5]高娟,汤璇,崔艳萍.基于Proteus和Keil的单片机实践教学改革探讨[J].电子世界,2012,22:
173-174.
[6]易礼智.基于51单片机实现流水灯的若干种编程方法[J].铜仁学院学报,2012,06:
125-127.
[7]贺维.单片机流水灯的proteus仿真[J].职业技术,2011,05:
121.
[8]李琳.一种单片机流水灯的电路设计[J].无线互联科技,2011,05:
33-34.
[9]高璇.单片机C语言的编程探析[J].硅谷,2013,22:
55+41.
[10]俞萍,刘苗生.单片机的C语言分析[J].中国科技信息,2013,18:
86+97.
[11]刘汉明.用C编程单片机流水灯程序[J].电子制作,2003,01:
27-29.
附件
#include<
reg52.h>
#include<
intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitS1=P0^0;
sbitS2=P0^1;
sbitS3=P0^2;
sbitS4=P0^3;
unsignedchark,a,i;
voiddelay(uintz)
{
uintx,y;
for(x=z;
x>
0;
x--)
for(y=110;
y>
y--);
}
voidkey_scan()
{
P0=0xff;
if((P0&
0x0f)!
=0x0f)
{
delay(10);
if(S1==0)
k=1;
if(S2==0)
k=2;
if(S3==0)
k=3;
if(S4==0)
k=4;
}while(P1!
=0xff);
voidSA()
a=0x7f;
for(i=0;
i<
8;
i++)
P2=a;
delay(100);
a=_cror_(a,1);
key_scan();
if(S1!
=1)
return;
}
}
voidAS()
a=_iror_(a,1);
if(S2!
voidAA()
a=0xfe;
for(i=0;
{
P2=a;
delay(100);
a=_lrol_(a,1);
key_scan();
if(S3!
return;
}
voidSS()
uintj;
j=0xfe;
P2=j;
j=_crol_(j,1);
if(S4!
}
voidmain()
while
(1)
{
key_scan();
switch(k)
case1:
SA();
break;
case2:
AS();
case3:
AA();
case4:
SS();
default:
}