微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 第77节:窗口里通过移动光标设置参数的液晶屏菜单程序

第77节:窗口里通过移动光标设置参数的液晶屏菜单程序

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

  1. ,0,2,16,0);
  2. display_lattice(11,0,Hz1616_san,0,2,16,0);
  3. display_lattice(12,0,Hz1616_hang,0,2,16,0);
  4. display_lattice(8,16,Hz1616_yi,0,2,16,0); //一窗口四行
  5. display_lattice(9,16,Hz1616_chuang,0,2,16,0);
  6. display_lattice(10,16,Hz1616_kou,0,2,16,0);
  7. display_lattice(11,16,Hz1616_si,0,2,16,0);
  8. display_lattice(12,16,Hz1616_hang,0,2,16,0);
  9. }
  10. /* 注释三:
  11. * 注意!我前面讲数码管显示的时候有一句话讲错了,我那时说<局部更新应该写在整屏更新之前>,这是不对的。
  12. * 按照现在的显示程序框架<即整屏显示更新括号里包含了所有局部变量的激活>,应该是<整屏更新应该写在局部更新之前>
  13. * 这样才对。
  14. */
  15. if(ucWd1Part1Update==1) //窗口1的第1行局部更新显示变量,里面放一些经常需要刷新显示的内容
  16. {
  17. ucWd1Part1Update=0; //及时清零,避免一直更新
  18. if(ucPart==1) //被选中
  19. {
  20. ucCursorFlag=1; //反显 显示
  21. }
  22. else //没被选中
  23. {
  24. ucCursorFlag=0; //正常 显示
  25. }
  26. if(ucData_1_1>=10) //有2位数以上
  27. {
  28. ucAnyNumber_10=ucData_1_1/10;//十位
  29. }
  30. else //否则显示空
  31. {
  32. ucAnyNumber_10=10;//在下面的转换函数中,代码10表示空字模
  33. }
  34. ucAnyNumber_1=ucData_1_1%10/1;//个位
  35. p_ucAnyNumber_10=number_to_matrix(ucAnyNumber_10); //把数字转换成字模首地址
  36. p_ucAnyNumber_1=number_to_matrix(ucAnyNumber_1); //把数字转换成字模首地址
  37. insert_buffer_to_canvas(2,0,p_ucAnyNumber_10,ucCursorFlag,1,16);//把十的字模插入画布
  38. insert_buffer_to_canvas(3,0,p_ucAnyNumber_1,ucCursorFlag,1,16);//把个的字模插入画布
  39. display_lattice(5,0,ucCanvasBuffer,0,4,16,0); //显示整屏的画布,最后的参数0是偏移量
  40. }
  41. if(ucWd1Part2Update==1) //窗口1的第2行局部更新显示变量,里面放一些经常需要刷新显示的内容
  42. {
  43. ucWd1Part2Update=0; //及时清零,避免一直更新
  44. if(ucPart==2) //被选中
  45. {
  46. ucCursorFlag=1; //反显 显示
  47. }
  48. else //没被选中
  49. {
  50. ucCursorFlag=0; //正常 显示
  51. }
  52. if(ucData_1_2>=10) //有2位数以上
  53. {
  54. ucAnyNumber_10=ucData_1_2/10;//十位
  55. }
  56. else //否则显示空
  57. {
  58. ucAnyNumber_10=10;//在下面的转换函数中,代码10表示空字模
  59. }
  60. ucAnyNumber_1=ucData_1_2%10/1;//个位
  61. p_ucAnyNumber_10=number_to_matrix(ucAnyNumber_10); //把数字转换成字模首地址
  62. p_ucAnyNumber_1=number_to_matrix(ucAnyNumber_1); //把数字转换成字模首地址
  63. insert_buffer_to_canvas(2,0,p_ucAnyNumber_10,ucCursorFlag,1,16);//把十的字模插入画布
  64. insert_buffer_to_canvas(3,0,p_ucAnyNumber_1,ucCursorFlag,1,16);//把个的字模插入画布
  65. display_lattice(5,16,ucCanvasBuffer,0,4,16,0); //显示整屏的画布,最后的参数0是偏移量
  66. }
  67. if(ucWd1Part3Update==1) //窗口1的第3行局部更新显示变量,里面放一些经常需要刷新显示的内容
  68. {
  69. ucWd1Part3Update=0; //及时清零,避免一直更新
  70. if(ucPart==3) //被选中
  71. {
  72. ucCursorFlag=1; //反显 显示
  73. }
  74. else //没被选中
  75. {
  76. ucCursorFlag=0; //正常 显示
  77. }
  78. if(ucData_1_3>=10) //有2位数以上
  79. {
  80. ucAnyNumber_10=ucData_1_3/10;//十位
  81. }
  82. else //否则显示空
  83. {
  84. ucAnyNumber_10=10;//在下面的转换函数中,代码10表示空字模
  85. }
  86. ucAnyNumber_1=ucData_1_3%10/1;//个位
  87. p_ucAnyNumber_10=number_to_matrix(ucAnyNumber_10); //把数字转换成字模首地址
  88. p_ucAnyNumber_1=number_to_matrix(ucAnyNumber_1); //把数字转换成字模首地址
  89. insert_buffer_to_canvas(2,0,p_ucAnyNumber_10,ucCursorFlag,1,16);//把十的字模插入画布
  90. insert_buffer_to_canvas(3,0,p_ucAnyNumber_1,ucCursorFlag,1,16);//把个的字模插入画布
  91. display_lattice(13,0,ucCanvasBuffer,0,4,16,0); //显示整屏的画布

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

网站地图

Top