قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية Qudor
Qudor
:: مهندس ::
تاريخ التسجيل: Apr 2011
المشاركات: 37
نشاط [ Qudor ]
قوة السمعة:0
قديم 11-04-2011, 07:50 AM المشاركة 1   
yel طلب مساعده في الـ pic16f676 Twitter FaceBook Google+



السلام عليكم
الى الاخوة الاعزاء في القرية ارجو مساعدتي في انجاز هذا المشروع لان الوقت المتبقي لي لتسليم المشروع قليل وقد اشترية العناصر الالكترونية فأرجو المساعدة
هذه الدائر ة عبارة عن دجيتال فولت ميتر بأستخدام PIC16F676 , عندما جربتها في برنامج البروتس لم تعمل واضهر لي رسائل خطأ , وهذه الدائرة والبرنامج ورسالة الخطأ:-
هذا هو البرنامج بلغة ال MicroC
#include <16F676.h>
#device adc=10
#fuses INTRC_IO,NOWDT,PUT,NOPROTECT,BROWNOUT,NOMCLR
#use delay (clock=4000000) // 4MHz clock

#rom 0x3ff={0x3444}

#byte PORTA = 0x05
#byte PORTC = 0x07
#byte TRISA = 0x85
#byte TRISC = 0x87

#define SPORTA PORTA
#define SPORTC PORTC

#define TICKS_BETWEEN_INTERRUPTS 5000 //5000
#define INTERRUPT_OVERHEAD 35
#define TMR1RESET (0xFFFF-(TICKS_BETWEEN_INTERRUPTS-INTERRUPT_OVERHEAD))

const char SegCode[11] = {0x40,0x57,0x22,0x06,0x15,0x0C,0x08,0x56,0x00,0x04 ,0xFF};
// 0 1 2 3 4 5 6 7 8 9
const char Column[3] = {0x02,0x01,0x04};
static char Segment[3] = {0x7f,0x7f,0x7f};
static unsigned char ColCount=0x00;

void CPU_SETUP(void);
void Display(void);
void HTO7S(unsigned int32 Num);

byte i;
unsigned int32 result;

#INT_TIMER1
void Timer1(void)
{
set_timer1(TMR1RESET);
Display();
}

void main()
{
unsigned char i;

CPU_SETUP();

while(true)
{
result=0;
for (i=0;i<20;i++)
{
set_adc_channel(3);
delay_ms(1);
result=result+read_adc();
}
//result = 0x3fe;
HTO7S(result/20);
delay_ms(200);
}

}

void CPU_SETUP()
{

setup_comparator(NC_NC_NC_NC); // not use comparator module
setup_adc_ports( sAN3 | VSS_VDD);
setup_adc(ADC_CLOCK_DIV_64);
TRISA=0b00011000;
PORTA=0x27;
TRISC=0b00000000;
PORTC=0x37;


setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
set_timer1(TMR1RESET);
enable_interrupts(GLOBAL);
enable_interrupts(INT_TIMER1);
}

//-------------------------------------
// Display routine
//-------------------------------------
void Display()
{
PORTA = 0b00100111; // off all digits column and Segment G
PORTC = 0b00111111; // off segment a-f
delay_cycles(2);


if (ColCount>=3)
ColCount=0;

SPORTC = Segment[ColCount];
SPORTA = ((Segment[ColCount] & 0b01000000)>>1) | (Column[ColCount]^0x07);
ColCount++;
}

//--------------------------------------
// Convet HEX 2 byte to 7-Segment code
//--------------------------------------
void HTO7S(unsigned int32 Num)
{

unsigned int32 res;


Segment[0]=SegCode[30*Num/10230];
if (Segment[0]==0x40)
Segment[0]=0xFF;

res = 30*Num%10230;
Segment[1]=SegCode[10*res/10230];
res=10*res%10230;
Segment[2]=SegCode[10*res/10230];
}

وهذاالبرنامج بـالهكس
:1000000000308A003C280000831A0A28A000030E52
:10001000A1000F288312A000030EA100A1140A085A
:10002000A8008A018313A00E0408A2005708A300A9
:100030005808A4005908A5005A08A6005B08A700A4
:1000400083128C308400001C27280C1858282208A2
:1000500084002308D7002408D8002508D9002608E2
:10006000DA002708DB0028088A00210E83008312AB
:10007000200EA11883160900FF238316900000307C
:100080008A00222A0A108A100A1182074034573443
:100090002234063415340C34083456340034043415
:1000A000FF340A108A100A11820702340134043422
:1000B000EC308F009A308E00273085003F3087006B
:1000C000000000002C08023C031CAC0129302C0766
:1000D00084000008870029302C078400000840397C
:1000E000D7000310570CD2002C085120073A5204B5
:1000F0008500AC0A0C108A11272807309900831656
:10010000050803308312D700D70B842819088C11F7
:100110001F1300300838831691001F129F161F17F7
:1001200083129F171F1418308316850027308312FF
:100130008500831687013730831287008530900051
:10014000EC308F009A308E00C0308B0483160C1474
:100150008312332A3330840000080319BE2801308B
:10016000D800D701D70BB228D80BB1284A30D70016
:10017000D70BB82800000000800BAF280034D7014F
:10018000D801D901DA01CB01CC01CD01CE014A0859
:100190004904480447040319FD282030CF00031008
:1001A000C30DC40DC50DC60DCB0DCC0DCD0DCE0DA3
:1001B0004A084E02031DE62849084D02031DE628A1
:1001C00048084C02031DE62847084B02031CF72889
:1001D0004708CB024808031C480FCC024908031CFF
:1001E000490FCD024A08031C4A0FCE020314D70D53
:1001F000D80DD90DDA0DCF0BCF2800004B3084007D
:1002000000342030CB00C701C801C901CA0142082F
:10021000DA004108D9004008D8003F08D700031091
:10022000571C20294308C70744080318440FC80770
:1002300045080318450FC90746080318460FCA07A3
:10024000CA0CC90CC80CC70CDA0CD90CD80CD70CCA
:10025000CB0B0F290034C201C101C0011E30BF0009
:100260003A08C6003908C5003808C4003708C3007A
:1002700001215A08C2005908C1005808C000570897
:10028000BF005A08C6005908C5005808C4005708DE
:10029000C300CA01C9012730C800F630C700BF201B
:1002A0005A08C3005908C2005808C1005708C000C6
:1002B0004220D800A9002908403C031D6129FF30D5
:1002C000A900C201C101C0011E30BF003A08C6002A
:1002D0003908C5003808C4003708C30001215A088E
:1002E000C2005908C1005808C0005708BF005A088A
:1002F000C6005908C5005808C4005708C300CA0101
:10030000C9012730C800F630C700BF200008BB0075
:10031000840A0008BC00840A0008BD00840A0008A2
:10032000BE00C201C101C0010A30BF003E08C600C4
:100330003D08C5003C08C4003B08C30001215A0821
:10034000C2005908C1005808C0005708BF005A0829
:10035000C6005908C5005808C4005708C300CA01A0
:10036000C9012730C800F630C700BF205A08C300B3
:100370005908C2005808C1005708C0004220D800E0
:10038000AA00C201C101C0010A30BF003E08C60078
:100390003D08C5003C08C4003B08C30001215A08C1
:1003A000C2005908C1005808C0005708BF005A08C9
:1003B000C6005908C5005808C4005708C300CA0140
:1003C000C9012730C800F630C700BF200008BB00B5
:1003D000840A0008BC00840A0008BD00840A0008E2
:1003E000BE00C201C101C0010A30BF003E08C60004
:1003F0003D08C5003C08C4003B08C30001215A0861
:10040000C2005908C1005808C0005708BF005A0868
:10041000C6005908C5005808C4005708C300CA01DF
:10042000C9012730C800F630C700BF205A08C300F2
:100430005908C2005808C1005708C0004220D8001F
:10044000AB00792A84011F3083051F130030073861
:1004500083169100073083129F007F30A900AA0005
:10046000AB00AC017D28B101B001AF01AE01B2011A
:100470003208133C031C5A2A0C30D8001F08C33919
:1004800058049F000130B300AA209F149F18462AE9
:1004900083161E088312AE071E0803181E0FAF072F
:1004A000003003180130B007003003180130B107E5
:1004B000B20A382A3108C6003008C5002F08C40027
:1004C0002E08C300CA01C901C8011430C700BF20EB
:1004D0005A08B6005908B5005808B4005708B300C8
:1004E0005A08BA005908B9005808B8005708B700A8
:0C04F0002B29C830B300AA20332A630077
:0207FE00443481
:02400E00C43FAD
:00000001FF
;PIC16F676

صورة الدائرة ورسالة الخطأ
http://upload.qariya.info/images/qariya-72bfc48766.gif




http://upload.qariya.info/images/qariya-e919f57307.jpg


اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 11-04-2011, 12:38 PM المشاركة 2   
افتراضي


اخي العزيز اعتقد انك اعطيت الموضوع اكبر من حجمه .
يمكن عمل المشروع باستخدام صيغة ADC و ارسال القيمة الناتجة الى احد المنافذ ثم قرائتها على السفن سكمنت .

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية Qudor
Qudor
:: مهندس ::
تاريخ التسجيل: Apr 2011
المشاركات: 37
نشاط [ Qudor ]
قوة السمعة:0
قديم 13-04-2011, 08:44 AM المشاركة 3   
افتراضي


السلام عليكم في الحقيقة انا لست متمرساً جداً في برمجة الـ PIC اي ان هذه الدائره جائتني كاملة مع البرنامج (فلذالك ارجو المساعده منكم يا اخوتي الاعزاء باسرع وقت ممكن لان الوقت المتبقي جداً قليل ولكم جزيل الشكر)

Read more: http://www.qariya.com/vb/newreply.ph...#ixzz1JOIPU8Vt

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 06:42 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025