Gunakan MimeTex/LaTex untuk menulis simbol dan persamaan matematika.

Selamat datang, Pengunjung. Silahkan masuk atau mendaftar. Apakah anda lupa aktivasi email?

Desember 04, 2020, 02:42:41 AM

Masuk dengan nama pengguna, kata sandi dan lama sesi

Topik Baru

Artikel Sains

Anggota
  • Total Anggota: 26686
  • Latest: mkrxxi
Stats
  • Total Tulisan: 139608
  • Total Topik: 10377
  • Online Today: 33
  • Online Ever: 441
  • (Desember 18, 2011, 12:48:51 AM)
Pengguna Online
Users: 0
Guests: 32
Total: 32

Ikuti ForSa

ForSa on FB ForSa on Twitter

Penulis Topik: Tolong bantu tulisin kode buat PIC16F628 sebagai digital thermometer  (Dibaca 2838 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline alvin_wj

  • Siswa Baru
  • *
  • Tulisan: 1
  • IQ: 1
Ini kerjaan dah dari minggu lalu. Gak kelar2 juga sampai sekarang. Dah muter2 ke forum luar negeri. Gak ada yg bantu. Mudah2an disini bisa membant.

http://electronics-diy.com/pic_temperature_meter.php

Saya lagi buat yg kayak diatas. Emang gak berhubungan sama robotika. Tapi setau saya yg main PIC anak2 klub robotika.
Nah tujuan saya supaya PIC itu bisa membaca suhu dari sensor. Sensor yg dipakai beda dari yg di web. Yg saya pakai DS18B20.
Perbedaannya cuma yg B20 kenaikkan suhunya 0.625°C

Saya mau buat supaya di LCD nya keluar suhunya dengan format :

CPU Temp   xx.x°C
GPU Temp   xx.x°C

Saya bener2 gak ngerti soal pemrograman PIC. saya taunya cuma nyolder. hehehe. Tapi suka dengan hobi ini. Mudah2an ada yg bantu. Atau minimal kasih gambaran. Saya gak ada gambaran sama sekali.

Oh iya tadi nemu code dari web luar. Cuma buat PIC16F877 dah gitu LCD nya cuma 14Pin klo gak salah.
untuk codenya :

Device 16F877
XTAL 4

Declare LCD_TYPE ALPHA              ' Type of LCD Used is Alpha
Declare LCD_DTPIN PORTB.4           ' The control bits B0,B1,B2,B3
Declare LCD_RSPIN PORTB.2           ' RS pin on B4
Declare LCD_ENPIN PORTB.3           ' E pin on B5
Declare LCD_LINES 2                 ' Amount of LCD lines
Declare LCD_INTERFACE 4             ' Interface method is 4 bit

PORTB_PULLUPS = true
ALL_DIGITAL = TRUE

SYMBOL DQ = Portb.0                 'Place the DS1820 on bit 1 of PORTA

Dim Sign as Byte
Dim Cnt as Byte
Dim Count_Per_Deg as Byte
Dim Temp as Word
Dim Temp_Dec as Byte

Delayms 150                         ' Let LCD warm up

Cls

' Send a command that creates the degree
Print $FE,$40,$06,$09,$09,$06,$00,$00,$00,$00
'  symbol on the LCD, to print it, simply address
'  the character as 0, eg,
'  Print At 1, 1, Value, 0, "Degrees"

Again:

'Send calculate temperature command
OWRITE DQ, 1,[$55,$10,$31,$C5,$C8,$00,$00,$00,$F4,$44]
                 ' FF  I1  I2  I3  I4  I5  I6  CRC
                 '  FF - Family, Ix - Address bytes,
                 '  CRC - checksum
REPEAT
     DELAYMS 25                   ' Wait until conversion is complete
     OREAD DQ,4,[Cnt]             ' Keep reading low pulses until
UNTIL Cnt <> 0                    '  the DS1820 is finished

'Send read scratchpad command
OWRITE DQ,1,[$55,$10,$31,$C5,$C8,$00,$00,$00,$F4,$BE]
                ' FF  I1  I2  I3  I4  I5  I6   CRC
                '  FF - Family, Ix - Address bytes,
                '  CRC - checksum checksum

OREAD DQ,2,[Temp.LOWBYTE,Temp.HIGHBYTE,Cnt,Cnt,Cnt,Cnt,Cnt,Count_Per_Deg]

' Each Cnt is 1/16 of a degree, therefore 100/16 = 6.25, and that's our decimal value
Temp_Dec = (6.25 * Cnt)

' Bits 8-15 are 1 for a negative temperature and 0 for a positive
If Temp.8=1 Then
     ' If negative then drop the first bit, and invert the value
     Temp=(Temp.LowByte ^ $FF) >> 1
     ' If Cnt = 0 then increment Temp, as the 1820 does not do this
     If Cnt = 0 then Temp = Temp + 1
     ' Change the sign to a negative
     Sign = "-"
Else
     ' If positive then drop the first byte
     Temp=(Temp >> 1)
     ' And change the sign value to positive
     Sign = "+"

     ' Invert the decimal value
     Temp_Dec = 100 - Temp_Dec
Endif

' Display the data on the LCD
Print At 1,1, Sign, Dec Temp, ".", Dec DIG Temp_Dec, 1, 0,"C "


Goto Again

 

Related Topics

  Subyek / Dimulai oleh Jawaban Tulisan terakhir
4 Jawaban
3970 Dilihat
Tulisan terakhir Maret 08, 2009, 08:19:30 AM
oleh pastiinget
2 Jawaban
2883 Dilihat
Tulisan terakhir Juni 22, 2009, 09:33:23 PM
oleh herlambang
kode-kode

Dimulai oleh nash Olah Otak

6 Jawaban
3397 Dilihat
Tulisan terakhir Mei 29, 2009, 10:04:51 AM
oleh Nabih
9 Jawaban
4886 Dilihat
Tulisan terakhir April 26, 2010, 05:35:47 PM
oleh kuin
7 Jawaban
5477 Dilihat
Tulisan terakhir November 21, 2010, 12:14:03 PM
oleh cocack