标题: 单片机停车场车位剩余量模拟显示程序及仿真 [打印本页]

作者: cyx8023    时间: 2017-5-30 20:17
标题: 单片机停车场车位剩余量模拟显示程序及仿真
给大家分享一个我自己做的停车场车位剩余量模拟显示及仿真,测试成功.

仿真原理图如下(proteus仿真文件可到本帖附件中下载)


单片机源程序如下:
  1. #include<reg51.h>
  2. sfr P0M0=0x93;
  3. sfr P0M1=0x94;
  4. sfr P1M0=0x91;
  5. sfr P1M1=0x92;
  6. sfr P2M0=0x95;
  7. sfr P2M1=0x96;
  8. sfr P3M0=0xb1;
  9. sfr P3M1=0xb2;
  10. const unsigned char seg7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  11. sbit car_in=P1^0;
  12. sbit car_out=P1^1;
  13. sbit en1=P2^6;
  14. sbit en2=P2^7;
  15. void ms_delay(unsigned int t)
  16. {
  17. unsigned int i;
  18. for(t;t>0;t--)
  19. for(i=110;i>0;i--)
  20. ;
  21. }
  22. void display(int n)
  23. {
  24. char b2,b1;
  25. b2=n/10;
  26. b1=n%10;
  27. P0=seg7[b2];
  28. en2=0;
  29. ms_delay(10);
  30. en2=1;
  31. P0=seg7[b1];
  32. en1=0;
  33. ms_delay(10);
  34. en1=1;
  35. }
  36. main()
  37. {
  38. int num=99;
  39. P0M1=0xff;
  40. P0M0=0xff;
  41. P1M1=0x03;
  42. P1M0=0x00;
  43. display(num);
  44. while(1)
  45. {
  46. if(car_in==0)
  47. {
  48. ms_delay(10);
  49. if(car_in==0)
  50. {
  51. num--;
  52. }
  53. }
  54. if(car_out==0)
  55. {
  56. ms_delay(10);
  57. if(car_out==0)
  58. {
  59. num++;
  60. }
  61. }
  62. if(num>99)
  63. ……………………

  64. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
停车场车位剩余量模拟显示.zip (32.95 KB, 下载次数: 116)



作者: electrohu    时间: 2017-5-30 22:48
概念性的东西,单片机直接驱动数码管,这个不能实战的。
作者: 李建鹏    时间: 2017-6-2 22:56
特别及时,谢谢,请问有电子设计报告,吗,
作者: 77qfy    时间: 2017-7-15 20:09
有没有原理图
作者: 小小555    时间: 2018-5-10 18:37
及时及时,谢谢谢谢谢谢
作者: yuanqiang    时间: 2018-6-1 11:48
有lcd屏显示的吗?
作者: wy199862    时间: 2018-6-11 10:54
基于AT89S52单片机的停车场车位设计.pdf (487.44 KB, 下载次数: 33)
作者: wbh1419907789    时间: 2020-5-16 10:31
感谢作者
作者: 花开彼岸鍙哦    时间: 2020-11-3 11:59
你好 仿真打不开
作者: 51hei团团    时间: 2020-11-4 03:29
花开彼岸鍙哦 发表于 2020-11-3 11:59
你好 仿真打不开

用Proteus7.5终于打开了,如图

51hei.png (11.49 KB, 下载次数: 136)

51hei.png

作者: zss321    时间: 2021-2-24 12:53
感谢作者大大




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