彩灯控制器的设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专业班级
院系物理与电子信息学院
姓名学号同组人
实验室组号日期
成绩
课程单片机原理与应用指导老师肖鹏程
试验项目编号
试验项目名称多功能彩灯控制器的设计一、实验目的
1.熟悉Keil uVision2软件的安装和应用;
2.熟悉Proteus7.8软件的安装和应用;
3.掌握《单片机多功能彩灯控制器的设计》的编程、仿真和调试方法。
二、实验环境
1.微机一台;
2.Proteus7.8电路设计和仿真软件;
3.Keil uVision2编译和调试软件;
三、实验原理
图1是单片机多功能彩灯控制器的电路原理图,P2接8只LED,限流电阻为220Ω,时钟电路接在单片机的DIP18、DIP19,复位电路接在单片机的DIP9, DIP31接Vcc。
要求用C语言编写程序,使该电路的功能为,上电后8只LED的显示状态为:【○○○○○○○●】→【○○○○○○●○】→【○○○○○●○○】→【○○○○●○○○】→【○○○●○○○○】→【○○●○○○○○】→【○●○○○○○○】→【●○○○○○○○】→【○○○○○○○○】,
时间间隔为300mS,循环往复。
图1单片机输出控制电路原理图
多功能彩灯控制器的参考程序如下:
#include
unsigned char code table001[]={128,64,32,16,8,4,2,1,0};
void delay300ms();
main()
{
unsigned char m;
while(1)
{
for(m=0;m<=8;m++)
{
P2=~table001[m];
delay300ms();
}
}
}
void delay300ms()
{
unsigned char i,j,k;
for(i=3;i>0;i--)
for(j=200;j>0;j--)
for(k=248;k>0;k--);
}
四、实验步骤
1.安装Keil uVision2;
2.安装Proteus 7.8;
3.在Proteus ISIS环境下设计一个用单片机的I/O口(P2)作为Output控制8只LED的电路;
4.在Keil uVision2环境下,用C语言编写多功能彩灯控制器的程序,编译生成hex文件。当出现错误时,使用Debug调试和修改程序,直到生成hex文件。5.将生成的hex文件加载到单片机,运行仿真,观察现象,记录结果;
五、实验记录与处理
1. 多功能彩灯控制器的实验结果(仿真)如下:
时间LED工作状态时间LED工作状态
0 0