找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机60秒倒计时protues仿真及程序源码

  [复制链接]
跳转到指定楼层
楼主

51单片机做的一个60秒的倒计时,带有proteus仿真文件,下面是源代码:
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. uchar code table[]={0xc0,0xf9,0xa4, 0xb0,0x99,
  5. 0x92,0x82,0xf8,0x80,0x90};
  6. sbit gew=P2^1;
  7. sbit shiw=P2^0;
  8. sbit k2=P1^0;
  9. uchar num,num1=60,num2,shi,ge;
  10. void Init()                                                         //初始化子函数
  11. {
  12.         TMOD=0X01;                                                //设定定时器0的工作方式为1
  13.         TH0=(65536-50000)/256;                        //定时器装初值一个周期50ms
  14.         TL0=(65536-50000)%256;
  15.         EA=1;                                                        //开总中断
  16.         ET0=1;                                                    //开定时器0中断
  17.         TR0=1;                                                        //启动定时器0

  18. }
  19. void delay(uint xms)                                //延时子函数
  20. {
  21.         uint i,j;
  22.         for(i=xms;i>0;i--)
  23.         for(j=110;j>0;j--);
  24. }

  25. void scankey()                                                //键盘检测子函数
  26. {
  27.         if(k2==0)                                                //检测键是否被按下
  28.         {
  29.                 delay(5);                                        //延时消除抖动
  30.                 if(k2==0)                                        //重新读取k2的值
  31.                 {                                                        
  32.                         num2++;                                        //num2为按次数标志位
  33.                         while(!k2);                                //等待按键释放
  34.                         if(num2==1)                                //按键一次计时停止
  35.                            TR0=0;
  36.                         if(num2==2)                                //按键两次计时开始
  37.                         {               
  38.                                   TR0=1;
  39.                         }
  40.                 }
  41.         }
  42. }

  43. void main()                                                         //主函数
  44. {
  45.         Init();                                                         //初始化子函数调用
  46.         while(1)
  47.         {
  48.                 scankey();                                         //不断键盘扫描
  49.                 gew=1;                                                 //打开数码管个位位选                                         
  50.                 P0=table[ge];                                 //数码管个位赋值
  51.                 delay(1);                                         //延时 送入数据的反应时间
  52.                 gew=0;                                                 //关闭数码管个位位选
  53.                 delay(1);

  54.                 shiw=1;                                                  //打开数码管十位位选        
  55.                 P0=table[shi];                                  //送入数据
  56.                 delay(1);                                          
  57.                 shiw=0;                                                  //关闭数码管十位位选
  58.                 delay(1);
  59.         }
  60. }
  61. void Timer0()interrupt 1                           
  62. {
  63.         TH0=(65536-50000)/256;                          //定时器重装初值
  64.         TL0=(65536-50000)%256;
  65.         num++;
  66.         if(num==20)                                                  //定时器每进行一个周期num加1,运行20个周期即为1s
  67.         {
  68.                 num=0;                                                  //到1秒,num清0重新开始
  69.                 num1--;                                                  //倒计时1秒
  70.                 if(num1==0)
  71.                 num1=60;
  72.                 shi=num1/10;                                  //两位数分离赋给数码管十位显示
  73.                 ge=num1%10;                                          //两位数分离赋给数码管个位显示
  74.         }
  75. }
复制代码



60秒倒计时程序及protues仿真.rar

57.59 KB, 下载次数: 449, 下载积分: 黑币 -5

评分

参与人数 3黑币 +17 收起 理由
zx835243202 + 5 很给力!
12323ff + 4 很给力!
洛水神仙小童鞋 + 8 赞一个!

查看全部评分

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

使用道具 举报

沙发
ID:148089 发表于 2016-11-15 22:43 | 只看该作者
赞,试一下
回复

使用道具 举报

板凳
ID:137723 发表于 2017-6-15 15:10 | 只看该作者
谢谢,正好需要这个,学习了!!!
回复

使用道具 举报

地板
ID:137723 发表于 2017-6-15 15:10 | 只看该作者
谢谢了
回复

使用道具 举报

5#
ID:211258 发表于 2017-6-15 17:08 | 只看该作者
谢谢分享!收藏了!
回复

使用道具 举报

6#
ID:216811 发表于 2017-7-10 19:22 | 只看该作者
程序 能解释下什么意思吗
回复

使用道具 举报

7#
ID:250103 发表于 2017-11-16 17:24 | 只看该作者
厉害啦
回复

使用道具 举报

8#
ID:256979 发表于 2017-12-3 22:33 | 只看该作者
厉害666666
回复

使用道具 举报

9#
ID:257025 发表于 2017-12-4 08:16 | 只看该作者
不错不错,正需要呢
回复

使用道具 举报

10#
ID:273174 发表于 2018-1-8 13:53 | 只看该作者
需要需要

评分

参与人数 1黑币 +5 收起 理由
zglife + 5

查看全部评分

回复

使用道具 举报

11#
ID:272841 发表于 2018-1-8 19:55 | 只看该作者
为什么只能暂停一次啊
回复

使用道具 举报

12#
ID:272841 发表于 2018-1-8 19:57 | 只看该作者
为什么只能暂停一次啊
回复

使用道具 举报

13#
ID:274066 发表于 2018-1-9 23:54 | 只看该作者
谢谢啦,正常需要
回复

使用道具 举报

14#
ID:351354 发表于 2018-6-13 20:07 | 只看该作者
大神你好打扰了,这个代码有没有汇编语言版的呀?就是CODE SEGMENT  CODE ENDS END START 这种格式的,如果方便的话能不能行行好,没学这种的。谢谢
回复

使用道具 举报

15#
ID:362512 发表于 2018-7-1 00:36 | 只看该作者
赞,试一下
回复

使用道具 举报

16#
ID:374609 发表于 2018-7-22 14:32 | 只看该作者
很好的贴子,必须顶!!!
回复

使用道具 举报

17#
ID:398250 发表于 2018-9-16 12:00 | 只看该作者
顶正需要谢谢
回复

使用道具 举报

18#
ID:410553 发表于 2018-10-16 16:57 | 只看该作者
很强势
回复

使用道具 举报

19#
ID:411550 发表于 2018-10-18 10:12 | 只看该作者
正好在学习有关内容,感谢楼主帮大忙
回复

使用道具 举报

20#
ID:416271 发表于 2018-10-27 15:00 | 只看该作者
caohhh 发表于 2016-11-15 22:43
**** 作者被禁止或删除 内容自动屏蔽 ****

黑币你有吗
回复

使用道具 举报

21#
ID:399179 发表于 2018-10-27 19:08 来自手机 | 只看该作者
感谢楼主分享
回复

使用道具 举报

22#
ID:313328 发表于 2018-11-9 10:28 | 只看该作者
请教了,感谢
回复

使用道具 举报

23#
ID:412814 发表于 2018-11-9 20:42 | 只看该作者
这个真挺好的先收藏慢慢研究研究,谢谢楼主
回复

使用道具 举报

24#
ID:423887 发表于 2018-11-9 23:52 | 只看该作者
谢谢楼主的无私奉献
回复

使用道具 举报

25#
ID:504013 发表于 2019-4-3 20:26 | 只看该作者
能加个报警蜂鸣器吗
回复

使用道具 举报

26#
ID:426317 发表于 2019-5-29 23:48 | 只看该作者
大佬厉害,学习一下。
回复

使用道具 举报

27#
ID:565269 发表于 2019-6-18 08:47 | 只看该作者
很棒啊,赞一个
回复

使用道具 举报

28#
ID:585412 发表于 2019-7-16 21:53 来自手机 | 只看该作者
为什么我这个它不现实,只显示一部分。
回复

使用道具 举报

29#
ID:585412 发表于 2019-7-17 10:21 | 只看该作者
为什么我这个它不现实,只显示一部分。
回复

使用道具 举报

30#
ID:585636 发表于 2019-7-17 11:09 | 只看该作者
不错哦
回复

使用道具 举报

31#
ID:585455 发表于 2019-7-17 12:47 | 只看该作者
感謝分享
回复

使用道具 举报

32#
ID:634300 发表于 2019-11-2 13:22 | 只看该作者
非常好
回复

使用道具 举报

33#
ID:362692 发表于 2019-11-3 18:23 来自手机 | 只看该作者
非常不错,用处很大
回复

使用道具 举报

34#
ID:634994 发表于 2019-11-3 20:58 | 只看该作者
单片机大佬  真的很实用
回复

使用道具 举报

35#
ID:91165 发表于 2019-11-4 11:14 | 只看该作者
要是能调节倒计时时间就好了
回复

使用道具 举报

36#
ID:681573 发表于 2020-4-9 10:21 | 只看该作者
谢谢!
回复

使用道具 举报

37#
ID:210829 发表于 2020-4-20 15:16 | 只看该作者
学习了。谢谢
回复

使用道具 举报

38#
ID:754792 发表于 2020-5-18 15:08 | 只看该作者
很给力,给我这个单片机小白很多启发
回复

使用道具 举报

39#
ID:765258 发表于 2020-5-30 18:57 | 只看该作者
很厉害,笔心!
回复

使用道具 举报

40#
ID:375637 发表于 2020-6-8 09:13 | 只看该作者
非常给力
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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