专栏中心

EEPW首页 > 专栏 > 74HC573扫描显示(电子表项目)

74HC573扫描显示(电子表项目)

发布人:0750long 时间:2009-07-09 来源:工程师 发布文章
74HC573扫描显示(电子表项目)

 

#ifndef __74hc573__h_
#define __74hc573__h_

//锁存74HC573信号为定义 扫描字符段。11脚当为高电平时移位,低电平锁存控制 9脚输出使

能端,低电平有效
sbit D3CS=P2^0;//输出扫描3组3位数码管 分别是cal/incline、speed、pause\distance
sbit D2CS=P1^5;  //输出控制扫描一个4位数码管。显示TIMER窗口

sbit D0CS=P2^1;  //74HC573输出控制8*8点阵窗口左上
sbit D1CS=P2^6;   //74HC573输出控制8**点阵窗口左下
sbit D4CS=P2^3;   //74HC573输出控制8**点阵窗口右上
sbit D5CS=P2^5;   //74HC573输出控制8**点阵窗口左下
//控制数码管位点阵列
sbit Selcs="P2"^7;   选通该74HC573 输出扫描字符位

//并行数据输入端口定义
#define PORT0_DATA  P0
uchar disbuffer[3];
//段码定义(TIMER、cal/incline、speed、pause\distance)
unsigned char code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};
                          //0   1    2    3    4    5    6    7    8    9    *

//4个8*8点阵代码定义
#define  num  sizeof(table) //代码长度
unsigned char code table[]= {
/*--  宽度x高度=16x16  --*/
0x00,0x00,0x00,0x00,0x00,
0x00,0x42,0x7E,0x42,0x00,0x00,0x00,0x7E,0x40,0x40,0x00,0x7E,0x42,0x7E,0x00,0x3E,
0x40,0x3E,0x00,0x7E,0x52,0x52,0x00,0x00,0x00,0x0E,0x70,0x0E,0x00,0x7E,0x42,0x7E,
0x00,0x7E,0x40,0x7E,0x00,0x00,0x00,0x42,0x7E,0x40,0x00,0x52,0x52,0x7E,0x00,0x42,
0x7E,0x40,0x18,0x14,0x7E,0x10,0x00,0x1C,0x22,0x44,0x22,0x1C,0x00,0x00,0x3C,0x42,
0x4A,0x62,0x4A,0x42,0x3C,0x00,0x00,0x7E,0x10,0x7E,0x00,0x7C,0x12,0x7C,0x00,0x7E,
0x0A,0x0E,0x00,0x7E,0x0A,0x0E,0x00,0x0E,0x70,0x0E,0x00,0x00,0x00,0x7E,0x04,0x18,
0x20,0x7E,0x00,0x7E,0x52,0x52,0x00,0x3E,0x40,0x7E,0x40,0x3E,0x00,0x00,0x00,0x0E,
0x70,0x0E,0x00,0x7E,0x52,0x52,0x00,0x7C,0x12,0x7C,0x00,0x7E,0x1A,0x6E,0x00,0x00,
0x72,0x52,0x5E,0x00,0x7E,0x42,0x7E,0x00,0x7E,0x42,0x7E,0x00,0x5E,0x52,0x7E,0x00,
0x08,0x08,0x08,0x00,0x7E,0x42,0x7E,0x00,0x72,0x52,0x5E,0x00,0x08,0x08,0x08,0x00,
0x7E,0x42,0x7E,0x00,0x42,0x7E,0x40,0x00,0x00,0x00,0x42,0x7E,0x40,0x00,0x52,0x52,
0x7E,0x00,0x24,0x00,0x18,0x14,0x7E,0x10,0x00,0x5E,0x52,0x7E,0x00,0x00,0x00,0x0C,
0x02,0x4C,0x40,0x4C,0x02,0x0C,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00};

//扫描显示 (并口入-并口出扫描)循环四次,及把要显示的数据放4位数码管上显示
void send_time(ucar data)
{
     uchar i;
for(i=3;i>0;i--)
{
     disbuffer[0]=data/1000
     *Dptr++;
     port1<<1;
}
}
//扫描显示 (并口入-并口出扫描)循环四次,及把要显示的数据放3位数码管上显示
void send_cal(ucar data)
{
     uchar i;
for(i=2;i>0;i--)
{
     disbuffer[0]=data/1000
     *Dptr++;
     port1<<1;
}
}
#endif

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

算我一个

honeyandy 2003-12-05

英特尔与中国移动咪咕启动2025-2026年战略合作

智能计算 2025-10-11

干簧继电器:从声带呼叫到GHz ATE,现在面临MEMS中断 第3部分

干簧继电器:从声带呼叫到GHz ATE,现在面临MEMS中断 第2部分

芯海科技“驱屏”软硬件全栈方案 加速智能终端交互升级

干簧继电器:从声带呼叫到GHz ATE,现在面临MEMS中断 第1部分

罗克韦尔自动化重磅推出ControlLogix 5590控制器,引领工控新时代

ACM8815 内置DSP的200W单声道I2S数字输入D类功放芯片大功率低音炮方案

​了解调频解调中的斜率鉴频器

兆易创新与南瑞继保达成战略合作 筑牢电力芯片供应链安全底座

巴斯夫与凯雷就涂料业务达成具有约束力的交易协议

国际视野 2025-10-11
更多 培训课堂
更多 焦点
更多 视频

技术专区