Recent Posts

Pages: 1 [2] 3 4 ... 10
11
งาน 2 Layer ขนาด 217 x 188 mm สีเหลือง สกรีนขาว



16
AVR and Arduino / Re: Atmega328P Datasheet 18. I/O Ports 1
« Last post by tha on September 11, 2019, 03:03:19 pm »
มีผิดอยู่จุดตรงเช็ค busy flag ต้องอ่าน PIN ไม่ใช่อ่าน PORT ก็ได้แก้ใขแล้ว
อันนี้ทำเป็น 4 bit แล้ว D4-7 = PD4-7, RS = PB0, RW = PB1, EN = PB0
อันนี้ทำ header file LCD16x2.h แยกไว้ต่างหาก เอาไปใช้กับโปรเจ็คอื่นได้ง่าย ผมใช้โปรแกรม keil เปิดแล้วแก้ใข เสร็จแล้วก็ก๊อบปี้มาวางในโปรเจ็ค เวลาจะให้แสดงก็เพียงคลิกซ้ายคลิกขวาที่ header file ในหน้าต่างของ AVR Studio 4 แล้วก็ add header file เข้ามาแค่นี้ก็เสร็จ

http://www.mediafire.com/file/uwt6aygloahf1uf/LCD16x2_4bit.rar/file





ปล. มีปัญหาจอขาวเหมือนกัน ก็มึนไปพัก แต่ก็เช็คเจอที่ตรงเช็ค busy flag ไปอ่าน PORTD ไม่ได้อ่าน PIND ก็แก้ใขแล้ว คราวนี้จะรีเซ็ทยังไงก็ไม่มีปัญหา ต้องขอขอบคุณทางทีมงาน ETT นะ ขอเอาไฟล์มาใช้นะครับ ขอบคุณครับ :D
17
AVR and Arduino / Re: Atmega328P Datasheet 18. I/O Ports 1
« Last post by tha on September 11, 2019, 11:46:58 am »
CGRAM เราคงไม่ค่อยได้ใช้ ก็จะไม่ศึกษานะเพราะเดี๋ยวจะมั่วกันไปใหญ่(ไม่รู้ด้วยว่า address มันอยู่แถวไหนด้วย  :P)
คราวนี้ก็มาแก้ไฟล์ LCD16x2.h ของ stm32 ให้มาใช้กับ AVR ของเรา ก็จะได้เป็นแบบนี้
http://www.mediafire.com/file/x5262nhpfljvf8w/LCD16X2.h/file

มาลงให้ดูก่อน ยังไม่ได้ลองกับบอร์ด ยังไม่แน่ใจที่จุดนี้ที่เช็ค busy flag
Quote
  if (LCD_Data_Port & (1<<LCD_D7_PIN))      // Check Busy Flag
ว่าเช็คแบบนี้ถูกต้องหรือเปล่า ถ้าบิท D7 ยังเป็น "1" อยู่แสดงว่า busy อยู่ ก็จะวนลูปอยู่จนกว่าจะเป็น "0"
ก็ดูมาจากตรงนี้ ในไฟล์ sfr_defs.h ใน C:\WinAVR-20100110\avr\include\avr ลองไล่เช็คดู ไฟล์ sfr_defs.h ก็ถูก include เข้าในไฟล์ io.h นั่นแหละ
Quote
#define bit_is_set(sfr, bit) (_SFR_BYTE(sfr) & _BV(bit))
ก็เอาด้านหลังมาเลยเพราะกลัวจะงงกัน
ส่วนตรงอื่นๆรู้สึกมั่นใจว่าถูกนะ ยังไม่ได้ลอง เดี๋ยวช่วงบ่ายจะออกไปธุระก่อน เลยเอามาลงให้เช็คความถูกต้องกัน
18
AVR and Arduino / Re: Atmega328P Datasheet 18. I/O Ports 1
« Last post by tha on September 11, 2019, 09:14:50 am »
เสิร์จกูเกิ้ลด้วย "อธิบาย LCD16x2" เจอนี่มา คงไม่ต้องแปลแล้วใช่ป่าว อ่านนี่ง่ายกว่า หรือว่าไง ลองอ่านกันดูก่อนครับ       
https://piyawat1989.files.wordpress.com/2017/03/618352ch05.pdf
19
AVR and Arduino / Re: Atmega328P Datasheet 18. I/O Ports 1
« Last post by tha on September 10, 2019, 04:00:55 pm »
ก็เอาตัวอย่างของบอร์ด ET-STM32F103RB มาทำเป็น Header file LCD16x2.h เก็บเอาไว้ใช้กับโปรแกรมอื่นๆได้ง่ายดี ลองเอาไปดูกันครับ
http://www.mediafire.com/file/tczke251kbwww5s/ET-STM32F103_LCD16X4_BMP085.rar/file
20
AVR and Arduino / Re: Atmega328P Datasheet 18. I/O Ports 1
« Last post by tha on September 10, 2019, 02:56:27 pm »
พรายกระซิบบอกให้ไปเช็คโปรเจ็คที่ใช้ lcd16x2 ของ stm32 ที่เคยทำไว้ ก็เป็นตัวอย่างของ ETT นั่นแหละ ก็เลยไปเช็คดู พบว่าในโปรแกรมของ stm32 มีการเช็ค busy flag ด้วย โปรแกรมที่ผมทำมันเลยได้บ้างไม่ได้บ้างเพราะไม่ได้เช็ค busy flag นี่เอง ยังไงนะให้แปลดาต้าชีทของ lcd16x2 เอาที่ดาวน์โหลดของเว๊บ electronicWings เลยนะ ยังไม่รู้เรื่องเหมือนกัน งั้นเดี๋ยวจะลองแปลดู จะได้ละเอียดๆ
Pages: 1 [2] 3 4 ... 10