Chirurgia endoscopică a hipofizei
"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală. Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale. www.neurohope.ro |
conversie binar-bcd
Last Updated: Jan 18 2010 10:12, Started by
thedeady
, Jun 16 2009 16:34
·
0
#1
Posted 16 June 2009 - 16:34
Buna ziua tuturor!
Am de realizat un montaj cu acest tip de microcontroller (PIC16F877A) ce se doreste a fi un regulator de temperatura, avand ca intrari 4 senzori de temperatura si un keypad de unde se va introduce o alta temperatura de catre utilizator urmand ca, in functie de diferenta dintre acestea sa se activeze un sistem incalzire sau racire. Problema intervine tocmai la aceasta comparatie. Dati fiind senzorii cu o plaja limitata de temperatura (0-50 grade Celsius), cu o variatie de 10 mV / grad si referinta ADC-ului de 2.048 V, rezulta o rezolutie de 2 mV / bit (toate canalele A/D sunt pe 10 biti). Dintre acesti 10 biti, eu utilizez doar 8, conform cu scala de temperaturi mentionata, deci in registrul ADRESH (rezultatul e left justified) am valori intre 0-250, cu o variatie in BCD 0-50. Cum as putea realiza conversia dintre valorile binare si cele in format BCD in assembler? (formatul BCD este necesar pentru ca temperatura medie de pe senzori ar trebui afisata pe 2 display-uri LED 7 segmente, la apasarea uneia dintre taste. Va multumesc anticipat pentru ajutor, Bogdan |
#2
Posted 18 June 2009 - 21:57
;*******************************************************
bin_to_bcd ;intrarea in temp0 ;iesirea in W ;bin =temp0 ;hundreds =temp1 ;tens_and_ones =temp2 CLRF temp1 SWAPF temp0, W ;w = A0*16+A1 ADDWF temp0, W ;w = A0+A1 ANDLW 0x0f ;w = A0+A1 % 16 SKPNDC ;if A0+A1 > 16 ADDLW 0x16 ; w += 16 SKPNDC ;if w % 16 > 10 ADDLW 0x06 ; w += 6 ADDLW 0x06 ;w += 6 SKPDC ;if w < 10 ADDLW -0x06 ; w -= 6 BTFSC temp0,4 ADDLW 0x16 - 1 + 0x6 SKPDC ADDLW -0x06 BTFSC temp0, 5 ADDLW 0x30 BTFSC temp0, 6 ADDLW 0x60 BTFSC temp0, 7 ADDLW 0x20 ADDLW 0x60 RLF temp1, F BTFSS temp1, 0 ADDLW -0x60 return |
#3
Posted 05 August 2009 - 22:35
Sa nu mai incep alt topic, am sa pun o intrebare pe topicul acesta:
Cum se face o convertire din BCD in binar si invers? Am gasit pe net niste explicatii dar erau vagi, sau nu le-am inteles eu. Am gasit metoda aceea in care muti de 3 ori la stanga si dupa aia aduni 3 si asa mai departe dar mie nu-mi iese. Ati putea sa-mi explicati asa, mai pe larg? Imi trebuie si convertirea BCD - binar si invers. Vreau sa fac un inmultitor pentru un turometru electronic care masoara turatia o data pe secunda si afiseaza numarul de turatii pe minut si vreau sa implementez functia de imnultire x*60 dar vreau sa o fac din porti, registre si alte chestii. Deci trebuie sa stiu aceasta convertire cum se face pe hartie. Multumesc Anticipat! :D |
#4
Posted 18 January 2010 - 10:12
Pentru conversia binar la BCD poti folosi o subrutina de la:
http://www.module.ro/library.html Edited by berty_a, 18 January 2010 - 10:13. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users