備忘録

雑記帳です。ホームページのどのページにも含まれない内容も記しています。

番号 年月日 記事
29 R5.10.6

アクセスカウンタ  Total 30,088 (+83)

28 R5.9.14 アクセスカウンタ  Total 30,005 (+584)
27 R5.4.16 アクセスカウンタ  Total 29,421 (+397)
26 R4.12.31 アクセスカウンタ  Total 29,024 (+264)
25 R4.8.27 アクセスカウンタ  Total 28,760 (+400)
24 R4.5.12 アクセスカウンタ  Total 28,360 (+377)
23 R3.12.31 アクセスカウンタ  Total 27,983 (+428)
22 R3.7.25 アクセスカウンタ  Total 27,555 (+293)
21 R3.3.28 アクセスカウンタ  Total 27,262 (+118)
20 R3.2.7 アクセスカウンタ  Total 27,144 (+564)
19 R2.6.30 アクセスカウンタ  Total 26,580 (+150)
18 R2.5.1 アクセスカウンタ  Total 26,430 (+84)
17 R2.4.2 アクセスカウンタ  Total 26,346 (+43)
16 R2.3.15 アクセスカウンタ  Total 26,303 (+442)
15 R1.9.30 アクセスカウンタ  Total 25,861 (+368)
14 H31.4.30 アクセスカウンタ  Total 25,493 (+281)
13 H30.12.31 アクセスカウンタ  Total 25,212 (+368)
12 H30.7.1 アクセスカウンタ  Total 24,810 (+402)
11 H30.3.10 アクセスカウンタ  Total 24,579 (+231)
10 H29.8.13 アクセスカウンタ  Total 23,967 (+612)
H26.2.5 USART PIC→PC
H26.1.27 HI-TECH C 一定時間スリープ
HI-TECH C delay関数
HI-TECHワンポイント@
HI-TECHワンポイントA
H26.1.27 #include<htc.h>
#include <stdio.h>
#include "usart.h"

__CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_OFF
& MCLRE_OFF & CP_OFF & CPD_OFF & BOREN_ON & LVP_OFF
& IESO_OFF & FCMEN_OFF);

void wait(int value){
int i,j;
for(i = 0; i < value; i++){
for(j = 0; j < 30000; j++){
asm("nop");
}
}
}
void main(){
//---USART ---
OSCCON = 0b01110000; //8MHz
SPBRG = 0b00001100; //9600bps
SPEN = 1; //USART enable
SYNC = 0; //Async
TXEN = 1; //TX enable
// send data
wait(10);
while(1){
printf("1234567890");
//puts("123456789\r\n");
wait(100);
}
}
H26.1.26 C言語LINK
標準出力関数

マイコン関連LINK
USART@(PIC16f683)
USARTA
HI-TECH C(PIC16F88)@
HI-TECH C(PIC16F88)A
HI-TECH C(PIC16F88)B
H26.1.25 マイコン関連 LINK
PIC Cの関数
CONFIG@
CONFIGA
PIC シリアル通信
beep関数
PICマイコン
USART@(PIC16F877)
USARTA(PIC16F628A)
USARTB
サンプルプログラム@
サンプルプログラムA(PIC16F1936)
サンプルプログラムB(HI-TECH C)


通信関連 LINK
XBee

音声認識 LINK
音声認識@
音声認識A
音声認識B
音声認識C
音声認識D
H25.6.2 PIC関連 LINK

簡単なキー入力
7seg LED
PICkit 3の使用方法
H25.6.2 16F873 7segLED自動カウントアップ(RCポート)プログラム 5以上でLED点灯(RB0)

#define _LEGACY_HEADERS
#include<pic.h >
#define _XTAL_FREQ 20000000 //20MHz

__CONFIG (HS & WDTDIS & PWRTEN & BORDIS & LVPDIS & UNPROTECT);

main(void){
TRISA = 0x3F;
TRISB = 0x00;
TRISC = 0x00;
PORTB = 0x01;
PORTC = 0x55;
INTCON = 0x00 ; // All IRQ OFF
ADCON1 = 0x0e ; // RB RC digtal  0b0000011xの時:RA,RB,RC all digtal

int i;
char d[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

while(1) {
for(i=0;i<10;i++) {
PORTC=d[i];
if (i>4){
RB0 = 0;
}
else{
RB0 = 1;
}
__delay_ms(500);
}
}
}
H24.8.17 PID制御:比例動作、積分動作、微分動作を組み合わせた制御方法。

比例動作、P動作(P:Proportional)。
定数Kpは比例ゲイン、偏差に比例して入力値を変化させる動作。

積分動作、I動作(I:Integral)。
定数Kiは積分ゲイン、偏差の積分に比例して入力値を変化させる動作。

微分動作、D動作(D:Derivative、Differential)。
定数Kdは微分ゲイン、偏差の微分に比例して入力値を変化させる動作。

制御量=Kp×偏差+Kd×偏差の累積+Ki×(前回の偏差−今回の偏差)
H24.8.16 現象
 HI-TECH C the PIC10/12/16 v9.81で、シンボル未定義のコンパイルエラー
原因
 ヘッダーやインクルードの形式が変更になったため
対策
 ソースファイルの先頭に #define _LEGACY_HEADERS を追加