C语言的应用.PDF

Similar documents
AVR单片机指令系统.PDF

从MCS51向AVR的快速转换.PDF

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

at90s1200.PDF

untitled

CC213

JTAG ICE PC JTAG ICE JTAG ISP... 5 IDE AVR STUDIO JTAGICE JTAGICE... 12

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

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

AVR单片机的应用.PDF

新・解きながら学ぶC言語

目录

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

新版 明解C言語入門編

华恒家庭网关方案

tiny15.PDF

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

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

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

C 1

Microsoft Word - MSP430 Launchpad 指导书.docx

C C

学习MSP430单片机推荐参考书

C/C++ - 函数

epub83-1

untitled

C/C++ - 文件IO

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

C/C++ - 字符输入输出和字符确认

FY.DOC

新版 明解C++入門編

untitled

<4D F736F F D20B9F9B0EABBCDBBAFAB48DEB3B4C1A5BDB3F8A7692E646F63>

Microsoft Word - 第3章.doc

目 录

PIC16F F MPLAB 08 16F LED 15 LED

EK-STM32F

untitled

ebook14-4

DPJJX1.DOC

ICD ICD ICD ICD ICD

Microsoft Word - 第17組

SDP

C/C++语言 - 运算符、表达式和语句

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

四川省普通高等学校

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

epub 33-8

( RMB100,000)

untitled

C/C++程序设计 - 字符串与格式化输入/输出

外围器件-new.cdr

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

2 12

nooog

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

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

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

上海地区进出口饲料和饲料添加剂经营单位备案名单

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

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

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++;

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def

untitled

1 TPIS TPIS 2 2

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

64 [ 46 ] (p297) 1924 :? [ 47 ] (p570) ; ; ; ; ; ; ; ; ; ; ; [ 11 ]; [ 35 ] [ 49 ] [ 32 ] ( ) [ 48 ] (p 425) [ 50 ] (p 670 6

Application Note Format

新・解きながら学ぶJava

江 西 : 失 信 被 执 行 人 曝 光 台 写 入 两 会 报 告 摘 要 1 月 27 日, 江 西 省 十 二 届 人 大 五 次 会 议 举 行 第 二 次 全 体 会 议, 江 西 省 高 级 人 民 法 院 院 长 张 忠 厚 向 大 会 作 江 西 省 高 级 人 民 法 院 工 作

形 式 审 查 不 通 过, 将 说 明 原 因 并 予 退 回, 不 予 重 新 修 改 提 交 ( 形 式 审 查 常 见 主 要 问 题 参 考 附 件 3) ( 三 ) 申 请 人 下 载 打 印 网 上 状 态 为 请 交 纸 质 材 料 至 窗 口 受 理 的 申 报 书, 报 送 项

撤 离 你 听 到 了 吗? 它 们 已 经 进 了 墙 里 边 了 那 些 金 属 的 撞 击 声 在 狂 风 之 中 很 难 听 清, 但 断 然 不 会 有 错 围 坐 在 桌 边 的 四 人 靠 得 更 紧 了 些, 并 不 是 因 为 害 怕, 而 是 为 了 取 暖 你 们 觉 得 呢?

國立屏東教育大學化學生物系

<4D F736F F D20C540A468BAC2BFEFB3F8A657B6B7AABE2E646F63>

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

untitled

C++ 程式設計

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

Microsoft Word - 实用案例.doc

JLX

C/C++ 语言 - 循环

2005.book

untitled

上海浦~1

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

untitled

言1.PDF

プログラムの設計と実現II

WWW PHP

IO

商 业 城 大 华 标 准 70 万 70 万 驰 宏 锌 锗 瑞 华 标 准 140 万 150 万 亚 星 锚 链 江 苏 公 证 天 业 标 准 80 万 80

欢迎辞

金 陵 饭 店 中 兴 华 已 报 备 按 照 国 资 委 要 求 定 期 轮 换 天 衡 已 报 备 按 照 国 资 委 要 求 定 期 轮 换 *ST 中 富 中 喜 已 报 备 业 务 约 定 书 到 期 普

辉 丰 股 份 重 大 事 项, 特 停 南 方 轴 承 临 时 停 牌 德 力 股 份 临 时 停 牌 瑞 丰 光 电 临 时 停 牌 联 建 光 电 临 时 停 牌 卡 奴 迪 路 临 时 停 牌

日 涨 幅 偏 离 值 达 到 7% 的 前 五 只 证 券 : 温 氏 股 份 ( 代 码 ) 涨 幅 偏 离 值 :11.68% 成 交 量 :1752 万 股 成 交 金 额 : 万 元 机 构 专 用 机 构 专 用

上市公司股东大会投票信息公告( )

股票代码: 股票简称:*ST新梅 编号:临

东 华 能 源 江 苏 苏 亚 金 诚 已 报 备 因 地 域 及 审 计 时 间 安 排 等 原 因 中 兴 华 已 报 备 客 户 重 新 选 聘 会 计 师 事 务 所 亿 帆 鑫 富 立 信 已 报 备 客

昆 明 机 床 瑞 华 已 报 备 前 任 服 务 年 限 较 长 毕 马 威 华 振 已 报 备 未 与 客 户 未 就 2015 年 审 计 收 费 达 成 一 致 意 见 中 国 核 电 天 健 已 报 备 定

Transcription:

AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, << AVR C >> 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2;

AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local variables) 16 32 Zero SUB R16,R24 SUBI R16,1 SBC R17,R25 SBCI R17,0 16

AVR C 9 3 Non-destructive comparison CP R16,R24 CPC CPC CPC R17,R25 R18,R26 R19,R27 Zero Switch Switches CASE Straight forward approach switch switch AVR Atmel IAR

AVR C 9 4 AVR C (Assembly) C : Cryptic code Non-portable C : I/O I/O: temp = PIND; IN R16,LOW(16) I/O: TCCR0 = 0x4F; LDI R16,79 OUT LOW(51),R16 I/O 0x1F I/O: PORTB = (1<<PIND2); SBI LOW(24),LOW(2) ADCSR &= ~(1<<ADEN); CBI LOW(6),LOW(7) 0x1F I/O:TCCR0 &= ~(0x80); IN ANDI R16,LOW(51) R16,LOW(127) OUT LOW(51),R16 I/O 0x1F while(pind & (1<<PIND6)); SBIC RJMP?0002 LOW(16),LOW(6) 0x1F while(!(tifr & (1<<TOV0)));

AVR C 9 5 IN R16,LOW(56) SBRS R16,LOW(0) RJMP?000416 8 : char count8 = 5; do while(--count8); LDI R16,5 DEC R16 BRNE?0004 Total 6 bytes 16 : int count16 = 5; do while(--count16); LDI R24,LOW(5) LDI R25,0 SBIW R24,LWRD(1) BRNE?0004Total 8 Bytes startup SRAM void main(void) char local; local=local - 34; SUBI Total 2 bytes R17,LOW(34) char global; void main(void) global=global - 45;

AVR C 9 6 LDS R16,LWRD(global) SUBI R16,LOW(45) STS LWRD(global),R16Total 10 Bytes : typedef struct int t_count; t; char sec; // global seconds char min; // global minutes t time; Void main(void) t *temp = &time; temp->sec++; temp->min++; temp->t_count++; char add(char number1, char number2) return number1+number2; R16-R23 for(; ;) char counter = 100; do while(--counter) ; Pre-decrement for(;;) do while; C AVR,

AVR C 9 7 9.2 C C C, AVR / UART Tool flow : AT90S8515 C Compiler C AVR Studio AVR SL-AVR AVR : Port D ( ) Port B (LED, ) ( 920.c) #include <io8515.h> /* AT90S8515 */ void main(void) char c; DDRB = 0xFF; /* PortB all outputs */ for(;;) /* Eternal loop */ c = PIND; /* Read Port D */ PORTB = c; /* Port B */ 9.2.1. C IAR Readme,,,, 921,,, 9.2.2 C IAR

AVR C 9 8 922 923

AVR C 9 9 Project -> Options

AVR C 9 10

AVR C 9 11 928 929, Project Make F9,,,,, 929

AVR C 9 12 9., *.d90, *.a90, 9210 9210 9.2.3 AVR Studio, C, 3.2 1. AVR Studio, 2. (TestProg.d90) - File -> Open 9211 AT90S8515 ( ) VIEW I/O (PinB, PortD) Processor Watch»c»PORTB»PIND, Toggle PIND bits 9211 Debug 9.2.4 ( 3.30 AVR )

AVR C 9 13 9.3 Main main C : void main(void) /* */ I/O #include <io8515.h> /* 8515 */ void main(void) DDRD = 0xFF; 9.3.1 / #include <io8515.h> void main(void) char c; /* Port D */ /* AT90S8515 */ DDRB = 0xFF; /* PortB */ for(;;) /* */ c = PIND; /* Port D */ PORTB = c; /* Port B */ 9.3.2 #include <io8515.h> /* 8515 */ void delay(unsigned int delayvalue) unsigned int i; for(i=0;i<delayvalue;i++) /* */ ; /* Do nothing */ 9.3.2A: void main(void)

AVR C 9 14 unsigned char runner = 0x01; DDRB = 0xff; for (;;) if (runner) runner <<= 1; /* Port B */ /* */ else runner = 0x01; PORTB = runner; /* LED */ delay(100); /* */ 9.3.3 /E2PROM /* IAR I/O /E2PROM */ #include <io8515.h> #include <ina90.h> void main(void) char temp = 0; _EEPUT(0x10,temp); /* E2PROM 0x10 */ _EEGET(temp,0x10); /* E2PROM 0x10 */

AVR C 9 15

AVR C 9 16

AVR C 9 17

AVR C 9 18

AVR C 9 19

AVR C 9 20

AVR C 9 21

AVR C 9 22

AVR C 9 23

AVR C 9 24

AVR C 9 25

AVR C 9 26

AVR C 9 27 A3 331 (510630), :020-87578852 85510191 13808842100 132 616 (100086), :010-82623551 82623550 13601177874 E-mail: gzsl@sl.com.cn; E-mail: bjslbb@ihw.com.cn; http://www.sl.com.cn