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

Similar documents
51 C 51 isp 10 C PCB C C C C KEIL

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

目 录

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

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS

DPJJX1.DOC

<4D F736F F D20B9F9B0EABBCDBBAFAB48DEB3B4C1A5BDB3F8A7692E646F63>

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

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

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

C C

CC213

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

2 12

新版 明解C言語入門編

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

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

FY.DOC

C/C++ - 文件IO

Microsoft Word - MSP430 Launchpad 指导书.docx

C语言的应用.PDF

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

目录

Microsoft Word - 專題封面.doc

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

ICD ICD ICD ICD ICD

W77E58中文手册

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

<4D F736F F D FB971BEF7BB50B971A46CB8735FB773A55FA5ABA5DFB7E7AADAB0AAAFC5A475B77EC2BEB77EBEC7AED55FA97EAE61C0F4B9D2B4BCBC7AB1B1A8EEA874B2CE2E646F63>

C

《计算机应用基础》学习材料(讲义)

STC90C51RC-cn.pdf

单片机原理及应用实验指导书.doc

CHAPTER 1

C/C++ 语言 - 循环

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

从MCS51向AVR的快速转换.PDF

Microsoft Word - 新正文.doc

LF 打印并走一行

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

3.1 num = 3 ch = 'C' 2

untitled

untitled

新・解きながら学ぶJava

103 USB C#.NET VB6 100 USB USB (Open Source) LibUsbDotNet USB Library.NET LibUsbDotNet Visual Basic.NET 2010 Express VB.NET 劉政鑫 王嘉鴻 i

C/C++ - 函数

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

C 1

CC213

展 望 与 述 评 2 广 电 设 备 与 技 术

资源库建设方案(11月14最新)

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se

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)

PIC16F F MPLAB 08 16F LED 15 LED

c_cpp

epub83-1

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

C

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

C/C++ - 字符串与字符串函数

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

新版 明解C++入門編

專題最終版.doc

Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15 LM361 LM361 Zlg

PIC_SERVER (11) SMTP ( ) ( ) PIC_SERVER (10) SMTP PIC_SERVER (event driven) PIC_SERVER SMTP 1. E-

ebook

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

Microsoft Word - SMB-63-2(簡体字).doc

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

华恒家庭网关方案

EK-STM32F

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica

概述

规格说明

untitled

PROTEUS VSM

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

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

nooog

<4D F736F F D20D4D3D6BECEC4B8E5C4A3B0E52E646F63>

C/C++ - 数组与指针

为 边 数 的 两 倍, 显 然 必 为 偶 数 而 ii 和 iii 则 不 一 定 正 确, 如 : 对 顶 点 数 N 1 无 向 完 全 图 不 存 在 一 个 顶 点 的 度 为 1, 并 且 边 数 与 顶 点 数 的 差 要 大 于 1 8. 考 查 m 阶 B- 树 的 定 义 A

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

\\Server\技術部結案計劃\已量產\

KT-SOPCx开发套件简明教程

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

02

Microsoft Word - CPE考生使用手冊 docx

学习MSP430单片机推荐参考书

CPU CPU Intel CPU AMD CPU CPU Socket A/Socket 370 CPU Socket 478 CPU CPU CPU CPU CPU

7688使用手冊V10.doc

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

CHAPTER VC#

Ctpu

untitled

<4D F736F F D20B2C43032B3B920B8EAAEC6ABACBA41BB50AAEDA5DCA6A12E646F63>

6020

untitled

NC MCP MPG

Transcription:

51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 -

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project 1 3 2 Ateml AT89C51 1 4 AT89C51 3 KEIL Demo C C 1 5 1 2 File New Ctrl+N - 2 -

#include <AT89X51.H> #include <stdio.h> void main(void) { SCON = 0x50; // 1, TMOD = 0x20; // 1 2 TCON = 0x40; // 1 TH1 = 0xE8; //11.0592MHz 1200 TL1 = 0xE8; TI = 1; TR1 = 1; // } while(1) { } printf ("Hello World!\n"); // Hello World 1 4-3 -

1 5 Hello World! 4 1 5 3 File Save Ctrl+S 1 3 test1.c KEIL C 1 6 Source Group1 Add File to Group Source Group 1 ADD Source Group1 + 1 6-4 -

5 C HEX HEX 1 7 1 2 3 1 2 3 3 5 123 4 6 \ Debug Start\Stop Debug Session Ctrl+F5 1 7 (6) 1 8 1 2 3 4 5 51 4 Hello World C \ KEIL KEIL uvision2-5 -

1 8 51 C PC C C C PC C 51 51 MSC51 51 Atmel AT89C51 AT89C2051 AT89 51 P 2 1 AT89C51 AT89C2051-6 -

AT89C51 AT89C2051 4KB Flash 1000 2KB Flash 1000 :0Hz-24MHz 128 RAM 2 16 / :0Hz-24MHz 128 RAM 2 16 / 6 6 32 I/O 15 I/O 2 1 1 AT89C51 AT89C2051 2 1 AT89C51 AT89C2051 2 1 AT89C2051 IO RAM ROM Flash AT89C51 AT89C51 1. Vcc 40 GND 20 5V AT89LV51 2.7-6V, 2. 2 2 XTAL1 19 XTAL2 18 XTAL1 XTAL2 XTAL1 XTAL2 12MHz 6MHz 1MHz-24MHz 30PF - 7 -

AT89C51 12,16,20,24MHz AT89C51 24PC 24MHz,40P6 3. RST 9 24 51 P0 P3 1 SFR ROM 00H 2 3 RAM 2 3 4. (1) P0 [P0.0-P0.7] P0 8 I/O 1 1 8 TTL Flash ; P0 ( 8 )/ (2) P1 [P1.0 P1.7] P1 8 I/0 4 TTL 1 Flash 8 (3) P2 [P2.0 P2.7] P2 8 I/0 4 TTL 1 Flash 8 16 P2 8 8-8 -

(4) P3 [P3.0 P3.7] P2 8 I/0 4 TTL 1 Flash P3 2 2. P1 3 P3 P3.0 RXD P3.1 TXD P3.2 0 INT0 P3.3 1 INT1 P3.4 0 (T0) P3.5 1 (T1) P3.6 WR P3.7 RD 2 2 P3 4.7 10K Vcc GND 5. (1) ALE/PROG 30 ALE ALE ( 1/6) ALE Flash PROG (2) PSEN 29 AT89C51 2 (3) EA/Vpp 31 AT89C51 0000H-FFFFH, Flash Vpp Vpp 2 3 Vpp = 12V Vpp = 5V AT89C51 AT89LV51 AT89C51 AT89LV51 xxxx YYWW xxxx YYWW xxxx-5 YYWW xxxx-5 YYWW 030H=1EH 030H=1EH 030H=1EH 030H=1EH 031H=51H 031H=61H 031H=51H 031H=61H 032H=FFH 032H=FFH 032H=05H 032H=05H 2 3 Vpp - 9 -

AT89C51 C HEX C KEIL uvision2 HEX HEX Intel,, 16, test.uv2 3 1 1 Options for Target Target1, Project Output 3 2 1 2 3 HEX HEX 3 3 3 1 1 Project 3 1-10 -

3 2 3 3 PC Windows, 1200 Hello World! AT89C51 3 4 AT89C51, LED 11.0592MHz 12MHz, 1 VCC +5V 31 OneLED http://cdle.yeah.net http://cdle.126.com - 11 -

#include <AT89X51.h> // void main(void) // { // unsigned int a; // a int /* */ do{ //do while for (a=0; a<50000; a++); // P1_0 = 0; // P1.0 LED for (a=0; a<50000; a++); // P1_0 = 1; // P1.0 LED } while(1); } 3 4 AT89C51 KEIL C // /* */ C C main main - 12 -

main main OneLED LED IO 1 for (a=0; a<50000; a++) LED LED C C 1 Timer1 TIMER1 1Timer C51 32 P KEIL uvision2 ANSI C 32 51 KEIL uvision2 C 1-1 1-2 4 1 KEIL uvision2 C51 C char,int,short,long,float double C51 int short float double unsigned char 0 255 signed char -128 +127 unsigned int 0 65535 signed int -32768 +32767 unsigned long 0 4294967295 signed long -2147483648 +2147483647 float 1.175494E-38 3.402823E+38 * 1 3 bit 0 1 sfr 0 255 sfr16 0 65535 sbit 0 1 4 1 KEIL uvision2 C51 1 char char unsigned char signed char signed - 13 -

unsigned char 0 255 signed char 0 1-128 +127 unsigned char ASCII 255 1 2 int int int signed int unsigned int signed signed int -32768 +32767 0 1 unsigned int 0 65535 unsigned char unsigned int LED 4 1 D1 unsigned int D2 unsigned char 4 1 4 TwoLED, #include <AT89X51.h> // - 14 -

void main(void) // { unsigned int a; // a unsigned int unsigned char b; // b unsigned char do { //do while for (a=0; a<65535; a++) P1_0 = 0; //65535 P1.0 LED P1_0 = 1; // P1.0 LED for (a=0; a<30000; a++); // for (b=0; b<255; b++) P1_1 = 0; //255 P1.1 LED P1_1 = 1; // P1.1 LED } for (a=0; a<30000; a++); // } while(1); D1 D2 b 0 255 for (b=0; b<255; b++) for (b=0; b<256; b++), b 256 P1_1 = 1 a 0 65535 3 long long long signed long unsigned long signed signed int -2147483648 +2147483647 0 1 unsigned long 0 4294967295 4 float float 7 IEEE 754 5 * - 15 -

C51 1 3 6 bit bit C51 0 1 Boolean True False 7 sfr sfr 0 255 51 sfr P1 = 0x90 P1 P1 P1 = 255 P1 AT89C51 8 sfr16 16 sfr16 0 65535 sfr16 sfr T0 T1 9 sbit sbit C51 RAM sfr P1 = 0x90; // P1 sbit P1_1 = P1 1; //P1_1 P1 P1.1 // P1.1, sbit P1_1 = 0x91; P1_1 P1.1 KEIL C51 C51 1 123,0 89 0x 0x34,-0x3B L 104L 034L 0xF340 2-16 -

0.888,3345.345,0.0 0 [ ] [. ]e[ ] [], 125e3,7e9,-3.0e-3 3 a, d 5 1 4 test, OK C o A A 5 o n r t b f ASCII 16/10 (NULL) 00H/0 (LF) (CR) 0AH/10 0DH/13 (HT) 09H/9 (BS) 08H/8 (FF) 0CH/12 ' 27H/39 " 22H/34 5CH/92 5 1, #difine False 0x0; // #difine True 0x1; // False 0,True 1 // False 0 True 1 unsigned int code a=100; // code a const unsigned int c=100; // const c int a=110 a++ 6 LED P1 LED 5 1 RunLED #include <AT89X51.H> // P1 P1 void main(void) { // cons tunsigned char design[32]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, - 17 -

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF, 0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x0, 0xE7,0xDB,0xBD,0x7E,0xFF}; unsigned int a; // unsigned char b; // C51 // do{ for (b=0; b<32; b++) { for(a=0; a<30000; a++); // P1 = design[b]; // P1 } }while(1); }, LED AT89C51 P1 P1 O LED P1 P1 P1 0xFE, 11111110, D0 0 P1.0 LED1 a KEIL uvision2 IO 5 1-18 -

Peripherals I/O Ports Port1 Port1 5 3 2 Port1 5 3 1 5 2 1 / / Breakpoints P1 = design[b]; Port1 5-2 2 Port1 Port1 P1 P1 P1 Pins 1 5 2 2 3 5 3 3 Watches design code D:0x08, 4 Memory Address D:0x08 design uvision2 View 5 2 3 5 2 5 3-19 -