Костя » 12 апр 2014, 16:56
спасибо попробую
Добавлено спустя 1 час 28 минут 3 секунды:
#include <avr/io.h>
#include <util/delay.h>
//Simple Wait Function
void Wait()
{
uint8_t i;
for(i=0;i<10;i++)
{
_delay_loop_2(0);
_delay_loop_2(0);
_delay_loop_2(0);
}
}
void main()
{
//Configure TIMER1
TCCR1A|=(1<<COM1A1)|(1<<COM1B1)|(1<<WGM11); //NON Inverted PWM
TCCR1B|=(1<<WGM13)|(1<<WGM12)|(1<<CS11)|(1<<CS10); //PRESCALER=64 MODE 14(FAST PWM)
ICR1=4999; //fPWM=50Hz (Period = 20ms Standard).
DDRB|=(1<<PB4)|(1<<PB5); //PWM Pins as Out
DDRB|=(1>>PB4)|(1>>PB5);
DDRF = 0x00;
while(1)
{
if (bit_is_set(PIND,0)) {
if (bit_is_clear(PIND,1)){
OCR1A=194;
Wait();
// Ñäåëàòü ÷òî-íèáóäü êîãäà áèò 0 ïîðòà Â ðàâåíî "1", à áèò 1 ðàâåí "0".
}
}
if (bit_is_set(PIND,1)) {
if (bit_is_clear(PIND,2)){
OCR1A=201;
Wait();
}
}
if (bit_is_set(PIND,2)) {
if (bit_is_clear(PIND,3)){
OCR1A=208;
Wait();
}
}
if (bit_is_set(PIND,3)) {
if (bit_is_clear(PIND,4)){
OCR1A=215;
Wait();
}
}
if (bit_is_set(PIND,4)) {
if (bit_is_clear(PIND,5)){
OCR1A=222;
Wait();
}
}
if (bit_is_set(PIND,5)) {
if (bit_is_clear(PIND,6)){
OCR1A=229;
Wait();
}
}
if (bit_is_set(PIND,6)) {
if (bit_is_clear(PIND,7)){
OCR1A=236;
Wait();
}
}
}
}
Добавлено спустя 59 секунд:
всем спс щас еще лсд икран подключу так что всем большое спасибо за потсказки
Добавлено спустя 22 минуты 44 секунды:
скинь те плиз сылку где можно посматрерть насчет ЛСД экрана как мне сделать чтобы показывались номер этажа!!!Пожалуйста если я сам найду до этого то сразу отпешусь