国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 4717|回復(fù): 1
打印 上一主題 下一主題

[提問] TFT圖片顯示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2012-3-17 15:18:47 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
  1. #include "stm32f10x.h"
  2. //#include "JPG.h"
  3. #include "JPG1.h"
  4. //#include "JPG2.h"



  5. /*

  6. 控制線:RS-P3^5; WR-P3^6; RD-P3^7; CS-P1^0; REST-P1^1;

  7. 數(shù)據(jù)線: DB0-DB7依次連接P0^0-P0^7; DB8-DB15依次連接P2^0-P2^7;

  8. 觸摸功能連接方式:(不使用觸摸可不連接)
  9. D_CLK-P1^2; D_CS-P1^3; D_DIN-P1^4; D_OUT-P1^6; D_PENIRQ-P1^7;

  10. SD卡接線;(不使用觸摸可不連接)
  11. SD_MISO-P31; SD_SCK-P32; SD_MOSI-P33; SD_CS-P34;
  12. */


  13. #define LCD_RS_1 GPIO_SetBits(GPIOB,GPIO_Pin_0)
  14. #define LCD_RS_0 GPIO_ResetBits(GPIOB,GPIO_Pin_0)
  15. #define LCD_RW_1 GPIO_SetBits(GPIOB,GPIO_Pin_1)
  16. #define LCD_RW_0 GPIO_ResetBits(GPIOB,GPIO_Pin_1)
  17. #define LCD_RD_1 GPIO_SetBits(GPIOE,GPIO_Pin_2)
  18. #define LCD_RD_0 GPIO_ResetBits(GPIOE,GPIO_Pin_2)
  19. #define LCD_CS_1 GPIO_SetBits(GPIOE,GPIO_Pin_3)
  20. #define LCD_CS_0 GPIO_ResetBits(GPIOE,GPIO_Pin_3)

  21. #define LCD_REST_1 GPIO_SetBits(GPIOE,GPIO_Pin_4)
  22. #define LCD_REST_0 GPIO_ResetBits(GPIOE,GPIO_Pin_4)
  23. #define Data GPIOF->ODR
  24. //#define LCD_DataPortH GPIOF->ODR
  25. //#define LCD_DataPortL GPIOG->ODR

  26. void delay_nus(unsigned long n);
  27. void delay_nms(unsigned long count);
  28. void RCC_Configuration(void);
  29. void GPIO_Configuration(void);





  30. /******************************************************
  31. ** 函數(shù)名:void Lcd_Write_Com( int DH)
  32. ** 描述 :TFT寫命令
  33. ** 輸入 : 無
  34. ** 輸出 :無
  35. ** 返回 :無
  36. ******************************************************/
  37. void Lcd_Write_Com( uint16_t DH) //命令
  38. {
  39. LCD_RS_0;
  40. LCD_CS_0;
  41. Data=DH;
  42. LCD_RW_0;
  43. LCD_RW_1;
  44. LCD_CS_1;

  45. }
  46. /******************************************************
  47. ** 函數(shù)名:void lcd_write_color(char hh,char ll)
  48. ** 描述 :TFT寫發(fā)送圖片的高8位數(shù)據(jù)與低8位數(shù)據(jù)的顏色位
  49. ** 輸入 : 無
  50. ** 輸出 :無
  51. ** 返回 :無
  52. ******************************************************/
  53. void lcd_write_color(uint16_t hh) //發(fā)送顏色數(shù)據(jù)為提高速度高8位低8位分別傳遞
  54. {
  55. LCD_RS_1;
  56. LCD_CS_0;
  57. Data=hh;
  58. LCD_RW_0;
  59. LCD_RW_1;
  60. LCD_CS_1;

  61. }
  62. /******************************************************
  63. ** 函數(shù)名:void Lcd_Write_Data(int DH)
  64. ** 描述 :TFT寫發(fā)送圖片的高8位數(shù)據(jù)與低8位數(shù)據(jù)
  65. ** 輸入 : 無
  66. ** 輸出 :無
  67. ** 返回 :無
  68. ******************************************************/
  69. void Lcd_Write_Data(uint16_t DH) //數(shù)據(jù)
  70. {
  71. LCD_RS_1;
  72. LCD_CS_0;
  73. Data=DH;
  74. LCD_RW_0;
  75. LCD_RW_1;
  76. LCD_CS_1;

  77. }

  78. /******************************************************
  79. ** 函數(shù)名:void Lcd_Write_Com_Data( int com1,int dat1)
  80. ** 描述 :TFT寫命令數(shù)據(jù)
  81. ** 輸入 : 無
  82. ** 輸出 :無
  83. ** 返回 :無
  84. ******************************************************/
  85. void Lcd_Write_Com_Data( uint16_t com1,uint16_t dat1) //命令數(shù)據(jù)一起
  86. {
  87. Lcd_Write_Com(com1);
  88. Lcd_Write_Data(dat1);
  89. }
  90. /******************************************************
  91. ** 函數(shù)名:void Address_set(unsigned int x1,unsigned int y1,unsigned int x2,unsigned int y2)
  92. ** 描述 :設(shè)置窗口顯示掃描開始地址
  93. ** 輸入 : 無
  94. ** 輸出 :無
  95. ** 返回 :無
  96. ******************************************************/
  97. void Address_set(unsigned int x1,unsigned int y1,unsigned int x2,unsigned int y2)
  98. {
  99. Lcd_Write_Com_Data(0x0044,(x2<<8)+x1);
  100. Lcd_Write_Com_Data(0x0045,y1);
  101. Lcd_Write_Com_Data(0x0046,y2);
  102. Lcd_Write_Com_Data(0x004e,x1);
  103. Lcd_Write_Com_Data(0x004f,y1);
  104. Lcd_Write_Com(0x0022);

  105. }
  106. /******************************************************
  107. ** 函數(shù)名:void main_init(void)
  108. ** 描述 :TFT控制器初始化配置
  109. ** 輸入 : 無
  110. ** 輸出 :無
  111. ** 返回 :無
  112. ******************************************************/
  113. void main_init(void)
  114. {

  115. LCD_REST_1;
  116. delay_nms(5);
  117. LCD_REST_0;
  118. delay_nms(10);
  119. LCD_REST_1;
  120. LCD_CS_1;
  121. LCD_RD_1;
  122. LCD_RW_1;
  123. delay_nms(20);

  124. Lcd_Write_Com_Data(0x0000,0x0001); delay_nms(1); //打開晶振
  125. Lcd_Write_Com_Data(0x0003,0xA8A4); delay_nms(1); //0xA8A4
  126. Lcd_Write_Com_Data(0x000C,0x0000); delay_nms(1);
  127. Lcd_Write_Com_Data(0x000D,0x080C); delay_nms(1);
  128. Lcd_Write_Com_Data(0x000E,0x2B00); delay_nms(1);
  129. Lcd_Write_Com_Data(0x001E,0x00B0); delay_nms(1);
  130. Lcd_Write_Com_Data(0x0001,0x2B3F); delay_nms(1); //驅(qū)動輸出控制320*240 0x6B3F
  131. Lcd_Write_Com_Data(0x0002,0x0600); delay_nms(1);
  132. Lcd_Write_Com_Data(0x0010,0x0000); delay_nms(1);
  133. Lcd_Write_Com_Data(0x0011,0x6070); delay_nms(1); //0x4030 //定義數(shù)據(jù)格式 16位色
  134. Lcd_Write_Com_Data(0x0005,0x0000); delay_nms(1);
  135. Lcd_Write_Com_Data(0x0006,0x0000); delay_nms(1);
  136. Lcd_Write_Com_Data(0x0016,0xEF1C); delay_nms(1);
  137. Lcd_Write_Com_Data(0x0017,0x0003); delay_nms(1);
  138. Lcd_Write_Com_Data(0x0007,0x0233); delay_nms(1); //0x0233
  139. Lcd_Write_Com_Data(0x000B,0x0000); delay_nms(1);
  140. Lcd_Write_Com_Data(0x000F,0x0000); delay_nms(1); //掃描開始地址
  141. Lcd_Write_Com_Data(0x0041,0x0000); delay_nms(1);
  142. Lcd_Write_Com_Data(0x0042,0x0000); delay_nms(1);
  143. Lcd_Write_Com_Data(0x0048,0x0000); delay_nms(1);
  144. Lcd_Write_Com_Data(0x0049,0x013F); delay_nms(1);
  145. Lcd_Write_Com_Data(0x004A,0x0000); delay_nms(1);
  146. Lcd_Write_Com_Data(0x004B,0x0000); delay_nms(1);
  147. Lcd_Write_Com_Data(0x0044,0xEF00); delay_nms(1);
  148. Lcd_Write_Com_Data(0x0045,0x0000); delay_nms(1);
  149. Lcd_Write_Com_Data(0x0046,0x013F); delay_nms(1);
  150. Lcd_Write_Com_Data(0x0030,0x0707); delay_nms(1);
  151. Lcd_Write_Com_Data(0x0031,0x0204); delay_nms(1);
  152. Lcd_Write_Com_Data(0x0032,0x0204); delay_nms(1);
  153. Lcd_Write_Com_Data(0x0033,0x0502); delay_nms(1);
  154. Lcd_Write_Com_Data(0x0034,0x0507); delay_nms(1);
  155. Lcd_Write_Com_Data(0x0035,0x0204); delay_nms(1);
  156. Lcd_Write_Com_Data(0x0036,0x0204); delay_nms(1);
  157. Lcd_Write_Com_Data(0x0037,0x0502); delay_nms(1);
  158. Lcd_Write_Com_Data(0x003A,0x0302); delay_nms(1);
  159. Lcd_Write_Com_Data(0x003B,0x0302); delay_nms(1);
  160. Lcd_Write_Com_Data(0x0023,0x0000); delay_nms(1);
  161. Lcd_Write_Com_Data(0x0024,0x0000); delay_nms(1);
  162. Lcd_Write_Com_Data(0x0025,0x8000); delay_nms(1);
  163. Lcd_Write_Com_Data(0x004f,0); //行首址0
  164. Lcd_Write_Com_Data(0x004e,0); //列首址0
  165. Lcd_Write_Com(0x0022);
  166. }
  167. /******************************************************
  168. ** 函數(shù)名:void Pant(unsigned int color)
  169. ** 描述 :TFT初始化清屏顯示
  170. ** 輸入 : 無
  171. ** 輸出 :無
  172. ** 返回 :無
  173. ******************************************************/
  174. void Pant(unsigned int color)
  175. {
  176. int i,j;
  177. Address_set(0,0,239,319);

  178. for(i=0;i<320;i++)
  179. {
  180. for (j=0;j<240;j++)
  181. {
  182. Lcd_Write_Data(color);
  183. }

  184. }
  185. }

  186. int main()
  187. {
  188. int i;
  189. uint16_t data=0;
  190. SystemInit();
  191. RCC_Configuration();
  192. GPIO_Configuration();
  193. main_init(); //tft初始化



  194. //Pant(0xf800); //紅色
  195. //Pant(0X07E0); //綠色
  196. //Pant(0x001f); //藍(lán)色
  197. Pant(0xffff); //清屏

  198. delay_nms(10);

  199. Address_set(0,0,239,319); //設(shè)置圖片掃描的起始位置
  200. for(i=0;i<76800;i++)
  201. {
  202. data=image1[i*2];
  203. data=data<<8;
  204. data=data+image1[i*2+1];
  205. //delay_nms(10);
  206. lcd_write_color(data); //數(shù)據(jù)的高8位與低8位分別傳送
  207. // delay_nms(1);
  208. }
  209. /*
  210. for(k=0;k<8;k++)
  211. {
  212. for(j=0;j<6;j++)
  213. {
  214. Address_set(40*j,40*k,40*j+39,40*k+39); //坐標(biāo)設(shè)置
  215. for(i=0;i<1600;i++)
  216. {
  217. lcd_write_color(image[i*2+1],image[i*2]); //發(fā)送顏色數(shù)據(jù)為提高速度高8位低8位分別傳遞
  218. }
  219. }
  220. }
  221. */
  222. while(1);
  223. }
  224. /******************************************************
  225. ** 函數(shù)名:void RCC_Configuration()
  226. ** 描述 :us延時函數(shù)
  227. ** 輸入 : 無
  228. ** 輸出 :無
  229. ** 返回 :無
  230. ******************************************************/
  231. void RCC_Configuration()
  232. {
  233. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG,ENABLE);
  234. //RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
  235. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  236. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE);
  237. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
  238. }
  239. /******************************************************
  240. ** 函數(shù)名:void GPIO_Configuration()
  241. ** 描述 :GPIO端口初始化
  242. ** 輸入 : 無
  243. ** 輸出 :無
  244. ** 返回 :無
  245. ******************************************************/
  246. void GPIO_Configuration()
  247. {
  248. GPIO_InitTypeDef GPIO_InitStructure;
  249. GPIO_InitStructure.GPIO_Pin=GPIO_Pin_All;
  250. GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  251. GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  252. GPIO_Init(GPIOF,&GPIO_InitStructure);

  253. GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
  254. GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  255. GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  256. GPIO_Init(GPIOG,&GPIO_InitStructure);

  257. GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1;
  258. GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  259. GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  260. GPIO_Init(GPIOB,&GPIO_InitStructure);

  261. GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;
  262. GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  263. GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  264. GPIO_Init(GPIOE,&GPIO_InitStructure);
  265. }

  266. /******************************************************
  267. ** 函數(shù)名:void delay_nus(unsigned long n)
  268. ** 描述 :us延時函數(shù)
  269. ** 輸入 : 無
  270. ** 輸出 :無
  271. ** 返回 :無
  272. ******************************************************/
  273. void delay_nus(unsigned long n)
  274. {
  275. unsigned long j;
  276. while(n--)
  277. {
  278. j=8;
  279. while(j--);
  280. }
  281. }
  282. /******************************************************
  283. ** 函數(shù)名:void delay_nms(unsigned long n)
  284. ** 描述 :ms延時函數(shù)
  285. ** 輸入 : 無
  286. ** 輸出 :無
  287. ** 返回 :無
  288. ******************************************************/
  289. void delay_nms(unsigned long count) // /* X1ms */
  290. {
  291. int i,j;
  292. for(i=0;i
  293. for(j=0;j<100;j++);
  294. }

復(fù)制代碼
沙發(fā)
發(fā)表于 2012-4-17 16:14:33 | 只看該作者
謝分享。。。。。。。。。。。。。
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 西班牙一级特级毛片dvd| 亚洲综合综合在线| 日韩免费在线观看| 色偷偷亚洲第一成人综合网址| 日韩免费一区二区三区| 欧美日本视频在线观看| 欧美亚洲激情在线| 日本a级三级三级三级久久| 日本a级网站| 欧美国产日韩在线| 亚洲一级毛片免费在线观看| 碰碰碰人人澡人人爱摸| 亚洲第一色区| 日韩欧美在线第一页| 性欧美高清久久久久久久| 日本a级网站| 亚洲激情在线播放| 亚洲一区免费视频| 一级毛片儿| 亚洲一级毛片中文字幕| 欧美视频在线观看一区| 亚洲欧美v视色一区二区| 欧美亚洲综合视频| 亚洲人成亚洲精品| 亚洲天堂午夜| 日本久久99| 欧美人妖ts| 青青青国产手机在线播放| 青草视频免费观看| 午夜影院在线观看| 亚洲综合自拍| 日韩欧美一中文字幕不卡| 天天玩天天操| 一级毛片特级毛片黄毛片| 四虎国产精品永久在线播放| 欧美专区亚洲专区| 午夜国产精品理论片久久影院| 日本黄色一级片视频| 青草视频久久| 日韩福利在线| 亚洲欧美日本在线|