天津城建大学单片机课设.docx

上传人:b****6 文档编号:3268025 上传时间:2022-11-21 格式:DOCX 页数:13 大小:478.26KB
下载 相关 举报
天津城建大学单片机课设.docx_第1页
第1页 / 共13页
天津城建大学单片机课设.docx_第2页
第2页 / 共13页
天津城建大学单片机课设.docx_第3页
第3页 / 共13页
天津城建大学单片机课设.docx_第4页
第4页 / 共13页
天津城建大学单片机课设.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

天津城建大学单片机课设.docx

《天津城建大学单片机课设.docx》由会员分享,可在线阅读,更多相关《天津城建大学单片机课设.docx(13页珍藏版)》请在冰豆网上搜索。

天津城建大学单片机课设.docx

天津城建大学单片机课设

学号1222020222

天津城建大学

 

单片机原理及应用A课程设计

设计说明书

 

摇摇棒的设计

起止日期:

2015年1月19日至2015年1月23日

学生姓名

李天福

班级

智能化2班

成绩

指导教师(签字)

控制与机械工程学院

2015年01月23日

 

目录

一.设计内容3

1.设计目的3

2.设计要求3

3.设计思路3

二.硬件系统设计3

1.基本原理图3

2.元件清单4

3.主要元件说明5

4.仿真电路图6

三.软件设计6

1.主程序流程图6

2.程序清单7

四.总结9

五.参考文献10

一.设计内容

1.1设计目的

本次设计制作的是一个显示棒,基本要求就是要小巧、轻便,所以要将单片机的系统板简化设计。

通过本次设计,加强学生对MCS-51单片机的深刻理解,提高学生的设计能力和动手能力。

1.2设计要求

设计一个16只高亮度LED发光二极管构成的摇摇棒,通过单片机编程配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片。

1.3设计思路

本系统要求设计一个LED显示棒且需要有按键进行内容切换,它主要是由中央控制部分,LED驱动部分,LED显示部分以及电源部分组成,如图图1.1所示

图1.1系统的组成

单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED灯点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。

1.LED灯的选择:

传统LED发光二极管。

颜色多样,在可以同样显示图案的前提下使用它更为经济。

2.外部中断信号产生方式:

通过外部中断可以控制数据开始传输的时刻。

选择好外部中断来源是本次制作的难点及重点。

使用惯性开关。

通过摇晃使得惯性开关的摆杆与焊接的左右两个触点接触,利用这种接触产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。

3.抗重影方案的选择:

使用外部中断控制数据传输时刻。

外部中断信号由惯性开关产生,触发方式为下降沿触发。

惯性开关左右两边的触点分别与单片机两个外部中断接口相连,默认为高电平,摇动的摆杆接地。

惯性开关处于不同位置进入不同的中断,从而决定何时送数据。

该方案简单易行,可以保证数据是单程传输的,避免了重影。

不摇动时把惯性开关处在左边就可以使LED棒熄灭,可以达到省电的效果。

二.硬件系统设计

2.1基本原理图

摇摇棒的电路如图2.1所示,就是在单片机最小系统的I/O端口连接有16只LED。

供电的稳压电路是一个典型的三端稳压电路

 

图2.1基本原理图

2.2元件清单

详细备料单如表2-1所示.

元器件

规格或型号

图中编号

数量

说明

单片机

AT89S52

U1

1

三端稳压器

7805

U2

1

二极管

1N4148

D2

1

发光二极管

Φ5

DX

16

选用高亮度或自己喜欢的颜色

Φ5

D1

1

低颜色颜色与其他LED相区别

电解电容

47μF

C1C4

2

10μF

C7

1

电容

0.1μF

C2C3

2

用贴片式封装

22pF

C6C5

2

容量值大小在30pF左右均可

排阻

330Ω

Rx

2

电阻

10kΩ

R1

1

560Ω

R2

1

指示用LED的限流电阻可自定阻值

晶振

12MHz

1

水银开关

S2

1

表2-1元件清单

 

2.3主要元件说明

1.LED(发光二极管)

在实际制作中,除了关心LED的外型尺寸及发光颜色外,还有以下几点值得关注:

(1)LED的引脚极性:

LED只能在正向电流流过时才能发光,因而在安装在电路板上时需要注意识别引脚正负。

对直插式封装的LED,一般可根据其引脚长短和LED内部电极大小等外观来识别引脚的正负.但有时也会出现例外情况,其实,最简单可靠的方法还是直接用数字万用表的LED挡来进行测试,当LED发光时,接在红笔的引脚为正,接在黑笔的引脚为负。

(2)LED正常发光的工作电压及电流值:

即使在封装在一起的LED,因发光的颜色不同,它们正常发光的工作电压值是不同的。

在业余情况下,大多不知道手上的LED的性能参数,只能凭经验粗略估计,作为参考,一般来说:

①红色电压1.8~2.2V,绿色电压2.0~3.9V,蓝色及白色电压2.8~4.2V;

②3mmLED的额定电流1~10mA;

③5mmLED的额定电流5~25mA;

④10mmLED的额定电流25~100mA。

(3)LED限流电阻的计算:

为保证LED工作在安全状态,简单而常见的方法是给LED串接一只限流电阻。

限流电阻值的计算公式为

限流电阻阻值(R)=(电源电压(VCC)-LED正向电压(VF))/LED正向电流(IF)

限流电阻功率=限流电阻阻值×LED正向电流

根据计算的结果取数值最接近的电阻值。

2.排阻

我们看到,在LEDPOV的制作电路中都会有许多LED,这样,在电路中也自然就有相对应的限流电阻,它们功率和阻值大多相同,且一般都有一个接电源或地的公共端。

为节省元件数量,简化电路,可采取用一只排阻替代若干只电阻的办法。

排阻的阻值一般用3位数字表示,前2位为有效数字,后面的一位表示的是10的次方。

比如:

104表示100000Ω即100kΩ,331表示330Ω。

3.水银开关

在有两个电极的小容器里注入一小滴水银,因为重力的关系,水银珠会向容器中较低的地方流去,当同时接触到小容器中的两个电极时,两电极将被接通。

在摇摇棒的制作中,水银开关按如图2.2所示的姿态安装在摇摇棒上的,只有当摇摇棒从向右运动快速转为向左运动时,水银开关内的水银由于惯性将会向上移动,接通电极。

注意:

在使用水银开关时,须特别小心,不要弄破外壳,以免水银中毒或破坏环境

图2.2水银开关

2.4仿真电路图

仿真原理图如图2.3所示

图2.3仿真电路

三.软件设计

3.1主程序流程图

通过软件设计思路分析,得到该系统的主程序流程图3.1所示:

图3.1主流程图

3.2程序清单

程序清单如下:

//程序名:

16位LED摇摇棒程序———祝你成功

//说明:

单片机89S52,晶振12M

//------------------------------------------------

//------------------------------------------------

//**嵌入文件**

//------------------------------------------------

#include//51单片机硬件资源参数说明

//------------------------------------------------

//**变量说明**

//------------------------------------------------

unsignedcharBZ;

unsignedcharcodeGB_16[]=//汉字字模

{

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//(空)

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//(空)

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x08,0x06,0x89,0x01,0xEF,0xFF,//祝

0x7A,0xFF,0x9C,0x01,0x88,0x83,0x00,0x41,

0x7F,0x30,0xFE,0x1F,0xA2,0x0F,0x22,0x00,

0xA2,0x7F,0x3E,0xFF,0x7F,0xC0,0x02,0x70,

0x00,0x00,0x80,0x00,0x60,0x00,0xF8,0xFF,//你

0xEF,0x7F,0x06,0x10,0x40,0x08,0x20,0x0E,

0xB8,0x47,0x1E,0x43,0xF7,0xFF,0xD2,0x7F,

0x10,0x01,0x70,0x06,0x38,0x1C,0x10,0x08,

0x00,0x00,0x00,0x80,0x00,0x70,0xFC,0x3F,//成

0xF8,0x0F,0x88,0x10,0x88,0x30,0x88,0x1F,

0xC8,0x8F,0xBF,0x40,0xFE,0x67,0xC9,0x3F,

0x0A,0x3C,0x8E,0x77,0xEA,0xC1,0x48,0xF0,

 

0x00,0x00,0x08,0x20,0x08,0x60,0xF8,0x3F,//功

0xF8,0x3F,0x0C,0x10,0x08,0x90,0x10,0x68,

0x10,0x38,0xFF,0x1F,0xFE,0x07,0x10,0x20,

0x10,0x40,0xF0,0xFF,0xF8,0x7F,0x10,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//(空)

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//(空)

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

//**延时子程序**

//------------------------------------------------

voidDelayUs(unsignedintN)

{

unsignedintx;

for(x=0;x<=N;x++);

}

//------------------------------------------------

//**外部中断0服务程序**

//------------------------------------------------

voidintersvr0(void)interrupt0using1

{

BZ=1;//标志置1,主程序将进入显示

}//程序状态

//**主程序**

//------------------------------------------------

voidmain(void)

{

inti;/

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

当前位置:首页 > 小学教育 > 语文

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

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