Estes displays são pequenos, apenas cerca de 1,5" de diâmetro.

Possui uma resolução
de 84x48 pixels, assim você pode usá-lo para gráficos, textos ou bitmaps. Necessitam
de poucos pinos de I/O digitais e são de baixo consumo de energia também.

O display utiliza o chip controlador PCD8544 da Philips que foram utilizados no
telefones celulares Nokia 3310 e Nokia 5110. Este chip é projetado para rodar apenas
em 3.3V. Mas nos teste que faço utilizo 5V sem problema algum.

O código original era para arduino, onde vocês encontram aqui, mas adaptei para
rodar nosmicrocontroladores PIC.

FUNÇÕES:

void Nokia_Init() - Inicializa o lcd;

void Nokia_Write(char dc, char dat) - Envia um dado ou comando para o lcd;
dc - define se o valor enviado é um comando ou um dado.
LCD_CMD - comando, LCD_DATA - dado;
dat - valor a ser enviado;

void Nokia_Fill(char val) - preenche o display com um valor;
val - valor, quando for 0x00, limpa a tela;

void Nokia_Set_Cursor(char x, char y) - define a posição do cursor no lcd;
x - posição horizontal (0 - 83);
y - página situada, posição vertical ( 0 - 5);

void Nokia_Chr(char character, char color) - Escreve um caracter no lcd;

void Nokia_Out(char *s, char color) - Escreve um texto no lcd;

void Nokia_Image(const char *bmp) - Desenha uma imagem.

void Nokia_putMedNumber(char x, char y, char number, char color) - Escreve um
número de tamanho médio.
Obs.: x deve ser incrementado de 11 em 11.
y deve ser incrementado de 2 em 2.

void Nokia_putBigNumber(char x, char y, char number, char color) - Escreve um
número de tamanho grande.
Obs.: x deve ser incrementado de 14 em 14.
y deve ser incrementado de 3 em 3.

BIBLIOTECA:

1. #define LCD_CMD 0
2. #define LCD_DATA 1
3.
4. #define LCD_X 84

5. #define LCD_Y 48
6.
7. #define BLACK 1
8. #define WHITE 0
9.
10. #define Nokia_Inverse() Nokia_Write( LCD_CMD, 0x0D )
11. #define Nokia_Clear() Nokia_Fill( 0x00 )
12.
13. extern sfr sbit Nokia_Clk;
14. extern sfr sbit Nokia_Data;
15. extern sfr sbit Nokia_DC;
16. extern sfr sbit Nokia_RST;
17. extern sfr sbit Nokia_SCE;
18. extern sfr sbit Nokia_Clk_Direction;
19. extern sfr sbit Nokia_Data_Direction;
20. extern sfr sbit Nokia_DC_Direction;
21. extern sfr sbit Nokia_RST_Direction;
22. extern sfr sbit Nokia_SCE_Direction;
23.
24. const code char ASCII_TABLE[][5] =
25. {
26. {0x00, 0x00, 0x00, 0x00, 0x00} // 20
27. ,{0x00, 0x00, 0x5f, 0x00, 0x00} // 21 !
28. ,{0x00, 0x07, 0x00, 0x07, 0x00} // 22 "
29. ,{0x14, 0x7f, 0x14, 0x7f, 0x14} // 23 #
30. ,{0x24, 0x2a, 0x7f, 0x2a, 0x12} // 24 $
31. ,{0x23, 0x13, 0x08, 0x64, 0x62} // 25 %
32. ,{0x36, 0x49, 0x55, 0x22, 0x50} // 26 &
33. ,{0x00, 0x05, 0x03, 0x00, 0x00} // 27 '
34. ,{0x00, 0x1c, 0x22, 0x41, 0x00} // 28 (
35. ,{0x00, 0x41, 0x22, 0x1c, 0x00} // 29 )
36. ,{0x14, 0x08, 0x3e, 0x08, 0x14} // 2a *
37. ,{0x08, 0x08, 0x3e, 0x08, 0x08} // 2b +
38. ,{0x00, 0x50, 0x30, 0x00, 0x00} // 2c ,
39. ,{0x08, 0x08, 0x08, 0x08, 0x08} // 2d -
40. ,{0x00, 0x60, 0x60, 0x00, 0x00} // 2e .
41. ,{0x20, 0x10, 0x08, 0x04, 0x02} // 2f /
42. ,{0x3e, 0x51, 0x49, 0x45, 0x3e} // 30 0
43. ,{0x00, 0x42, 0x7f, 0x40, 0x00} // 31 1
44. ,{0x42, 0x61, 0x51, 0x49, 0x46} // 32 2

{0x7e.{0x7f. 0x45. 0x7f} // 4d M 72. 0x7e} // 41 A 60. 0x09. 0x31} // 33 3 46. 0x07} // 59 Y 84. .{0x20.{0x36. 0x7f. 0x01} // 46 F 65.{0x32. 0x41.{0x18. 0x08} // 3e > 57. 0x3e} // 4f O 74. 0x20. 54. 0x7f. 0x41. 0x08. 0x31} // 53 S 78. 0x0c. 0x3f} // 55 U 80. 0x19. 0x09. . 0x14. 0x30} // 36 6 49. 0x22. 0x36} // 38 8 51. 0x36. 0x41. 0x11. 0x36} // 42 B 61. 0x63} // 58 X 83. . . .{0x63. 0x08. 0x40.{0x3f. 0x40} // 4c L 71. 0x09.{0x3f. 0x45. . 0x14. 0x11. 0x00. 0x14. 0x41. 0x21. . 0x40. . . 0x71. 0x41. 0x10.{0x61.{0x3e. . . 0x09. 0x41. 0x40. . 0x14. 0x49. 0x00} // 3b . 0x08. 0x20. .{0x21. 0x3f. . 0x14} // 3d = 56. 0x7f} // 48 H 67.{0x08. 0x00} // 3a : 53. 0x12. 0x00.{0x7f. 0x51. 0x41. 0x45. 0x04. 0x00} // 49 I 68. 0x56. 0x46} // 52 R 77. 0x14. 0x49. 0x08.{0x3e. 0x70. . .{0x00. 0x09. 0x10} // 34 4 47.{0x02. 0x41. 0x49. 0x4a.{0x7f. 0x49. 0x49. 0x41. 0x14. . 0x41.{0x27. 0x49. 0x49. . . 0x01. 0x41} // 45 E 64. 0x49. 0x40. .{0x14. 0x7f.{0x7f.{0x3e. 0x40. 0x49.{0x7f. 0x01} // 54 T 79.{0x00. 0x49. 0x1f} // 56 V 81. 0x01. 0x40. 0x14. 0x49.{0x7f. 0x1e} // 39 9 52. 0x06} // 3f ? 58. 0x49. 0x22. 0x09. 0x41} // 4b K 70. 0x40. 0x01} // 4a J 69. . 0x41. . 0x36. 0x49. 0x49.{0x07. 0x05. 0x41. . . 0x41. 0x22} // 43 C 62. . 0x4b. . . . . 0x01. 0x41. .45. 0x40. 0x29.{0x3c. .{0x7f. 0x02. . 0x51. 0x41. 0x39} // 35 5 48. 0x49. . 0x08. 0x49. 0x08.{0x46. 0x5e} // 51 Q 76. 0x3f} // 57 W 82. .{0x7f. 0x22. .{0x00. . 0x3e} // 40 @ 59. 0x45.{0x1f. .{0x06.{0x7f. 0x08.{0x01. 0x49. 0x09. 0x51.{0x00. 0x08.{0x7f. 0x14. 0x49. 0x43} // 5a Z . 0x09. 0x02. 0x36. 0x06} // 50 P 75. 0x41. 0x40. 0x41. 0x22. 0x03} // 37 7 50. 0x29. 0x38. 0x1c} // 44 D 63. 0x79. 0x11. 0x7f} // 4e N 73. . 0x49. 0x14. 0x09. .{0x3e.{0x01. 0x40.{0x7f. 0x45. 0x7a} // 47 G 66. 0x00} // 3c < 55. . 0x49.

{0x38.{0x40. 0x36. 0x04. . 0x41. 0x7d. 0x08. 0x44.{0x7c. 0x78} // 6e n 105.{0x20. . 0x78} // 6d m 104. 0x44. . 0x14. 0x18. 0x41. .{0x20. 0x14.{0x02. 0x04. }. 0x14. 0x04. 0x54. . 0x48. 0x14. 0x28. 0x14. . static void Nokia_SPI_Wr( char dat ) 124.{0x0c.{0x7f. 0x00} // 7c | 119. 0x48. 0x04. 0x08. . 0x40. 0x41. 0x08.{0x00. . 0x00} // 6b k 102. 0x40. 0x40. 0x3f. . 0x50. 0x7e. 0x7f} // 64 d 95. 0x02. 0x02.{0x44.{0x08. 0x41.{0x3c. . 0x09. 0x44. . 0x40. 0x44. 0x04. 0x44. 0x52. . 0x00. 0x40. 0x00. .{0x08.{0x00. 0x38} // 62 b 93. 0x52. 0x18} // 65 e 96.{0x00. .{0x00.{0x1c. 0x3c} // 79 y 116.{0x00.{0x38. 0x44. 0x08} // 70 p 107. . 0x54.{0x00. 0x44. 0x3c} // 77 w 114. 0x00} // 5b [ 86.{0x0c. . 0x38} // 6f o 106. 0x08. 0x7f. 0x40. 0x44. 0x04. 0x10. 0x00} // 7d } 120. 0x04. 0x40. 0x40. 0x54. 0x00} // 7e ° 121. . 0x44} // 78 x 115. 0x50. . 0x08} // 72 r 109. 0x28. 0x04. . 0x44} // 7a z 117. 0x41. 0x7f. 0x36.{0x7f. 0x7f. 0x07. 0x7c} // 75 u 112.85. 0x20} // 5c ¥ 87. .{0x04. 0x20. 0x20. 0x05.{0x04.{0x44. 0x01. 0x3d. . 0x40. 0x54. . 0x40} // 5f _ 90. . . . 0x7f. 0x00} // 6c l 103. 0x50. .{0x7c. 0x44. 0x10. 0x04. 0x44. . 0x00} // 6a j 101. 0x10. 0x08. 0x1c} // 76 v 113. 0x44. 0x40. 0x40. 0x54. 0x02} // 66 f 97. 0x54. 0x40. 0x78} // 61 a 92. 0x3e} // 67 g 98. 0x54.{0x00. 0x00} // 7b { 118. 0x41. 0x28. 0x44. 0x4c. 0x01. . 0x00} // 60 ` 91. .{0x3c. { . 0x20} // 74 t 111. . 122. 0x64. 0x18.{0x38. 0x01. 0x30. 0x44. . . 0x20} // 73 s 110. 0x00} // 69 i 100.{0x7c. 0x04} // 5e ^ 89. 0x78} // 68 h 99. 0x54.{0x48.{0x7f.{0x7c. 0x07. 0x54. 0x41. .{0x00. 0x00} // 5d ] 88. 0x44. 0x04. 0x08.{0x38. 0x52. 0x54. 0x20} // 63 c 94. 123. . 0x02. . 0x20.{0x00. 0x7c} // 71 q 108. .

char i. 143. // Set LCD Vop (Contrast). // LCD in normal mode. //0x04 161.B7. } 144. Nokia_Write( LCD_CMD.B0. Nokia_Write( LCD_CMD. { 147. 156. 0xBC ). 155. Nokia_DC_Direction = 0. 148. char _data ) 138. Nokia_RST = 0. 141. //0x13 162. asm nop. Nokia_Write( LCD_CMD. 142. 134. Nokia_Clk = 1. Nokia_Clk = 0. i < 8. . 145. 159. 157. Nokia_RST_Direction = 0. Delay_us(1). Nokia_RST = 1. Nokia_SCE = 1. 160. 149. // LCD Extended Commands. 0x0C ). Nokia_Clk_Direction = 0. Nokia_SPI_Wr( _data ). // Set Temp coefficent. { 139. void Nokia_Init() 146. 0x20 ). 164. Nokia_Write( LCD_CMD. dat <<= 1. { 128. 133. } 136. 152. Nokia_DC = dc. 137. Nokia_Data = dat. Nokia_SCE = 0. 0x04 ). Nokia_Write( LCD_CMD. 126.125. 0x21 ). // LCD bias mode 1:48. for( i = 0. 151. 132. 140. 129. 131. 0x14 ). Nokia_Write( LCD_CMD. 0x0C ). 153. Nokia_SCE_Direction = 0. Nokia_Write( LCD_CMD. 130. //Reset 154. Nokia_Data_Direction = 0. void Nokia_Write( char dc. 158. 150. } 135. asm nop. 163. i++ ) 127.

char y ) 168. { 200. 191. Nokia_Write( LCD_CMD. } 166. } 187. *map++ ).0x20][i]. 0x80 | x ). chr = ASCII_TABLE[Caracter . 185. char i. void Nokia_Custom_Char( char *map ) 189. 0 ). 176. Nokia_Write( LCD_DATA. 177. 198. if(Color == 0) 181. 173. unsigned index. chr. chr = ~(chr). { 182. index++) 204. 201. { 190. 180. for(index = 0. 195. 183.5) 170. void Nokia_Chr( char Caracter. { 194. i++) 178. 202. } 196. char i. i < 5. 167. { . } 186. Nokia_Write( LCD_CMD. for (i = 0. for (i = 0. chr ). char Color ) 174. 188. index < 504. Nokia_Set_Cursor( 0. 192.165. void Nokia_Set_Cursor( char x. void Nokia_Fill( char Buffer ) 199. { 169. } 172. } 184. i++) 193. Nokia_Write( LCD_DATA. 203. i < 5. { 175. // coluna (0 . { 179. 0x40 | y ). } 197. // linha ( 0 .83) 171.

{ 229. for(i=0. 206. { 211. char y. } 218. Nokia_Set_Cursor( col. 224. i++) 233. while(*String) 222. Nokia_Set_Cursor( 0. { 221.205. char Color ) 239. char n. 241. if(i % 14 == 0) . for (i = 0. char i. char *String. 0 ). 230. { 234. { 215. row ). 213. void Nokia_Image( const char *Bmp ) 228. char Color ) 210. i < 504. 212. } 237. 231. Nokia_Chr( *String++. { 240. 238. } 217. Buffer ). char Color ) 220. Color ). void Nokia_Out( char row. void Nokia_Write_Big_Number( char x. } 225. } 226. unsigned i. { 243. Nokia_Write( LCD_DATA. i++) 242. while(*String) 214. 227. } 207. 219. i < 42. Nokia_Chr( *String++. 235. { 223. Color ). 216. char col. 209. Nokia_Write( LCD_DATA. 232. } 236. chr. Bmp[i] ). } 208. void Nokia_Out_CP( char *String.

253. { 266. if(Color == 0) 272. 248. } 278. 276. 255. chr ). Nokia_Set_Cursor( x. 274. 277. 250. i++) 263. if(i % 12 == 0) 265. } 247. } EXEMPLO . } 268. y++ ). chr. { 273. y++ ). char Color ) 260. Nokia_Write( LCD_DATA. 246. chr = ~chr. { 264. char i. } 254. Nokia_Set_Cursor( x. 249.244. 271. 267. char n. { 261. 270. chr = MediumNumbers[n][i]. } 257. void Nokia_Write_Med_Number( char x. for(i=0. 269. i < 24. } 258. 262. { 245. 259. if(Color == 0) 251. chr ). } 275. Nokia_Write( LCD_DATA. chr = BigNumbers[n][i]. { 252. char y. 256. chr = ~chr.

15. 18. 28. 22. sbit Nokia_Data at RD6_Bit. 16. } . 3 ). 17. //cor inversa 24. { 20. sbit Nokia_RST_Direction at TRISD4_Bit.C" 6. 8. sbit Nokia_Data_Direction at TRISD6_Bit. 12. coluna 0 23. Nokia_Init().1. Nokia_Set_Cursor( 0. 27. sbit Nokia_RST at RD4_Bit. #include "bitmap. #include "NOKIA3310. //copie e cole o código da biblioteca aqui!! 4. 0). 26. 13. sbit Nokia_SCE_Direction at TRISD3_Bit. Nokia_Out_CP( "Microcontrolandos". //linha 3. void main() 19. 21. 10. sbit Nokia_Clk at RD7_Bit. Nokia_Image( Logo ). sbit Nokia_DC at RD5_Bit. 14. 3. 9. Delay_ms( 3000 ). //Ou arquivo externo: 5. sbit Nokia_DC_Direction at TRISD5_Bit. Nokia_Fill( 0x00 ). 25. Delay_ms( 3000 ). sbit Nokia_SCE at RD3_Bit. sbit Nokia_Clk_Direction at TRISD7_Bit.h" 2. Nokia_Inverse(). 7. 11.

(30/10/13) . o compilador MikroC dispõe de uma ferramenta para isso.C Nokia LCDs para o Proteus: NokiaLCD.zip Poderá também gostar de: PIC: RFID MFRC522 Mouse e Teclado USB PIC: Display 7 Segmentos com MAX7219 . DOWNLOAD Biblioteca Completa: NOKIA3310.Adicionado fonte para números de tamanho Médio e Grande. Selecione o menu TOOLS >> GLCD BITMAP EDITOR >> Nokia 3310. Converter Imagem Para converter uma imagem para ser mostrada neste display.

20 de julho de 2013 23:31:00 BRT Tens esta biblioteca para CCS? Responder 2. veja o erro: (0 357 main function is not defined main function is not defined) (0 102 Finished (with errors): 24 jul 2013. gostaria de simular este projeto no proteus porém não consigo o arquivo HEX mas eu não gostaria de só obter o arquivo hex e sim começar a aprender C. Tiago Henriquequarta-feira. Grande abraço! Responder Respostas 1. 24 de julho de 2013 17:21:00 BRT esse código é somente a biblioteca. Jairo Piranquarta-feira. Valeu! agradeço desde já. 16:13:31 lcd_nokiaII. 24 de julho de 2013 16:24:00 BRT Olá Tiago Copiei o programa acima colei no mickoC porém na hora de compilar está dando um erro. PIC: MCP23008 PIC: ADXL345 Linkwithin Enviar por e-mailBlogThis!Compartilhar no TwitterCompartilhar no Facebook 29 comentários: 1. Anderson Martinssábado. Voce terá que copiar e colar e logo após você deve iniciar a funcão main() Deste jeito: .mcppi) Como não manjo nada de linguagem C você podeira me ajudar.

//Obrigatorio p iniciar o display lcd Nokia3310_setCursor(0. 28 de dezembro de 2013 11:48:00 BRST Olá. void main()//Sempre tem que ter esta funcao no arquivo { Nokia3310_Init().//escreve o texto } 2. Jairo Piranquarta-feira. sabe me dizer se o comando "Soft_SPI_Write( dat )" escreve no lcd como se fosse um registrador de deslocamentos? (como o CI 4094) Obrigado e parabens pelo blog Responder Respostas 1. com clock de subida (LOW para HIGH). vamos Fazer o fórum bombar!!! já me inscrevi nele. Anônimosábado. Tiago Henriquesábado. 28 de dezembro de 2013 12:05:00 BRST Exatamente!! O comando envia o dado do bit MSB ao bit LSB.//posiciona o cursor para escrever Nokia3310_Write_Text("Jairo Piran"). Grande abraço! Responder 3.0). Responder . e pode ser usado perfeitamente para o 4094. 24 de julho de 2013 17:37:00 BRT Valeu!!! Obrigado!!! Gostei muito do Blog.

Esta biblioteca irá funcionar no CCS? Grato. 18 de janeiro de 2014 02:17:00 BRST Olá. tudo bem? desde que vc me ajudou com a conversão de texto do glcd do mikroBasic ao mikroCPRO. Tiago Henriquesábado. apesar de eu ainda usar muito o mikrobasic.4. eu consulto o blog sempre (rsrs). tudo bem? desde que vc me ajudou com a conversão de texto do glcd do mikroBasic ao mikroCPRO. eu consulto o blog sempre (rsrs). 18 de janeiro de 2014 02:12:00 BRST Olá. Parabéns e abraços Responder 5. rogério campossábado. Tiago. rogério campossábado. Gilson S. Vai me ajudar muito este código. eu estava mesmo procurando este projeto. eu estava mesmo procurando este projeto. pois quase ninguém converteu isso que era do arduino. pois quase ninguém converteu isso que era do arduino. 22 de março de 2014 20:05:00 BRT . Gilteixeirasábado. Tiago. Parabéns e abraços Responder 6. 22 de março de 2014 19:36:00 BRT Olá Tiago. Tenho uma dúvida. Vai me ajudar muito este código. apesar de eu ainda usar muito o mikrobasic. Teixeira Responder Respostas 1. Sou novo por aqui e um pouco também com microcontroladores.

C no sources do copilador mikroc pro for pic e no progama coloco a estençao #include "NOKIA3310. Responder Respostas 1.. Rafael Martinsdomingo. Claudiodomingo... Esta biblioteca não funciona no CCS!! Responder 7. Arthur Lemos Nogueira Filhosegunda-feira. Poderia me explicar para que serve o comando ''asm nop. Tiago Henriquedomingo. então um nop faz o micro parar por 1 ciclo de clock Responder 8..''? Estou convertendo a biblioteca para utilizar no compilador MPLAB X.C" . Olá amigo. 8 de dezembro de 2014 16:20:00 BRST Esta instrução "nop" não faz nada. destou usando o mikroc pro for pic estou adicionando a Biblioteca Completa: NOKIA3310. 20 de abril de 2014 18:45:00 BRT é uma instrução assembly. mas utiliza um ciclo de clock para ser executada. 2. 20 de abril de 2014 16:58:00 BRT Olá Tiago. 18 de maio de 2014 23:54:00 BRT Boa noite tiago.

'MediumNumbers' already defined in 'nokia 5110.c] '.c 177 355 Redefinition of 'Nokia_Write [NOKIA3310.c] '.c e assim vai por diante . 'Nokia_Init' already defined in 'nokia 5110. sbit Nokia_DC_Direction at TRISD5_Bit. //linha 3.c 144 355 Redefinition of 'BigNumbers [NOKIA3310.c' NOKIA3310.c 127 355 Redefinition of 'MediumNumbers [NOKIA3310. 'BigNumbers' already defined in 'nokia 5110. void main() { Nokia_Init(). 'ASCII_TABLE' already defined in 'nokia 5110. sera que é por que estou uzando a versao mikroc por for pic e nao a verçao mikroc .ou estou erando em algo na hora de adicionar a Biblioteca. } quando mando copilar da esse erro na extençao #include "NOKIA3310. sbit Nokia_Data at RD6_Bit.do mesmo jeito que ta nesse progama #include "NOKIA3310. sbit Nokia_SCE at RD3_Bit. 0).C" sbit Nokia_Clk at RD7_Bit. sbit Nokia_RST at RD4_Bit.c] '.c] '. sbit Nokia_Data_Direction at TRISD6_Bit.c] '. sbit Nokia_Clk_Direction at TRISD7_Bit. Nokia_Set_Cursor( 0. sbit Nokia_RST_Direction at TRISD4_Bit.C" 28 355 Redefinition of 'ASCII_TABLE [NOKIA3310. Nokia_Fill( 0x00 ).c' NOKIA3310. sbit Nokia_DC at RD5_Bit. sbit Nokia_SCE_Direction at TRISD3_Bit.c' NOKIA3310. ou esta certinho o passo a passo ficaria muito grato se puder me ajudar pois estou com muita dificuldade para utilizar esse lcd obrigado Att: Rafael Responder . 'Nokia_Write' already defined in 'nokia 5110. 3 ). coluna 0 Nokia_Out_CP( "Microcontrolandos".c 185 355 Redefinition of 'Nokia_Init [NOKIA3310. teria como fazer algo que deixe funcionando.c' NOKIA3310.c' NOKIA3310. //cor inversa Delay_ms( 3000 ).

sou de Campinas e programo a 3 anos mais ainda sou muito novato e gostaria muito de entra de careça nessa área. Rafael Responder 10. Tiago Responder 9. e quanto ganha um programador de microcontrolado inicialmente hoje . gostaria de pegar um coselho com vc pois você é muito bom no que faz . nunca os dois viu.coso tenha o programa para o NRF24L01 teria como postar. 20 de junho de 2014 21:22:00 BRT Boa noite Tiago gostaria de ver com você se tem algo pronto para o modulo de 2. Rafael Martinssexta-feira. o que vc me falaria sobre essa área . mais não vejo muito trabalho para programação em pic . Muito bom ! Sou principiante no uso deste versátil display e gostaria de saber como implementar o uso de caracteres grandes usando código ASM para o pic16f628. ficaria muito grato pois admiro muito seu trabalho esse blog e como vem ajudando muitas pessoas.por não ter muitas vagas para esse ramo especifico.mais não entendi como funciona o código e vejo que é muito útil esse modulo para aplicações você teria para postar no blog. e vc conhece algumas empresas para esse lado de campinas onde poderia esta mandando currículos. 19 de maio de 2014 09:06:00 BRT Olá Rafael!! Você não pode fazer isso. Ou adicione o código no sources do compilador ou você insere o include. Anônimoquarta-feira. programar. Parabéns pelo seu artigo. 6 de agosto de 2014 08:10:00 BRT Bom dia Tiago. Desde já obrigado ! Abs Glaucio . para ser um profissional registrado na área ou somente robby . Abraços. Tiago Henriquesegunda-feira. Respostas 1. olhei no libstock . pois gostaria muito de aprender a trabalhar com ele . Abraço. não devo desistir e me empenho mais .4GHZ NRF24L01 em mikroc mais bem simples.

break. // # case 16: kp = 68. break. . ao invés de mostrar a tecla que digitei. break. break. // 4 case 6: kp = 53." em conjunto com a biblioteca. // 9 case 12: kp = 67. // 1 case 2: kp = 50. Anônimosábado. break.1). quando envio o comando Nokia_Out_CP(kp. ele mostra partes do último texto enviado para o LCD. // 8 case 11: kp = 57. 13 de dezembro de 2014 03:07:00 BRST Antes de qualquer coisa. // Reset key code variable do kp = Keypad_Key_Click(). //Teclado 4x4 Desde já agradeço pelo auxílio. break. break. // D } Nokia_Out_CP(kp. break. Segue anaixo o código que estou usando para o keypad 4x4: //Teclado 4x4 do { kp = 0. Não estou conseguindo fazer funcionar o teclado 4x4 "(kp = Keypad_Key_Click(). // 6 case 8: kp = 66. break. // 0 case 15: kp = 35. break. // Prepare value for output. break. // A case 5: kp = 52. break. break. excelente seu artigo. // B case 9: kp = 55. // * case 14: kp = 48. // C case 13: kp = 42. transform key to it's ASCII value switch (kp) { case 1: kp = 49. } while (1).1). // 7 case 10: kp = 56. // 5 case 7: kp = 54. Responder 11. // 2 case 3: kp = 51. // 3 case 4: kp = 65. Responder Respostas 1. break. break. // Store key code in kp variable while (!kp). break.

Nokia_Set_Cursor(0. Veja o Exemplo do pretendido: dentro da função. Nokia_Out_CP("Texto "+cnt.1). sei que grande parte da dificuldade diretamente ligado a falta do conhecimento correto em relação ao uso das String. . Tiago Henriquesábado. 9 de janeiro de 2015 15:15:00 BRST Estou com certa dificuldade em unir na tela uma String e uma contagem. por isso. Anônimosexta-feira. como mostrado no texto. 2. realmente era esse o problema. Mas se puder de alguma forma me auxiliar desde já agradeço. voce deve utilizar a função "Nokia_Chr( kp.1). (RESOLVIDO) Responder 12. 13 de dezembro de 2014 11:57:00 BRST Muito obrigado. 13 de dezembro de 2014 08:41:00 BRST Olá! "kp" é um caracter.1). abaixo. Nokia_Out_CP é somente utilizado para strings. Anônimosábado.. cnt++. Nokia_Fill(0x00). Responder Respostas 1. 1 )". Já tentei também sem exscito: Nokia_Chr("Texto "+cnt. Abraços..

Rildo Serafim Diasquarta-feira. 11 de fevereiro de 2015 19:48:00 BRST Poderia citar quais são os pinos de interligação do pic ao lcd nokia. 1 ). Responder Respostas 1. Crie um vetor "contString" e utilize a funcao WordToStr() para converter um numero inteiro (16 bits ) pra string. é que pensei que de alguma forma poderia fazer os dois em uma única linha. fazer um e depois o outro. obrigado. Assim: char contString[6]. contString ). 13 de janeiro de 2015 08:30:00 BRST Voce tem que fazer separadamente. Realmente eu já havia pensado nisso. // escreve texto WordToStr( cnt. //para armazenar string de numeros inteiros Nokia_Out_CP( "Texto ". Tiago Henriqueterça-feira. Anônimosegunda-feira. // converte a variavel "cnt" para string e salva em "contString" Nokia_Out_CP("Texto "+contString. Novamente muito obrigado pela atenção. contString ). tipo: WordToStr( cnt. 1 ). vou fazer então UM e depois o OUTRO. //escreve cnt 2. //escreve cnt Mas OK. 1 ). pois o desenho com o esquema não aparece aqui pra mim. Responder 13. 2 de fevereiro de 2015 10:08:00 BRST Obrigado. . // converte a variavel "cnt" para string e salva em "contString" Nokia_Out_CP( contString.

9 de março de 2015 21:09:00 BRT Usando o PIC16F877A: ---------------------------------------------------------- #include "NOKIA3310. sbit Nokia_SCE at RD4_Bit. Mas não consigo conectar fisicamente o monitor à placa 100MHz (Easy Device - Easy Design) . sbit Nokia_Clk_Direction at TRISD7_Bit. sbit Nokia_Data at RD6_Bit.PIC DIP40 MINI KIT Responder 14. sbit Nokia_DC at RD5_Bit. SureShot Arisoft .C" sbit Nokia_Clk at RD7_Bit. sbit Nokia_DC_Direction at TRISD5_Bit. sbit Nokia_Data_Direction at TRISD6_Bit.Senhor do Bonfimsegunda-feira. sbit Nokia_RST at RD3_Bit. sbit Nokia_DC at RD5_Bit. . SureShot Arisoft . 2. sbit Nokia_SCE_Direction at TRISD3_Bit. sbit Nokia_DC_Direction at TRISD5_Bit. sbit Nokia_Data_Direction at TRISD6_Bit. com as configurações abaixo: #include "NOKIA3310.C" sbit Nokia_Clk at RD7_Bit. sbit Nokia_Data at RD6_Bit. sbit Nokia_SCE_Direction at TRISD3_Bit.Senhor do Bonfimsegunda-feira. sbit Nokia_RST_Direction at TRISD4_Bit. sbit Nokia_RST at RD3_Bit. 9 de março de 2015 22:05:00 BRT No sistema conseguir com êxito fazer os testes. sbit Nokia_Clk_Direction at TRISD7_Bit. sbit Nokia_RST_Direction at TRISD4_Bit. sbit Nokia_SCE at RD4_Bit.

15 de maio de 2015 17:37:00 BRT Como poderia escrever uma função pra alterar o valor do contraste durante a execução do programa? Responder . intervalor e em seguida o restante do código.Senhor do Bonfimquinta-feira. como se não houvesse memória e a mesma tivesse sido utilizada pela imagem. 9 de março de 2015 21:08:00 BRT Estou com outra. 19 de março de 2015 22:53:00 BRT Letra GRANDE e CENTRALIZADA tem como com essa biblioteca? Responder 16. mas quando coloco a função para exibir uma imagem. SureShot Arisoft . acredito que pequena. muda apenas alguns número iniciais e para. dificuldade. Quando comento a linha que exibe a imagem volta tudo ao normal. Tenho um cronômetro utilizando o NOKIA 3310 dessa biblioteca.Senhor do Bonfimsegunda-feira. SureShot Arisoft . o cronômetro não inicia. Anônimosexta-feira. O que poderia ser? Responder 15.

Portas I/O  PIC: PCF8583  Curso: Aula 01  Atualização de Código: DHT11  Tutorial: Ellipsis  PIC: MCP4XXX TRANSLATE Powered by Tradutor MARCADORES  Apostilas e Livros (3) . vetores e funções  PIC: 25XX320  PIC: RDA5807  PIC: SSD1306  Curso: Ementa Atualizada  Curso: Aula 02 .05/06/15  PIC: MCP3201  PIC: DS1631  AVR: Display 7 Segmentos  AVR: Pull-ups  AVR: Pisca-Pisca com ATMega328P  Curso: Aula 03 .Assinar: Postar comentários (Atom) PESQUISAR NESTE BLOG NOVIDADES DO BLOG .Variaveis.

1 Professional .  Arduino (11)  AVR (12)  Bibliotecas (39)  Circuitos (3)  Componentes (1)  Curso (4)  Downloads (10)  Games (2)  Ladder (1)  PIC (79)  Projetos (47)  Sensores (9)  Tutoriais (47)  Wireless (2) SEGUIR-ME POR EMAIL Submit POSTAGENS DO BLOG  ► 2015 (7)  ► 2014 (34)  ▼ 2013 (60) o ► Dezembro (6) o ► Novembro (3) o ► Outubro (1) o ► Setembro (6) o ► Agosto (2) o ► Julho (7) o ► Junho (9) o ▼ Maio (5)  PIC: Nokia 3310  PIC: Hino de Clubes  TUTORIAL: Ponteiros  PIC: Calculadora Simples  TUTORIAL: Comunicação Serial com PIC o ► Abril (4) o ► Março (8) o ► Fevereiro (3) o ► Janeiro (6)  ► 2012 (48) TOP SEMANAL  Proteus 8.

PIC32. dsPIC.  MikroC PRO for PIC. AVR  Arduino Uno para Proteus  Livros Sobre Programação  Utilizando o TIMER0 do PIC  Livros sobre Programação de Arduino  Arduino . 8051.Componente para o Proteus  Projeto 20: Timer utilizando o PIC16F628A SEGUIDORES .

Ads by SpeedCheckAd Options .com PERFIL Tiago Melo .Graduando em Ciência da Computação na Universidade Federal de Itajubá - UNIFEI e Técnico em Eletrônica pelo SENAI. CONTATO microcontrolandos2012@gmail.