interface.c 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. #include "interface.h"
  2. #include "bmp.h"
  3. #include "keyboard.h"
  4. #include "tt808.h"
  5. #include "usart.h"
  6. #include "key.h"
  7. /**
  8. * @breaf 本页定义变量
  9. */
  10. //结构体
  11. Menu_table menu;
  12. TipsFlag tipsflag;
  13. extern LockInfo lockinfo;
  14. //布尔
  15. bool refresh=false;
  16. bool ReturnInterface = false;
  17. bool L1bd = false; //L1绑定标志位
  18. bool L2bd = false; //L2绑定标志位
  19. bool L3bd = false; //L3绑定标志位
  20. bool L4bd = false; //L4绑定标志位
  21. bool L5bd = false; //L5绑定标志位
  22. bool L6bd = false; //L6绑定标志位
  23. bool L7bd = false; //L7绑定标志位
  24. bool L8bd = false; //L8绑定标志位
  25. //字符串
  26. //方法
  27. void logoDisplay(void);
  28. void lockWork(void);//界面1 一键施解封
  29. void ApplyPermission(void);//界面2 申请权限
  30. void PleaseWakeUp(void);//界面3 请唤醒
  31. void SecondMain(void);//次主界面
  32. /**
  33. * @breaf 界面跳转
  34. */
  35. void Jump_interface(void)
  36. {
  37. if(refresh)
  38. {
  39. OLED_Clear();
  40. refresh=false;
  41. }
  42. switch(menu.current)
  43. {
  44. case 0:
  45. {
  46. //logoDisplay();//无任何绑定,显示Logo界面
  47. //lockWork();
  48. //ApplyPermission();
  49. //PleaseWakeUp();
  50. SecondMain();
  51. break;
  52. }
  53. }
  54. }
  55. void logoDisplay(void)//界面1
  56. {
  57. OLED_ShowPicture(0,0,128,64,BMP7,1);
  58. }
  59. void lockWork(void) //界面2
  60. {
  61. OLED_ShowChinese(18,2,56,16,1);//一
  62. OLED_ShowChinese(38,2,57,16,1);//键
  63. OLED_ShowChinese(58,2,18,16,1);//解
  64. OLED_ShowChinese(78,2,19,16,1);//封
  65. OLED_ShowChinese(18,25,56,16,1);//一
  66. OLED_ShowChinese(38,25,57,16,1);//键
  67. OLED_ShowChinese(58,25,17,16,1);//施
  68. OLED_ShowChinese(78,25,19,16,1);//封
  69. OLED_ShowChinese(25,48,26,12,1);//已
  70. OLED_ShowChinese(40,48,27,12,1);//绑
  71. OLED_ShowChinese(55,48,28,12,1);//定
  72. OLED_ShowChinese(70,48,29,12,1);//锁
  73. OLED_ShowString(85,48,(unsigned char*)"(",12,1);
  74. OLED_ShowString(94,48,(unsigned char*)"8",12,1);
  75. OLED_ShowString(100,48,(unsigned char*)")",12,1);
  76. //*选择
  77. }
  78. void ApplyPermission(void)//界面2 申请权限
  79. {
  80. OLED_ShowChinese(5,20,58,16,1);//正
  81. OLED_ShowChinese(25,20,59,16,1);//在
  82. OLED_ShowChinese(45,20,60,16,1);//申
  83. OLED_ShowChinese(65,20,61,16,1);//请
  84. OLED_ShowChinese(85,20,62,16,1);//权
  85. OLED_ShowChinese(105,20,63,16,1);//限
  86. OLED_ShowString(50,48,(unsigned char*)"->",12,1);
  87. OLED_ShowString(70,48,(unsigned char*)"8",12,1);
  88. }
  89. void PleaseWakeUp(void)//界面3 请唤醒
  90. {
  91. OLED_ShowChinese(5,20,64,16,1); //请
  92. OLED_ShowChinese(25,20,65,16,1); //唤
  93. OLED_ShowChinese(45,20,66,16,1); //醒
  94. OLED_ShowChinese(65,20,67,16,1); //蓝
  95. OLED_ShowChinese(85,20,68,16,1); //牙
  96. OLED_ShowChinese(105,20,69,16,1);//锁
  97. OLED_ShowChinese(25,48,26,12,1);//已
  98. OLED_ShowChinese(40,48,30,12,1);//操
  99. OLED_ShowChinese(55,48,31,12,1);//作
  100. OLED_ShowChinese(70,48,29,12,1);//锁
  101. OLED_ShowString(85,48,(unsigned char*)"(",12,1);
  102. OLED_ShowString(94,48,(unsigned char*)"8",12,1);
  103. OLED_ShowString(100,48,(unsigned char*)")",12,1);
  104. }
  105. void SecondMain(void)//次主界面
  106. {
  107. //*个数显示
  108. OLED_ShowString(90,25,(unsigned char*)":",16,1);
  109. //*解封
  110. // OLED_ShowChinese(8,25,18,16,1);//解
  111. // OLED_ShowChinese(28,25,19,16,1);//封
  112. // OLED_ShowChinese(48,25,69,16,1);//锁
  113. // OLED_ShowChinese(68,25,70,16,1);//数
  114. // OLED_ShowString(105,26,(unsigned char*)"8",16,1);
  115. //*施封
  116. // OLED_ShowChinese(8,25,17,16,1);//施
  117. // OLED_ShowChinese(28,25,19,16,1);//封
  118. // OLED_ShowChinese(48,25,69,16,1);//锁
  119. // OLED_ShowChinese(68,25,70,16,1);//数
  120. // OLED_ShowString(105,26,(unsigned char*)"8",16,1);
  121. //*所有锁已
  122. OLED_ShowChinese(5,25,71,16,1);//所
  123. OLED_ShowChinese(25,25,72,16,1);//有
  124. OLED_ShowChinese(45,25,69,16,1);//锁
  125. OLED_ShowChinese(65,25,73,16,1);//已
  126. OLED_ShowChinese(105,25,19,16,1);//封
  127. OLED_ShowChinese(85,25,18,16,1);//解
  128. // OLED_ShowChinese(85,25,17,16,1);//施
  129. }