فهرست بستن

شیشمین پروژه: سون سگمنت

سون سگمنت

پروژه: کنترل نمایش عدد و روشن کردن LED با دو سون سگمنت و ATmega32

در این پروژه، با استفاده از میکروکنترلر ATmega32، دو سون سگمنت و یک LED را کنترل خواهیم کرد. هدف این است که با هر بار افزایش عدد، وضعیت نمایش عدد در سون سگمنت‌ها تغییر کند و هنگامی که عدد به 27 برسد، LED روشن شود و نمایش عدد در سون سگمنت‌ها متوقف گردد.

موارد مورد نیاز:
– میکروکنترلر ATmega32
– 2 سون سگمنت
– 1 LED
– مقاومت (برای محدود کردن جریان LED)
– برد بورد و سیم‌های اتصال

در این پروژه، عدد به طور پیوسته بر روی دو سون سگمنت نمایش داده می‌شود. هر بار که عدد به 27 رسید، LED روشن می‌شود و نمایش در سون سگمنت‌ها متوقف می‌گردد. این پروژه به شما کمک می‌کند تا با نحوه کار با سون سگمنت‌ها، ورودی‌ها و خروجی‌ها در میکروکنترلر ATmega32 آشنا شوید و نحوه کنترل چندین نمایشگر و LED را در یک پروژه دیجیتال یاد بگیرید.

				
					#include <mega32.h>
#include <delay.h>

int seg[10] = {0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int i , j ;

void main(void)
{
    
DDRA.0 = 1;
DDRC = 0XFF;
DDRD = 0XFF;

while (1)
    {     
          for (j = 9 ; j >= 0 ; j =  j - 1 ){ 
               PORTD = seg[j]; 
                for (i= 9 ; i >= 0 ;  i =  i - 1  ){
                PORTC = seg[i];
                delay_ms(30); 
                if(i == 7 && j == 2){PORTA.0 = 1;while(1){}}
                
                
                }
            }
    }              
}

				
			

این کد برای نمایش اعداد از 99 تا 0 به صورت نزولی بر روی دو سون سگمنت و روشن کردن LED در هنگام رسیدن به عدد 27 طراحی شده است. آرایه `seg` حاوی مقادیر باینری برای اعداد 0 تا 9 است که برای نمایش روی سون سگمنت‌ها استفاده می‌شود. در حلقه اصلی، ابتدا شمارش نزولی از 99 تا 0 انجام می‌شود، به این صورت که دو سون سگمنت به ترتیب از پورت‌های D و C به اعداد 9 تا 0 متصل هستند. برای هر ترکیب عددی از 99 تا 0، مقدار مربوطه به سون سگمنت‌ها ارسال می‌شود و پس از هر تغییر، تاخیر 30 میلی‌ثانیه اعمال می‌شود. وقتی عدد 27 نمایش داده می‌شود (عدد 2 روی سون سگمنت اول و 7 روی سون سگمنت دوم)، LED متصل به پورت A روشن می‌شود و سپس حلقه به طور کامل متوقف می‌شود. این کد به شما امکان می‌دهد تا از سون سگمنت‌ها برای نمایش اعداد دو رقمی استفاده کرده و در صورت رسیدن به عدد خاص، یک عملیات مانند روشن کردن LED را انجام دهید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *