به نام خدا : اینو با زبون c وبا کدویژن نوشتم و با پروتئوس طراحیش کردم. و از atmega16 استفده کردم اما شما میتونید از هر IC دیگه ای استفاده کنید.
اینم یه برنامه هستش که کارش اینه که فقط کلمه hello رو نمایش میده همینو بس
توجه : اون پایه های ۱ تا ۶ برا اینه که کدون ۷s فعال باشه و کدوم غیر فعال. و اون A تا G هم برا اون ۷ تا LED داخل ۷S (سون سگمنت) هستش و DP هم برا دات (.) میباشد.
توجه۲ : این ۷S از ۶ تا ۷S تکی تشکیل شده که برا کار سپردن به هرکدوم باید ابتدا توسط پایه های ۱ تا ۶ بگیم بهش که ما میخوایم کدوم ۷S (از بین ۶ تا ۷S) رو بهش کار بسپریم.
شما برای این که کلمات بیشتری به برنامه اضافه کنید میتونید دوباره یه آرایه تعریف کنید و ….
پروژه avr نمایش متن در سون سگمنت
شماتیک پروژه :
کد پروژه :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#include <mega16.h> #include <delay.h> void main(void) { unsigned char cathode_seg[]={0x9,0x6,0x47,0x40}; DDRC=0xff; PORTC=0x00; DDRD=0xff; PORTD=0x00; while(1) { PORTD.0=1; PORTC=cathode_seg[0]; delay_ms(10); PORTD.0=0; PORTD.1=1; PORTC=cathode_seg[1]; delay_ms(10); PORTD.1=0; PORTD.2=1; PORTC=cathode_seg[2]; delay_ms(10); PORTD.2=0; PORTD.3=1; PORTC=cathode_seg[2]; delay_ms(10); PORTD.3=0; PORTD.4=1; PORTC=cathode_seg[3]; delay_ms(10); PORTD.4=0; } } |
به نظرم نیاز به توضیح خاصی نداره ولی به هر حال اگه مشکلی بود در خدمتیم.
مهمان
سلام ممنون از سایت خوبتون بابت زحمت هایی که میکشید سایت خیلی خوبی دارید
من یهسوال داشتم اینکه تو کد ویژن نیو پروجکت میزنیم بعد yes میزنیم یه پنجره تنظیمات باز میشه که کدوم پورت خروجی کدوم پورت ورودی اونو تنظیماتشو میگید بهم خیلی ممنونم
مهمان
برنامتون ۲۰تاerror داره🙄
مهمان
سلام
امکانش هست راجب کد ها توضیح بدید
مهمان
سلام
اگه وقفه رو 100کنم مشکلی پیش میاد؟ یعنی سون سگمنت چشمک میزنه؟
مهمان
مهمان
سلام و تشکر بسیار
ممنون
کد 7-seg کاتد مشترک برای حرف O مگه نمیشه 0x3f ؟ پس چرا موقع اجرا فقط e و f برا من روشن میشه ! حرف O رو کامل نشون نمیده …. میشه راهنمایی کنین
مهمان
یعنی در حقیقت الآن که دقت میکنم میبینم حرف O ، زمانیکه بقیه ی حروف دارن نشون داده میشن ؛ همونا رو نشون میده و نوبت به خودش که میرسه اون وقت O رو نشون میده …. یه مشکل دیگه هم زمان بندی هستش …. به طور دقیق نمیتونم زمانی رو پیدا کنم که چشمک زدن 7-seg ها رو نبینم !
مهمان
دمت گرم خیلی کار منو راه انداختی
مهمان
سلام دمتتتتتتتتتتتتتون گرم خیلی عالیه فقط من وقتی تو پروتیوس runمی گیرم قسمت وسط EوH روشن نمیشه .اگه امکان داره راهنماییم کنید .دستتون درد نکنه
نویسنده این مطلب
سلام
تو پروتئوس تست کردم مشکلی نبود
نسخه پروژتئوس من 8.2
مهمان
حالا که فکر میکنم،خودمم منظورمو نمیفهمم

راستی،این ۷s،آند مشترکه،برای تعریف حروف نوشتین
cathode_seg
نویسنده این مطلب
والا من همیشه آند کاتد رو قاطی میکنم
الان led های ۷s با ۰فعال و با ۱ غیر فعال میشن لذا پایه های + led های ۷s به همدیگه وصل هستن…..لذا ما با پایه های منفی led ها رو کنترل میکنیم
لذا این ۷s + مشترک هستش که میشه آند مشترک >>> لذا همون طور که گفتی بهتر بود به جای cathode_seg مینوشتم anode_seg
مهمان
اولا سلام


)میکرو رو نشون میده یا به خاطر خطای چشم ماست که اینجوری متوجه میشیم(که فکر نمیکنم این مورد درست باشه
)
دوما بازم مثل اکثر وقتا عالی بود
سوما چه قدر جالب،در واقع شما برای نشون دادن متن در ۷s در فواصل زمانی خیلی کوتاه،اون ها رو پشت سر هم خاموش روشن میکنید
حالا یه سوال برام پیش اومده اقا مهدی:اگه به جای ۱۰ میلی ثانیه تاخیر،مثلا ۱۵ بذاریم،متوجه خاموش روشن شدن ۷s میشیم.سوالم اینه که این ۱۰ میلی ثانیه،نهایت دقت دستگاه(یا به صورت علمی،دقت اندازه گیری
نویسنده این مطلب
سلام
) ….این زمان هم بستگی به فرکانس داره، فرکانس هرچی بره بالاتر….دستورات رو سریع تر اجرا میکنه و سرعت چشمک زدن میره بالا……….
مجبوریم ۷S رو خاموش روشن کنیم….این زمانش اگه از یه حدی کمتر بشه چشم نمیفهمه این موضوع رو(البته با دوربین موبیایل میتونی خاموش رو شدن شدن رو ببینی
در ضمن منظورت از نهایت دقت یعنی چی؟؟؟
مهمان
بله هر عدد ۱۰میلی ثانیه نشون داده میشه
و خطای چشم انسان همهی عدد هارو باهم میبینه
مهمان
سلام
آقا مهدی این کد هگز ۷seg ها رو از کجا اوردی؟
نویسنده این مطلب
سلام
تو گوگل بسرچ
“دانلود نرم افزار سون سگمنت”
مهمان
دشمنت شرمنده داداش
ایول به سرعتت !
میتونی کمکم کنی ؟
نویسنده این مطلب
۸۰۵۱ کار نکردم
مهمان
سلام دوست گرامی
من همین پروژه رو با ۸۰۵۱ و زبان اسمبلی میخوام
داریش ؟
نویسنده این مطلب
سلام


نه
شرمنده