 |
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
|
|
نشاط [ F.Abdelaziz ]
قوة السمعة:333
|
|
31-07-2015, 03:10 AM
المشاركة 6
|
|
تدريب رقم 1 : توضيح فكرة المسح ، بعرض حرف ثابت على ليد ماتريكس 8X8 بتوصيل الصفوف والأ
تدريب رقم 1 : توضيح فكرة المسح ، بعرض حرف ثابت على ليد ماتريكس 8X8 بتوصيل الصفوف والأعمدة مباشرة إلى أطراف منافذ الميكروكونترولر (16 طرف) أى بدون استخدام دوائر متكاملة مساعدة :
البرنامج مع المترجم ميكروسى :
كود:
/******************************************************
LED Matrix Display , MIKROC , Basic Program
Display one fixed character : A
Rows scanning = PORTB connected to anodes ,
Data connected to PORTC , cathodes
*******************************************************/
//Character Bits Information as 8 byte array
//{0x3E,0x7E,0xC8,0xC8,0x7E,0x3E,0x00,0x00}, // A
void main ()
{
TRISB=0;
TRISC=0;
PORTB=0;
PORTC=0;
while(1)
{
PORTB=1; //select row 1 , 0b00000001
PORTC=~0x3E; //Send inverse character data byte
delay_ms(5);
//============
PORTB=2; //select row 2 , 0b00000010
PORTC=~0x7E; //Send inverse character data byte
delay_ms(5);
//==================
PORTB=4; //select row 3 , 0b00000100
PORTC=~0xC8; //Send inverse character data byte
delay_ms(5);
//=====================
PORTB=8; //select row 4 , ......
PORTC=~0xC8; //Send character data byte
delay_ms(5);
//=====
PORTB=16; //select row 5 , .......
PORTC=~0x7E; //Send inverse character data byte
delay_ms(5);
//============
PORTB=32; //select row 6 , ......
PORTC=~0x3E; //Send inverse character data byte
delay_ms(5);
//==================
PORTB=64; //select row 7 , ......
PORTC=(~0x00); //Send inverse character data byte
delay_ms(5);
//=====================
PORTB=128; //select row 8 , 0b10000000
PORTC=~0x00; //Send inverse character data byte
delay_ms(5);
}
}
نتيجة المحاكاة :

|