ユーザ用ツール

サイト用ツール


softdev:tempmeter2

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
softdev:tempmeter2 [2013/01/08 23:00] – [ソース] kingsoftdev:tempmeter2 [2013/01/08 23:10] – [ソース] king
行 47: 行 47:
 ででで、ソース ででで、ソース
 ===== ソース ===== ===== ソース =====
-題して、バイクメータ、そのままやんけ。+題して、バイクメータ、そのままやんけ。\\ 
 +main初期化部 
 +<code c#> 
 +/***************************************************** 
 +// for PIC18F1320 
 +// Bike-Meter 
 +// 開発 キング工房 
 +******************************************************/ 
 +#include <htc.h> 
 +#include <delays.h> 
 +#include "delays_usms.h" 
 +#include "lcd_operation.h" 
 +#include "rtc_operation.h"
  
-<code c>+// VCFG1,VCFG0,-,CHS2,CHS1,CHS0,GODONE,ADON 
 +// CHS2,1,0 AN0=000,AN1=001,AN2=010 
 +#define ADON_AN1 0b00000101  
 +#define ADON_AN2 0b00001001 
 +#define LED_pwr PORTAbits.RA0 
 +#define LED_paper PORTAbits.RA4 
 +#define SW_feed PORTAbits.RA7 
 +#define SW_menu PORTAbits.RA6 
 + 
 +void send_dec3(char,int,char,char); 
 +void rtc_init(void); 
 +void rtc_init_mode_in(void); 
 +void get_minmax(int,int); 
 + 
 +// 配列を引きわたして戻す方法がわからないので、 
 +char rtc_today[7]; // グローバルで 
 +int temp_max,temp_min,volt_max,volt_min; //最大最小算出為 
 +char start_time[7]; // 経過時間算出為 
 +// 外部ソースで引用するときは、外部ソース側でextern をつけて再宣言する 
 + 
 +main() 
 +
 +/* 
 +// 書き込み時に使う。最初にないと動作しないみたい。RTCで月を文字で表示する為、EEPROMに書く。 
 +__EEPROM_DATA("J","a","n","F","e","b","M","a"); 
 +__EEPROM_DATA("r","A","p","r","M","a","y","J"); 
 +__EEPROM_DATA("u","n","J","u","l","A","u","g"); 
 +__EEPROM_DATA("S","e","p","O","c","t","N","o"); 
 +__EEPROM_DATA("v","D","e","c",0xFF,0xFF,0xFF,0xFF); 
 +*/ 
 + char a; // ループ等で使う 
 + char led1,keta,rtc_data,cc1u,cc1d; 
 + int an1data,tmp10; 
 +// int tt;// tt1,tt2は計算用 
 + unsigned int past_time,tt,tt1,tt2,an2data,start_time_int; 
 + long tmp10_long; 
 +// char tmp10c; // 判定のため仮変数 
 + char mm,month[3]; 
 + char mode; // 表示モード選択 
 + 
 + OSCCON = 0b01111111; // クロック8MHz 
 +  
 + EECON1 = 0b00010001; // EECON設定ないとEEPROMアクセス不可 
 + 
 + ADCON0 = ADON_AN1; // AN1 on 
 + ADCON1 = 0xFD; // AN1 only use 
 + ADCON2 = 0b10100101; // Right ,8TAD , Fosc/16 
 +  
 + PORTA = 0;// IO 初期化 
 + PORTB = 0; 
 + TRISA = 0xEE; // 0=Out RA0,RA4 
 + TRISB = 0b10100000; // RB5 = IN 
 + 
 + temp_max = -1000; 
 + temp_min =  1000; 
 + volt_max =     0; 
 + volt_min =   300; 
 + 
 + mode=0; 
 +  
 + led1 = 1; 
 + LED_pwr = led1; 
 + LED_paper = led1; 
 + 
 +  
 + rtc_portinit(); 
 + lcd_init(); 
 +  
 + if(rtc_get_stat() 0 ){ 
 + rtc_init_mode_in(); 
 + rtc_init(); // 異常フラグありで初期化 
 + }
 </code> </code>
 +
 <code c> <code c>
 </code> </code>
softdev/tempmeter2.txt · 最終更新: 2013/07/15 20:25 by 127.0.0.1