1632点阵电路设计Word格式.docx
- 文档编号:8244351
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:21
- 大小:340.28KB
1632点阵电路设计Word格式.docx
《1632点阵电路设计Word格式.docx》由会员分享,可在线阅读,更多相关《1632点阵电路设计Word格式.docx(21页珍藏版)》请在冰点文库上搜索。
采用的是12MHZ的晶振
电源部分:
采用5V电压供电,采用的是L7805稳压芯片供电
电阻:
大部分是限流电阻,阻值为4.7K或10K,1K
译码器:
4-16线采用市场上较为常用的74LS154,用来作行驱动
移位寄存器:
采用74HC595移位寄存器作列驱动,驱动列
端口分配及连接:
P1.0-P1.2:
DS1302与单片机接口
P1.3-P1.4:
K0,K1按键,用来调整时间,按下为0
P0:
P0口接点阵行驱动电路接译码器
P2:
P2口点阵列驱动电路接74HC595
最后是做好之后的图
附:
点阵时间显示源程序
//===================================================================================//
//*标题:
16*32点阵数字钟显示程序
//*说明:
时钟信号产生采用DS1302,列采用74HC595驱动(共4个),行驱动采用4-16线译码器74LS154
//*功能:
通过动态扫描显示时钟,可显示时,分,秒,日期中的月和日
//*作者:
HEY
//*日期:
2006-05-29
//*邮箱:
billy3416@
//*备注:
此是我刚接触单片机时的一个小制作程序和电路设计上难免有不足之处请谅解
#include<
reg51.h>
stdlib.h>
#defineucharunsignedchar
//用到的引脚及端口定义
sbitSERIALIN_0=P2^0;
//定义P2.0为列向第1个74HC595的DATA输入
sbitSERIALIN_1=P2^1;
//定义P2.1为列向第2个74HC595的DATA输入
sbitSERIALIN_2=P2^2;
//定义P2.2为列向第2个74HC595的DATA输入
sbitSERIALIN_3=P2^3;
//定义P2.3为列向第2个74HC595的DATA输入
sbitCLOCK_DATA=P1^0;
//定义P1.0为DS1302的DATA端口
sbitCLOCK_RST=P1^1;
//定义P1.1为DS1302的复位输出端口
sbitCLOCK_SCLK=P1^2;
//定义P1.2为DS1302的时钟信号状态控制
sbitK0=P1^3;
//K0为按键1,用来选择要调整时间的选项(时和分)
sbitK1=P1^4;
//K1为按键2,执行加1
sbitCLOCK=P2^4;
//74HC595的移位时钟控制
sbitLATCH=P2^5;
//74HC595的锁存输出时钟控制
voidcontrol();
//调整时间控制函数
voidtime();
uchar
CLOCK_TIME[3]={0,0,0};
//定义时钟时间数据存储区,分别为(时,分,秒)
BUFFER[8]={0,0,0,0,0,0,0,0};
//显示缓冲区
YEAR[3]={0,0,0};
//定义时钟年月日数据存储区
temp[4]={0,0,0,0};
//定义74HC595的移位缓冲区
FLASH_STOP;
//显示小时和分钟之间的两点控制位
sec_flash;
//用单片机定时器模拟的一秒(用来控制小时和分中之间的两点)
//定义0-9的点阵显示代码段
8*8
ucharcodebmp[10][8]={
{0xe3,0xdd,0xdd,0xdd,0xdd,0xdd,0xdd,0xe3},
//0
{0xf7,0xc7,0xf7,0xf7,0xf7,0xf7,0xf7,0xc1},
//1
{0xe3,0xdd,0xdd,0xfd,0xfb,0xf7,0xef,0xc1},
//2
{0xe3,0xdd,0xfd,0xe3,0xfd,0xfd,0xdd,0xe3},
//3
{0xfb,0xf3,0xeb,0xdb,0xdb,0xc1,0xfb,0xf1},
//4
{0xc1,0xdf,0xdf,0xc3,0xfd,0xfd,0xdd,0xe3},
//5
{0xe3,0xdd,0xdf,0xc3,0xdd,0xdd,0xdd,0xe3},
//6
{0xc1,0xdd,0xfd,0xfb,0xf7,0xf7,0xf7,0xf7},
//7
{0xe3,0xdd,0xdd,0xe3,0xdd,0xdd,0xdd,0xe3},
//8
{0xe3,0xdd,0xdd,0xdd,0xe1,0xfd,0xdd,0xe3},
//9
};
8*8
与上面不同的是多了小时和分钟之间的两点
ucharcodebmp_1[10][8]={
{0xe3,0xdd,0x5d,0xdd,0xdd,0x5d,0xdd,0xe3},
//:
{0xf7,0xc7,0x77,0xf7,0xf7,0x77,0xf7,0xc1},
1
{0xe3,0xdd,0x5d,0xfd,0xfb,0x77,0xef,0xc1},
2
{0xe3,0xdd,0x7d,0xe3,0xfd,0x7d,0xdd,0xe3},
3
{0xfb,0xf3,0x6b,0xdb,0xdb,0x41,0xfb,0xf1},
4
{0xc1,0xdf,0x5f,0xc3,0xfd,0x7d,0xdd,0xe3},
{0xe3,0xdd,0x5f,0xc3,0xdd,0x5d,0xdd,0xe3},
5
{0xc1,0xdd,0x7d,0xfb,0xf7,0x77,0xf7,0xf7},
6
{0xe3,0xdd,0x5d,0xe3,0xdd,0x5d,0xdd,0xe3},
7
{0xe3,0xdd,0x5d,0xdd,0xe1,0x7d,0xdd,0xe3},
8
//定义0-9的点阵显示代码段数码似的字模
显示数据前有一横杠将月和日格开
ucharcodebmp_2[10][8]={
{0xff,0xff,0xf8,0xfa,0x8a,0xfa,0xf8,0xff},
//-0
{0xff,0xff,0xfe,0xfe,0x8e,0xfe,0xfe,0xff},
//-1
{0xff,0xff,0xf8,0xfe,0x88,0xfb,0xf8,0xff},
//-2
{0xff,0xff,0xf8,0xfe,0x88,0xfe,0xf8,0xff},
//-3
{0xff,0xff,0xfa,0xfa,0x88,0xfe,0xfe,0xff},
//-4
{0xff,0xff,0xf8,0xfb,0x88,0xfe,0xf8,0xff},
//-5
{0xff,0xff,0xf8,0xfb,0x88,0xfa,0xf8,0xff},
//-6
{0xff,0xff,0xf8,0xfe,0x8e,0xfe,0xfe,0xff},
//-7
{0xff,0xff,0xf8,0xfa,0x88,0xfa,0xf8,0xff},
//-8
{0xff,0xff,0xf8,0xfa,0x88,0xfe,0xf8,0xff},
//-9
//定义0-9的点阵显示代码段模拟数码似的字模
ucharcodebmp_3[10][8]={
{0xff,0xff,0x8f,0xaf,0xaf,0xaf,0x8f,0xff},
{0xff,0xff,0xef,0xef,0xef,0xef,0xef,0xff},
{0xff,0xff,0x8f,0xef,0x8f,0xbf,0x8f,0xff},
{0xff,0xff,0x8f,0xef,0x8f,0xef,0x8f,0xff},
{0xff,0xff,0xaf,0xaf,0x8f,0xef,0xef,0xff},
{0xff,0xff,0x8f,0xbf,0x8f,0xef,0x8f,0xff},
{0xff,0xff,0x8f,0xbf,0x8f,0xaf,0x8f,0xff},
{0xff,0xff,0x8f,0xef,0xef,0xef,0xef,0xff},
{0xff,0xff,0x8f,0xaf,0x8f,0xaf,0x8f,0xff},
{0xff,0xff,0x8f,0xaf,0x8f,0xef,0x8f,0xff},
//定义0-59模拟七段数码管显示8*8
ucharcodebmp_4[60][8]={
{0xff,0xff,0x88,0xaa,0xaa,0xaa,0x88,0xff},
//00
{0xff,0xff,0x8e,0xae,0xae,0xae,0x8e,0xff},
//01
{0xff,0xff,0x88,0xae,0xa8,0xab,0x88,0xff},
//02
{0xff,0xff,0x88,0xae,0xa8,0xae,0x88,0xff},
//03
{0xff,0xff,0x8a,0xaa,0xa8,0xae,0x8e,0xff},
//04
{0xff,0xff,0x88,0xab,0xa8,0xae,0x88,0xff},
//05
{0xff,0xff,0x88,0xab,0xa8,0xaa,0x88,0xff},
//06
{0xff,0xff,0x88,0xae,0xae,0xae,0x8e,0xff},
//07
{0xff,0xff,0x88,0xaa,0xa8,0xaa,0x88,0xff},
//08
{0xff,0xff,0x88,0xaa,0xa8,0xae,0x88,0xff},
//09
{0xff,0xff,0xe8,0xea,0xea,0xea,0xe8,0xff},
//10
{0xff,0xff,0xee,0xee,0xee,0xee,0xee,0xff},
//11
{0xff,0xff,0xe8,0xee,0xe8,0xeb,0xe8,0xff},
//12
{0xff,0xff,0xe8,0xee,0xe8,0xee,0xe8,0xff},
//13
{0xff,0xff,0xea,0xea,0xe8,0xee,0xee,0xff},
//14
{0xff,0xff,0xe8,0xeb,0xe8,0xee,0xe8,0xff},
//15
{0xff,0xff,0xe8,0xeb,0xe8,0xea,0xe8,0xff},
//16
{0xff,0xff,0xe8,0xee,0xee,0xee,0xee,0xff},
//17
{0xff,0xff,0xe8,0xea,0xe8,0xea,0xe8,0xff},
//18
{0xff,0xff,0xe8,0xea,0xe8,0xee,0xe8,0xff},
//19
{0xff,0xff,0x88,0xea,0x8a,0xba,0x88,0xff},
//20
{0xff,0xff,0x8e,0xee,0x8e,0xbe,0x8e,0xff},
//21
{0xff,0xff,0x88,0xee,0x88,0xbb,0x88,0xff},
//22
{0xff,0xff,0x88,0xee,0x88,0xbe,0x88,0xff},
//23
{0xff,0xff,0x8a,0xea,0x88,0xbe,0x8e,0xff},
//24
{0xff,0xff,0x88,0xeb,0x88,0xbe,0x88,0xff},
//25
{0xff,0xff,0x88,0xeb,0x88,0xba,0x88,0xff},
//26
{0xff,0xff,0x88,0xee,0x8e,0xbe,0x8e,0xff},
//27
{0xff,0xff,0x88,0xea,0x88,0xba,0x88,0xff},
//28
{0xff,0xff,0x88,0xea,0x88,0xbe,0x88,0xff},
//29
{0xff,0xff,0x88,0xea,0x8a,0xea,0x88,0xff},
//30
{0xff,0xff,0x8e,0xee,0x8e,0xee,0x8e,0xff},
//31
{0xff,0xff,0x88,0xee,0x88,0xeb,0x88,0xff},
//32
{0xff,0xff,0x88,0xee,0x88,0xee,0x88,0xff},
//33
{0xff,0xff,0x8a,0xea,0x88,0xee,0x8e,0xff},
//34
{0xff,0xff,0x88,0xeb,0x88,0xee,0x88,0xff},
//35
{0xff,0xff,0x88,0xeb,0x88,0xea,0x88,0xff},
//36
{0xff,0xff,0x88,0xee,0x8e,0xee,0x8e,0xff},
//37
{0xff,0xff,0x88,0xea,0x88,0xea,0x88,0xff},
//38
{0xff,0xff,0x88,0xea,0x88,0xee,0x88,0xff},
//39
{0xff,0xff,0xa8,0xaa,0x8a,0xea,0xe8,0xff},
//40
{0xff,0xff,0xae,0xae,0x8e,0xee,0xee,0xff},
//41
{0xff,0xff,0xa8,0xae,0x88,0xeb,0xe8,0xff},
//42
{0xff,0xff,0xa8,0xae,0x88,0xee,0xe8,0xff},
//43
{0xff,0xff,0xaa,0xaa,0x88,0xee,0xee,0xff},
//44
{0xff,0xff,0xa8,0xab,0x88,0xee,0xe8,0xff},
//45
{0xff,0xff,0xa8,0xab,0x88,0xea,0xe8,0xff},
//46
{0xff,0xff,0xa8,0xae,0x8e,0xee,0xee,0xff},
//47
{0xff,0xff,0xa8,0xaa,0x88,0xea,0xe8,0xff},
//48
{0xff,0xff,0xa8,0xaa,0x88,0xee,0xe8,0xff},
//49
{0xff,0xff,0x88,0xba,0x8a,0xea,0x88,0xff},
//50
{0xff,0xff,0x8e,0xbe,0x8e,0xee,0x8e,0xff},
//51
{0xff,0xff,0x88,0xbe,0x88,0xeb,0x88,0xff},
//52
{0xff,0xff,0x88,0xbe,0x88,0xee,0x88,0xff},
//53
{0xff,0xff,0x8a,0xba,0x88,0xee,0x8e,0xff},
//54
{0xff,0xff,0x88,0xbb,0x88,0xee,0x88,0xff},
//55
{0xff,0xff,0x88,0xbb,0x88,0xea,0x88,0xff},
//56
{0xff,0xff,0x88,0xbe,0x8e,0xee,0x8e,0xff},
//57
{0xff,0xff,0x88,0xba,0x88,0xea,0x88,0xff},
//58
{0xff,0xff,0x88,0xba,0x88,0xee,0x88,0xff},
//59
//名称:
delay
//说明:
延时函数
//功能:
根据需要取不同的值,实现不同的延时效果
voiddelay()
{
ucharn;
for(n=0;
n<
=125;
n++);
}
voiddelay2(ucharm)
while(m--)
for(n=0;
=200;
shift
74HC595左移程序
实现74HC595的移位输入
voidshift()
ucharj;
for(j=0;
j<
8;
j++)
{
temp[0]=temp[0]<
<
1;
//将temp[0]左移1位
SERIALIN_0=CY;
//进位输出到移位寄存器
temp[1]=temp[1]<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1632 点阵 电路设计