标题: 单片机59秒计数器 [打印本页]

作者: 373305119    时间: 2018-3-25 18:36
标题: 单片机59秒计数器
实验目的:
练习进位操作,数码管动态显示。

实验现象:
用软件延时的方法实现 0-59 秒自动计数器,用数码管的前两位显示出来。

硬件电路:

程序代码:
  1. #include<reg51.h>
  2. #define uchar unsigned char uchar j,k,i,a,A1,A2,second;  
  3. sbit dula=P2^6;   sbit wela=P2^7;  uchar code table[]= {
  4. 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
  5. };
  6. void delay(uchar i) {  
  7. for(j=i;j>0;j--)
  8. for(k=125;k>0;k--); }  void display(uchar sh_c,uchar g_c) {  
  9. dula=0;  P0=table[sh_c];
  10. dula=1;  dula=0;  wela=0;  P0=0xfe;  
  11. wela=1;  wela=0;  delay(5);  P0=table[g_c];
  12. dula=1;  dula=0;  P0=0xfd;  wela=1;  wela=0;  delay(5);  
  13. }
  14. void main()
  15. {
  16. while(1)
  17. {
  18. second++;  if(second==60)
  19. second=0;  
  20. A1=second/10;
  21. A2=second%10;
  22. for(a=50;a>0;a--)
  23. {
  24. display(A1,A2)
  25. }
  26. }
  27. }
复制代码







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1