скачать рефераты

скачать рефераты

 
 
скачать рефераты скачать рефераты

Меню

Разработка цифрового измерителя кровяного давления на микроконтроллере MC68HC908JL3 скачать рефераты

380 ;------ Проверка спущена манжета или нет ---------

EE1E [04] C7FFFF 381 sta $ffff

EE21 [04] 1189 382 bclr 0,bitf

EE23 [04] 1789 383 bclr 3,bitf

EE25 [05] 0789FD 384 brclr 3,bitf,$ ;Если COCO1=0 происходит зациклевание

EE28 [03] B68B 385 lda upress

EE2A [02] A105 386 cmp #!5

EE2C [03] 22F0 387 bhi exitdav

EE2E [03] CCEC39 388 jmp main

389

390 ;------------------------------------------------;

391

392

393

394

395

396 ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

397

398

399 ADC_INT: ; обработчик прерывания от АЦП

EE31 [02] 8B 400 pshh

EE32 [05] 018913 401 brclr 0,bitf,adm1 ;если ав=0

то переход на adm1

EE35 [05] 038907 402 brclr 1,bitf,adm2 ;переход если ав1=0

тонометр.asm Assembled with CASM08Z 25.02.03 9:58:45 PAGE 10

EE38 [04] 1889 403 bset 4,bitf

EE3A [05] 4E3D8A 404 mov ADR,upress1

EE3D [03] 2004 405 bra zap

406 adm2:

EE3F [04] 1589 407 bclr 2,bitf ;сброс ав2

EE41 [04] 1289 408 bset 1,bitf ;уст. ав1

409 zap:

EE43 [04] 6E413C 410 mov #$41,ADSCR ;команда

запуска АЦП вход PTB1

411

EE46 [03] 2011 412 bra exit

413 adm1:

EE48 [05] 058907 414 brclr 2,bitf,adm3 ;переход если ав2=0

EE4B [04] 1689 415 bset 3,bitf

EE4D [05] 4E3D8B 416 mov ADR,upress

EE50 [03] 2004 417 bra zap1

418 adm3:

EE52 [04] 1389 419 bclr 1,bitf ; сброс ав1

EE54 [04] 1489 420 bset 2,bitf ; уст. ав2

421 zap1:

EE56 [04] 6E403C 422 mov #$40,ADSCR ;команда

запуска АЦП вход PTB0

423 exit:

EE59 [02] 8A 424 pulh

EE5A [07] 80 425 rti

426

427

428

429 ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

430

431 timer_int: ;Обработчи прерывания от таймера

EE5B [04] 1F20 432 bclr 7,TSC ;Сброс TOF

EE5D [04] 3C9A 433 inc sec10

EE5F [03] B69A 434 lda sec10

EE61 [02] A109 435 cmp #$9

EE63 [03] 250E 436 blo exittime ;Если sec10>9 то перхода нет

EE65 [03] 3F9A 437 clr sec10

EE67 [04] 3C99 438 inc sec

EE69 [04] 3C95 439 inc ovsec

EE6B [03] B695 440 lda ovsec

EE6D [02] A105 441 cmp #!5

EE6F [03] 2502 442 blo exittime

EE71 [04] 1A89 443 bset 5,bitf

444 exittime:

EE73 [07] 80 445 rti

446

447

448 ;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

449

450

451 VOLTS_PRESSURE_RET: ;подпрограмма табличной перекодировки напр. в давление

452 ;число для перекодир

тонометр.asm Assembled with CASM08Z 25.02.03 9:58:45 PAGE 11

453 ;начало таблицы -TCP

EE74 [02] 87 454 psha

EE75 [02] 8B 455 pshh

EE76 [02] 89 456 pshx

457

EE77 [03] B68C 458 lda udav

EE79 [03] B08D 459 sub const ;const- напряжение

при нулевом давлении

EE7B [01] 97 460 tax

EE7C [04] D6EF14 461 lda TCP,x

EE7F [03] B78E 462 sta dav ;перекодированное

число в dav

463

EE81 [02] 88 464 pulx

EE82 [02] 8A 465 pulh

EE83 [02] 86 466 pula

EE84 [04] 81 467 rts

468

469

470

471

472 ;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

473

474

475

476

477 BCD_RET: ;подпрограмма перевода числа в BCD формат

478 ;число для перевода находится в "y"

479 ;BCD100 - сотни

480 ;BCD10 - десятки

481 ;BCD1 - единицы

482

EE85 [02] 87 483 psha

EE86 [02] 8B 484 pshh

EE87 [02] 89 485 pshx

486

EE88 [03] B68F 487 lda y ;Делимое в

аккумулятор

EE8A [02] A163 488 cmp #!99

EE8C [03] 2206 489 bhi bcd100m ;если y>99 то переход на bcd100m

EE8E [02] A109 490 cmp #!9

EE90 [03] 2210 491 bhi bcd10m ;если y>9 то переход на bcd10m

EE92 [03] 2020 492 bra bcd1m

493 bcd100m:

EE94 [02] AE64 494 ldx #!100 ;100-делитель

EE96 [07] 52 495 div

EE97 [03] B784 496 sta BCD100 ;Результат в BCD100

EE99 [04] 35A4 497 sthx pmem1

EE9B [03] 450000 498 ldhx #!0

тонометр.asm Assembled with CASM08Z 25.02.03 9:58:45 PAGE 12

EE9E [03] B6A4 499 lda pmem1 ;Остаток в

аккумулятор

EEA0 [03] 2003 500 bra mb1

501 bcd10m:

EEA2 [04] 6E0A84 502 mov #$a,BCD100 ;Пробел в BCD100

503 mb1:

EEA5 [02] AE0A 504 ldx #!10 ;10-делитель

EEA7 [07] 52 505 div ;Делим остаток на 10

EEA8 [03] B785 506 sta BCD10 ;Результат в BCD10

EEAA [04] 35A4 507 sthx pmem1

EEAC [03] 450000 508 ldhx #!0

EEAF [05] 4EA486 509 mov pmem1 BCD1

EEB2 [03] 200C 510 bra exitb

511 bcd1m:

EEB4 [04] 6E0A84 512 mov #$a,BCD100 ;Пробел в BCD100

EEB7 [04] 6E0A85 513 mov #$a,BCD10 ;Про BCD10

EEBA [05] 4E8F86 514 mov y,BCD1

515

516

EEBD [02] 88 517 pulx

EEBE [02] 8A 518 pulh

EEBF [02] 86 519 pula

EEC0 [04] 81 520 exitb: rts

521

522

523

524

525

526 ;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

527

528

529

530 IND_RET: ;Подпрограмма для вывода числа на индикацию

531 ;для подпрограммы необходимо:

532 ;- число или символ для индикации

533 ;(BCD100,BCD

10,BCD1)

534 ;- адрес ячейки в индикаторе

EEC1 [02] 87 535 psha

EEC2 [02] 8B 536 pshh

EEC3 [02] 89 537 pshx

538

EEC4 [04] 6E0388 539 mov #$3,ci

EEC7 [04] 6E8087 540 mov #$80,indx ;заместо ind поставить адрес!!!!!!!!!!!!!!!!!

EECA [04] 6E84A3 541 mov #$84,bcdx ;адрес bcd100 в bcdx

тонометр.asm Assembled with CASM08Z 25.02.03 9:58:45 PAGE 13

EECD [03] BE84 542 ldx BCD100

543 stind:

EECF [04] D6EFAE 544 lda TCI,x ;TCI-началотаблицы перекодировки

EED2 [04] 3CA3 545 inc BCDX

EED4 [03] BE87 546 ldx indx

EED6 [02] F7 547 sta ,x ;Результат перекодировки в ячейку памяти с регистре Х

EED7 [04] 3C87 548 inc indx ;передвегаемся по ячейкам IND

EED9 [04] 1501 549 bclr 2,PTB ;уст. в 0

PTB2

EEDB [04] 1701 550 bclr 3,PTB

EEDD [05] 4E8303 551 mov adres,PTD ;Адрес

знакоместа в порт PTD

EEE0 [04] 1801 552 bset 4,PTB

EEE2 [01] 9D 553 nop

EEE3 [01] 9D 554 nop

EEE4 [01] 9D 555 nop ;Формирование стробирующего импульса

EEE5 [01] 9D 556 nop

EEE6 [01] 9D 557 nop

EEE7 [04] 1901 558 bclr 4,PTB

EEE9 [04] AD1D 559 bsr deleysret ;задержка 30mkc

EEEB [04] 1401 560 bset 2,PTB

EEED [04] 1701 561 bclr 3,PTB

EEEF [04] 7E03 562 mov x+,PTD ;Вывод числа на индикацию

EEF1 [04] 1801 563 bset 4,PTB

EEF3 [01] 9D 564 nop

EEF4 [01] 9D 565 nop ;Формирование стробирующего импульса

EEF5 [01] 9D 566 nop

EEF6 [01] 9D 567 nop

EEF7 [01] 9D 568 nop

EEF8 [04] 1901 569 bclr 4,PTB

EEFA [04] AD0C 570 bsr deleysret ;задержка 30mkc

EEFC [04] 3C83 571 inc adres ;Подготовка

к следующему циклу

EEFE [03] BEA3 572 ldx BCDX ;----

EF00 [02] FE 573 ldx ,x ;--------

EF01 [05] 3B88CB 574 dbnz ci,stind ;Если все числа выведены то выходим из подрограммы

575

EF04 [02] 88 576 pulx

EF05 [02] 8A 577 pulh

EF06 [02] 86 578 pula

EF07 [04] 81 579 rts

580

581 ;\\\\\\ Подпрограмма задержки на 30 мкС\\\\\\\\\\\

582

583 deleysret:

тонометр.asm Assembled with CASM08Z 25.02.03 9:58:45 PAGE 14

584

585

586

EF08 [02] 87 587 psha

EF09 [02] 8B 588 pshh

EF0A [02] 89 589 pshx

590

EF0B [02] A61E 591 lda #!30

592 loopdel:

EF0D [01] 4A 593 deca

EF0E [03] 26FD 594 bne loopdel

595

EF10 [02] 88 596 pulx

EF11 [02] 8A 597 pulh

EF12 [02] 86 598 pula

EF13 [04] 81 599 rts

600

601 ;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

602

603 ;/////Таблица перекодировки для давлен ////////

604

605 TCP:

606

EF14 00 607 db !0

EF15 01 608 db !1

EF16 03 609 db !3

EF17 05 610 db !5

EF18 06 611 db !6

EF19 08 612 db !8

EF1A 0A 613 db !10

EF1B 0B 614 db !11

EF1C 0D 615 db !13

EF1D 0F 616 db !15

EF1E 10 617 db !16

EF1F 12 618 db !18

EF20 14 619 db !20

EF21 15 620 db !21

EF22 17 621 db !23

EF23 19 622 db !25

EF24 1A 623 db !26

EF25 1C 624 db !28

EF26 1E 625 db !30

EF27 1F 626 db !31

EF28 21 627 db !33

EF29 23 628 db !35

EF2A 24 629 db !36

EF2B 26 630 db !38

EF2C 28 631 db !40

EF2D 29 632 db !41

EF2E 2B 633 db !43

EF2F 2D 634 db !45

EF30 2E 635 db !46

EF31 30 636 db !48

EF32 32 637 db !50

EF33 33 638 db !51

EF34 35 639 db !53

тонометр.asm Assembled with CASM08Z 25.02.03 9:58:45 PAGE 15

EF35 37 640 db !55

EF36 38 641 db !56

EF37 3A 642 db !58

EF38 3C 643 db !60

EF39 3D 644 db !61

EF3A 3F 645 db !63

EF3B 41 646 db !65

EF3C 42 647 db !66

EF3D 44 648 db !68

EF3E 46 649 db !70

EF3F 47 650 db !71

EF40 49 651 db !73

EF41 4B 652 db !75

EF42 4C 653 db !76

EF43 4E 654 db !78

EF44 50 655 db !80

EF45 51 656 db !81

EF46 53 657 db !83

EF47 55 658 db !85

EF48 56 659 db !86

EF49 58 660 db !88

EF4A 5A 661 db !90

EF4B 5B 662 db !91

EF4C 5D 663 db !93

EF4D 5F 664 db !95

EF4E 60 665 db !96

EF4F 62 666 db !98

EF50 64 667 db !100

EF51 65 668 db !101

EF52 67 669 db !103

EF53 69 670 db !105

EF54 6A 671 db !106

EF55 6C 672 db !108

EF56 6E 673 db !110

EF57 6F 674 db !111

EF58 71 675 db !113

EF59 73 676 db !115

EF5A 74 677 db !116

EF5B 76 678 db !118

EF5C 78 679 db !120

EF5D 79 680 db !121

EF5E 7B 681 db !123

EF5F 7D 682 db !125

EF60 7E 683 db !126

EF61 80 684 db !128

EF62 82 685 db !130

EF63 83 686 db !131

EF64 85 687 db !133

EF65 87 688 db !135

EF66 88 689 db !136

EF67 8A 690 db !138

EF68 8C 691 db !140

EF69 8D 692 db !141

EF6A 8F 693 db !143

EF6B 91 694 db !145

EF6C 92 695 db !146

EF6D 94 696 db !148

EF6E 96 697 db !150

тонометр.asm Assembled with CASM08Z 25.02.03 9:58:45 PAGE 16

EF6F 97 698 db !151

EF70 99 699 db !153

EF71 9B 700 db !155

EF72 9C 701 db !156

EF73 9E 702 db !158

EF74 A0 703 db !160

EF75 A1 704 db !161

EF76 A3 705 db !163

EF77 A5 706 db !165

EF78 A6 707 db !166

EF79 A8 708 db !168

EF7A AA 709 db !170

EF7B AB 710 db !171

EF7C AD 711 db !173

EF7D AF 712 db !175

EF7E B0 713 db !176

EF7F B2 714 db !178

EF80 B4 715 db !180

EF81 B5 716 db !181

EF82 B7 717 db !183

EF83 B9 718 db !185

EF84 BA 719 db !186

EF85 BC 720 db !188

EF86 BE 721 db !190

EF87 BF 722 db !191

EF88 C1 723 db !193

EF89 C3 724 db !195

EF8A C4 725 db !196

EF8B C6 726 db !198

EF8C C8 727 db !200

EF8D C9 728 db !201

EF8E CB 729 db !203

EF8F CD 730 db !205

EF90 CE 731 db !206

EF91 D0 732 db !208

EF92 D2 733 db !210

EF93 D3 734 db !211

EF94 D5 735 db !213

EF95 D7 736 db !215

EF96 D8 737 db !216

EF97 DA 738 db !218

EF98 DC 739 db !220

EF99 DD 740 db !221

EF9A DF 741 db !223

EF9B E1 742 db !225

EF9C E2 743 db !226

EF9D E4 744 db !228

EF9E E6 745 db !230

EF9F E7 746 db !231

EFA0 E9 747 db !233

EFA1 EB 748 db !235

EFA2 EC 749 db !236

EFA3 EE 750 db !238

EFA4 F0 751 db !240

EFA5 F1 752 db !241

EFA6 F3 753 db !243

EFA7 F5 754 db !245

EFA8 F6 755 db !246

тонометр.asm Assembled with CASM08Z 25.02.03 9:58:45 PAGE 17

EFA9 F8 756 db !248

EFAA FA 757 db !250

EFAB FB 758 db !251

EFAC FD 759 db !253

EFAD FF 760 db !255

761

762

763 ;//////////////////////////////////////////////

764

765 ;////////// Таблица перекодировки для индикации //

766

767 TCI:

EFAE 03 768 db $03 ;0

EFAF 13 769 db $13 ;1

EFB0 23 770 db $23 ;2

EFB1 33 771 db $33 ;3

EFB2 43 772 db $43 ;4

EFB3 53 773 db $53 ;5

EFB4 63 774 db $63 ;6

EFB5 73 775 db $73 ;7

EFB6 83 776 db $83 ;8

EFB7 93 777 db $93 ;9

EFB8 02 778 db $02 ;Пробел

EFB9 34 779 db $34 ;С

EFBA 5A 780 db $5a ;И

EFBB 0E 781 db $0e ;Д

EFBC 14 782 db $14 ;А

EFBD 8A 783 db $8a ;П

EFBE 9A 784 db $9a ;У

EFBF 7A 785 db $7a ;Л

EFC0 F4 786 db $f4 ;О

EFC1 CA 787 db $ca ;Ш

EFC2 0A 788 db $0a ;Б

EFC3 B4 789 db $b4 ;К

790

791 ;///////////////////////////////////////////////////

///////////////////////////////////////

792

793

FFDE 794 org $ffde

FFDE EE31 795 dw ADC_INT ;Векторпрерывания

для АЦП

FFF2 796 org $fff2

FFF2 EE5B 797 dw timer_int;Векторпрерывания

для таймера

FFFE 798 org $fffe

FFFE EC00 799 dw start ;Вектор сброса

800

Symbol Table

ADC_INT EE31

ADICLK 003E

ADM1 EE48

ADM2 EE3F

ADM3 EE52

тонометр.asm Assembled with CASM08Z 25.02.03 9:58:45 PAGE 18

ADR 003D

ADRES 0083

ADSCR 003C

AMP1 0098

AMP2 0097

AMPMET ECD4

BCD1 0086

BCD10 0085

BCD100 0084

BCD100M EE94

BCD10M EEA2

BCD1M EEB4

BCDX 00A3

BCD_RET EE85

BITF 0089

BITF1 0091

CBM ED42

CI 0088

CMP1 0092

CMPAD 0096

CONFIG1 001F

CONFIG2 001E

CONST 008D

DAV 008E

DDRA 0004

DDRB 0005

DDRD 0007

DEL 0093

DELEYSRET EF08

DIA 00A1

DVBM ECE2

EXIT EE59

EXITB EEC0

EXITDAV EE1E

EXITTIME EE73

IND 0080

INDX 0087

IND_RET EEC1

KBIER 001B

KBSCR 001A

LOOP EC9D

LOOP1 ECA4

LOOP11 ED57

LOOP2 ECA0

LOOP20 ED53

LOOPAMP ECF8

LOOPDEL EF0D

LOP ECC7

M55 ECED

MAIN EC39

MB1 EEA5

MTIME ED73

OVSEC 0095

PDCR 000A

PEREM ED4D

PMEM1 00A4

POR 0094

PR1 009E

тонометр.asm Assembled with CASM08Z 25.02.03 9:58:45 PAGE 19

PR2 00A0

PR2M EDAA

PROIM ED2F

PTA 0000

PTAPUE 000D

PTB 0001

PTD 0003

PUL 00A2

PULSE 0090

RAZNOM ED8E

RM ECEA

RORM EDFC

SBM EC3D

SEC 0099

SEC10 009A

SIS 009F

START EC00

STIND EECF

TCI EFAE

TCNTH 0021

TCNTL 0022

TCP EF14

TIME1 009B

TIME2 009C

TIME2M ED88

TIME3 009D

TIMER_INT EE5B

TMODH 0023

TMODL 0024

TSC 0020

UDAV 008C

UPRESS 008B

UPRESS1 008A

VOLTS_PRESSURE_R EE74

Y 008F

ZAP EE43

ZAP1 EE56

Страницы: 1, 2, 3, 4