• 大小: 37KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: 其他
  • 标签: 74hc595  

资源简介

八位数码管显示程序,两片74HC595级联,数码管显示程序

资源截图

代码片段和文件信息


//   两片74HC595级联,数码管显示程序。
// 一片用与传送8位数据信号,一片用于传送8个数码管的位选信号(低电平选中)。
// ary_disp_buf[8]:显示缓冲区
// 中断定时2ms 刷新数码管。

void timer1_interrupt() interrupt 3
{
static uchar scan_no = 0; // 定义显示序号
uchar key_temp;
uchar i;
TF1 = 0;
TH1 = 0xf8; // 定时 2ms
TL1 = 0xcd;

switch (scan_no)
{
case 0:
serial_to_parallel(0xfe ary_disp_buf[0]);
break;
case 1:
serial_to_parallel(0xfd ary_disp_buf[1]);
break;
case 2:
serial_to_parallel(0xfb ary_disp_buf[2]);
break;
case 3:
serial_to_parallel(0xf7 ary_disp_buf[3]);
break;
case 4:
serial_to_parallel(0xef ary_disp_buf[4]);
break;
case 5:
serial_to_parallel(0xdf ary_disp_buf[5]);
break;
case 6:
serial_to_parallel(0xbf ary_disp_buf[6]);
break;
case 7:
serial_to_parallel(0x7f ary_disp_buf[7]);
break;
default:
break;
}
if (scan_no++ >=7)
{
scan_no = 0;
}
}
void serial_to_parallel(high_byte low_byte)
{
uchar i;
uint value_word;

value_word = ((uint)high_byte << 8) + low_byte;
b_st_cp = 0;
for (i=0; i<16; i++)
{
b_sh_cp = 0;
b_de = value_word & 0x8000;
value_word = value_word << 1;
b_sh_cp = 1;
}
b_st_cp = 1; // 并行输出
} // 转换16位串行数据到并口

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1342  2009-06-17 13:56  74HC595_led.c

     文件      66425  2014-04-24 12:06  74HC595_led.cPreview

----------- ---------  ---------- -----  ----

                67767                    2


评论

共有 条评论