微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ATmega16L驱动ILI9325/9328

ATmega16L驱动ILI9325/9328

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

  1. _SetWindow
  2. **Descriptions:定义刷屏窗口
  3. **inputparameters:起始坐标(x0,y0),终止坐标(x1,y1)
  4. **outputparameters:无
  5. **Returnedvalue:无
  6. *********************************************************************************************************/
  7. staticvoidLCD_SetWindow(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)
  8. {
  9. LCD_WriteReg(0x0050,x0);
  10. LCD_WriteReg(0x0051,x1);
  11. LCD_WriteReg(0x0052,y0);
  12. LCD_WriteReg(0x0053,y1);
  13. LCD_WriteReg(0x0020,x0);
  14. LCD_WriteReg(0x0021,y0);
  15. LCD_WriteCmd(0x0022);//GRAM寄存器,之后可以写GRAM缓冲区
  16. }
  17. /*******************************************************************************************************************/
  18. /*******************************************************************************************************************/
  19. /**************************************************以下为LCD的应用函数**********************************************/
  20. /*******************************************************************************************************************/
  21. /*******************************************************************************************************************/
  22. /*********************************************************************************************************
  23. **Functionname:LCD_ClearScreen
  24. **Descriptions:刷整屏为一种颜色
  25. **inputparameters:颜色的RGB值color
  26. **outputparameters:无
  27. **Returnedvalue:无
  28. *********************************************************************************************************/
  29. voidLCD_ClearScreen(unsignedintcolor)
  30. {
  31. unsignedinti,j;
  32. LCD_SELECT();//选择9328
  33. LCD_SetWindow(0,240,0,320);//320x240的屏
  34. for(i=0;i<320;i++)
  35. {
  36. for(j=0;j<240;j++)
  37. {
  38. LCD_WriteData(color);//向GRAM写入RGB数据
  39. }
  40. }
  41. LCD_DIS_SELECT();//操作完毕
  42. }
  43. /*********************************************************************************************************
  44. **Functionname:LCD_Fill
  45. **Descriptions:填充一个矩形区域
  46. **inputparameters:矩形起始坐标----(x0,y0),矩形终点坐标--(x1,y1)
  47. **outputparameters:无
  48. **Returnedvalue:无
  49. *********************************************************************************************************/
  50. //
  51. voidLCD_Fill_Rectangle(unsignedintx0,unsignedinty0,unsignedintx1,unsignedinty1,unsignedintcolor)
  52. {
  53. unsignedlongi;
  54. LCD_SELECT();//选择9328
  55. LCD_SetWindow(x0,x1,y0,y1);
  56. for(i=0;i<(x1-x0+1)*(y1-y0+1);i++)
  57. {
  58. LCD_WriteData(color);//填充颜色
  59. }
  60. LCD_DIS_SELECT();//操作完毕
  61. }
  62. /*********************************************************************************************************
  63. **Functionname:Get_CharOffset
  64. **Descriptions:获取字节的偏移量
  65. **inputparameters:输入字节
  66. **outputparameters:无
  67. **Returnedvalue:偏移量
  68. *********************************************************************************************************/
  69. unsignedcharGet_CharOffset(unsignedcharchar_data)
  70. {
  71. if(char_data>=&&char_data<=})
  72. {
  73. char_data-=;//字符偏移从空格开始
  74. }
  75. else
  76. {
  77. char_data=;//如无匹配字符以空格代替
  78. }
  79. returnchar_data;//返回字符所在字符表的位置
  80. }
  81. /*********************************************************************************************************
  82. **Functionname:Set_CharWindow
  83. **Descriptions:设置字节窗口
  84. **inputparameters:每个字符8X16像素,共30行20列,lineNum----字符所在行号,rowLine----字符所在列号
  85. **outputparameters:无
  86. **Returnedvalue:无
  87. *********************************************************************************************************/
  88. //例如显示2这个字节窗口,为一个8X16的像素矩形
  89. //________,
  90. //________,
  91. //________,
  92. //__XXX___,
  93. //_X___X__,//lineNum
  94. //_____X__,
  95. //_____X__,
  96. //____X___,
  97. //___X____,
  98. //__X_____,
  99. //_X______,
  100. //_XXXXX__,
  101. //________,
  102. //________,
  103. //________,
  104. //________,
  105. voidSet_CharWindow(unsignedintlineNum,unsignedintrowNum)
  106. {
  107. unsignedintx0=0;
  108. unsignedinty0=0;
  109. x0=rowNum<3;//起始X像素坐标
  110. y0=lineNum<4;//其实Y像素坐标
  111. LCD_SetWindow(x0,x0+7,y0,y0+15);
  112. }
  113. /*********************************

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

网站地图

Top