|
Разработка цифрового измерителя кровяного давления на микроконтроллере 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 10EE38 [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 12EE9E [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 13EECD [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 15EF35 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 17EFA9 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 EE31ADICLK 003EADM1 EE48ADM2 EE3FADM3 EE52тонометр.asm Assembled with CASM08Z 25.02.03 9:58:45 PAGE 18ADR 003DADRES 0083ADSCR 003CAMP1 0098AMP2 0097AMPMET ECD4BCD1 0086BCD10 0085BCD100 0084BCD100M EE94BCD10M EEA2BCD1M EEB4BCDX 00A3BCD_RET EE85BITF 0089BITF1 0091CBM ED42CI 0088CMP1 0092CMPAD 0096CONFIG1 001FCONFIG2 001ECONST 008DDAV 008EDDRA 0004DDRB 0005DDRD 0007DEL 0093DELEYSRET EF08DIA 00A1DVBM ECE2EXIT EE59EXITB EEC0EXITDAV EE1EEXITTIME EE73IND 0080INDX 0087IND_RET EEC1KBIER 001BKBSCR 001ALOOP EC9DLOOP1 ECA4LOOP11 ED57LOOP2 ECA0LOOP20 ED53LOOPAMP ECF8LOOPDEL EF0DLOP ECC7M55 ECEDMAIN EC39MB1 EEA5MTIME ED73OVSEC 0095PDCR 000APEREM ED4DPMEM1 00A4POR 0094PR1 009Eтонометр.asm Assembled with CASM08Z 25.02.03 9:58:45 PAGE 19PR2 00A0PR2M EDAAPROIM ED2FPTA 0000PTAPUE 000DPTB 0001PTD 0003PUL 00A2PULSE 0090RAZNOM ED8ERM ECEARORM EDFCSBM EC3DSEC 0099SEC10 009ASIS 009FSTART EC00STIND EECFTCI EFAETCNTH 0021TCNTL 0022TCP EF14TIME1 009BTIME2 009CTIME2M ED88TIME3 009DTIMER_INT EE5BTMODH 0023TMODL 0024TSC 0020UDAV 008CUPRESS 008BUPRESS1 008AVOLTS_PRESSURE_R EE74Y 008FZAP EE43ZAP1 EE56
Страницы: 1, 2, 3, 4
|
|
|