C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

Similar documents
C语言的应用.PDF

CC213

PIC16F F MPLAB 08 16F LED 15 LED

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

51 C 51 isp 10 C PCB C C C C KEIL

第5章:汇编语言程序设计

2.5 idlocs PIC idloc idloc 0x1234 ; 0x config idloc HEX errorlevel errorlevel Error (Warning) Message HEX 3-14 errorlevel

新・明解C言語入門編『索引』

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

文件名

C/C++语言 - C/C++数据

ICD ICD ICD ICD ICD

untitled

FY.DOC

新版 明解C++入門編

INCF SEC1,F ; 將 SEC1+1 作查表取回對應數字 MOVF SEC1,W banksel STRING1 banksel PORTB RETFIE run_sec2: MOVF SEC2,W SUBLW.5 GOTO run_min ; 將秒個位數歸 0 CLRF SEC1 MOVL

华恒家庭网关方案

untitled

学习MSP430单片机推荐参考书

untitled

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

EK-STM32F

目 录

目录

C 1

Microsoft Word - Pic学习.doc

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

_汪_文前新ok[3.1].doc

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

untitled

ebook14-4

Microsoft PowerPoint - ds-1.ppt [兼容模式]

epub83-1

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C Project 30 C Project 3 60 Project 40

AN579

instructions.PDF

概述

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

PIC PICC C 4K C <10% C PIC 11.3 MPLAB-IDE PICC PICC MPLAB-IDE MPLAB-IDE ICE2000 ICD2 PICC MPLAB-IDE IDE Project Set Language Tool Locations

untitled

<4D F736F F D20B9F9B0EABBCDBBAFAB48DEB3B4C1A5BDB3F8A7692E646F63>

Microsoft Word - 实用案例.doc

bingdian001.com

Microsoft Word - 01.DOC

JLX

NEXT SDT2.51 C:\ARM251 SDT2.51 ARM SDT 2.51 ARM PROJECT MANAGER SDT 2

状 态, 使 人 类 社 会 难 以 正 确 认 识 评 级 这 一 信 用 经 济 的 内 在 规 律, 难 以 真 正 总 结 西 方 错 误 评 级 的 教 训, 难 以 让 评 级 有 效 服 务 于 人 类 信 用 经 济 实 践 如 果 我 们 还 不 能 在 信 用 评 级 思 想 领

mvc

Microsoft Word - MSP430 Launchpad 指导书.docx

26 头 孢 他 啶 注 射 剂 27 头 孢 他 美 酯 口 服 常 释 剂 型 28 头 孢 吡 肟 注 射 剂 29 头 孢 硫 脒 注 射 剂 30 头 孢 唑 肟 注 射 剂 31 头 孢 替 安 注 射 剂 32 头 孢 哌 酮 注 射 剂 33 头 孢 哌 酮 舒 巴 坦 注 射 剂

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1.

C/C++ 语言 - 循环

第5章修改稿

untitled

<4D F736F F D C4EAD6A4C8AFCAD0B3A1C6C0BCB6BDE1B9FBB7D6CEF6B1A8B8E62E646F6378>

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

Microsoft Word - cjfg_jy0201.doc

c_cpp

Microsoft Word - CPE考生使用手冊 docx

/ / (FC 3)...

1 TPIS TPIS 2 2

言1.PDF

nooog

72075(BOC A Share)_入cover同back cover.indb

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

SDP

第一次段考 二年級社會領域試題 郭玉華 (A)(B) (C)(D)

PROTEUS VSM

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un

untitled

untitled

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc

ARM JTAG实时仿真器安装使用指南

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

DPJJX1.DOC

untitled

2007

C/C++语言 - 分支结构

CC213

《C语言程序设计》教材习题参考答案

PowerPoint プレゼンテーション

2 PIC PIC 1 / CPU PIC MCU PIC RC

2/14 Buffer I12, /* x=2, buffer = I 1 2 */ Buffer I243, /* x=34, buffer = I 2 43 */ x=56, buffer = I243 Buffer I243I265 code_int(int x, char *buffer)

栓 子 脱 落, 进 入 血 液 循 环 血 管 破 损, 血 细 胞 凝 集 成 血 栓 化 疗 药 物 亦 正 亦 邪 的 双 刃 剑 让 我 们 共 同 来 认 识 化 疗 及 其 药 物 与 手 术 放 射 治 疗 ( 放 疗 ) 这 些 局 部 治 疗 方 法 不 同, 化 学 治 疗 (

untitled

audiogram3 Owners Manual

<313034A4BDB67DA4C0B56FBA5DB3E65FBD64A5BB2E786C7378>

Java

四川省普通高等学校

Bus Hound 5

2005.book

一 行 业 信 用 质 量 分 析 信 息 技 术 行 业 细 分 子 行 业 较 多, 部 分 子 行 业 受 到 宏 观 经 济 的 影 响 呈 现 较 明 显 的 周 期 性, 如 电 脑 与 外 围 设 备 办 公 电 子 设 备 等 传 统 智 能 硬 件 行 业, 但 以 技 术 进 步

Oracle Oracle Solaris Studio IDE makefile C C++ Fortran makefile IDE Solaris Linux C/C++/Fortran Oracle IDE "P

(Microsoft Word - Motion Program \270\305\264\272\276\363 \307\245\301\366 \271\327 \270\361\302\367.doc)

1 基 本 情 况 ( 关 于 你 本 人 ) 问 题 1 您 的 国 籍 是 哪 里? 1. 中 国 2. 韩 国 朝 鲜 3. 菲 律 宾 4. 美 国 5. 印 度 尼 西 亚 6. 泰 国 7. 越 南 8. 其 他 ( ) 问 题 2 您 的 性 别 是? 请 选 择 相 应 的 选 项

2015年计算机二级(C语言)模拟试题及答案(四)

untitled

ebook140-8

Transcription:

CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc Project-->Edit Project Development Mode----> Mplab SIM Simulator Language Tool Suite--->HI-TECH PICC Project Files Generate debug info Produce assembler list file Add Node 2 PICC

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char TMR0 @ 0x01; static volatile unsigned char PCL @ 0x02; static volatile unsigned char STATUS @ 0x03; TMR0 EQU 0X01 PCL EQU 0X02 STATUS EQU 0X03 TMR0 MOVLW 200 MOVWF TMR0 0 C TMR0=200 // C C C C PORTA I/O RA0 RA1 RA2 RA7 OPTION PS0 PS1 PS2 PSA T0SE T0CS INTEDG RBPU RA0=0 RA2=1 BCF PORTA 0 BSF PORTA 2 2 C 16 C 16 C INT X=5000 INT Y=1000 INT Z=X/Y C RA0 LED #include<pic.h> void main()

{ int x; CMCON=0B111; // A ADCON1=0B110; // A/D A/D TRISA=0; //RA loop:ra0= RA0 for(x=60000;--x;){; // goto loop; RA0= RA0 PIC PORT ---- ---- RA0 3 PICC PIC BOOL C ********************************************* char x;x=x 0B00001000; char x;x=x&0b11011111; /* X 4 1 */ /* X 5 0 */ #define bitset(var,bitno)(var =1<<bitno) #define bitclr(var,bitno)(var &=~(1<<bitno)) char x;bitset(x,4) char x;bitclr(x,5) ************************************************* X 0-2 BOOL unsigned char x @ 0x20; /* X */ bit temperature@ (unsigned)&x*8+0; /* */ bit voltage@ (unsigned)&x*8+1; /* */ bit current@ (unsigned)&x*8+2; /* */ X 1 2 3 4 X char=255; temperature=0; if(voltage)... ***************************************************************** C struct struct cypok{ temperature:1; /* */ voltage:1; /* */ current:1; /* */

none:4; x @ 0x20; x.temperature=0; if(x.current)... ********************************************************** 2 LED C C C union cypok{ struct out{ motor:1; /* */ relay:1; /* */ speaker:1; /* */ led1:1; /* */ led2:1; /* */ out; struct in{ none:5; temperature:1; /* */ voltage:1; /* */ current:1; /* */ in; char x; ; union cypok an1; union cypok an2; an1 an2; in out): an1.in ; an1.out; an2.in; an2.out; an1.in.temperature; an1.out.motor; an2.in.voltage; an2.out.led2; 2 2

union cypok an3; union cypok an4; C 4 PICC C for(x=100;--x;){; x=100;while(--x){;; for(x=0;x<100;x++){; X=100 x=100;while(--x){; movlw 100 bcf 3,5 bcf 3,6 movwf _delay l2 decfsz _delay goto l2 return 303 8+3* X-1 99 x char x int X char void delay(char x,char y){ char z; do{ z=y; do{;while(--z); while(--x); 7+ 3* Y-1 +7 * X-1 call 7 14+ 3* Y-1 +7 * X-1 void delay(){ unsigned int d=1000; while(--d){; 4M 10003us 10MS D 2000 20003us, while(x--) X bcf 3,5 bcf 3,6 movlw 10 movwf _delay

l2 decf _delay incfsz _delay,w goto l2 return PICC for(x=100;--x;){; for(x=0;x<100;x++){; 2 PICC C PICC C 5 bit a,b,c; a,b,c. static volatile unsigned char myvar @ 0x25; static volatile bit b7 @ (unsigned)&myvar*8+7; static volatile bit b6 @ (unsigned)&myvar*8+6; static volatile bit b5 @ (unsigned)&myvar*8+5; static volatile bit b4 @ (unsigned)&myvar*8+4; static volatile bit b3 @ (unsigned)&myvar*8+3; static volatile bit b2 @ (unsigned)&myvar*8+2; static volatile bit b1 @ (unsigned)&myvar*8+1; static volatile bit b0 @ (unsigned)&myvar*8+0; #define testbit(var, bit) ((var) & (1 <<(bit))) #define setbit(var, bit) ((var) = (1 << (bit))) #define clrbit(var, bit) ((var) &= ~(1 << (bit))) #include<pic.h> #define testbit(var, bit) ((var) & (1 <<(bit))) #define setbit(var, bit) ((var) = (1 << (bit))) #define clrbit(var, bit) ((var) &= ~(1 << (bit))) char a,b; void main(){ char myvar; myvar=0b10101010;

a=testbit(myvar,0); setbit(myvar,0); a=testbit(myvar,0); clrbit(myvar,5); b=testbit(myvar,5); if(!testbit(myvar,3)) a=255; else a=100; while(1){; #include<pic.h> union var{ unsigned char byte; struct { unsigned b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1; bits; ; char a,b; void main(){ static union var myvar; myvar.byte=0b10101010; a=myvar.bits.b0; b=myvar.bits.b1; if(myvar.bits.b7) a=255; else a=100; while(1){; #include<pic.h> typedef struct { unsigned b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1; bits; // #define mybit0 (((bits *)&myvar)->b0) // myvar &myvar bits #define mybit1 (((bits *)&myvar)->b1) #define mybit2 (((bits *)&myvar)->b2) #define mybit3 (((bits *)&myvar)->b3) #define mybit4 (((bits *)&myvar)->b4) #define mybit5 (((bits *)&myvar)->b5) #define mybit6 (((bits *)&myvar)->b6) #define mybit7 (((bits *)&myvar)->b7)

char myvar; char a,b; void main(){ myvar=0b10101010; a=mybit0; b=mybit1; if(mybit7) a=255; else a=100; while(1){; #include<pic.h> typedef struct { unsigned b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1; bits; #define _paste(a,b) a##b #define bitof(var,num) (((bits *)&(var))->_paste(b,num)) char myvar; char a,b; void main(){ a=bitof(myvar,0); b=bitof(myvar,1); if(bitof(myvar,7)) a=255; else a=100; while(1){; #define _paste(a,b) a##b b a a=bitof(myvar,0); (((bits *)&(myvar))->_paste(b,0)) (((bits *)&(var))->b0) _paste(b,0) 0 b b0 6 PICC PICC 8 RAM 0x00): #define DBYTE ((unsigned char volatile *) 0)

16 RAM 0x00): #define CWORD ((unsigned int volatile *) 0) ((unsigned char volatile *) 0) 0 RAM DBYTE[x] x 1 char a1,a2,a3,a4; #define DBYTE ((unsigned char volatile *) 0) void main(void){ long cc=0x89abcdef; a1=dbyte[0x24]; a2=dbyte[0x25]; a3=dbyte[0x26]; a4=dbyte[0x27]; while(1); 2 char a1,a2,a3,a4; #define DBYTE ((unsigned char volatile *) 0) void pp(char y){ a1=dbyte[y++]; a2=dbyte[y++]; a3=dbyte[y++]; a4=dbyte[y]; void main(void){ long cc=0x89abcdef; char x; x=&cc; pp(x); while(1); 3 char a1,a2,a3,a4; #define DBYTE ((unsigned char volatile *) 0) void pp(char y){ a1=dbyte[y++]; a2=dbyte[y++]; a3=dbyte[y++]; a4=dbyte[y];

void main(void){ bank1 static long cc=0x89abcdef; char x; x=&cc; pp(x); while(1); 7 PICC unsigned signed unsigned signed PICC unsigned signed MCU PICC -SIGNED_CHAR PICC signed PICC char i; for(i=7;i>=0;i--){ ; // C movlw 7 loop movwf i // decf i goto loop // i 0 i 1 PICC char i; i=7; while(1){ i--; // if(i==0)break; // PICC i 0 movlw 7 loop movwf i // decfsz i goto loop // 0 8 for(i=8;i>0;i--){

; movlw 8 movwf i loop decfsz i // goto loop PICC -SIGNED_CHAR movlw 7 movwf i loop // decf i // btfss i,7 // i 7 goto l94 PICC for >=0 PICC PICC a char i,j[8]; i=7; while(1){ j[i]=0; i--; if(i==0)break; b char i,j[8]; for(i=8;i>0;i--){ j[i-1]=0; j[i-1] i-1 movlw 8 7 //a 7,b 8 movf i loop //a i j //i //b i j goto loop

b 7 0 0 for >0 PICC CCS (-100)+50 8 PICC 1-W unsigned char read_byte(void) { unsigned char i; unsigned char value = 0; for (i = 0; i < 8; i++) { if(read_bit()) value = 0 x 01<<i; // reads byte in, one byte at a time and then // shifts it left delay(10); // wait for rest of timeslot return(value); C C C C for (i = 0; i < 8; i++) for(i=8;i!=0;i--), CPU 0 3 value = 0 x 01<<i; value = 0 x 01<<i;, DALLAS NO1 <I; DALLAS NO1 < P> C C 0 0 0 for(i=8;i!=0;i--){ value>>=1; // value 0 if(read_bit()) value =0x80; // value 1 N C 8 16 32 64 128 256 MCU 128 sampling() unsigned int total; unsigned char i,val; for(i=0;i<128;i++){

total+=sampling(); val=total/128; C C 128 0B10000000, 7 1 0 7 128 128 N val=total/128 val=(unsigned char)(total>>7); (total<<1)>>8, 8 7 1 4 8 unsigned int total; unsigned char i=0 unsigned char val; while(!(i&0x80)){ // i 7 total+=sampling(); i++; val=(unsigned char)((total<<1)>>8); // 9 C 1 While for do while if elst switch case 2 ( a b x1 y1) ( ) count number1 red work 3 C C C ( )

4 5 (ifdef) 6 7 void Keil 8 MCU MCU MCU 9 ICCAVR Default Enable Code Compression CodeVisionAVR Tiny small IAR 7 GCCAVR 1. Keil 2 (char) (int) (long int) (float) C ICCAVR Options printf (%c %d %x

%X %u %s ) (%ld %lu %lx %lx ) (%f) C %f 3 ( a-=1 a+=1 ) inc dec a=a+1 a=a-1 C AVR ICCAVR GCCAVR IAR C inc dec 4 (1) a=a%8; a=a&7; C % 2n (2) a=pow(a,2.0); a=a*a; ( 51 ) AVR ATMega163 2 AVR 3 a=pow(a,3.0); a=a*a*a (3) a=a*4; b=b/4; a=a<<2; b=b>>2; 2n ICCAVR 2n a=a*9 a=(a<<3)+a 5 (1)

init (2) void delay (void) { unsigned int i; for (i=0;i<1000;i++) ; void delay (void) { unsigned int i; for (i=1000;i>0;i--) ; C 1~3 MCU 0 while 1~3 i (3)while do while while unsigned int i; i=0; while (i<1000) { i++; // unsigned int i; i=1000; do i--; // while (i>0); do while while 6

7