zlg7290数码管显示驱动_IO口输出之数码管动态显示

#include

/*

**********************************************************************

*                       本地数据类型/宏定义

**********************************************************************

*/

typedef signed char int8;         //8位有符号字符型

typedef signed int int16;         //16位有符号整型

typedef signed long int32;        //32位有符号长整型

typedef unsigned char uint8;      //8位无符号字符型

typedef unsigned int uint16;      //16位无符号整型

typedef unsigned long uint32;     //32位无符号长整型

/*

**********************************************************************

*                        单片机IO口位定义

**********************************************************************

*/

sbit DATA_A_595      = P1^0;  //74HC595 串行数据输入引脚

sbit SHIFT_CLOCK_595 = P1^4;  //74HC595 移位寄存器时钟信号输入引脚

sbit LATCH_CLOCK_595 = P2^3;  //74HC595 锁存器时钟信号输入引脚

sbit duanxuan = P2^5;            //数码管驱动芯片74HC573 段选 

sbit weixuan  = P2^6;            //数码管驱动芯片74HC573 位选

/*

**********************************************************************

*                      本地全局变量/数组定义

**********************************************************************

*/

uint8 zifu_test;  //自加变量  测试我们编码表

uint8 code zifu[19]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0x7f,0xbf};  //共阳数码管编码表

/*

**********************************************************************

*                         函数原型声明

**********************************************************************

*/

void delay(uint16 x_ms); //延迟  x_ms*1  毫秒

void write_byte_74hc595(uint8 dat);  //给595芯片写一字节数据函数

void delay_100us(uint16 x_100us); //延迟  x_100*100  微秒

void Disp_smg_number(uint8 x_smg,uint8 count_smg,uint32 number,uint16 time);//把一个任意的八位数以内的十进制数,通过动态扫描显示在数码管上,可以指定扫描时间

/*********************************************************************

*函数名称:main

*函数功能:主函数

*函数调用:

*参数列表:无

*返 回 值:无

*结    果:

*备    注:

*********************************************************************/

void main(void)

{

P1=0XFF;

write_byte_74hc595(0X40);  //给595芯片写一字节数据函数

write_byte_74hc595(0X00);  //给595芯片写一字节数据函数  关掉595被控制的所有功能

zifu_test = 0;  //自加变量  测试我们编码表

while(1)

{

/***************************************************************************************************

//数码管消斗试验 

  duanxuan = 0;            //数码管驱动芯片74HC573 段选 

      weixuan  = 0;            //数码管驱动芯片74HC573 位选

  P0       =zifu[1];          //数码管段码显示 0     zifu_test自加变量  测试我们编码表 

  duanxuan = 1;            //数码管驱动芯片74HC573 段选

  duanxuan = 0;            //数码管驱动芯片74HC573 段选

    duanxuan = 0;            //数码管驱动芯片74HC573 段选 

      weixuan  = 0;            //数码管驱动芯片74HC573 位选

  P0       =0X01;          //数码管段码显示 0

      weixuan  = 1;            //数码管驱动芯片74HC573 位选

      weixuan  = 0;            //数码管驱动芯片74HC573 位选

      delay(1000); //延迟  x_ms*1  毫秒

    duanxuan = 0;            //数码管驱动芯片74HC573 段选 

      weixuan  = 0;            //数码管驱动芯片74HC573 位选

  P0       =zifu[2];          //数码管段码显示 0     zifu_test自加变量  测试我们编码表 

  duanxuan = 1;            //数码管驱动芯片74HC573 段选

  duanxuan = 0;            //数码管驱动芯片74HC573 段选

    duanxuan = 0;            //数码管驱动芯片74HC573 段选 

      weixuan  = 0;            //数码管驱动芯片74HC573 位选

  P0       =0X02;          //数码管段码显示 0

      weixuan  = 1;            //数码管驱动芯片74HC573 位选

      weixuan  = 0;            //数码管驱动芯片74HC573 位选

      delay(1000); //延迟  x_ms*1  毫秒

    duanxuan = 0;            //数码管驱动芯片74HC573 段选 

      weixuan  = 0;            //数码管

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值