芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

IC解密CD4094的应用驱动四位数码管

  1. IC解密#include<reg51.h>

  2. sbit KEY = P3^2; // 定义按键使用的 I/O 口 P3.2


  3. sbit STR4094=P1^0; //锁存器移位使能端,H 使能
  4. sbit D4094=P1^1; //串行数据输出端,H 使能
  5. sbit CLK4094=P1^2; //串行时钟输出端,H 使能输出状态使能端,H 使能
  6. //sbit E4094=P1^3; //输出状态使能端,H 使能,直接接高电平
  7. #define HOWMANY4094 2 //定义 4094 个数

  8. unsigned char bdata P4,P5;//定义模拟 I/O 口 P4, P5 口

  9. //unsigned char code TABLE[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
  10. unsigned char code TABLE[]  ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
  11.                   //数字显示编码表:  0    1    2   3    4    5     6    7   8    9     A     b   C    d    E    F   空
  12.                   //当 P4 输出相应的数值时,数码管就会按照上面的数字进行显示。例如:P4=0xB0,数码管就显示"3"
  13.                  //以上编码可以使用附赠目录下的 数码管段位计算小程序计算。方便又快捷。

  14. void update4094()
  15. {
  16.         unsigned char i,j,tt;
  17.         STR4094=0;
  18.         for (j=HOWMANY4094;j>0;j--)
  19.         {
  20.                 tt=*(&P4+j-1);
  21.                 for(i=0;i<8;i++)
  22.                 {
  23.                         D4094=(tt&0x80)>0;//数据脚
  24.                         CLK4094=0;
  25.                         CLK4094=1;
  26.                         tt<<=1;
  27.                 }
  28.         }
  29.         STR4094=1;
  30. }

  31. void delay_ms(unsigned short ms)
  32. {
  33.         unsigned short i;
  34.         unsigned char j;
  35.         for(i=0;i<ms;i++)
  36.         {
  37.                 for(j=0;j<200;j++);
  38.                 for(j=0;j<102;j++);
  39.         } //for(i=0;i<ms;i++)
  40. }
  41. /*
  42. void delay_us(unsigned short us)
  43. {
  44.         while(us--);
  45. }
  46. */

  47. void disp(unsigned char *p) //数码管按位显示函数,
  48. {
  49.         unsigned char i,x=1;
  50.         for(i=0;i<4;i++)
  51.         {
  52.                 P5=~x; //选择一位数码管
  53.                 P4=TABLE[p[i]]; //查表显示一个数字。
  54.                 update4094(); //显示数字。
  55.                 delay_ms(5);
  56.                 x<<=1; //数码管选择位左移 1 位
  57.         }
  58. }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信