본문 바로가기
코스웨어/15년 스마트컨트롤러

20510923-22번-우대희 온도센서,어셈블리(Division Instructions)

by 알 수 없는 사용자 2015. 9. 24.
728x90
반응형
✔️ 온도센서>

✔️ 두가지 철사 를 소선이라고 표현.
- 소선이 굵을수록 온도 측정법위가 넓어진다.
- 서머커플러k타입이으로 측정할수있는 온도 1000도 대신 선이 굵어지고 봉이 커진다.
- 봉이 커지면 열이 전도 될때 클수록 열이 전달되는 속도가 감해지는 특징이 있다.
- 봉::소스라는 재질을 쓴다(일명 스텐레스 스틸:스뎅)

✔️ 특징
- 튼튼하다.
- 열전도 낮다.
정전 용량센서 : 축전기 평행축전기 사이에 다른물질을 넣으면 유전물력이 달라진다.
- 소스를 쓰면 온도에 대한 변화가 작다. 황동... 브라스 재질은 온도가 확확 바뀐다.+ 가 열을 잘발생한다.

- 알루미늄 : 가장많이 쓰는데 히트 싱크(방열판)
- 구리용 저가로 알루미늄사용한다

* 많이쓰는 이유
- 지구에서 3번째로 많은 광물이다.
*예를들어 반도체 만들때 실리콘 쓰는 이유 지구를 구성하는 원자중 산소-규소-알루미늄 겁나많다.- 아연

✔️ 전압제어 방식
- 10v ~ 10v
   0v ~ 10v
- 5v ~ 5v
  0v ~ 5v

✔️ 전류제어 방식
4 ~ 20mA
0 ~ 20mA :다른 아날로그 신호중 간섭을 적게 받음

* 왜 4mA로 측정했나?
- 0mA는 지금 센서가끊어졌는지 아닌지 모니터링할수가 없다.
- 끊어지면 4mA 어짜피 0

- 0~600도
- 루프 방식, 비루프 방식
- 루프방식을 많이 쓴다.

✔️ 온도센서는 두가지형태로 나뉜다.
- 1 : 접촉 함. : 대부분의 온도계는 접촉식이다.일반적인 온도계

종류 )
Thermistor, Pt 100옴, Pt 1000옴, 열전대

- 온점 냉점은 열을 느낄수 있다.

2 : 비접촉
접촉 안함.: 적외선 센서(적외선이 방출되고 ,그것을 측정한다)

종류 )
열화상 카메라, 적외선 온도계

- 귀고막 온도계는 적외선, 초음파 온도계라 비접촉이다.

PT100옴은 저항에 따라 온도가 높아지면 저항값이 같이 상승한다.
중간에 증폭회로가 들어가야한다.

전압값 ADC값으로 넣는다. 전용 드라이버 IC (max6675 : spi통신 규격으로 보내줌) -> 디지털 신호로 받아 내보낸다.
4~20 mA 를 0~5V 전압값으로 만드는 IC가 있다.

체온계로 사용할 경우 42도 이상은 필요없는데 300도 까지 측정되는 것은 낭비다.

* 암보드의 5v를 입력받아 3.3v출력을 사용한다. 또는 저항 100옴 200옴 사용한다.
4v이상의 전압을 가하면 안된다.

- sck는 sck단에 연결하면 되고,
- sdo : 시그널 아웃풋
- 마스터 인풋, 슬래이브 아웃풋

- uart는 비동기식 : 약속에 따라 송수신한다.
- spi는 동기식

* 항상 마스터와 슬레이브가 존재.
마스터에서 -> 슬레이브쪽으로 클럭을 공급한다.
데이터를 주든 안주든 항상 공급한다.

┌-------┐ SCK ┌--------┐
│ 마스터 │ mosi —-----------> 방향│ 슬래이브 │
└-------┘miso <-----------— └--------┘
슬레이브에서 데이터 아웃

4~5p 로 프로그램 코딩하면 됨.



------------------------------------------------------------------------------------------------------------------------

<숙제>
Write a complete 80x86 assembly language program to prompt for the
length, width, and height of a box and to display its surface area
2*(length*width + length*height + width*height).

eax , ebx , ecx , edx , edi , esi
 *       x      y              z     y복사
2*( x*y + y*z + x*z)

mov esi, ecx      ; y를 esi에 복사
imul esi, edi      ; y * z 
imul ecx, ebx    ; y * x
imul edi, ebx    ; z * x
add esi, ecx     ; (y) + (x)
add esi, edi     ; (xy) +(z)
add esi, esi     ; 2 * (xyz)


4.4 Division Instructions

imul,idiv : 정수 (signed)
mul,div  : 양수 (unsigned)
       5      =     1     x     3     +     2

나누어서 저장.  cpu는 몫과 나머지 동시에 나오기 때문에 %가 있다.(% A low에서 들어오고, A High에서 가저온다)
플래그 값을 설정하지 않는다.  AF, CF, OF, PF, SF 및 ZF 플래그 이전에 설정된 값을 파괴함.

0으로 나누면 에러 발생

                                  

위의 2개의 표를 보면 알 수 있듯이 idiv보다, div가 더 효율적이다. (unisgned 양수 나눗셈이 더욱 빠르다능)
+,-,* 보다 /(나눗셈)이 느리다는것도 알 수 잇다.

cbw
AL -> AX
byte -> word

cwd
AX -> DX , AX
word -> double

cdq
EAX -> EDX,EAX
double -> quadword

cwde
AX -> EAX
16bit -> 32bit

movsz : 1byte -> 2byte, 2byte -> 4byte
            음수, 양수 상관 없이 0으로 채우면서 확장한다.
movsx : 음수,양수를 구별하여, 확장과 동시에 양수 0, 음수 F 채운다.

AX 같은 경우 cwde로 확장

1,2byte만 확장이 된다.


<숙제>


728x90