|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 11:38 pm
Поредната Глупава Идея :)
| Автор |
Съобщение |
|
valioman
Ранг: Почетен член
Регистриран на: Съб Сеп 17, 2005 5:07 pm Мнения: 813 Местоположение: Сливен
|
 Re: Поредната Глупава Идея :)
Ми пусни кода де ... лично на мен боба който хвърлих не ми показа промените в кода , които си направил .
|
| Пет Яну 04, 2013 9:41 am |
|
 |
|
hacker4eto1
Ранг: Минаващ
Регистриран на: Пет Май 18, 2012 9:14 pm Мнения: 64
|
 Re: Поредната Глупава Идея :)
Извинявам се мислех ,че съм го копирал... Кода в пика :  |  |  |  | Код: #include <16F877.h> #device *=16 #device adc=8 #fuses XT, NOWDT, NOPROTECT, BROWNOUT, PUT, NOLVP #use delay(clock=4000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=5) #define LED PIN_A0 int Button1; int Button2; int Button3; int Button4; int Button5; int Button6; int Button7; int Button8; #int_RDA void RDA_isr(void) { char b; b = getc(); switch(b) { case '1': output_high(pin_a0); break; case '2': output_low(pin_a0); break; }
} void main() { setup_adc_ports(NO_ANALOGS); setup_adc(ADC_CLOCK_DIV_2); setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DIV_BY_1,25,1); setup_ccp1(CCP_PWM); set_pwm1_duty(12); enable_interrupts(INT_RDA); enable_interrupts(GLOBAL); Button1=1; Button2=1; Button3=1; Button4=1; Button5=1; Button6=1; Button7=1; Button8=1; output_low(PIN_C1);
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_1,25,1); set_pwm1_duty(12); while(true){ switch( Button1 ) { case 1: if (!input(PIN_B0)) { putc('2'); Button1 = 0; } break; case 0: if (input(PIN_B0)) { putc('3'); Button1 = 1; } break; } switch( Button2 ) { case 1: if (!input(PIN_B1)) { putc('4'); Button2 = 0; } break; case 0: if (input(PIN_B1)) { putc('5'); Button2 = 1; } break; } switch( Button3 ) { case 1: if (!input(PIN_B2)) { putc('6'); Button3 = 0; } break; case 0: if (input(PIN_B2)) { putc('7'); Button3 = 1; } break; } switch( Button4 ) { case 1: if (!input(PIN_B3)) { putc('8'); Button4 = 0; } break; case 0: if (input(PIN_B3)) { putc('9'); Button4 = 1; } break; } switch( Button5 ) { case 1: if (!input(PIN_B4)) { putc('A'); Button5 = 0; } break; case 0: if (input(PIN_B4)) { putc('B'); Button5 = 1; } break; } switch( Button6 ) { case 1: if (!input(PIN_B5)) { putc('C'); Button6 = 0; } break; case 0: if (input(PIN_B5)) { putc('D'); Button6 = 1; } break; } switch( Button7 ) { case 1: if (!input(PIN_B6)) { putc('E'); Button7 = 0; } break; case 0: if (input(PIN_B6)) { putc('F'); Button7 = 1; } break; } switch( Button8 ) { case 1: if (!input(PIN_B7)) { putc('J'); Button8 = 0; } break; case 0: if (input(PIN_B7)) { putc('H'); Button8 = 1; } break; } } } |  |  |  |  |
Кода на програмата за компютъра:  |  |  |  | Код: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO.Ports; using System.IO;
namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void button4_Click(object sender, EventArgs e) { if (!serialPort1.IsOpen) { serialPort1.PortName = comboBox1.Text; //serialPort1. try { serialPort1.Open(); } catch (InvalidCastException error) { MessageBox.Show("Не може да се свържете с избрания порт"); } }
if (serialPort1.IsOpen) { label1.BackColor = Color.Red; label1.Text = "Включен"; } }
private void button3_Click(object sender, EventArgs e) { label1.BackColor = Color.Gray; label1.Text = "Изключен"; serialPort1.Close(); }
private void Form1_Load(object sender, EventArgs e) { string[] ports = SerialPort.GetPortNames(); serialPort1.Encoding = Encoding.GetEncoding(28591); foreach (string port in ports) { comboBox1.Items.Add(port); }
try { comboBox1.SelectedIndex = 0; } catch { MessageBox.Show("Няма Намерени портове за връзка"); } }
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { this.Invoke(new EventHandler(ProcessarRX)); }
private void ProcessarRX(object s, EventArgs e) {
string receive; receive = serialPort1.ReadExisting();
if (receive[0] == '2') { pictureBox1.Visible = true; pictureBox2.Visible = false; }
if (receive[0] == '3') { pictureBox2.Visible = true; pictureBox1.Visible = false; } if (receive[0] == '4') { pictureBox3.Visible = true; pictureBox4.Visible = false; } if (receive[0] == '5') { pictureBox4.Visible = true; pictureBox3.Visible = false; } if (receive[0] == '6') { pictureBox5.Visible = true; pictureBox6.Visible = false;
} if (receive[0] == '7') { pictureBox6.Visible = true; pictureBox5.Visible = false; } if (receive[0] == '8') { pictureBox7.Visible = true; pictureBox8.Visible = false;
} if (receive[0] == '9') { pictureBox8.Visible = true; pictureBox7.Visible = false; } if (receive[0] == 'A') { pictureBox9.Visible = true; pictureBox10.Visible = false;
} if (receive[0] == 'B') { pictureBox10.Visible = true; pictureBox9.Visible = false; } if (receive[0] == 'C') { pictureBox11.Visible = true; pictureBox12.Visible = false;
} if (receive[0] == 'D') { pictureBox12.Visible = true; pictureBox11.Visible = false; } if (receive[0] == 'E') { pictureBox13.Visible = true; pictureBox14.Visible = false;
} if (receive[0] == 'F') { pictureBox14.Visible = true; pictureBox13.Visible = false; } if (receive[0] == 'J') { pictureBox15.Visible = true; pictureBox16.Visible = false;
} if (receive[0] == 'H') { pictureBox16.Visible = true; pictureBox15.Visible = false; } } private void button1_Click(object sender, EventArgs e) {
}
private void label2_Click(object sender, EventArgs e) {
}
private void button1_MouseDown(object sender, MouseEventArgs e) { if (serialPort1.IsOpen) { serialPort1.Write("1"); }; }
private void button1_MouseUp(object sender, MouseEventArgs e) { if (serialPort1.IsOpen) { serialPort1.Write("2"); }; }
private void pictureBox2_Click(object sender, EventArgs e) {
}
private void pictureBox4_Click(object sender, EventArgs e) {
}
private void label1_Click(object sender, EventArgs e) {
} } }
|  |  |  |  |
това е и програмата:  Добавих и един бутон в програмата "ДИОД" с който да пускам едно диодче вързано на 2 ри крак на пика просто за проба 
_________________Инж.Тодор Димитров гр./Ямбол / 24г. Последен Проект... http://www.vbox7.com/play:c1e9997504
|
| Пет Яну 04, 2013 2:31 pm |
|
 |
|
valioman
Ранг: Почетен член
Регистриран на: Съб Сеп 17, 2005 5:07 pm Мнения: 813 Местоположение: Сливен
|
 Re: Поредната Глупава Идея :)
След всеки !input(PIN_BХ) сложи по един delay_ms(300); че на тези 40 мендрахерца щракане ...... Не разбрах защо в директивата use rs232 си сложил bits=5. Съвет .. макар и проста комуникация ... обкновенно е добре да е на принципа на протокол т.е. начален байт ... данни ... чексума евентуално и краен байт така ще си сигурен в данните ... ама това на второ четене 
|
| Пет Яну 04, 2013 2:49 pm |
|
 |
|
hacker4eto1
Ранг: Минаващ
Регистриран на: Пет Май 18, 2012 9:14 pm Мнения: 64
|
 Re: Поредната Глупава Идея :)
кварца който съм сложил е 4мегахерца  сега ще променя битовете на 8 явно грешка съм допуснал  и ще сложа това време мерси 
_________________Инж.Тодор Димитров гр./Ямбол / 24г. Последен Проект... http://www.vbox7.com/play:c1e9997504
|
| Пет Яну 04, 2013 3:01 pm |
|
 |
|
rikotech
Ранг: Минаващ
Регистриран на: Пон Авг 15, 2011 5:37 pm Мнения: 12
|
 Re: Поредната Глупава Идея :)
Здравей!
|
| Пон Фев 25, 2013 10:20 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 31 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|