日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]書接上文:最近在研究用低速、低RAM的單片機來驅(qū)動小LCD或TFT彩屏實現(xiàn)動畫效果首先我用一個16MHz晶振的m0內(nèi)核的8位單片機nRF51822嘗試驅(qū)動一個1.77寸的4線SPI屏(128X160),發(fā)現(xiàn),刷一屏大約要0.8s左右的時間,具體

書接上文:

最近在研究用低速、低RAM的單片機來驅(qū)動小LCD或TFT彩屏實現(xiàn)動畫效果

首先我用一個16MHz晶振的m0內(nèi)核的8位單片機nRF51822嘗試驅(qū)動一個1.77寸的4線SPI屏(128X160),

發(fā)現(xiàn),刷一屏大約要0.8s左右的時間,

具體收錄在《1、一個簡單的nRF51822驅(qū)動的天馬4線SPI-1.77寸LCD彩屏DEMO》中

覺得,如果用72MHz的STM32也許效果會好很多

于是在stm32上做了個類似的版本,

具體收錄在《一個簡單的stm32vet6驅(qū)動的天馬4線SPI-1.77寸LCD彩屏DEMO》中

發(fā)現(xiàn)刷一屏0.2s左右,

效果是有的,但是還不能達到支持播放流暢動畫的效果!

于是,決定將串行數(shù)據(jù)改成并行數(shù)據(jù)傳輸

本節(jié)將帶來一個用stm32驅(qū)動的2.4寸240X320的8位并口tft屏的刷屏效果

工程結(jié)構(gòu)

main.c


1 /* Includes ------------------------------------------------------------------*/

2 #include "stm32f10x.h"

3 #include "LCD2.h"

4

5

6 void RCC_Configuration(void);

7 /****************************************************************************

8 * 名 稱:int main(void)

9 * 功 能:主函數(shù)

10 * 入口參數(shù):無

11 * 出口參數(shù):無

12 * 說 明:

13 * 調(diào)用方法:無

14 ****************************************************************************/

15 int main(void)

16 {

17 RCC_Configuration(); //系統(tǒng)時鐘配置

18 LCD2_GPIO_Init();

19 LCD2_Init();

20 while (1)

21 {

22 Show_RGB(0,240,0,320,0xff0f);

23 DELAY_MS(1000);

24 Show_RGB(0,240,0,320,0x00fe);

25 DELAY_MS(1000);

26 }

27 }

28

29 /****************************************************************************

30 * 名 稱:void RCC_Configuration(void)

31 * 功 能:系統(tǒng)時鐘配置為72MHZ

32 * 入口參數(shù):無

33 * 出口參數(shù):無

34 * 說 明:

35 * 調(diào)用方法:無

36 ****************************************************************************/

37 void RCC_Configuration(void)

38 {

39 SystemInit();

40 }



LCD2.c


1 #include "LCD2.h"

2

3

4

5 void LCD2_GPIO_Init()

6 {

7 GPIO_InitTypeDef GPIO_InitStructure;

8

9 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB " RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE);

10

11

12 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;

13 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

14 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //口線翻轉(zhuǎn)速度為50MHz

15 GPIO_Init(GPIOB, &GPIO_InitStructure);

16

17 //8位數(shù)據(jù)輸出

18 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;

19 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

20 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //口線翻轉(zhuǎn)速度為50MHz

21 GPIO_Init(GPIOD, &GPIO_InitStructure);

22 }

23

24 //////////////////////////////////////////////////////////////////

25 //最底層數(shù)據(jù)傳輸函數(shù)

26 //////////////////////////////////////////////////////////////////

27 //寫命令

28 void Write_Cmd(unsigned char DH,unsigned char DL)

29 {

30 LCD2_CS=0;

31 LCD2_RS=0;

32

33 DataPort=DH;

34 LCD2_RW=0;

35 LCD2_RW=1;

36

37 DataPort=DL;

38

39 LCD2_RW=0;

40 LCD2_RW=1;

41 LCD2_CS=1;

42 }

43 //寫數(shù)據(jù) 雙8位

44 void Write_Data(unsigned char DH,unsigned char DL)

45 {

46 LCD2_CS=0;

47

48 LCD2_RS=1;

49 DataPort=DH;

50 LCD2_RW=0;

51 LCD2_RW=1;

52

53 DataPort=DL;

54 LCD2_RW=0;

55 LCD2_RW=1;

56 LCD2_CS=1;

57 }

58

59 //寫數(shù)據(jù) 雙8位

60 void Write_Data2(unsigned char DH,unsigned char DL)

61 {

62 DataPort=DH;

63 LCD2_RW=0;

64 LCD2_RW=1;

65

66 DataPort=DL;

67 LCD2_RW=0;

68 LCD2_RW=1;

69 }

70

71 //////////////////////////////////////////////////////////////////

72 //調(diào)用上面最底層實現(xiàn)稍高層寫命令和數(shù)據(jù)函數(shù)

73 //////////////////////////////////////////////////////////////////

74 /*----------------------------------------------------------------

75 寫命令、寫數(shù)據(jù)

76 輸入?yún)?shù):x 需要輸入的命令 16位

77 y 需要輸入的數(shù)據(jù) 16位

78 ----------------------------------------------------------------*/

79 void Write_Cmd_Data (unsigned char x,unsigned int y)

80 {

81 unsigned char m,n;

82 m=y>>8;

83 n=y;

84 Write_Cmd(0x00,x);

85 Write_Data(m,n);

86 }

87 /*----------------------------------------------------------------

88 寫16位數(shù)據(jù)

89 ----------------------------------------------------------------*/

90 void Write_Data_U16(unsigned int y)

91 {

92 unsigned char m,n;

93 m=y>>8;

94 n=y;

95 Write_Data2(m,n);

96 }

97

98 /*----------------------------------------------------------------

99 液晶初始化

100 ----------------------------------------------------------------*/

101 void LCD2_Init(void)

102 {

103 LCD2_CS=1;

104 DELAY_MS(5);

105 LCD2_RES=0;

106 DELAY_MS(5);

107 LCD2_RES=1;

108 DELAY_MS(50);

109 Write_Cmd_Data(0x0001,0x0100);

110 Write_Cmd_Data(0x0002,0x0700);

111 Write_Cmd_Data(0x0003,0x1030);

112 Write_Cmd_Data(0x0004,0x0000);

113 Write_Cmd_Data(0x0008,0x0207);

114 Write_Cmd_Data(0x0009,0x0000);

115 Write_Cmd_Data(0x000A,0x0000);

116 Write_Cmd_Data(0x000C,0x0000);

117 Write_Cmd_Data(0x000D,0x0000);

118 Write_Cmd_Data(0x000F,0x0000);

119 //power on sequence VGHVGL

120 Write_Cmd_Data(0x0010,0x0000);

121 Write_Cmd_Data(0x0011,0x0007);

122 Write_Cmd_Data(0x0012,0x0000);

123 Write_Cmd_Data(0x0013,0x0000);

124 //vgh

125 Write_Cmd_Data(0x0010,0x1290);

126 Write_Cmd_Data(0x0011,0x0227);

127 //DELAY_MS(100);

128 //vregiout

129 Write_Cmd_Data(0x0012,0x001d); //0x001b

130 //DELAY_MS(100);

131 //vom amplitude

132 Write_Cmd_Data(0x0013,0x1500);

133 //DELAY_MS(100);

134 //vom H

135 Write_Cmd_Data(0x0029,0x0018);

136 Write_Cmd_Data(0x002B,0x000D);

137

138 //gamma

139 Write_Cmd_Data(0x0030,0x0004);

140 Write_Cmd_Data(0x0031,0x0307);

141 Write_Cmd_Data(0x0032,0x0002);// 0006

142 Write_Cmd_Data(0x0035,0x0206);

143 Write_Cmd_Data(0x0036,0x0408);

144 Write_Cmd_Data(0x0037,0x0507);

145 Write_Cmd_Data(0x0038,0x0204);//0200

146 Write_Cmd_Data(0x0039,0x0707);

147 Write_Cmd_Data(0x003C,0x0405);// 0504

148 Write_Cmd_Data(0x003D,0x0F02);

149 //ram

150 Write_Cmd_Data(0x0050,0x0000);

151 Write_Cmd_Data(0x0051,0x00EF);

152 Write_Cmd_Data(0x0052,0x0000);

153 Write_Cmd_Data(0x0053,0x013F);

154 Write_Cmd_Data(0x0060,0xA700);

155 Write_Cmd_Data(0x0061,0x0001);

156 Write_Cmd_Data(0x006A,0x0000);

157 //

158 Write_Cmd_Data(0x0080,0x0000);

159 Write_Cmd_Data(0x0081,0x0000);

160 Write_Cmd_Data(0x0082,0x0000);

161 Write_Cmd_Data(0x0083,0x0000);

162 Write_Cmd_Data(0x0084,0x0000);

163 Write_Cmd_Data(0x0085,0x0000);

164 //

165 Write_Cmd_Data(0x0090,0x0010);

166 Write_Cmd_Data(0x0092,0x0600);

167 Write_Cmd_Data(0x0093,0x0003);

168 Write_Cmd_Data(0x0095,0x0110);

169 Write_Cmd_Data(0x0097,0x0000);

170 Write_Cmd_Data(0x0098,0x0000);

171

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

Sept. 8, 2025 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,2025年第二季NVIDIA(英偉達) Blackwell平臺規(guī)?;鲐?,以及北美CSP業(yè)者持續(xù)擴大布局General Server(通用型...

關(guān)鍵字: SSD DDR4 服務(wù)器

Sept. 4, 2025 ---- Apple(蘋果)即將發(fā)布iPhone 17、iPhone 17 Air(暫名)、iPhone 17 Pro及Pro Max四款旗艦新機,除了外觀辨識度升級,處理器性能、散熱和拍攝功...

關(guān)鍵字: iPhone 16 A19處理器 折疊機

Sept. 3, 2025 ---- 根據(jù)TrendForce集邦咨詢最新發(fā)布的《2025近眼顯示市場趨勢與技術(shù)分析》報告,2025年隨著國際品牌陸續(xù)推出AR眼鏡原型,以及Meta預(yù)計在近期發(fā)布AR眼鏡Celeste,市...

關(guān)鍵字: AR眼鏡 OLED

Sept. 2, 2025 ---- TrendForce集邦咨詢表示,2025年第二季DRAM產(chǎn)業(yè)因一般型DRAM (Conventional DRAM)合約價上漲、出貨量顯著增長,加上HBM出貨規(guī)模擴張,整體營收為3...

關(guān)鍵字: DRAM 智能手機 ASP

Sept. 1, 2025 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,2025年第二季因中國市場消費補貼引發(fā)的提前備貨效應(yīng),以及下半年智能手機、筆電/PC、Server新品所需帶動,整體晶圓代工產(chǎn)能利用率與出貨...

關(guān)鍵字: 晶圓代工 智能手機 筆電

Aug. 28, 2025 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,2025年第二季NAND Flash產(chǎn)業(yè)雖面臨平均銷售價格(ASP)小幅下滑,所幸原廠減產(chǎn)策略緩解供需失衡,疊加中、美兩大市場政策推動,整體...

關(guān)鍵字: NAND Flash SSD AI

Aug. 26, 2025 ---- NVIDIA(英偉達)近日推出的Jetson Thor被視為機器人的物理智慧核心,以Blackwell GPU、128 GB記憶體堆疊出2070 FP4 TFLOPS AI算力,是前...

關(guān)鍵字: 機器人 大型語言模型 AI算力

Aug. 21, 2025 ---- 根據(jù)TrendForce集邦咨詢最新液冷產(chǎn)業(yè)研究,隨著NVIDIA GB200 NVL72機柜式服務(wù)器于2025年放量出貨,云端業(yè)者加速升級AI數(shù)據(jù)中心架構(gòu),促使液冷技術(shù)從早期試點邁...

關(guān)鍵字: AI 數(shù)據(jù)中心 服務(wù)器

除了充電電路外,鋰電池的放電過程也需要保護。鋰電池的放電電壓不能低于3.0V,否則電池壽命會大幅縮短。為了實現(xiàn)這一保護,工程師們設(shè)計了DW01芯片與8205 MOS管的電路組合。DW01芯片能夠監(jiān)控鋰電池的放電電壓和電流...

關(guān)鍵字: 鋰電池 電池

在PCB設(shè)計的宏偉藍圖中,布局與布線規(guī)則猶如精密樂章中的指揮棒,是鑄就電路板卓越性能、堅不可摧的可靠性及經(jīng)濟高效的制造成本的靈魂所在。恰如一位巧手的園藝師,合理的布局藝術(shù)性地編排著每一寸空間,既削減了布線交織的繁復(fù)迷宮,...

關(guān)鍵字: PCB 電路板
關(guān)閉