微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 第46节:利用AT24C02进行掉电后的数据保存

第46节:利用AT24C02进行掉电后的数据保存

时间:11-22 来源:互联网 点击:

  1. pdate==1)//窗口1要全部更新显示
  2. {
  3. ucWd1Update=0;//及时清零标志,避免一直进来扫描
  4. ucDigShow8=12;//第8位数码管显示P
  5. ucDigShow7=11;//第7位数码管显示-
  6. ucDigShow6=1; //第6位数码管显示1
  7. ucDigShow5=10;//第5位数码管显示无
  8. //先分解数据
  9. ucTemp4=uiSetData1/1000;
  10. ucTemp3=uiSetData1%1000/100;
  11. ucTemp2=uiSetData1%100/10;
  12. ucTemp1=uiSetData1%10;
  13. //再过渡需要显示的数据到缓冲变量里,让过渡的时间越短越好
  14. if(uiSetData1<1000)
  15. {
  16. ucDigShow4=10;//如果小于1000,千位显示无
  17. }
  18. else
  19. {
  20. ucDigShow4=ucTemp4;//第4位数码管要显示的内容
  21. }
  22. if(uiSetData1<100)
  23. {
  24. ucDigShow3=10;//如果小于100,百位显示无
  25. }
  26. else
  27. {
  28. ucDigShow3=ucTemp3;//第3位数码管要显示的内容
  29. }
  30. if(uiSetData1<10)
  31. {
  32. ucDigShow2=10;//如果小于10,十位显示无
  33. }
  34. else
  35. {
  36. ucDigShow2=ucTemp2;//第2位数码管要显示的内容
  37. }
  38. ucDigShow1=ucTemp1;//第1位数码管要显示的内容
  39. }
  40. break;
  41. case 2://显示P--2窗口的数据
  42. if(ucWd2Update==1)//窗口2要全部更新显示
  43. {
  44. ucWd2Update=0;//及时清零标志,避免一直进来扫描
  45. ucDigShow8=12;//第8位数码管显示P
  46. ucDigShow7=11;//第7位数码管显示-
  47. ucDigShow6=2;//第6位数码管显示2
  48. ucDigShow5=10; //第5位数码管显示无
  49. ucTemp4=uiSetData2/1000; //分解数据
  50. ucTemp3=uiSetData2%1000/100;
  51. ucTemp2=uiSetData2%100/10;
  52. ucTemp1=uiSetData2%10;
  53. if(uiSetData2<1000)
  54. {
  55. ucDigShow4=10;//如果小于1000,千位显示无
  56. }
  57. else
  58. {
  59. ucDigShow4=ucTemp4;//第4位数码管要显示的内容
  60. }
  61. if(uiSetData2<100)
  62. {
  63. ucDigShow3=10;//如果小于100,百位显示无
  64. }
  65. else
  66. {
  67. ucDigShow3=ucTemp3;//第3位数码管要显示的内容
  68. }
  69. if(uiSetData2<10)
  70. {
  71. ucDigShow2=10;//如果小于10,十位显示无
  72. }
  73. else
  74. {
  75. ucDigShow2=ucTemp2;//第2位数码管要显示的内容
  76. }
  77. ucDigShow1=ucTemp1;//第1位数码管要显示的内容
  78. }
  79. break;
  80. case 3://显示P--3窗口的数据
  81. if(ucWd3Update==1)//窗口3要全部更新显示
  82. {
  83. ucWd3Update=0;//及时清零标志,避免一直进来扫描
  84. ucDigShow8=12;//第8位数码管显示P
  85. ucDigShow7=11;//第7位数码管显示-
  86. ucDigShow6=3;//第6位数码管显示3
  87. ucDigShow5=10; //第5位数码管显示无
  88. ucTemp4=uiSetData3/1000; //分解数据
  89. ucTemp3=uiSetData3%1000/100;
  90. ucTemp2=uiSetData3%100/10;
  91. ucTemp1=uiSetData3%10;
  92. if(uiSetData3<1000)
  93. {
  94. ucDigShow4=10;//如果小于1000,千位显示无
  95. }
  96. else
  97. {
  98. ucDigShow4=ucTemp4;//第4位数码管要显示的内容
  99. }
  100. if(uiSetData3<100)
  101. {
  102. ucDigShow3=10;//如果小于100,百位显示无
  103. }
  104. else
  105. {
  106. ucDigShow3=ucTemp3;//第3位数码管要显示的内容
  107. }
  108. if(uiSetData3<10)
  109. {
  110. ucDigShow2=10;//如果小于10,十位显示无
  111. }
  112. else
  113. {
  114. ucDigShow2=ucTemp2;//第2位数码管要显示的内容
  115. }
  116. ucDigShow1=ucTemp1;//第1位数码管要显示的内容
  117. }
  118. break;
  119. case 4://显示P--4窗口的数据
  120. if(ucWd4Update==1)//窗口4要全部更新显示
  121. {
  122. ucWd4Update=0;//及时清零标志,避免一直进来扫描
  123. ucDigShow8=12;//第8位数码管显示P
  124. ucDigShow7=11;//第7位数码管显示-
  125. ucDigShow6=4;//第6位数码管显示4
  126. ucDigShow5=10; //第5位数码管显示无
  127. ucTemp4=uiSetData4/1000; //分解数据
  128. ucTemp3=uiSetData4%1000/100;
  129. ucTemp2=uiSetData4%100/10;
  130. ucTemp1=uiSetData4%10;
  131. if(uiSetData4<1000)
  132. {
  133. ucDigShow4=10;//如果小于1000,千位显示无
  134. }
  135. else
  136. {
  137. ucDigShow4=ucTemp4;//第4位数码管要显示的内容
  138. }
  139. if(uiSetData4<100)
  140. {
  141. ucDigShow3=10;//如果小于100,百位显示无
  142. }

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top