logo
ส่งข้อความ
  • Thai
บ้าน ข่าว

ข่าว บริษัท เกี่ยวกับ วิธีการใช้โมดูล OLED

ได้รับการรับรอง
จีน Shenzhen Saef Technology Ltd. รับรอง
จีน Shenzhen Saef Technology Ltd. รับรอง
ความคิดเห็นของลูกค้า
การตอบสนองทางอีเมลที่รวดเร็วมาก และหลังจากการชําระเงิน สินค้าที่ผ่านการตรวจสอบ ได้ถูกส่งไปด้วยการส่งทางอากาศด่วน และได้รับภายในไม่กี่วันสินค้าเป็นของใหม่ในสภาพดี และยังมีหัวสปิ้นผสมด้วย ซึ่งเป็นบวกใหญ่ดีใจมากในภาพรวมและจะซื้ออีกครั้ง!

—— อันเดรียส แอนเดอร์สัน

เหมือนเดิม 100% บริการดีที่สุด...

—— Evto-WEb Aps. เดนมาร์ก

จัดจอสดใส! ทํางานตามที่คาดหวังโดยใช้ห้องสมุดจาก Adafruit กล่าวถึงในรีวิวอื่น ๆ. ยังต้องใช้การตั้งค่า SPI_MODE3 ใน Init. ผมใช้ Arduino Nano, VCC ถึง 5V และ BKL ถึง 3.3V. (PN: SFTM130JY-7181AN)

—— ริชาร์ด อินเกรม

เป็นจอภาพ HDMI แบบตรงพร้อม Micro-USB สำหรับการควบคุมพลังงานและสัมผัส เคล็ดลับที่น่าสนใจอย่างหนึ่งก็คือ มันคือจอภาพแบบสัมผัส 5 จุด (capacitive) ดังนั้นจึงทำงานเหมือนกับโทรศัพท์หรือหน้าจอแล็ปท็อปที่มีการแตะ ลาก บีบนิ้ว และท่าทางสัมผัสอื่นๆ เมื่ออยู่ในโหมดขยาย ทั้งคู่ก็เปลี่ยนไปใช้ความละเอียดดั้งเดิมและจอแสดงผลก็สวยและคมชัด

—— Darkwynd

สวัสดีจานโก้ หวังว่าคุณคงสบายดี เรามีความสุขมากกับคุณภาพของชุดก่อนหน้านี้ของจอ OLED ขนาด 2.42 นิ้วที่เรานํามาจากคุณ (ดูด้านล่าง) เราต้องการสั่งอีกชิ้น XXXX ชิ้น

—— ลิบบี้

ฉันได้ตั้งค่านี้เป็นจอภาพสำหรับระบบรักษาความปลอดภัย มันใช้งานได้ดีหลังจากฉันแก้ไขปัญหาบางอย่าง

—— Michael Helms

ผลงานยอดเยี่ยม! ขอขอบคุณฉันจะติดต่อกับบริษัทของคุณสำหรับการสั่งซื้อครั้งต่อไป。

—— ดีแมค เอส.เอ.

โดยรวมแล้วเป็นจอภาพที่ยอดเยี่ยม ฉันเป็นนักรบบนท้องถนนและกำลังมองหาจอภาพแบบพกพาที่ฉันสามารถพกติดตัวไปได้เพื่อให้งานของฉันมีประสิทธิภาพมากขึ้น โดยรวมประทับใจกับสินค้า หน้าจอดูดี ตอบสนองได้ดี และสี/ความคมชัดดี

—— เจ เรา

จอภาพเล็ก ๆ ที่ยอดเยี่ยมสำหรับโครงการของฉัน

—— แดเนียล แชมเปญ

ฉันได้รับตัวอย่างภายในหนึ่งสัปดาห์ การจัดส่งเร็วมาก นี่คือจอที่สวยงามมาก มีความคมชัดมาก และมีความแตกต่างที่ดี มุมมองดีกว่าจออื่นๆ ที่ฉันใช้

—— จอร์จ

หน่วยแสดงผลถูกบรรจุด้วยฟองเพื่อป้องกันปินหัวหน้าจากการบิดในการส่งส่ง. มาตรงที่ที่อยู่แบบกติกฐาน 0x3C I2C ที่ใช้โดย Driver SSD1306 ของ MicroPython.หัวหน้าที่ผสมผสานก่อนจะช่วยประหยัดเวลา. มีพื้นที่พอสําหรับ 4 เส้น โดย 16 ตัวอักษรของข้อความเล็ก ๆ น้อย ๆ เหล่านี้คือจอโปรดใหม่ของฉัน (0.91 OLED)

—— นี่

การตั้งค่าง่ายพอ และสีดี สีดําบริสุทธิ์สมบูรณ์แบบ ตามที่คาดหวังจาก OLED ปัญหาเดียวที่ผมมีคือการเขียนต่อพิกเซล - ใช้เวลาประมาณ 1.5 วินาทีในการอัพเดทใหม่

—— ไรอัน เจมส์

หน้าจอดีๆ แพ็คเกอร์ดี และทํางานดี

—— ฟเลตเชอร์

นี่ไม่ใช่ครั้งแรกที่เราสั่งซื้อ เราเริ่มสั่งชุดทดลอง 10 ชิ้น แล้วสองครั้ง 1000 ชิ้น และตอนนี้ 3000 ชิ้น

—— โจช

สวัสดี คริสติน่า ผลิตภัณฑ์ที่เราสั่ง โทรทัศน์ OLED ขนาด 3.12 นิ้ว ถูกทดสอบแล้ว และทั้งหมดทํางานได้อย่างสมบูรณ์แบบ 100% เรามีความสุขมากกับผลิตภัณฑ์ ส่งเร็วและบริการลูกค้าที่ดีที่สุด เราจะสั่งซื้อเครื่องแสดงเพิ่มในเดือนพฤศจิกายน (SFOM312YZ7-25664WBYG-01) ขอแสดงความยินดี อันเดรียส

—— อันเดรียส แอนเดอร์สัน

ผมกําลังทํางานในระบบบันเทิงมือถือแบบเปิดแหล่ง Reflections และต้องการจอสว่างสําหรับแอพลิเคชั่นนาฬิกาและส่งชิ้นส่วนมาให้ฉันเร็ว- แฟรงค์

—— แฟรงค์

มันเป็นผลิตภัณฑ์ที่ดีมาก สิ่งสําคัญที่สุดที่คุณมี es el equipo de profesionales que tiene esta empresa que responden de forma muy profesional y amable a cualquier reto que se presenta para la puesta en marcha y desarrollo de los proyectos que se realizan con estas pantallasขอบคุณมากๆสําหรับทุกอย่าง

—— เอริค เอ็ม.

เป็นความยินดีที่จะจัดการกับบริษัทนี้ เป็นมืออาชีพ รวดเร็วและตรงไปตรงมาตลอดกระบวนการทั้งหมด

—— โจเซฟ วู้ดค็อก

ปารเฟรคต์ เมอร์กี้

—— วิลเลียม คลีน

การดูแลของผู้ให้บริการได้เป็นอย่างดี ตั้งแต่วันแรก การจัดส่งได้รวดเร็วมาก ขอบคุณมากสําหรับทุกอย่าง

—— ปีเตอร์ แฟรนซ์เค

คุณภาพดีเยี่ยม

—— ทิสาก์ เชส

นี่คือครั้งแรกที่เรามานี่ มันเป็นกระบวนการที่เรียบร้อยและง่ายๆ นี้จะไม่เป็นการสั่งซื้อครั้งสุดท้ายของเรา

—— จอร์แดน L

พอใจมาก

—— เจฟ

มันมาทันเวลา และคุณภาพมันเยี่ยมมาก

—— นิโคโล

คนดีมาก ช่วยเหลือมาก

—— วัลเลนติโน่

LCD ดีมาก และภาพชัดเจนมาก

—— ชาร์ลอต

คุณภาพของสินค้าเป็นอย่างที่คาดหวังมากแนะนําและผู้จําหน่ายเป็นอย่างรวดเร็วในการตอบคําถาม

—— เอลิสซ่า เดคเกอร์

จอแสดงผลได้ตามคําอธิบาย ความละเอียดสูง ความสว่างสูง และบอร์ด HDMI ขนาดเล็ก ที่ทํางานได้อย่างดีเยี่ยม

—— เวอร์ตุอเรียม

ผลิตภัณฑ์ได้รับในเวลาและไม่มีความเสียหายใด ๆ ยินดีให้ผู้จําหน่าย

—— บรูค

ผลิตภัณฑ์ดีมาก ผู้จัดจําหน่ายตอบสนองดีมาก เราสั่ง 2500 รายการเพิ่ม ขอบคุณ

—— กาโอวัง

เงินส่วนหนึ่งถูกส่งมา และได้รับทันเวลา

—— สเตฟานี่ เจด

ผู้จัดส่งบริการดีมาก และสินค้ามาทันที

—— สตาซี

ผู้จัดจําหน่ายคนนี้พบคําตอบที่ดีที่สุด ที่ตอบสนองความต้องการของเรา

—— อเล็กซ์ บาวเวอร์

ผลิตภัณฑ์ดี ดูน่าทึ่ง

—— นิค

การสนับสนุนที่ดีมาก

—— เทย์เลอร์ ดี ฟัสเซล

เครื่องแสดงผลงานตามที่คาด การบรรจุของดีมาก และส่งเร็ว ขอบคุณ

—— กินนาร์ต

ผลิตภัณฑ์มันดี และเรากําลังจับตัวผู้จําหน่ายนี้ เป็นผู้จําหน่ายจอหลักของเรา

—— ซาร่าห์

จําหน่ายที่มีคุณสมบัติ ระยะเวลาการจัดส่งที่ดีและคุณภาพดี จะยังคงร่วมมือ

—— โชเซ่ ซานเชส

คุณภาพดีมาก ส่งเร็วมาก ตอบกลับเร็วมาก

—— มัลลิบูเกล

สวัสดีคอลลอน ขอบคุณสําหรับความคิดเห็นที่ดีของคุณ ใช่, Windows ทั้งหมดในจอสัมผัสหนึ่ง, เราตั้งค่า 2.4G wifi เท่านั้น, หากต้องการ BT และ 5G wifi, ต้องบอกฉันล่วงหน้า. ขอให้คุณทุกความดีที่สุด ~

—— เฟรดริค บราวน์

ขายดีครับ ผมได้รับจอคุณภาพดีทุกครั้ง

—— โยอาคิม วานดจิ

สนทนาออนไลน์ตอนนี้ฉัน
บริษัท ข่าว
วิธีการใช้โมดูล OLED
ข่าว บริษัท ล่าสุดเกี่ยวกับ วิธีการใช้โมดูล OLED

เข้าใจหลักการของจอ OLED - วิธีการใช้โมดูล OLED

โมดูล OLED มีสี่โหมดการทํางานคือ 6800 และ 8080 อินเตอร์เฟซคู่กัน โหมดอินเตอร์เฟส SPI ซีเรียล 4 สาย และโหมดอินเตอร์เฟส IICความสัมพันธ์ระหว่างการตั้งค่า BS1/BS2 และโหมดอินเตอร์เฟซโมดูลแสดงในตารางต่อไปนี้:

ข่าว บริษัท ล่าสุดเกี่ยวกับ วิธีการใช้โมดูล OLED  0

การตั้งค่าโดยกําหนดของโมดูล OLED SAEF Technology คือ BS0 เป็น GND, BS1 และ BS2 เป็น VCC (โหมด 8080) หากคุณต้องการตั้งมันเป็นโหมดอื่นคุณจําเป็นต้องปรับเปลี่ยนการตั้งค่า BS0-BS2 ด้วยเหล็กผสมบนด้านหลังของ OLED(เปลี่ยนฮาร์ดแวร์)
จากแผนภูมิ เราสามารถรู้ว่ามีทั้งหมด 16 จักรพรรณออก และจาก 16 เส้น เราใช้แค่ 15 จักรพรรณ และหนึ่งในนั้นแขวนอยู่และเหลือ 13 คนในโหมดต่าง ๆ จํานวนสายสัญญาณที่เราต้องการจะแตกต่างกัน ในโหมด 8080 เราต้องการทั้งหมด 13 สาย ซึ่งหนึ่งในนั้นเป็นธรรมดา คือสายรีเซ็ท RST (RES)ซึ่งเราสามารถเชื่อมต่อโดยตรงกับการรีเซ็ตของ MCU (เพื่อยืนยันว่าวิธีรีเซ็ตคือเหมือนกัน), เพื่อที่จะสามารถยกทิ้งเส้นหนึ่งในโหมด IIC, มีเพียง 2 เส้นที่จําเป็น!

เราเพิ่งเรียนรู้เกี่ยวกับมัน ระบบทํางานของ IIC ใช้แค่สองเส้น และระบบทํางานของ IIC คือการใช้สายสองสาย เพื่อจําลอง IIC เพื่อรับข้อมูล

 

เครื่องควบคุม OLED เป็น SSD1306 นั่นก็คือ: หน้าจอเปล่าถูกขับโดย SSD1306 ซึ่งยังเป็นชิปไดรเวอร์ LED ที่ใช้กันอย่างแพร่หลาย

 

เอมโมรีวีดีโอโมดูล OLED
OLED ตัวเองไม่มีความจําวิดีโอ และความจําวิดีโอของมันขึ้นอยู่กับ SSD1306 เพื่อให้ความจําทั้งหมดของ SSD1306 คือ 128 * 64 บิต และ SSD1306 แบ่งความจําเป็น 8 หน้าแต่ละหน้ามี 128 ไบท์มีทั้งหมด 8 หน้า ซึ่งเท่ากับขนาดเมทริกซ์จุด 128*64
อย่างไรก็ตาม เนื่องจาก OLED ไม่สามารถควบคุมเมทริกซ์จุดหนึ่งครั้งได้ มันสามารถควบคุมเมทริกซ์จุด 8 จุดเท่านั้น
เนื่องจากการเขียนแต่ละครั้งถูกเขียนในไบท์, มีปัญหา, ถ้าเราใช้โหมดเขียนเฉพาะเพื่อทํางานในโมดูล, แล้ว, เราต้องเขียน 8 จุดในเวลา, ดังนั้นเมื่อเราวาดจุด,เราต้องหาสถานะปัจจุบันของแต่ละบิตของไบท์ที่จุดที่จะตั้งอยู่ (0/1?) ไม่เช่นนั้น, ข้อมูลที่เขียนจะ overwrite สถานที่ก่อนหน้านี้, และผลลัพธ์จะเป็นที่บางจุดที่ไม่จําเป็นต้องแสดงแสดง,หรือที่ควรจะแสดงไม่ได้ในโหมดที่อ่านได้ เราสามารถอ่านไบทที่จะเขียนออกก่อน, รับสถานการณ์ปัจจุบัน, แล้วเขียนมันลงในกราม หลังจากปรับปรุงบิตที่จะเขียนใหม่,เพื่อไม่ให้เกิดผลกระทบต่อสถานการณ์เดิม. อย่างไรก็ตาม, นี้ต้องการความสามารถในการอ่าน GRAM, สําหรับ 3 สายหรือ 4 สาย SPI โหมด, โมดูลไม่สนับสนุนการอ่าน, และการอ่าน->-to-> โหมดการเขียนยังค่อนข้างช้า.
ดังนั้นวิธีที่เราใช้คือการสร้าง OLED GRAM (ทั้งหมด 128 ไบท์) ภายใน STM32 และในการปรับปรุงแต่ละครั้ง เพียงปรับปรุง GRAM บน STM32เขียน GRAM บน STM32 ไปยัง OLED GRAM ครั้งเดียวแน่นอนว่าวิธีนี้ยังมีข้อเสีย, นั่นคือสําหรับไมโครคอนโทรลเลอร์ที่มี SRAM เล็กมาก (เช่น 51 ซีรีส์), มันมีปัญหามากขึ้น.

 

ความจําวีดีโอของ OLED
รูปแบบการเก็บคือดังนี้:

0 1 2 3... 127

//[1]0 1 2 3... 127

//[2]0 1 2 3... 127

//[3]0 1 2 3... 127

//[4]0 1 2 3... 127

//[5]0 1 2 3... 127

//[6]0 1 2 3... 127

//[7]0 1 2 3... 127

u16 OLED_GRAM[128][8];

อัพเดทความจําวิดีโอสู่จอ LCD

void OLED_Refresh_Gram (ไม่มีค่า)

{

u8 i,n;

for ((i=0; i<8; i++)

{

OLED_WR_Byte (0xb0+i,OLED_CMD); กําหนดที่อยู่ของหน้า (0~7)

OLED_WR_Byte (0x00,OLED_CMD); กําหนดตําแหน่งการแสดง

OLED_WR_Byte (0x10,OLED_CMD); กําหนดตําแหน่งการแสดง

for ((n=0; n<128; n++)OLED_WR_Byte ((OLED_GRAM[n][i],OLED_DATA);

}

}

คําสั่ง SSD1306

1: คําสั่ง 0X81: กําหนดความแตกต่าง มี 2 ไบท์ 0X81 เป็นคําสั่ง และ 1 ไบท์ถัดไปคือค่าของความแตกต่างที่จะกําหนดสีหน้าจอจะสว่างขึ้น.
2: คําสั่ง 0XAE/0XAF: 0XAE ปิดคําสั่งแสดงภาพ; 0XAF เปิดคําสั่งแสดงภาพ
3: คําสั่ง 0X8D: ประกอบด้วย 2 ไบท, หนึ่งแรกคือคําสั่ง, สองคือค่าตั้ง, ไบทที่สองของ BIT2 แสดงว่าสภาพสลับของปั๊มการชาร์จ, บิตคือ 1,ปั๊มชาร์จเปิด, และ 0 ได้ปิด เมื่อโมดูลเริ่มต้น, นี้ต้องเปิด, ไม่เช่นนั้นคุณจะไม่เห็นการแสดงจอ.
4: คําสั่ง 0XB0 ~ B7: ใช้ในการตั้งที่อยู่ของหน้า และสามหลักด้านล่างตรงกับที่อยู่ของหน้าของ GRAM
5: คําสั่ง 0X00~0X0F: ใช้ในการตั้งหลักสี่หลักล่างของที่อยู่แถวเริ่มต้นเมื่อแสดง
6: คําสั่ง 0X10~0X1F: ใช้ในการตั้งที่อยู่เสาเริ่มต้นของจอสูงกว่า 4 หลัก

สําหรับคําสั่งเพิ่มเติม, โปรดอ้างอิงนี้, มันแนะนําอย่างมากที่จะเห็นมัน, มันมีรายละเอียดมาก: SSD1306 (OLED ชิปไดรเวอร์) คําแนะนําในรายละเอียด

หลังจากแนะนําโหมดการทํางานและชิป Driver เราสามารถเริ่มต้นการใช้ IIC โมดูล OLED นี้

รหัสรายละเอียด
#define OLED_CMD 0 // เขียนคําสั่ง
#กําหนด OLED_DATA 1 //เขียนข้อมูล

 

เปิดตัว OLED

เริ่มต้น SSD1306

void OLED_Init ((void)

 

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd ((RCC_APB2Periph_GPIOA, ENABLE); เปิดนาฬิกาบนพอร์ต A

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ; การออกผลักดัน-ดึง

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz ความเร็ว 50MHz

GPIO_Init ((GPIOA, &GPIO_InitStructure); เริ่มการ GPIO

GPIO_SetBits ((GPIOA,GPIO_Pin_5 โดย GPIO_Pin_7);

delay_ms(200);

 

OLED_WR_Byte ((0xAE,OLED_CMD);

OLED_WR_Byte ((0x00,OLED_CMD);//---กําหนดที่อยู่แถมต่ํา

OLED_WR_Byte ((0x10,OLED_CMD);//---ตั้งที่อยู่แถวสูง

OLED_WR_Byte ((0x40,OLED_CMD);//--ตั้งที่อยู่เส้นเริ่มต้น

OLED_WR_Byte ((0xB0,OLED_CMD);//--ตั้งที่อยู่หน้า

OLED_WR_Byte ((0x81,OLED_CMD); // การควบคุมสัญญา

OLED_WR_Byte ((0xFF,OLED_CMD);//--128

OLED_WR_Byte ((0xA1,OLED_CMD);//set segment remap

OLED_WR_Byte ((0xA6,OLED_CMD);//--ปกติ / กลับ

OLED_WR_Byte ((0xA8,OLED_CMD);//--การตั้งอัตราการหลากหลาย ((1 ถึง 64)

OLED_WR_Byte ((0x3F,OLED_CMD);//-1/32 หน้าที่

OLED_WR_Byte ((0xC8,OLED_CMD);//Com ทิศทางการสแกน

OLED_WR_Byte ((0xD3,OLED_CMD);//-set display offset

OLED_WR_Byte ((0x00,OLED_CMD);//

 

OLED_WR_Byte ((0xD5,OLED_CMD);//set osc แบ่ง

OLED_WR_Byte ((0x80,OLED_CMD);//

 

OLED_WR_Byte ((0xD8,OLED_CMD);//กําหนดรูปแบบสีพื้นที่ปิด

OLED_WR_Byte ((0x05,OLED_CMD);//

 

OLED_WR_Byte ((0xD9,OLED_CMD);//กําหนดระยะเวลาชาร์จก่อน

OLED_WR_Byte ((0xF1,OLED_CMD);//

 

OLED_WR_Byte ((0xDA,OLED_CMD);//set com pin การตั้งค่า

OLED_WR_Byte ((0x12,OLED_CMD);//

 

OLED_WR_Byte ((0xDB,OLED_CMD);//set Vcomh

OLED_WR_Byte ((0x30,OLED_CMD);//

 

OLED_WR_Byte ((0x8D,OLED_CMD);//ตั้งปั๊มชาร์จเปิด

OLED_WR_Byte ((0x14,OLED_CMD);//

 

OLED_WR_Byte ((0xAF,OLED_CMD);//--เปิดแผ่น OLED

OLED_Clear ((); ทําความสะอาดจอ แนะนําให้ทําความสะอาดจอครั้งแรกหลังจากการเริ่มต้นแต่ละครบ

 

การเคลียร์หน้าจอ หลังเคลียร์หน้าจอหน้าจอทั้งหมดเป็นสีดํา มันเหมือนกับไม่ส่องแสง

void OLED_Clear ((void)

{

u8 i,n;

for ((i=0; i<8; i++)

{

OLED_WR_Byte (0xb0+i,OLED_CMD); กําหนดที่อยู่ของหน้า (0~7)

OLED_WR_Byte (0x00,OLED_CMD); กําหนดตําแหน่งการแสดง

OLED_WR_Byte (0x10,OLED_CMD); กําหนดตําแหน่งการแสดง

for ((n=0; n<128; n++)OLED_WR_Byte ((0,OLED_DATA);

} // อัพเดทหน้าจอ

}

ในตัวจําลองตัวตนที่เราใช้กันมักมี 2 วิธีที่ใช้กันทั่วไปในการนําตัวจําลองตัวหนึ่งคือ 6 * 8 และอีกตัวคือ 8 * 16อย่างแรกคือการเอาตัวอักษรที่เราต้องการออกจากตารางทรงสี่เหลี่ยมที่มี 8 แถวและ 6 คอลัมน์, และข้อที่สองคือการเอาตัวอักษรออกในตารางทรงสี่เหลี่ยมที่มี 16 แถวและ 8 คอลัมน์ ดังที่เขียนในคําอธิบายรหัสด้านล่าง เนื่องจากมีเพียง 8 เส้นต่อหน้าใน OLEDสเปซสําหรับหน้าถัดไปต้องใช้ดังนั้นเรามีขนาดตัวอักษรที่เรามักจะใช้ แน่นอน, นี่คือขนาดตัวอักษรที่ใช้กันทั่วไป, เรายังสามารถสร้างขนาดตัวอักษรโปรดของเราเองได้

 

/* แสดงตัวอักษรที่ตําแหน่งที่กําหนด รวมถึงตัวอักษรบางตัว

x:0~127

y:0~63

ขนาด: เลือก Font 16/12*/

void OLED_ShowChar ((u8 x,u8 y,u8 chr,u8 Char_Size)

{

char ที่ไม่มีเครื่องหมาย c=0,i=0;

c=chr-' '; ค่าออฟเซ็ตสามารถได้รับจากรูปแบบตัวอักษร, ตัวแรกคือ'', และตัวอักษรที่ตรงกันได้โดยการลบ

if(x>Max_Column-1) {x=0; y=y+2; } //Max_Column: สูงสุดสตางค์: 128; x: กําหนดจํานวนสตางค์; y: กําหนดจํานวนหน้า

if(Char_Size ==16) // ในกรณีนี้ ต้องการคอลัมน์เดียวกันของสองหน้า, และเมทริกซ์จุดของ 8 * 16 ต้องการ

{

OLED_Set_Pos ((x,y); หาก x = y = 2, แล้วตั้งมันเป็นคอลัมน์ 3 บนหน้า 3, หมายเหตุ: มีเพียงแปดแถวต่อหน้า

for ((i=0; i<8; i++)

OLED_WR_Byte ((F8X16[c*16+i],OLED_DATA); โดยการเพิ่ม i, จุดถูกวาดในวงจร, และทั้งหมด 8 แถวของคอลัมน์ที่สองในหน้า 2 ถูกเขียนลงในข้อมูล

OLED_Set_Pos(x,y+1); เนื่องจากจํานวนจุดไม่เพียงพอ, คุณจําเป็นต้องดําเนินการจุดในคอลัมน์ 2 บนหน้า 3

for ((i=0; i<8; i++)

OLED_WR_Byte ((F8X16[c*16+i+8],OLED_DATA); ต่อไปเพื่อเสร็จการวาดภาพจนถึงจุด 16

}

อื่นๆ

{

OLED_Set_Pos ((x,y); 6x8 แมตริกซ์จุด, ไม่จําเป็นต้องมีหน้าอื่น ๆ เพื่อดําเนินการวาดภาพ

for ((i=0; i<6; i++)

OLED_WR_Byte ((F6x8[c][i],OLED_DATA); ในอารมณ์สองมิติ C ควบคุมแถว และ I ควบคุมคอลัมน์ ดังนั้นไม่จําเป็นต้องใช้การปฏิบัติอื่น ๆ เพื่อจบการวาด

}

}

if ((x>120) ต่อไปนี้ไม่ใช่ความผิดพลาด เพราะ x+=8 ก่อนหน้านี้ มีคําอธิบายในข้อความต่อไปนี้ คุณสามารถคิดดูได้

 

void OLED_ShowString ((u8 x,u8 y,u8 *chr,u8 Char_Size) // แสดงสตริง

{

char j=0 ไม่ลงนาม

while (chr[j]!='0') // ตรวจสอบว่า string จะจบหรือไม่

{

OLED_ShowChar ((x,y,chr[j],Char_Size); ดรางตัวอักษรตัวละหนึ่ง

x+=8; x ตั้งเป็นคอลัมน์, ขนาดตัวอักษรคือ 8*16, นั่นก็คือแถวคือ 16 และคอลัมน์คือ 8, และทุกครั้งที่มันถูกแสดงเป็นหนึ่ง, คุณจําเป็นต้องย้าย 8 คอลัมน์ไปยังคอลัมน์ที่สูงกว่า

if(x>120) {x=0; y+=2; } // ขั้นสูงสุดคือ 128 คอลัมน์ หากเกินขั้นนี้ คุณต้องเริ่มจากคอลัมน์ศูนย์อีกครั้ง เพราะคุณต้องการหน้าอื่นๆ เพื่อดําเนินการวาดภาพในเวลานี้เพื่อหลีกเลี่ยงการซ้อนกัน, คุณต้องการ y + = 2

j++; การวาดเชือกในลุป

}

}

2 หมายเลขถูกแสดงออก ทั้งสองถูกเขียนในรหัสด้านล่าง และควรสังเกตว่า "" ด้านล่างแสดงค่า ASCII ของ 32

m^n ฟังก์ชัน

u32 oled_pow ((u8 m,u8 n)

{

u32 ผล = 1;

while ((n--) ผลลัพธ์*=m

ผลตอบแทน

}

แสดง 2 ตัวเลข

x,y: ตําแหน่งเริ่มต้น

len: จํานวนหลักของตัวเลข

ขนาด: ขนาดตัวอักษร

โหมด: โหมด 0, โหมดเติม;

num: ค่าเลข (0~4294967295)

void OLED_ShowNum ((u8 x,u8 y,u32 num,u8 len,u8 size2)

{

u8 t,temp;

u8 enshow=0;

for(t=0; t

{

temp=(num/oled_pow(10,len-t-1)) %10;

if(display==0&&t<(len-1))

{

if ((temp==0)

{

OLED_ShowChar ((x+(size2/2) *t,y,' ',size2);

ต่อไป

}else enshow=1;

 

}

การแสดงภาพ OLED Char ((x+(size2/2) *t,y,temp+'0',size2)

}

หลายอย่างข้างต้นเป็นการใช้หลักของเรา บาง Xi ต้องการที่จะใช้มันเพื่อดําเนินการที่แตกต่างกันมากขึ้นก่อนอื่นก็แนะนําโปรแกรมจําลองที่ใช้กันทั่วไป.

 

PC เป็น LCD 2002

นี่คือวิธีการทํางาน!

เมื่อเราใช้มัน, เราเปิดไฟล์ในมุมซ้ายบนและสร้างไฟล์ใหม่. กรอกความกว้างและความสูงของเรา, 6 * 8 หรือ 8 * 16 เป็นพื้นฐานนี้ที่จะใช้หม้อ, คุณสามารถตั้งขนาดด้วยตัวเองมีเครื่องยนต์ในมุมด้านบน, และเราต้องเปิดมันเมื่อเราตั้งขนาด

เมื่อคุณมีทุกอย่างอยู่บนนั้น คุณสามารถวาดสิ่งที่คุณต้องการได้ เพราะ OLED คือ 128*64 ขนาดสูงสุดของเราคือนี่ เราสามารถเขียนได้บน 128*64 การวาด เป็นต้นซึ่งยังเป็นวิธีการที่จะเติมจอ, และมีโปรแกรมประดิษฐ์ภาพในด้านหลัง ซึ่งได้รับเป็นภาพ เช่นตัวละครอานิเมะบางตัว

ตอนนี้เรานําเครื่องมือมาใช้แล้ว เราพร้อมที่จะดําเนินการ

1ดึงเส้นตรง
โดยปกติเราใช้จุดเดียวกันกับในรูปด้านล่าง เมื่อเราอยากวาดเส้นตรง เรามักจะได้จุด เพราะขนาดตัวอักษรที่เราใช้โดยทั่วไปคือ 6 * 8 หรือ 8 * 16และขนาดจุดภายในไม่เต็มทั้งสี่เหลี่ยม (อธิบายไว้ข้างบน)สิ่งที่เราต้องทําคือเปิดโปรแกรมตัวละครของเรา และทําให้จุดที่ใหญ่กว่า!

2: แสดงภาพ (เช่นตัวละครอานิเมะบางตัว)

 

มันดูยาวไปหน่อย มีอีกหลายวิธีที่จะเล่น เพื่ออัพเดทต่อไป

ผับเวลา : 2024-02-05 04:08:09 >> รายการข่าว
รายละเอียดการติดต่อ
Shenzhen Saef Technology Ltd.

ผู้ติดต่อ: Mrs. Christina

โทร: +8618922869670

แฟกซ์: 86-755-2370-9419

ส่งคำถามของคุณกับเราโดยตรง (0 / 3000)