- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计完整版
单片机原理课程设计
课题名称: 基于红外控制的8X8点阵设计
专业班级: 电子信息工程0701班
学生学号: *********
学生姓名: ***
指导教师: ***
设计时间: 2010年6月21日至6月26日
基于红外控制的8X8点阵设计
1、设计要求:
设计一个基于STC89C54RD单片机的8X8点阵电路,选用8X8点阵LED显示器,一个发光二极管控制点阵中的一个点,延时时间为1ms,并通过红外控制点阵显示不同的花样。
2、方案选择
2.1 单片机的选择
方案一,选择STC89C51RD单片机。但它内部ROM较小。
方案二,选择STC89C54RD单片机。它内部ROM相对较大。
由于点阵显示很多字符需要大量的编码,固选用内部ROM比较大的STC89C54RC单片机。
2.2 电流驱动元件的选择
方案一,选择8550三极管驱动行扫。8550三极管驱动电流比较大,能驱动8X8点阵,但三极管是分立元件,稳定性较差,且开关速度可能会影响点阵显示。
方案二,选择74HC245三态输出的八组总线收发器。74HC245为集成芯片,稳定性高,速度快,价格便宜。
综上所述,电流驱动元件选出用74HC245。
2.3 红外发射接收装置的选择
方案一,集成发射接收芯片。但这类芯片一般都相对较贵,且电路较复杂。
方案二,选择红外对管。它的外形跟普通发光二极管相似,价格便宜,电路简单。
综上所述,对本设计来说,选用红外对管作为发射接收装置。3、系统硬件设计
图3.1.1 单片机最小系统图
3.2 8X8点阵显示模块的设计
3.2.1 8x8点阵原理
图3.2.1.1是一种8x8点阵单色行共阳模块的内部结构图,其单点工作电压为1.8 V,正向电流为8-10 mA。当某一行线为高电平而某一列线为低时,其行列交叉的点就被点亮;而当其某一列线为高时,其行列交叉的点为暗;当某一行线为低电平时,无论列线如何, 对应这一行的点全部为暗。
图3.2.1.1 行共阳8x8点阵内部结构图
3.2.2 8x8点阵驱动模块
74HC245为八路收发器在发送和接收两个方向上都具有正相三态总线兼容输出8x8点阵的行,单片机的P0口经过470Ω的电阻接到点阵的列上。
图3.2.2.1 8x8点阵驱动模块
3.3 红外发射接收模块的设计
3.3.1 红外发射模块
采用简易的红外发射装置,用一个按键控制NPN8050三极管开、关,使红外管发射红外信号。
图3.3.1.1 红外发射模块原理图
3.3.2 红外接收模块
采用简易的红外接收装置,红外接收管,接收到红外信号使Q2的基极由高电平变为低电平送到单片机处理。同时PNP三极管8550导通,发光二极管D3亮。
图3.3.2.1 红外接收模块原理图
3.4系统总原理图
见附录一
4、系统软件设计
4.1 软件设计流程图
本系统的软件设计流程图如图4.1.1所示
图4.1.1 软件设计流程图
4.2 总程序
见附录二
5、课程设计体会
附录二
总程序如下:
#include reg52.h
#include intrins.h
#define uchar unsigned char
#define uint unsigned int
sbit symbol=P3^2;
uchar num,flag;
uint temp;
uchar code hang[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar code xin[]={0x00,0x36,0x49,0x41,0x41,0x22,0x14,0x08};
uchar code OK[]={0x00,0x04,0x65,0x96,0x96,0x65,0x04,0x00};
uchar code z[]={0x00,0x7E,0x04,0x08,0x10,0x20,0x7E,0x00};
uchar code h[]={0x00,0x22,0x22,0x22,0x3E,0x22,0x22,0x22};
uchar code a[]={0x00,0x08,0x14,0x22,0x3E,0x22,0x22,0x00};
uchar code n[]={0x00,0x24,0x34,0x34,0x2C,0x2C,0x24,0x00};
uchar code g[]={0x00,0x3C,0x44,0x40,0x5C,0x44,0x3C,0x00};
uchar code l[]={0x00,0x20,0x20,0x20,0
文档评论(0)