资源简介
C51单片机程序,用两片74HC595显示4位数码管Keil C51程序,Protues8.0仿真。
只占单片机3位I/O口.
只占单片机3位I/O口.
代码片段和文件信息
#include
#include
sbit SDA1 = P3^6; //串行数据输入对应595的14脚SER
sbit SCL1 = P3^7; //移位寄存器时钟输入对应595的11脚SCK
sbit SCL2 = P3^4; //存储寄存器时钟输入对应595的12脚RCK
//unsigned char code duan[]={0xc00xf90xa40xb00x990x920x820xf80x800x90};
unsigned char code disp[16]= {0x3f0x060x5b0x4f0x660x6d0x7d0x07
0x7f0x6f0x770x7c0x580x5e0x790x71}; /***数码***/
//0 1 2 3 4 5 6 7 8 9
//unsigned char code wei[]={0x010x020x040x080x100x200x400x80};
unsigned char code wei[]={0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f};
void delay2ms(void)
{
unsigned char ij;
for(i=133;i>0;i--)
for(j=6;j>0;j--);
}
///========
void c595_in(unsigned char Data)
{
unsigned char i;
for(i = 0; i < 8; i++) //循环8次,刚好移完8位
{
SCL1 = 0; //先将移位寄存器控制引脚置为低
_nop_();
if((Data & 0x80)== 0x80)
SDA1 =1;
else
SDA1 =0;
Data <<= 1; //将数据的次高位移到最高位
SCL1 = 1; //再置为高,产生移位时钟上升沿,上升沿时数据寄存器的数据移位
_nop_();
}
}
//================
void c595_out(void)
{
SCL2 = 0; //先将存储寄存器引脚置为低
_nop_();
SCL2 = 1; //再置为高,产生移位时钟上升沿,上升沿时移位寄存器的数据进入数据存储寄存器,更新显示数据。
}
///===========================
void main(void)
{
unsigned char i;
for(i=0;i<8;i++) //有八位数码管,八位依次扫描
{
c595_in(wei[i]); //先传位码
c595_in(disp[i]); //再传段码
c595_out();
delay2ms(); //延迟时间2ms以内
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-04-05 22:32 ch595_Led\
文件 7766 2016-04-05 22:10 ch595_Led\Backup Of led.pdsbak
目录 0 2016-04-05 21:55 ch595_Led\Explorer 16\
文件 11377 2012-05-08 16:10 ch595_Led\Explorer 16\adc.c
文件 5670 2012-05-08 16:10 ch595_Led\Explorer 16\adc.h
文件 7067 2012-05-08 16:10 ch595_Led\Explorer 16\banner.c
文件 4265 2012-05-08 16:10 ch595_Led\Explorer 16\buttons.c
文件 4829 2012-05-08 16:10 ch595_Led\Explorer 16\buttons.h
目录 0 2016-04-05 21:55 ch595_Led\Explorer 16\Debug\
文件 919152 2012-06-28 09:43 ch595_Led\Explorer 16\Debug\Debug.cof
文件 8836 2012-05-08 16:10 ch595_Led\Explorer 16\eeprom.c
文件 13527 2012-05-08 16:10 ch595_Led\Explorer 16\eeprom.h
文件 109555 2012-07-18 10:00 ch595_Led\Explorer 16\Explorer 16.pdsprj
文件 899 2016-04-05 21:56 ch595_Led\Explorer 16\Explorer 16.pdsprj.WIN-NK21FQHWAJ6.Administrator.workspace
文件 6501 2012-05-08 16:10 ch595_Led\Explorer 16\lcd.c
文件 6844 2012-05-08 16:10 ch595_Led\Explorer 16\lcd.h
文件 54308 2012-05-08 16:10 ch595_Led\Explorer 16\p24FJ128GA010.gld
文件 101183 2012-05-08 16:10 ch595_Led\Explorer 16\p24FJ128GA010.h
文件 6012 2012-05-08 16:10 ch595_Led\Explorer 16\PIC24ExplDemo.c
文件 14919 2012-05-08 16:10 ch595_Led\Explorer 16\rtcc.c
文件 5133 2012-05-08 16:10 ch595_Led\Explorer 16\rtcc.h
文件 6679 2012-05-08 16:10 ch595_Led\Explorer 16\spimpol.c
文件 9637 2012-05-08 16:10 ch595_Led\Explorer 16\spimpol.h
文件 2346 2012-05-08 16:10 ch595_Led\Explorer 16\system.h
文件 9271 2012-05-08 16:10 ch595_Led\Explorer 16\tbanner.c
文件 2991 2012-05-08 16:10 ch595_Led\Explorer 16\timer.c
文件 2775 2012-05-08 16:10 ch595_Led\Explorer 16\timer.h
文件 5256 2012-05-08 16:10 ch595_Led\Explorer 16\uart2.c
文件 4189 2012-05-08 16:10 ch595_Led\Explorer 16\uart2.h
文件 4066 2012-05-08 16:10 ch595_Led\Explorer 16\vbanner.c
文件 4670 2016-04-05 22:30 ch595_Led\led
............此处省略15个文件信息
- 上一篇:ISP 3A算法介绍
- 下一篇:物理mac地址、硬盘序列号查询软件
相关资源
- 51单片机驱动74hc595芯片的程序
- 基于74HC595串行数码管动态显示.rar
- 74HC595级联操作
- 51单片机驱动74hc595去控制8位数码管
- 基于单片机的LED点阵显示系统设计
- 74HC595级联输出原理图+程序+仿真prot
- Proteus仿真:arduino通过SPI驱动lcd1602(
- 74HC595-SOP16封装库
- HAL库版本,硬件SPI驱动74HC595
- 16x16 LED点阵 74hc164 74hc595 仿真DSN
- 74HC595芯片中文资料
- 16x16 LED点阵 驱动 74hc164 74hc595 参考电
- 16x16 LED点阵 驱动 74hc164 74hc595
- 74HC595和ZLG7290中文资料
- 基于74HC595的LED流水灯 带实物图
- SPI接口与74HC595的连接原理图
- 一个74hc595驱动3个数码管
- 74HC595显示程序
- 89C2051+DS1302+74HC595+8位LED数码管的电子
- 16*64点阵 74HC154 ,74HC595
- 74HC595流水灯程序
- 74hc595详解符程序原理图
- 74HC595的驱动和测试程序
- Linux下74HC595的驱动程序控制数码管
- 基于PIC单片机的电子时钟设计
- 74HC595级联动态显示的C程序
- STM32中74hc595初始化函数
- AT89C51单片机写的74HC595驱动程
- 74HC595单片机驱动
- LED点阵书写屏09全国电子设计大赛
评论
共有 条评论