در آموزش های قبلی نحوه راه اندازی سون سگمنت تک رقمی و نمایش عدد بر روی آن را آموختیم. در این آموزش نحوه نمایش اعداد 4 رقمی بر روی سون سگمنت مالتی پلکس با را خواهیم آموخت.
سون سگمنت مالتی پلکس متشکل از چند سون سگمنت در کنار هم است که پایه های غیر مشترک به همدیگر متصلند به صورتی که پایه a همه سون سگمنت ها به یکدیگر متصل هستند.
پایه مشترک هر سون سگمنت جدای از هم باقی میماند و در مجموع یک سون سگمنت 4 رقمی مالتی پلکس بدون نقطه DP تعداد 11 پایه خواهد داشت.
حال که با ساختمان داخلی سون سگمنت مالتی پلکس آشنا شدیم سون
سگمنت 4 رقمی را از کتابخانه پروتئوس به صفحه اضافه می کنیم.
به شکل زیر سون سگمنت را به میکرو متصل میکنیم:
نحوه راه اندازی
برنامه نویسی
حال پروژه کدویژن خود را ایجاد کرده و پایه هایی را که به میکرو وصل هستند را به صورت خروجی تعریف کنید.پس از ایجاد پروژه باید پس از include پنج عدد متغیر از نوع int تعریف کنید که در برنامه زیر این متغیر ها عبارتند از x.a,b,c,d :
while (1) { x=1396; //دریافت عدد چهار رقمی مورد نظر a=x/1000; //دریافت قسمت هزارگان عدد b=(x-a*1000)/100; //دریافت قسمت صدگان c=((x-a*1000)-b*100)/10; //دریافت قسمت دهگان d=((x-a*1000)-b*100)-c*10; //دریافت قسمت یکان switch (a) { case 0:PORTB=0X3F;break; case 1:PORTB=0X06;break; case 2:PORTB=0X5B;break; case 3:PORTB=0X4F;break; case 4:PORTB=0X66;break; case 5:PORTB=0X6D;break; case 6:PORTB=0X7D;break; case 7:PORTB=0X07;break; case 8:PORTB=0X7F;break; case 9:PORTB=0X6F;break; } PORTC.0=0; delay_us (1000); PORTC.0=1; PORTB=0X00; switch (b) { case 0:PORTB=0X3F;break; case 1:PORTB=0X06;break; case 2:PORTB=0X5B;break; case 3:PORTB=0X4F;break; case 4:PORTB=0X66;break; case 5:PORTB=0X6D;break; case 6:PORTB=0X7D;break; case 7:PORTB=0X07;break; case 8:PORTB=0X7F;break; case 9:PORTB=0X6F;break; } PORTC.1=0; delay_us (1000); PORTC.1=1; PORTB=0X00; switch (c) { case 0:PORTB=0X3F;break; case 1:PORTB=0X06;break; case 2:PORTB=0X5B;break; case 3:PORTB=0X4F;break; case 4:PORTB=0X66;break; case 5:PORTB=0X6D;break; case 6:PORTB=0X7D;break; case 7:PORTB=0X07;break; case 8:PORTB=0X7F;break; case 9:PORTB=0X6F;break; } PORTC.2=0; delay_us (1000); PORTC.2=1; PORTB=0X00; switch (d) { case 0:PORTB=0X3F;break; case 1:PORTB=0X06;break; case 2:PORTB=0X5B;break; case 3:PORTB=0X4F;break; case 4:PORTB=0X66;break; case 5:PORTB=0X6D;break; case 6:PORTB=0X7D;break; case 7:PORTB=0X07;break; case 8:PORTB=0X7F;break; case 9:PORTB=0X6F;break; } PORTC.3=0; delay_us (1000); PORTC.3=1; PORTB=0X00; }
که پس از اجرا به این شکل خواهد بود:
دیدگاهتان را بنویسید