Разработка цифрового измерителя кровяного давления на микроконтроллере MC68HC908JL3
Выбор элементной базы. Анализ ресурсов ввода-вывода. Структура алгоритма программы. Состав и назначение отдельных элементов. Подпрограммы табличной перекодировки напряжения в давление, вывода числа на индикацию, обработчика прерывания от таймера.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 21.12.2010 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
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,1 M], добавлен 21.07.2011Структурная схема устройства. Выбор элементной базы и электрической схемы. Использование многоуровневой конвейерной обработки. Последовательность выполнения программы. Команды условного и безусловного перехода. Пространство регистров ввода-вывода.
контрольная работа [308,2 K], добавлен 07.07.2013Общее описание восьмиразрядного высокопроизводительного однокристального микроконтроллера. Порты ввода-вывода. Разработка структурно-функциональной схемы. Выбор элементной базы, основные используемые процедуры. Описание алгоритма программы, ее листинг.
курсовая работа [28,4 K], добавлен 23.12.2012Физические основы метода измерение артериального давления в медицине. Разработка структурной и принципиальной схемы устройства, схемы блока питания, основных функциональных узлов и элементов прибора. Алгоритм работы программы и подпрограммы, ее код.
курсовая работа [410,5 K], добавлен 06.02.2013Использование помехоустойчивого кодирования в системах передачи информации. Построение структурной схемы восьмиразрядного микроконтроллера M68HC11. Разработка алгоритма кодирования и декодирования информации. Подключение внешних портов ввода/вывода.
курсовая работа [1,7 M], добавлен 05.09.2014Разработка структурной схемы автоматической системы управления на комплекте КР580. Характеристика общих принципов построения устройства. Расчет и выбор элементной базы. Микропроцессор и вспомогательные устройства. Организация ввода-вывода информации.
курсовая работа [573,5 K], добавлен 02.04.2013Анализ функционирования установок для исследования режимов работы компонентов с СЭВМ. Разработка схем микропроцессорных устройств и периферийного оборудования ЭВМ для учебного комплекса по интерфейсам ввода-вывода. Функционирование микросхемы КР580ВВ55.
курсовая работа [2,5 M], добавлен 20.05.2011Разработка микроконтроллерной системы на основе AT90S8535 подключенных к нему электроприборов. Эскизный проект цифрового устройства ограниченной сложности. Расчет потребляемой мощности таймера, алгоритма управления, программы микроконтроллера.
курсовая работа [292,7 K], добавлен 12.04.2009Разработка расширителя портов ввода-вывода и особенности его применения. Программируемая логическая интегральная схема CPLD. Плис CoolRunner-II, главные функции. Листинг модулей на языке Verilog. Временная диаграмма, внутреннее содержание модуля.
курсовая работа [1,9 M], добавлен 26.01.2013Разработка принципиальных схем синтезатора. Выбор и обоснование элементной базы. Разработка концептуального алгоритма устройства. Разработка, выбор и обоснование конструктивных составляющих синтезатора. Выбор и обоснование методов монтажа и межсоединений.
дипломная работа [249,8 K], добавлен 24.06.2010