当前位置:   article > 正文

“定时炸弹”_time alert frame

time alert frame

         顾名思义,“定时炸弹”即是通过一段时间的计时,让炸弹引爆,这样的原理在生活中也有许多类似的应用,而自己做的只是计时10s后,让蜂鸣器发出响声,不会是真的炸弹啦。具体的思路:

(1)分别创建好用来在发光数码管上显示具体数字和用来位选的数组(十六进制形式)

(2)编写出计时为1s的代码函数和用来延迟时间的函数,方便主函数中进行调用

(3)动态的显示数码管上的数字,设置好计时方式(代码中用到了方式0和方式1)

(4)当时间满足要求后,给蜂鸣器一个方波,让蜂鸣器发出声响

下面是实现的代码和图片:

  1. #include<reg51.h>
  2. #include <intrins.h>
  3. #define dataport P2
  4. #define sbitchoice P0
  5. sbit beel = P1^5;
  6. unsigned char code LED1[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f} ; //0-9
  7. unsigned char code LED2[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07} ; //0-7 位选
  8. unsigned char temp ;
  9. void delay(unsigned char i)
  10. {
  11. unsigned char j,k ;
  12. for(j=0;j<150;j++)
  13. {
  14. for(k=0;k<i;k++)
  15. {
  16. ;
  17. }
  18. }
  19. }
  20. void interface(unsigned char first, unsigned char num)
  21. {
  22. unsigned char i ;
  23. for(i = 0 ; i < num ; i++ )
  24. {
  25. sbitchoice = LED2[i+first] ;
  26. dataport = LED1[temp] ;
  27. delay(1) ;
  28. }
  29. }
  30. void delayls()//1s
  31. {
  32. unsigned char i ;
  33. for(i = 0 ;i<20;i++)
  34. {
  35. TH0 = 0X3c ;
  36. TL0 = 0Xb0 ;
  37. TR0 = 1 ;
  38. while(!TF0);
  39. TF0 = 0 ;
  40. }
  41. }
  42. void main()
  43. {
  44. unsigned int count = 5 ;
  45. unsigned int counter = 0 ;
  46. EA = 1 ;
  47. ET1 = 1 ;
  48. TMOD = 0x11;
  49. TH0 = 0x3C;
  50. TL0 = 0xB0;
  51. TR0 = 1;
  52. while(1)
  53. {
  54. delayls() ;
  55. temp = 9 - counter ;
  56. counter++ ;
  57. interface(0,1) ;
  58. if(temp == 0)
  59. {
  60. TH1 = 0XFF;
  61. TL1 = 0X0C;
  62. TR1 = 1;
  63. while(count--) //响五秒
  64. {
  65. delayls();
  66. }
  67. TR1 = 0;
  68. while(1);
  69. /*while(1) //通过延时让蜂鸣器响
  70. {
  71. beel = ~beel;
  72. delay(1) ;
  73. }*/
  74. }
  75. }
  76. }
  77. void disbeel() interrupt 3
  78. {
  79. TH1 = 0XFF;
  80. TL1 = 0X0C;
  81. beel = ~beel;
  82. }
 


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/563814
推荐阅读
相关标签
  

闽ICP备14008679号