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

   

chaa300
:: مهندس ::
تاريخ التسجيل: Aug 2010
المشاركات: 36
نشاط [ chaa300 ]
قوة السمعة:
قديم 10-08-2010, 10:09 AM المشاركة 33   
افتراضي




اعلانات

chaa300
:: مهندس ::
تاريخ التسجيل: Aug 2010
المشاركات: 36
نشاط [ chaa300 ]
قوة السمعة:
قديم 10-08-2010, 10:18 AM المشاركة 34   
افتراضي PROG


#include "D:\PFE2007S2\MATRICE\programme\FINAL.h"


void main()
{
char code[9];byte K; signed byte h;byte s; byte pcf1;byte pcf2;
signed byte i;byte j;
byte t[7] ={0b0000001,0b0000010,0b0000100,0B0001000,0b001000 0,0b0100000,0b1000000};

byte l1[11]={0b11001111,0b11110111,0b00111000,0B11001111,0b11 110111,0b01000101,0b00101111,0b11111010,0b10001000 ,0b00111110,00000000};
byte l2[11]={0b01010001,0b00010000,0b01000101,0B00010001,0b00 010001,0b01101100,0b01100001,0b00100010,0b11011000 ,0b00001000,00000000};
byte l3[11]={0b01010001,0b00010000,0b01000101,0B00010001,0b00 010001,0b01010100,0b10100001,0b00100010,0b10101000 ,0b00001000,00000000};
byte l4[11]={0b11010001,0b11110011,0b01111100,0B00001111,0b11 110001,0b01000100,0b00100111,0b00100011,0b10001010 ,0b10001000,00000000};
byte l5[11]={0b01010001,0b00010000,0b01000100,0B00000101,0b00 010001,0b01000100,0b00100001,0b00100010,0b10001000 ,0b00001000,00000000};
byte l6[11]={0b01010001,0b00010000,0b01000100,0B00001001,0b00 010001,0b01000100,0b00100001,0b00100010,0b10001000 ,0b00001000,00000000};
byte l7[11]={0b11001111,0b00010111,0b01000100,0B00010001,0b11 110001,0b01000101,0b00101111,0b00100010,0b10001000 ,0b00111110,00000000};

setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
set_tris_b(0);
Output_B(0);
do
{
for(h=9;h>=-9;h=h-1)
{
for(s=1;s<10;s=s+1)
{
K=0;
for(i=0;i<9;i=i+2)
{
if ((i+1-h)==0){pcf1=10;pcf2=0;}else{if ((i-h)<0){pcf1=10;pcf2=10;}else {pcf1=i-h;pcf2=i+1-h;}}
if ((i-h)>9){pcf1=10;pcf2=10;}
I2C_Start();
I2C_Write((0x40)+K);
I2C_Write(l1[pcf1]);
I2C_Stop();
I2C_Start();
I2C_Write((0x70)+K);
I2C_Write(l1[pcf2]);
I2C_Stop();K=K+2;
}
output_b(t[0]);
delay_ms(5);
K=0;
Output_B(0);

for(i=0;i<9;i=i+2)
{
if ((i+1-h)==0){pcf1=10;pcf2=0;}else{if ((i-h)<0){pcf1=10;pcf2=10;}else {pcf1=i-h;pcf2=i+1-h;}}
if ((i-h)>9){pcf1=10;pcf2=10;}
I2C_Start();
I2C_Write((0x40)+K);
I2C_Write(l2[pcf1]);
I2C_Stop();
I2C_Start();
I2C_Write((0x70)+K);
I2C_Write(l2[pcf2]);
I2C_Stop();K=K+2;
}
output_b(t[1]);
delay_ms(5);
Output_B(0);
K=0;

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

chaa300
:: مهندس ::
تاريخ التسجيل: Aug 2010
المشاركات: 36
نشاط [ chaa300 ]
قوة السمعة:
قديم 10-08-2010, 01:28 PM المشاركة 35   
افتراضي




chaa300
:: مهندس ::
تاريخ التسجيل: Aug 2010
المشاركات: 36
نشاط [ chaa300 ]
قوة السمعة:
قديم 10-08-2010, 01:29 PM المشاركة 36   
افتراضي


0 : 0x3F
1 : 0x06
2 : 0x5B
3 : 0x4F
4 : 0x66
5 : 0x6D
6 : 0x7D
7 : 0x07
8 : 0x7F
9 : 0x6F
char CODE_7SEG[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
1. #define DIG0_BIT 4
2. #define DIG1_BIT 5
3. void seg_data(char n, char d)
4. {
5. GPIO |= (1<<DIG0_BIT | 1<<DIG1_BIT);
6. i2c_start();
7. i2c_data(PCF8574A_ADDR+W);
8. i2c_data(CODE_7SEG[d]);
9. i2c_stop();
10. GPIO &= ~(1<<(DIG0_BIT+n));
11. }
12. void display_counter(char cnt)
13. {
14. seg_data(1, cnt%10);
15. delay_1ms(10);
16.
17. seg_data(0, cnt/10);
18. delay_1ms(10);
19. }
20. void main(void)
21. {
22. char counter = 0;
23. char k=0;
24. system_init();
25. i2c_init();
26. while(1)
27. {
28. if(++k>=5){
29. counter++;
30. if(++counter>99)
31. counter = 0;
32. k=0;
33. }
34. display_counter(counter);
35. }
36. }


chaa300
:: مهندس ::
تاريخ التسجيل: Aug 2010
المشاركات: 36
نشاط [ chaa300 ]
قوة السمعة:
قديم 10-08-2010, 01:34 PM المشاركة 37   
افتراضي


1. //-----(1)-------------------
2. #define PCF8574A_ADDR 0x70
3. #define W 0
4. #define R 1
5.
6. //-----(2)-------------------
7. #define SCL_BIT 0
8. #define SDA_BIT 1
9. #define SCL GPIO0
10. #define SDA GPIO1
11.
12. //-----(3)-------------------
13. #define HI 1
14. #define LO 0
15.
16. //-----(4)-------------------
17. #define SCL_LO() TRISIO &= ~(1<<SCL_BIT); SCL=LO; i2c_delay();
18. #define SCL_HI() TRISIO &= ~(1<<SCL_BIT); SCL=HI; i2c_delay();
19.
20. //-----(5)-------------------
21. #define SDA_LO() TRISIO &= ~(1<<SDA_BIT); SDA=LO; i2c_delay();
22. #define SDA_HI() TRISIO &= ~(1<<SDA_BIT); SDA=HI; i2c_delay();
23. void i2c_delay(void)
24. { unsigned char k; //35 uS * CPU_CLK=4MHz
25. for(k=0;k<5;k++);
26. }
27. bit i2c_ack(void)
28. {
29. bit ack;
30. TRISIO |= (1<<SDA_BIT); // SDA as INPUT
31. SCL_LO();
32. SCL_HI();
33. ack = SDA;
34. TRISIO &= ~(1<<SDA_BIT); // SDA as OUTPUT
35. return(ack);
36. }
37. void i2c_data(char data)
38. {
39. char mask = 0x80;
40. do
41. {
42. SCL_LO();
43. SDA = (data&mask)?HI:LO;
44. i2c_delay();
45. SCL_HI();
46. mask>>=1;
47. }while(mask!=0);
48.
49. i2c_ack();
50. void i2c_init(void)
51. {
52. TRISIO &= ~(1<<SDA_BIT | 1<<SCL_BIT);
53. GPIO |= (1<<SDA_BIT | 1<<SCL_BIT);
54. }
55. void delay_1ms(unsigned int ms)
56. {
57. unsigned int k;
58. while(ms--){
59. for(k=0;k<83;k++); // 1mS * CPU_CLK=4MHz
60. }
61. }
62. void system_init(void)
63. {
64. //--- Set all ports as Digital I/O
65. CMCON |= 0x07; // Comparator Off
66. ANSEL &= 0xF0; // Digital I/O
67. WPU |= 0x03; // Pull-up GPIO<1:0>
68.
69. TRISIO &= 0xCF; // GPIO<5:4> as output
70. GPIO &= 0xCF; // Turn off LEDs<9:8>
71. }
72. void main(void)
73. {
74. int data=1;
75.
76. system_init();
77. i2c_init();
78.
79. i2c_start();
80. i2c_data(PCF8574A_ADDR+W);
81. i2c_data(0x00);
82.
83. while(1)
84. {
85. if(data <= 0x80)
86. {
87. GPIO &= 0xCF;
88. i2c_data(data);
89. }
90. else
91. {
92. i2c_data(0x00);
93. GPIO &= 0xCF;
94. GPIO |= data>>4;
95. }
96.
97. if((data<<=1) > 0x200)
98. data=1;
99. delay_1ms(50);
100. }
101. }


walidhbn
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2009
المشاركات: 57
نشاط [ walidhbn ]
قوة السمعة:
قديم 10-08-2010, 04:30 PM المشاركة 38   
افتراضي


أهلا بك أخي أسعدتني كثيرا مشاركتك خاصتا وأنها بالفرنسة لذلك أعتقد أنك إبن بلدي تونس. إن كان كذلك فأرجو أن نكون على إتصال دائم، أخي بالنسبة لي أريد في البداية أن أتقن برمجة ال picعبرlangage C ووجدت كتاب في موقعTunisia-sat ولكنني لم أستطع تحميل كلمة السر لفك الظغط لأنني لست عضوا فأرجو أن تعينني على ذلك. وهذا هو رابط الكتاب :
http://www.tunisia-sat.com/vb/showth...495440&page=12


sofien.j
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2009
الدولة: tunisia
المشاركات: 83
نشاط [ sofien.j ]
قوة السمعة:
قديم 10-08-2010, 10:38 PM المشاركة 39   
افتراضي


voila mon ami
Password : tunisia-sat


walidhbn
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2009
المشاركات: 57
نشاط [ walidhbn ]
قوة السمعة:
قديم 12-08-2010, 03:13 PM المشاركة 40   
افتراضي


الله يبارك فيك أخي على الرد شكرا.



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