درود بر ایرانیان
شاید تا حالا برایتان پیش افتاده باشه که بخواهید مداری با سون سگمنت طراحی کنید و بعد هم برد اون مدار رو هم بزنید و موقع PCB کردن کمی برایتان سخت باشد که آن پایه های دلخواه میکروکنترلر را به سون سگمنت متصل کنید... (برای برد یک رو ) و شاید در برابر این مشکل مجبور شوید برای راحتی PCB در برنامه نویسی محاسبه کنید که مقابل آن عدد سون سگمنت چه عددی برابر با پورت قرار بدهم تا سون سگمنت نمایش دهد ... و مشکلاتی از این قبیل ...
من خودم شخصا" به این گونه مشکلات برخوردم و همیشه دنبال نرم افزاری بودم که این محاسبات را انجام دهد تا دیگر لازم نباشد خودمان محاسبه کنیم و وقتمان گرفته شود ...
از اونجایی که نمیدونستم چی توی گوگل بزنم و بگردم نرم افزاری پیدا نکردم و این شد که به فکر افتادم تا این نرم افزار را خودم بنویسم تا هم خودم و هم دوستان استفاده کنند ...
توضیح مختصری درباره نرم افزار easy 7segment :
قبل از اجرای نرم افزار ، مداری که قرار است طراحی کنید برای خودتان معلوم کنید
به عنوان مثال میخواهیم این مدار را ببندیم

پایه های میکرو کنترلر رو به این شکل بستیم
موقعی که فایل اجرایی نرم افزار را اجرا میکنید این را می پرسد
میگه که
می خواهید پایه a سون سگمنت را به کدام یک از پایه های میکروکنترلر متصل کنید ؟
در این مثال پایه PORTD.2 است که باید وارد کنیم 2
و پرسش دوم
می خواهید پایه b سون سگمنت را به کدام یک از پایه های میکروکنترلر متصل کنید ؟
در این مثال پایه PORTD.0 است که باید وارد کنیم 0
و این اعداد را وارد میکنیم تا پایه g و بعد که تمام شد یک سری محاسباتی را انجام میدهد و جواب رو بهتون میگه
از اونجایی که کپی گرفتن از این اعداد نشدنی هست :mrgreen: این برنامه را ببندید و میبینید که یک فایل با پسوند TXT در مسیر همان فایل اجرایی به شما می دهد .
محتویات این فایل به این صورت است :
خیلی خب ... کار شما در اینجا به پایان رسیده ...
کد را برای نرم افزار مخصوص خودتون انتخاب کنید و Copy بگیرید و ببرید در برنامه مورد نظرتون و Paste کنید
به عنوان مثال من میخوام با برنامه کدویژن کار کنم و نوع سون سگمنت هم کاتد مشترک است و باید این را کپی بگیرم .
حالا توی برنامه نویسی به همین راحتی نمایش میدهم ... میکروی مگا16
[code=c]#include <mega16a.h>
#include <delay.h>
void main(void)
{
unsigned char x=0,
common_cathode[20]={183,17,173,61,27,62,190,21,191,63,189,186,166,18 5,174,142};
DDRD = 0xFF;
while (1)
{
PORTD = common_cathode[x];
delay_ms(500);
x++;
if(x == 16)x=0;
}
}[/code]
این برنامه به صورت hex از 0 تا F را شمارش می کند
سورس کد + شبیه سازی در پروتئوس 7.10
خوب عزیزان
امیدوارم که از این برنامه لذت برده باشید :nerd:
پیشرفت نامه :
[hr]
1393/09/05 - نسخه 1.0 : نمایش اعداد بر روی 7Segment
1393/09/08 - نسخه 1.1 : اضافه کردن برنامه نمایش حروف بر روی 7Segment
1393/09/26 - نسخه 1.2 : اضافه نمودن نمونه کد(مثال) و نقطه 7Segment و اصلاح جملات انگلیسی(با همکاری آقا روح الامین عزیز)
دریافت فایل از سرور کمکی نسخه 1.2
موفق و پیروز باشید
تغییرات جدید :
{ نسخه 1.2 ضمیمه شد }
شاید تا حالا برایتان پیش افتاده باشه که بخواهید مداری با سون سگمنت طراحی کنید و بعد هم برد اون مدار رو هم بزنید و موقع PCB کردن کمی برایتان سخت باشد که آن پایه های دلخواه میکروکنترلر را به سون سگمنت متصل کنید... (برای برد یک رو ) و شاید در برابر این مشکل مجبور شوید برای راحتی PCB در برنامه نویسی محاسبه کنید که مقابل آن عدد سون سگمنت چه عددی برابر با پورت قرار بدهم تا سون سگمنت نمایش دهد ... و مشکلاتی از این قبیل ...
من خودم شخصا" به این گونه مشکلات برخوردم و همیشه دنبال نرم افزاری بودم که این محاسبات را انجام دهد تا دیگر لازم نباشد خودمان محاسبه کنیم و وقتمان گرفته شود ...
از اونجایی که نمیدونستم چی توی گوگل بزنم و بگردم نرم افزاری پیدا نکردم و این شد که به فکر افتادم تا این نرم افزار را خودم بنویسم تا هم خودم و هم دوستان استفاده کنند ...
توضیح مختصری درباره نرم افزار easy 7segment :
قبل از اجرای نرم افزار ، مداری که قرار است طراحی کنید برای خودتان معلوم کنید
به عنوان مثال میخواهیم این مدار را ببندیم

پایه های میکرو کنترلر رو به این شکل بستیم
کد:
PORTD.2 = a PORTD.0 = b PORTD.4 = c PORTD.5 = d PORTD.7 = e PORTD.1 = f PORTD.3 = g
کد:
Which Pin of the PORTs is connected to the Pin'a' of the 7Segment?
می خواهید پایه a سون سگمنت را به کدام یک از پایه های میکروکنترلر متصل کنید ؟
در این مثال پایه PORTD.2 است که باید وارد کنیم 2
و پرسش دوم
کد:
Which Pin of the PORTs is connected to the Pin'b' of the 7Segment?
در این مثال پایه PORTD.0 است که باید وارد کنیم 0
و این اعداد را وارد میکنیم تا پایه g و بعد که تمام شد یک سری محاسباتی را انجام میدهد و جواب رو بهتون میگه
از اونجایی که کپی گرفتن از این اعداد نشدنی هست :mrgreen: این برنامه را ببندید و میبینید که یک فایل با پسوند TXT در مسیر همان فایل اجرایی به شما می دهد .
محتویات این فایل به این صورت است :
کد:
PORTx.2 ——˄˄˄—— a PORTx.0 ——˄˄˄—— b PORTx.4 ——˄˄˄—— c PORTx.5 ——˄˄˄—— d PORTx.7 ——˄˄˄—— e PORTx.1 ——˄˄˄—— f PORTx.3 ——˄˄˄—— g Source Code for ATmel Studio(GCC Compiler): uint8_t common_cathode[16]={183,17,173,61,27,62,190,21,191,63,189,186,166,185,174,142}; uint8_t common_anode[16]={72,238,82,194,228,193,65,234,64,192,66,69,89,70,81,113}; Source Code for CodevisionAVR: unsigned char common_cathode[16]={183,17,173,61,27,62,190,21,191,63,189,186,166,185,174,142}; unsigned char common_anode[16]={72,238,82,194,228,193,65,234,64,192,66,69,89,70,81,113}; Source Code for Bascom AVR: Common_cathode: Data 183 , 17 , 173 , 61 , 27 , 62 , 190 , 21 , 191 , 63 , 189 , 186 , 166 , 185 , 174 , 142 Common_anode: Data 72 , 238 , 82 , 194 , 228 , 193 , 65 , 234 , 64 , 192 , 66 , 69 , 89 , 70 , 81 , 113 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
کد را برای نرم افزار مخصوص خودتون انتخاب کنید و Copy بگیرید و ببرید در برنامه مورد نظرتون و Paste کنید
به عنوان مثال من میخوام با برنامه کدویژن کار کنم و نوع سون سگمنت هم کاتد مشترک است و باید این را کپی بگیرم .
کد:
unsigned char common_cathode[16]={183,17,173,61,27,62,190,21,191,63,189,186,166,185,174,142};
[code=c]#include <mega16a.h>
#include <delay.h>
void main(void)
{
unsigned char x=0,
common_cathode[20]={183,17,173,61,27,62,190,21,191,63,189,186,166,18 5,174,142};
DDRD = 0xFF;
while (1)
{
PORTD = common_cathode[x];
delay_ms(500);
x++;
if(x == 16)x=0;
}
}[/code]
این برنامه به صورت hex از 0 تا F را شمارش می کند
سورس کد + شبیه سازی در پروتئوس 7.10
خوب عزیزان
امیدوارم که از این برنامه لذت برده باشید :nerd:
پیشرفت نامه :
[hr]
1393/09/05 - نسخه 1.0 : نمایش اعداد بر روی 7Segment
1393/09/08 - نسخه 1.1 : اضافه کردن برنامه نمایش حروف بر روی 7Segment
1393/09/26 - نسخه 1.2 : اضافه نمودن نمونه کد(مثال) و نقطه 7Segment و اصلاح جملات انگلیسی(با همکاری آقا روح الامین عزیز)
دریافت فایل از سرور کمکی نسخه 1.2
موفق و پیروز باشید

تغییرات جدید :
{ نسخه 1.2 ضمیمه شد }
دیدگاه