两片74HC595级联驱动8个数码管_第1页
两片74HC595级联驱动8个数码管_第2页
两片74HC595级联驱动8个数码管_第3页
两片74HC595级联驱动8个数码管_第4页
两片74HC595级联驱动8个数码管_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、两片74HC595级联动态驱动8位数码管 51单片机#include <reg52.h>sbit SCK = P11;    / 数据输入时钟线,脉冲sbit SI  = P10;    / 数据线sbit RCK = P12;    / 锁存unsigned char code SMG10 = 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90;  / 段码unsigned char code W

2、ei8 = 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80;    / 位选unsigned char Val8  = 0;    / 要显示的数据 * 函数声明 *void interrupt_init(void);void timer_init(void);  控制74HC595输出数据void Output(void)    RCK = 0;    RCK = 1; 向74H

3、C595中写入一字节数据void Write_Byte(unsigned char dat)    unsigned char i = 0;       for(i=0; i<8; i+)            SCK = 0;        SI  = dat & 0x80;   &

4、#160;    SCK = 1;               dat <<= 1;           显示函数void Display(unsigned char * p)    unsigned char * pt = Wei;    

5、60;  Write_Byte(*(pt+0);    Write_Byte(SMG*(p+7);    Output();       Write_Byte(*(pt+1);    Write_Byte(SMG*(p+6);    Output();       Write_Byte(*(pt+2);    Writ

6、e_Byte(SMG*(p+5);    Output();       Write_Byte(*(pt+3);    Write_Byte(SMG*(p+4);    Output();        Write_Byte(*(pt+4);    Write_Byte(SMG*(p+3);    Output();&

7、#160;      Write_Byte(*(pt+5);    Write_Byte(SMG*(p+2);    Output();       Write_Byte(*(pt+6);    Write_Byte(SMG*(p+1);    Output();       Write_Byte(*(pt+

8、7);    Write_Byte(SMG*(p+0);    Output();    int main(void)       timer_init();    interrupt_init();       while(1)           

9、; Display(Val);           return 0;void interrupt_init(void) EA  = 1;  /开总中断 ET0 = 1;  /开定时器0中断 ET1 = 1;  /开定时器1中断void timer_init(void) TMOD = TMOD | 0x01;  /定时器0工作方式1 TMOD = TMOD &

10、 0xFD;    TH0  = 0x4B;   /装初值,50ms计数 TL0  = 0xFF; TR0  = 1;    /开启定时器0void timer0() interrupt 1    static unsigned char counter0 = 0; counter0+; TH0  = 0x4B;   /重新装入初值,定时器0从头开

11、始计数,计数50ms   TL0  = 0xFF;  if(2 = counter0)  /2*50 ms = 100ms = 0.1s   counter0 = 0;  /counter0置零,定时器0从头开始计数               Val0+;      

12、  if(10=Val0)                    Val0 = 0;            Val1+;               

13、        if(10=Val1)                            Val1 = 0;             &

14、#160;  Val2+;                               if(10=Val2)               

15、                     Val2 = 0;                    Val3+;         

16、                              if(10=Val3)                   

17、                         Val3 = 0;                        Val4+; 

18、                                              if(10=Val4)   

19、                                                 Val4 = 0; &

20、#160;                          Val5+;                       

21、                                if(10=Val5)                 

22、                                           Val5 = 0;       &

23、#160;                        Val6+;                         

24、                                      if(10=Val6)           

25、                                                   

26、;      Val6 = 0;                                    Val7+;       

27、                                                  

28、              if(10=Val7)                                   

29、                                         Val7 = 0;         &#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论