找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3141|回复: 0
打印 上一主题 下一主题
收起左侧

单片机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. }
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表