单片机彩灯课程设计1.docx

上传人:b****8 文档编号:23540832 上传时间:2023-05-18 格式:DOCX 页数:14 大小:367.11KB
下载 相关 举报
单片机彩灯课程设计1.docx_第1页
第1页 / 共14页
单片机彩灯课程设计1.docx_第2页
第2页 / 共14页
单片机彩灯课程设计1.docx_第3页
第3页 / 共14页
单片机彩灯课程设计1.docx_第4页
第4页 / 共14页
单片机彩灯课程设计1.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机彩灯课程设计1.docx

《单片机彩灯课程设计1.docx》由会员分享,可在线阅读,更多相关《单片机彩灯课程设计1.docx(14页珍藏版)》请在冰豆网上搜索。

单片机彩灯课程设计1.docx

单片机彩灯课程设计1

 

电子工程课程设计报告书

 

课程名称智能电子小产品课程设计

课程设计总评成绩

学生姓名、学号

学生专业班级

指导教师姓名

课程设计起止日期2010.06.21---2010.07.09

 

一、课程设计项目名称

基于单片机彩灯控制

二、项目设计目的及技术要求

项目设计目的:

本设计以AT89C52单片机为核心并用它来控制发光二极管双灯点亮循环的实验装置,用AT89C52单片机控制16个发光二极管发光,实现亮点的循环移动。

通过Proteus软件设计、仿真、PCB制版,并能掌握通过软件控制发光二极管的思路和技巧。

这次设计重点就在于利用单片机的知识去控制系统的运行。

技术要求:

1:

彩灯至少有5种工作模式。

2:

当按下按键后,模式可以切换。

3:

同时数码管要显示此时是第几个模式。

 

三、项目设计方案论证(可行性方案、最佳方案、软件程序、硬件电路原理图和PCB图)

通过单片机控制二极管的闪烁,通过中断来改变模式同时串行输出数码管。

P0,P1口接16个二极管,P3口接扩展板的数码显示接口。

系统图

模式一是P1,P2口从左到右依次点亮。

模式二是P1,P216个二极管每隔三个亮着,每次亮着的灯向前移一位。

模式三是P1口全熄,P2全亮,P1口依次点亮后P2口依次熄灭。

模式四是P1口全亮,P2全熄,P1口依次熄灭后P2口依次点亮。

模式五是亮点从心型上端从两边移动下来。

主程序是从判断是哪个模式到进入模式运行不停循环,当外部中断0来了时响应中断,中断程序是模式加一并显示此时是模式几。

显示是用了单片机的串行输出,扩展板上是四个移位寄存器74LS164,和四个共阳极数码管。

单片机串型输出用的是工作方式0(移位寄存器方式)。

串型数据通过RXD输入输出,TXD输出频率为f/12的时钟脉冲。

数据格式为8位,地位在前高位在后。

单片机RTD接74LS164的AB,TXD接CLK。

74LS164内部结构图:

74LS164真值表及时序图

H-高电平L-低电平X-任意电平

↑-低到高电平跳变

QA0,QB0,QH0-规定的稳态条件建立前的电平

QAn,QGn-时钟最近的↑前的电平

 

单片机串行输出四组数据到寄存器中,使数码管对应四个数字。

输出的码字与具体的连接有关,此扩展板1-9的码字为0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09

 

程序流程图:

中断程序:

主程序:

四、项目设计结果分析(分析试验过程中获得的数据、波形、现象或问题的正确性和必然性,分析产生不正确结果的原因和处理方法)

开始时编写的程序思想是在主程序不停等待中断,在中断中执行彩灯模式的死循环模式,再来中断后响应中断跳出循环执行下一个模式,这样不断的通过中断进入死循环,不停的中断套中断。

后把程序烧到单片机后发现不能切换模式。

最后反观程序才明白一个中断时不能不停嵌套的。

小结:

本次课程设计耗时三个星期,让理论联系实际,真正的体会了单片机的应用。

同时让我掌握一部分的C语言编写程序能力,也巩固了以前所学的东西。

还有要感谢陈迪虎,汪波同学的帮助,在程序出现问题时,帮我指出了错误。

同时还要感谢指导老师们的帮助。

 

五、参考文摘(相关文摘不少于5篇,记录每篇文献的作者姓名.文献名称.文献发行城市:

文献出版社,出版年;文献内容摘要,每篇不少于100字)

[1]祈伟.单片微型计算机原理与接口技术教程[M]北京:

北京航空航天大学出版社,2007

[2]刘同法、陈忠平眭仁武等.单片机基础与最小系统实践[M]北京:

北京航空航天大学出版社,2007

[3]毛敏.MCS-51系列单片机系统及应用实践教程[M]高等教育出版社,2006

[4]陈忠平等.单片机原理及接口[M]北京:

清华大学出版社,2007

[5]林伸茂、管继等.《8051单片机彻底研究实习篇》第二版[M]北京:

人民邮电出版社,2004

[6]李广弟等.单片机原理机应用[M]北京:

北京航空航天大学出版社,2003

[7]潘永雄.《新单片机原理及应用》第三版[M]西安:

西安电子科技大学出版社,2003

[8]公茂法、马宝甫编著.单片机人机接口实例集[M]北京:

北京航空航天出版社,1998

 

附件:

1.程序:

#include

inti=0,j=0,g=0;

LEDIndex=0;

unsignedchartable[16]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xff};

unsignedchardisp_data;

sbitdisp=P3^1;

voiddelay(intms)

{

inti1,j1;

for(i1=0;i1

{

for(j1=0;j1<1141;j1++);

}

}

voiddip(inti)

{

PCON=0x00;

SCON=0x00;

ES=0;

disp_data=table[i];

SBUF=disp_data;

while(TI==0)

TI=0;

for(j=0;j<3;j++)

{disp_data=0xff;

SBUF=disp_data;

while(TI==0)

TI=0;

}

delay(10);

}

voidLEDShow(unsignedintLEDStatus)

{

P0=(LEDStatus&0x00FF);

P1=((LEDStatus>>8)&0x00FF);

}

voidMode_1(void)

{

LEDShow(0xfffff<

LEDIndex=(LEDIndex+1)%17;

delay(10);

}

voidMode_2(void)

{

unsignedinta=0x77,b,c;

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

{

b=a>>7;

c=a<<1;

a=c|b;

P0=a;

P1=a;

delay(15);

}

}

voidMode_3(void)

{unsignedinta;

P0=0xFF;

P1=0x00;

a=0xff;

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

{

P0=a;

a=a<<1;

delay(15);

}

a=0xff;

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

{

P1=~a;

a=a<<1;

delay(15);

}

}

voidMode_4(void)

{unsignedinta;

P1=0xFF;

P0=0x00;

a=0xff;

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

{

P0=~a;

a=a<<1;

delay(15);

}

a=0xff;

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

{

P1=a;

a=a<<1;

delay(15);

}

}

voidMode_5(void)

{unsignedinta,b;

P0=0xfe;

delay(10);

a=0x02;

b=0x80;

P0=~a;

P1=~b;

delay(10);

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

{a=a<<1;

b=b>>1;

P0=~a;

P1=~b;

delay(10);

}

}

voidISR0(void)interrupt0

{g++;

if(g==6)

g=1;

dip(g);

}

voidmain(void)

{

IT0=1;

EX0=1;

EA=1;

dip

(1);

while

(1)

{

switch(g)

{

case1:

Mode_1();break;

case2:

Mode_2();break;

case3:

Mode_3();break;

case4:

Mode_4();break;

case5:

Mode_5();break;

default:

{g=1;Mode_1();}break;

}

}

}

 

2.元件清单:

1.φ3(红绿各8个)16

2.1/4W470Ω16

3.排针1

4.排线1

5.电路板1

3.电路原理图:

4.PCB版图:

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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