شــــــــــــــرح البرنامـــــــــــــــــــج
signed char m0; تعريف المتغيرات من نوع
signed char m1; char m0,m1,m2,m3
signed char m2; وهي أرقام الاتحاد والعشرات والمئات ثم الآلاف
signed char m3;
char seg[]={64,121,36,48,25,18,2,120,0,16}; تعريف الجدولل الدي يقوم بعرض القيم حسب المتغيرات char m0,m1,m2,m3
نظام عشري نظام ثنائي الرقم المقابل على العارضة السباعية
64 1000000 0
121 1111001 1
36 0100100 2
48 1100000 3
25 0011001 4
18 0010010 5
2 0000010 6
120 1111000 7
0 0000000 8
16 0010000 9
unsigned int ADC; unsigned int تعريف المتغير من نوع
وهو يمثل قيمة المحول التناظري الرقمي
void main( ) رأس الدالة الرئيسية للبرنامج
{
TRISA=0b00000000; تعريف أطراف البيك على أنها مخارج
TRISB=0;
PORTB=0;
while(1) فتح حلقة التكرار while(1)
{
ADC = ADC_Read(0); ياخد قيمة المحول عن طريق الدالة الجاهزة ADC جعل المتغير
رقم 0 وهي تعني قراءة القيمة على المدخل ADC_Read(0);
AN0
m0=(ADC%10); طريق ذكية جددااا من الأخ
m1=((ADC%100)/10); لاستخراج أرقام الآحاد والعشرات والمئات ثم الآلاف من رقم من درجة الآلاف .
m2=(ADC%1000)/100;
m3=(ADC%10000)/1000;
PORTA=2;PORTB=seg[m0];Delay_us(2000);
PORTA=4;PORTB=seg[m1];Delay_us(2000);
PORTA=8;PORTB=seg[m2];Delay_us(2000);
PORTA=16;PORTB=seg[m3];Delay_us(2000);
هنا الجزء المفضل لدي وهو طريقة العرض بالانتخاب وهي تعتمد على الخداع البصري
PORTA=2; 1-تنشيط الخرج المتصل بعارضة الآحاد مع تعطيل كل المخارج الأخرى
PORTB=seg[m0]; 2-جعل المخارج تقوم بعرض القيمة المقابلة لرقم الآحاد
Delay_us(2000); 3- دالة انتظار
تكرار نفس الشيء مع باقي العدد والعشرات والمئات ثم الآلاف
أرجو أن أكون قد وفقت في موضوعي الأول
أدعو لي بظهر الغيب شكراااا
رابط المشروع
http://www.4shared.com/rar/vMlDN_Uj/...88_MIKROC.html
اخوكم محمد