Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Ответ: да вроде нормально

Отправлено Гамма СПб 25 декабря 2006 г. 10:39
В ответ на: Ответ: отправлено =L.A.= 25 декабря 2006 г. 10:22

PICC 8.05 PL2:


--- D:\Project\_test\test_picc9.50\main.c ------------------------------------------------------
1:
2: #include "pic.h"
3:
4: #define Out RB0
5: #define PAUSE1(x) {NOP();}
6:
7: typedef unsigned char uchar;
8:
9: void SendData(uchar DataBuff);
10:
11: uchar counter;
12:
13: void main (void)
14: {
15: while (1)
16: {
17: for (counter = 10; counter < 0xFF; counter--)
7E5 300A MOVLW 0xa
7E6 1283 BCF 0x3, 0x5
7E7 1303 BCF 0x3, 0x6
7E8 00A0 MOVWF 0x20
7E9 2FED GOTO 0x7ed
7EC 03A0 DECF 0x20, F
7ED 0F20 INCFSZ 0x20, W
7EE 2FEA GOTO 0x7ea
7EF 2FE5 GOTO 0x7e5
18: {
19: SendData(counter);
7EA 0820 MOVF 0x20, W
20: }
21: }
22:
23: }
24:
25:
26: void SendData(uchar DataBuff)
27: {
7F0 0183 CLRF 0x3
7F1 00A1 MOVWF 0x21
28: if(DataBuff == 0)
7F2 08A1 MOVF 0x21, F
7F3 1D03 BTFSS 0x3, 0x2
7F4 2FF7 GOTO 0x7f7
29: DataBuff = 10;
7F5 300A MOVLW 0xa
7F6 00A1 MOVWF 0x21
30:
31: Out = 1;
7F7 1406 BSF 0x6, 0
32: PAUSE1(1);
7F8 0000 NOP
33:
34: do
35: {
36: Out = 1;
7F9 1406 BSF 0x6, 0
37: PAUSE1(4);
7FA 0000 NOP
38: Out = 0;
7FB 1006 BCF 0x6, 0
39: PAUSE1(4);
7FC 0000 NOP
40: } while(--DataBuff);
7FD 0BA1 DECFSZ 0x21, F
7FE 2FF9 GOTO 0x7f9
41:
42: return;
43: }
7FF 0008 RETURN

PICC 9.50 PL2


--- D:\Project\_test\test_picc9.50\main.c ------------------------------------------------------
1:
2: #include "pic.h"
3:
4: #define Out RB0
5: #define PAUSE1(x) {NOP();}
6:
7: typedef unsigned char uchar;
8:
9: void SendData(uchar DataBuff);
10:
11: uchar counter;
12:
13: void main (void)
14: {
15: while (1)
16: {
17: for (counter = 10; counter < 0xFF; counter--)
7E5 300A MOVLW 0xa
7E6 1283 BCF 0x3, 0x5
7E7 1303 BCF 0x3, 0x6
7E8 00A0 MOVWF 0x20
7E9 2FED GOTO 0x7ed
7EC 03A0 DECF 0x20, F
7ED 0F20 INCFSZ 0x20, W
7EE 2FEA GOTO 0x7ea
7EF 2FE5 GOTO 0x7e5
7F0 0183 CLRF 0x3
7F1 00A1 MOVWF 0x21
18: {
19: SendData(counter);
7EA 0820 MOVF 0x20, W
20: }
21: }
22:
23: }
24:
25:
26: void SendData(uchar DataBuff)
27: {
28: if(DataBuff == 0)
7F2 08A1 MOVF 0x21, F
7F3 1D03 BTFSS 0x3, 0x2
7F4 2FF7 GOTO 0x7f7
29: DataBuff = 10;
7F5 300A MOVLW 0xa
7F6 00A1 MOVWF 0x21
30:
31: Out = 1;
7F7 1406 BSF 0x6, 0
32: PAUSE1(1);
7F8 0000 NOP
33:
34: do
35: {
36: Out = 1;
7F9 1406 BSF 0x6, 0
37: PAUSE1(4);
7FA 0000 NOP
38: Out = 0;
7FB 1006 BCF 0x6, 0
39: PAUSE1(4);
7FC 0000 NOP
40: } while(--DataBuff);
7FD 0BA1 DECFSZ 0x21, F
7FE 2FF9 GOTO 0x7f9
41:
42: return;
43: }
7FF 0008 RETURN

То есть фик его знает, вроде проверяет все нормально - сохраняет в аккумулятор и смотрит флаг Z и в том и другом случае

Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
умножьте 2 на три:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru