北京交大单片机课程设计8x8点阵实验报告Word格式.docx
- 文档编号:15991792
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:15
- 大小:311.42KB
北京交大单片机课程设计8x8点阵实验报告Word格式.docx
《北京交大单片机课程设计8x8点阵实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《北京交大单片机课程设计8x8点阵实验报告Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
(1)电路原理图:
点阵显示模块的硬件电路设计如图1所示:
图1
复位电路的基本功能是:
系统上电时提供复位信号,在加电瞬间,RST端出现一定时间的高电平,直至系统电源稳定后,撤销复位信号。
如下图:
晶振电路如下图:
(2)电路设计原理:
8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置0电平,某一行置1电平,则相应的二极管就亮;
8X8点阵的列输入为C0~C7,行输入为R0~R7,它们通过驱动电路(芯片1416及74LS245)接至发光二极管的阴极和阳极。
要显示某一个字,首先要设计该字的点阵字形,编好行(或列)点阵码,然后在单片机的控制下对点阵进行逐行(或列)扫描。
在人眼的暂存效应下我们会看到完整的字形,从而实现了字体在点阵显示屏上的输出。
(3)设计思路:
由于只控制8*8点阵显示屏,故不需要扩展单片机的I/O接口。
考虑到P0口需要接上拉电阻,使得电路较为复杂,因此利用单片机的P1口来控制点阵的行,用P2口控制点阵的列。
(4)芯片原理
1.单片机STC89C51RC引脚功能:
4KB程序存储器,512B的数据存储器,中断源8个,定时器3个,32位I/O口,有看门狗电路。
STC89C51RC/RD+系列单片机ISP编程原理
2.74HC245
管脚图如下:
芯片中数据传输方向:
根据所设计的电路原理图,数据由A口传向B口,故应使
=0,DIR=1。
数据从A口输出后需接1K电阻,再接到点阵的行。
3.MC1416BP
由于需要八个数据传送口,故应有两片MC1416BP,任选其中八个即可。
此芯片不用接电源,8脚接地。
数据直接接到点阵的列。
(5)字模表生成:
字模由LEDDOT生成,字模的提取方式为:
逐行提取,
字模的显示方式为:
单字单行显示,生成的字模格式:
C51十六进制
以下是生成的字模表:
/*这是“电”的字模;
该字模由LEDDOT生成;
字模的提取方式为:
逐行提取;
单字单行显示;
生成的字模格式:
C51十六进制*/
int8ugRowBuff1[8]={0x10,0xFE,0x92,0xFE,0x92,0xFE,0x91,0x1F};
/*这是“子”的字模;
int8ugRowBuff2[8]={0xFE,0xC,0x10,0xFF,0x10,0x10,0x10,0x30};
/*这是“设”的字模;
int8ugRowBuff3[8]={0xDC,0x54,0xF7,0x7E,0x52,0x7C,0x4C,0x37};
/*这是“计”的字模;
int8ugRowBuff4[8]={0xC4,0x44,0xBF,0x44,0x44,0x64,0x44,0x04};
上下循环:
int8ugRowBuffa[]=
{
0x04,0x7F,0x49,0x7F,0x49,0x7F,0x84,0xF4,0x00,//电
0x7E,0x20,0xFE,0x10,0x10,0x10,0x14,0x10,0x00,//子
0x72,0xDF,0x05,0xF5,0x54,0x24,0x5C,0x85,0x00,//设
0x22,0x27,0xFC,0x24,0x24,0x24,0x2C,0x24,0x00//计
};
左右循环:
int8ugRowBuff[]=
0xC0,0xBE,0xAA,0xAA,0x7F,0x2A,0x2A,0x3E,0x00,//电
0x04,0x04,0x05,0x45,0xFD,0x07,0x05,0x02,0x00,//子
0x02,0x03,0xFE,0xCA,0x5B,0x29,0x5B,0x8A,0x00,//设
0x02,0x03,0xFE,0x88,0xD8,0x7F,0x08,0x08,0x00//计
四、软件设计
(1)设计说明:
主函数中共分为三部分,主循环为单字循环显示,外部中断0的中断函数为上下循环,外部中断1的中断函数为左右循环。
采用边沿触发方式产生中断,每次中断都循环显示“电子设计”。
(2)软件参数设置:
1.Keil软件:
在Keil中选择AT89C52进行仿真,选择频率为11MHZ,如下图:
选择仿真输出.hex文件,方便进行烧录,如下图:
设置Debug,如下图:
2.STC烧录软件:
(3)源程序:
#include<
AT89X52.H>
#defineRowP1
#defineColP2
#defineResetBit(byte,i)((byte)&
=(0x01<
<
(i)));
typedefunsignedintint16u;
typedefunsignedcharint8u;
/*************************************************
模块级变量申明——单字循环显示
*************************************************/
int8ugRowBuff1[8]={0x04,0x7F,0x49,0x7F,0x49,0x7F,0x84,0xF4};
int8ugRowBuff2[8]={0x7E,0x20,0xFE,0x10,0x10,0x10,0x14,0x10};
int8ugRowBuff3[8]={0x72,0xDF,0x05,0xF5,0x54,0x24,0x5C,0x85};
int8ugRowBuff4[8]={0x22,0x27,0xFC,0x24,0x24,0x24,0x2C,0x24};
模块级变量申明——上下循环
0x04,0x7F,0x49,0x7F,0x49,0x7F,0x84,0xF4,0x00,
0x7E,0x20,0xFE,0x10,0x10,0x10,0x14,0x10,0x00,
0x72,0xDF,0x05,0xF5,0x54,0x24,0x5C,0x85,0x00,
0x22,0x27,0xFC,0x24,0x24,0x24,0x2C,0x24,0x00
模块级变量申明——左右循环
0xC0,0xBE,0xAA,0xAA,0x7F,0x2A,0x2A,0x3E,0x00,
0x04,0x04,0x05,0x45,0xFD,0x07,0x05,0x02,0x00,
0x02,0x03,0xFE,0xCA,0x5B,0x29,0x5B,0x8A,0x00,
0x02,0x03,0xFE,0x88,0xD8,0x7F,0x08,0x08,0x00
int8ui,j,n,s;
int16usec;
voidDelay1(void);
voidDelay2(void);
子函数定义
voidmain(void)
IT0=1;
//INT0边沿触发
IT1=1;
//INT1边沿触发
EA=1;
//允许所有中断
EX0=1;
//允许INT0中断
EX1=1;
//允许INT1中断
while
(1)
{
Col=0xff;
//屏幕清零
sec++;
if(sec<
=200)//每个汉字显示四秒;
{
for(i=0;
i<
8;
i++)
ResetBit(Col,i);
//扫描第i列;
Row=gRowBuff1[i];
//送显示码;
Delay1();
}
elseif((sec>
200)&
&
(sec<
=400))
Row=gRowBuff2[i];
400)&
(sec<
=600))
Col=0xff;
Row=gRowBuff3[i];
600)&
=800))
Row=gRowBuff4[i];
elseif((sec>
800)&
(sec<
=801))
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京 交大 单片机 课程设计 x8 点阵 实验 报告