当前位置:文档之家› 最新郭天祥51单片机笔记

最新郭天祥51单片机笔记

最新郭天祥51单片机笔记
最新郭天祥51单片机笔记

1)二极管

导通电流I:3mA-10mA;导通压降v:1.7V。

(排阻计算公式:R = VCC(5V)-v(1.7V)/I(3mA) )。

2)电源指示灯

开关电源:内部有开关控制电流大小,不稳定。

去耦电容:稳压,去波。

3)锁存器(74HC573)

OE:OutEnable,低电平有效(必须为低电平)。

输入端:OE(1),LE(11锁存端diola),D(D0(2)-D7(9),一般接P1^0-P1^7)。

输出端:Q(1Q-8Q)。

Z:高阻状态,非高非低电瓶。

LE:为高时,Q端与D同变换;为低电平时,Q端保持上次状态。

sbit LED00 = 0x80; //位指针;指针大小占一个字节;指针控制一个位的值;

sfr LED0 = 0x80; //字节指针;指针大小占一个字节;指针控制一个字节的值;4)51库函数

头文件:#include

函数:unsigned char _crol_(unsigned char c,

unsigned char b);

描述:The _crol_ routine rotates the bit pattern for the character c left b bits. This routine is implemented as an intrinsic function. The _crol_ routine returns the

rotated value of c.

5) 蜂鸣器

名称:b:基极;C:集电极;e:发射集;

原理:e极发射电子;当b极接低电平时,

ce导通,并且放大电流;当b接高电平时,

ce截止。JPFMQ接P3.6管脚。

分类:有源蜂鸣器;无缘蜂鸣器。(源:

震荡源)

Proteus:buzzer-有源;sounder、speaker-

无源。

端口电压:0.02v。

6) 数码管

P0管脚:没有上拉电阻,所有有三态。P1、P2、P3管脚:有上拉电阻,没有三态。

分类:共阴极;共阳极。

显示方法:静态,动态。

段选:P0.0-P0.7。

位选:P2.0-P2.7。

7)继电器

接口:P3.7。

D4:引流二极管,防止断电烧坏电炉原件。

8)独立键盘

K1-K4:P3.2-P3.5。

K5-K8:P1.4-P1.7。

独立键盘检测程序:

#include

void main()

{

while(1)

{

if(K1 ==0)

{

delay(20);//大约延时10-20ms

if(K1 ==0)

{

//确独立按键K1按下

}

}

while(!K1);//确认为一次动作

}

}

9)4*4矩阵键盘

行线:P1.0-P1.3。

竖线:P1.4-P1.7。

优点:占用端口少,硬件电

路简单。

缺点:编程较复杂。

矩阵键盘的检测方法:扫描

法和线反转法。

程序实例:

1)扫描法

#include

#define uchar unsigned char

#define uint unsigned int

uchar i,j,temp_num,num =16;

uchar code scan[]={0xfe,0xfd,0xfb,0xf7};//1111 1110 - 1111 0111

uchar code coding[][4]={//扫描码

0xee,0xde,0xbe,0x7e,

0xed,0xdd,0xbd,0x7d,

0xeb,0xdb,0xbb,0x7b,

0xe7,0xd7,0xb7,0x77};

uchar code num_code[]={

0xc0,0xf9,0xa4,0xb0,//数码管0-16编码

0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x8e,

0xfe};

void delay(uint k)//延迟函数

{

uint data i,j;

for(i=0;i

{for(j=0;j<180;j++)

{;}}

}

void main()

{

P1 =0xff;

while(1)

{

P1 =0xf0;

if(0xf0!= P1)//第一次检测

{

// delay(20); //消抖

// P1 = 0xf0; //第二次检测

// if(0xf0 != P1)//实践证明不必消抖也是可以的

// {

temp_num = num;

for(i=0;i<4;i++)

{

P1 = scan[i];

for(j=0;j<4;j++)

{

if(coding[i][j]== P1)

{

num =4*i + j;

break;

}

if(num != temp_num)

break;

}

}

//}

P1 =0xf0;

while(0xf0!= P1);//防止多次检测

}

P0 = num_code[num];

P2 =0x7F;

}

}

2)线反转法

#include

#define uchar unsigned char

#define uint unsigned int

sbit P37 = P3^7;//继电器接口

uchar code coding[]={

0xee,0xde,0xbe,0x7e,

0xed,0xdd,0xbd,0x7d,

0xeb,0xdb,0xbb,0x7b,

0xe7,0xd7,0xb7,0x77};

uchar code num_code[]={0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x8e,

0xfe};

uchar Key =16;//表示按键编号

void delay(uint m)

{

uint k;

while(--m)

{

for(k=0;k<180;k++);

}

}

uchar detection()//检测按键

{

uchar scan1,scan2,key_code,i;

P1 =0xf0;

scan1 = P1;

if(0xf0!= scan1)

{

// delay(30);

// scan1 = P1;

// if(0xf0 != scan1)

// {

P1 =0x0f;

scan2 = P1;

key_code = scan1 | scan2; //组合编码

for(i=0;i<16;i++)

{

if(key_code == coding[i])

{

Key = i;

P37 =!P37;

return i;

}

}

// }

// P1 = 0xf0; 去掉上面的return就可以,两种区别是:

// while(0xf0 != P1);1)按下就显示;

// 2)按下放开之后才显示.

}

else

P1 =0xff;

return16;

}

void dispalyI(uchar i)//数码管显示函数

{

P2 =0x7f;

P0 = num_code[i];

}

void main()

P1 =0xff;

while(1)

{

detection();

dispalyI(Key);

}

}

10)中断、计时、计数

1.中断源:

1)两个外部中断源:INT0(P3.2),INT1(P3.3)。(INT: interrupt)

2)三个片内定时器:T0(外部计数P3.4),T1(外部计数P3.5),T2。(Timer)3)一个串口中断请:TI/RI。

2.定时器控制寄存器TCON

TF0/TF1(Timer Flag):定时器0/定时器1溢出中断申请标志位,=0未溢出,=1溢出申请中断,进入中断后自动清零。

TR0/TR1(Timer Running):定时器运行启动控制位,=0定时器停止运行,=1定时器启动运行。

IT0/IT1(Interrupt Trigger触发):外部中断请求触发方式选择位,=0外部中断低电平触发,=1外部中断负跳变触发。

IE0/IE1:外部中断申请标志位,=0没有外部中断,=1有外部中断。

3.定时器允许寄存器IE(Interrupt Enabled)

EX0/EX1(Enabled eXternal):分别是外部中断INT0/INT1中断允许控制位,=0禁止中断,=1允许中断。

ET0/ET1(Enabled Timer):分别是片内计时器T0/T1中断允许控制位,=0,禁止中断,=1允许中断。

ET2:T2中断允许控制位。

EA:总中断控制位,=0禁止全部中断,=1允许中断。

4.中断优先级控制寄存器IP(Interrupt Priority)

PX0/PX1(Priority eXternal):INT0/INT1优先级控制位,=0低优先级,=1高优先级。

PT0/PT1/PT2(Priority Timer):T0/T1/T2中断优先级控制。

PS1(Priority serial port):串口中断优先级控制位。

5.定时器方式寄存器TMOD

常用工作方式:

(M1,M0) = (0,1):16位定时器。

(M1,M0) = (1,0):8位自动重装定时器。

C/T:计数器/定时器选择位,=0定时,片内计数;=1片外计数(T0,T1)。GATE门控制位:=0由TRx启动计数器/定时器(TRx=1启动);=1由TRx和INTx 共同启动(TRx=1,INTx=1启动)计数器/定时器。

6.interrupt m修饰符

m:

0—外部中断INT0

1—定时/计数中断T0

2—外部中断INT1

3—定时/计数中断T1

4—串口中断

5—定时/计数中断T2

外部中断过程:

1)开启中断总开关

EA = 1;//Enabled All

2)开启外部中断INT0开关

EX0 = 1;

3)选择外部中断的中断触发方式

IT0 = 1;//0低电平触发,1负跳变触发

4)设定优先级

PX0 = 1;//0低优先级,1高优先级

5)声明外部中断函数

void EexternInterrupt()interrupt 0 //0外部中断0

{…}

定时器/计数器发生过程:

1.定时器/计数器选择:定时器和计数器都是片内16位计数内存工作,当

作为计数器时,片内16位计数内存是对外部T0/T1引脚的矩形波进行计数;当做为定时器时,片内16位计数内存是对晶振产生的方波进行12

分频后所得的方波进行计数;定时和计数是由定时器方式寄存器TMOD的C/T位进行选择的。

2.定时/计数溢出事件方法

当片内16位计数内存溢出时则触发溢出事件,溢出事件的发生可以有定时/计数中断产生,也可由软件检测溢出标志位TFx位的值产生。

定时/计数中断程序过程:

1)打开总中断开关

EA = 1;

2)打开计时器中断开关

ET0 = 1;

3)选择启动方式、计数/定时、计数方式

TMOD = 0x01;//TR0启动,定时(片内计数),16计数方式

4)计数内存高低位置初值

TH0 = 0x01;

TL0 = 0x01;

5)启动计数/定时器

TR0 = 1;

6)声明中断函数

void TimerInterrupt()interrupt 1

{

TH0 = 0x01;//重装计数内存

TL0 = 0x01;

}

定时/计数软件检测程序过程:

1)选择启动方式、计数/定时、计数方式

TMOD = 0x01;//TR0启动,定时(片内计数),16计数方式

2)计数内存高低位置初值

TH0 = 0x01;

TL0 = 0x01;

3)启动计数/定时器

TR0 = 1;

4)软件检测TFx标志位

While(1)

{

if(TF0 == 1)

{

TF0 =0;//必须手动清零

TH0 = 0x01;//重装计数内存

TL0 = 0x01;

}

}

郭天祥资料大全

研究生郭天祥放弃15万年薪回校自主创业 编者按: 国家统计局哈尔滨调查队最新调查数据显示,目前哈市大学生毕业去向中,自主创业者仅占调查人数的8.7%,这个比率在五个去向中是非常低的。今年高校毕业生就业形势严峻,国家有关部门大力提倡大学生自主创业,并出台了很多优惠、扶持政策。为了鼓励和支持大学生自主创业,从今天开始,本报推出“创业难贵在坚持”系列新闻故事,在为那些正在创业路上艰难行走的青年学子提供鼓励和支持的同时,也期盼有关部门能对创业学子所遇到的困难给与必要的重视和尽可能的帮助。 在读大学本科和研究生的6年中,郭天祥在学校的创新实验室足足待了4年。 今年,即将从哈尔滨工程大学硕士研究生毕业的郭天祥和该校的7名本科生、研究生共同组建了一家公司。虽然公司刚刚起步,但是他们在行业中已小有名气,首年销售额预计会达到一个令人惊喜的数额。 实验室成了家 “2002年刚入校时,我就给自己设定了一个目标,将来一定要自己去创业。大二下学期,我突然感觉到:如果想在自己的专业领域进行创业,必须要先学会动手。所以,我就找到同学商量一起参加学校的电子设计竞赛。”郭天祥说。 在首次尝试中,他失败了。当时学校教电路基础课的付永庆教授被两个年轻人的求知热情感动了,将他们吸纳入创新实验室工作。这之后,实验室便成了郭天祥的另一个家。 “单片机相当于电子产品的大脑,如果这个核心控制器件失灵的话,那么家里的电冰箱、微波炉、电视、空调等电子产品恐怕都要变成废品了。”得悉这个信息之后,郭天祥将自己的研究方向定在了单片机上。 当时苦于没有硬件实验环境,身边又没有会的人可以请教,郭天祥只好上网查找资料自学。看见网上有卖单片机学习板的,他省下生活费狠心买了一块300多元的单片机学习板做练习用。“那时我每天就摆弄单片机,自己一个人摸索非常难懂的汇编语言。快放暑假时,终于做出来第一个单片机作品——一个电子钟。” 为寻找锻炼的机会,郭天祥每天早上起床后就拿着书去实验室,白天在实验室写程序、调电路,做各种硬件练习,晚上回来补充理论知识,模电、数电、高频一遍遍地重复看,几乎每天都要熬到第二天凌晨两点。这一年中,郭天祥陆续参加了国家及省级竞赛,也获得了不少奖项。 放弃15万年薪回校创业 2007年9月,郭天祥以实习生的身份到一家太阳能公司做硕士课题。实习期间,他经常与技术人员热烈讨论并交流,在一次次研发思路碰撞中,他们的产品创新思路也在一步步地改进完善。

郭天祥新概念51单片机C语言教程例题

目录 例2.2.1编写程序,点亮第一个发光二极管(part2_1.c P27 ).............. - 4 -例2.5.1利用for语句延时特性,编写第一个发光二极管以间隔1S亮灭闪动的程序(part2_3.c P42) ......................................................................................... - 5 -例2.6.1编写程序使第一个发光二极管以间隔500ms亮灭闪动。(part2_4.c P48)................................................................................................................................... - 5 - 例2.7.1编写程序使第一个二极管以亮200ms、灭800ms的方式闪动。(part2_5.c P49) ........................................................................................................................... - 6 -例2.8.3利用C51自带库_crol_(),以间隔500ms,实现流水灯程序(part2_6.c P53) ........................................................................................................................ - 6 -例3.2.1编写程序使第一个数码管显示8(part2.1_.1c P59)..................... - 8 -例3.2.2让实验板上6个数码管同时点亮,依次显示0到F,时间间隔为0.5ms,循环下去。(part2.1_2.c P61) ............................................................................ - 8 -例3.3.1第一个数码管显示1,时间为0.5s,然后关闭它,立即让第二个数码 管显示2,时间为0.5s,在关闭它……一直到最后一个数码管显示6,时间同样为0.5s,关闭它之后再回来显示第一个数码管,一直循环下去。(part2.1_3.c P62)................................................................................................................................... - 9 -例3.5.1利用定时器0工作方式1,在实验板上实现第一个发光管以1s亮灭闪烁。(part2.1.4.c P74) ................................................................................... - 11 -例3.5.2用定时器0的方式1实现个第一发光二极管以200ms间隔闪烁,用定时器1的方式1实现数码管前两位59s循环计时。(part2.1_5.c P75)... - 12 -例4.1.1用数码管前两位显示一个十进制数,变化范围为00~59,开始时显示00,每按下S2键一次,数值加1;每按下S3键一次,数值减1;每按下S4键一次,数值归零;按下S5键一次,利用定时器功能使数值开始自动每秒加1,再次按下S5键,数值停止加1,保持显示原数。(part2.2_1.c P82) ......... - 14 -例4.2.1实验班上电时,数码管不显示,顺序按下矩阵键盘后,数码管上依次显示0~F,六个数码管同时静态显示即可。(part2.2_2.c P87)............... - 17 -例5.3.1用单片机控制ADC0804进行数模转换,当拧动实验板上A/D旁边的电位时,在数码管的前三位以十进制方式显示出A/D转换后的数字量(8位

单片机资料百度盘

一、51单片机 1、祥云51单片机学习光盘(视频教程、例程、操作系统)适合初学者 资料下载链接:https://https://www.doczj.com/doc/948108140.html,/cJzLQdrBfp2KD 访问密码8f77 2、普中51单片机学习光盘 https://www.doczj.com/doc/948108140.html,/s/1pK0c4BL 3、郭天祥----十天征服单片机 https://www.doczj.com/doc/948108140.html,/s/1i4N2Hrn 4、新概念51单片机C语言教程.入门、提高、开发(500页,郭天祥著) https://https://www.doczj.com/doc/948108140.html,/cYAYJtgFJNUup 访问密码9eb1 5、力天电子51单片机视频教程 https://www.doczj.com/doc/948108140.html,/s/1hrulifU 6、天狼星51单片机视频教程 链接:https://www.doczj.com/doc/948108140.html,/s/1pKsD3b9 密码:scy4 8、STC12C5A60S2例程 https://https://www.doczj.com/doc/948108140.html,/cjPpH7uBBbIr8 访问密码a471 二、AVR单片机 1、郭天祥--十天学会AVR单片机视频教程 https://https://www.doczj.com/doc/948108140.html,/cwVbV5mWw9pxk 访问密码34ba 1、锐志电子AVR单片机视频教程

https://https://www.doczj.com/doc/948108140.html,/cweRHU4JUSypY 访问密码64b2 2、手把手AVR单片机视频教程 https://https://www.doczj.com/doc/948108140.html,/cm926G3YrWKhG 访问密码dccb 3、DY_miniAVR单片机光盘资料 https://https://www.doczj.com/doc/948108140.html,/c3fIFUrWu4LEG 访问密码0036 4、AVR代码生成器 https://https://www.doczj.com/doc/948108140.html,/c3fILqj5h3aT9 访问密码2061 5、AVR开发工具 https://https://www.doczj.com/doc/948108140.html,/c3fI3satMGmSh 访问密码d356 6、AVR例程 https://https://www.doczj.com/doc/948108140.html,/c3fIFfSgCzhWE 访问密码48c1 三、msp430单片机 1、郭天祥---十天学会msp430单片机 https://https://www.doczj.com/doc/948108140.html,/cYAYvyxDBaHgr 访问密码4dca 2、力天msp430单片机视频教程 https://https://www.doczj.com/doc/948108140.html,/cYAY83HwRumTn 访问密码d66c 3、msp430 c语言.pdf https://https://www.doczj.com/doc/948108140.html,/cYAY577Ucc7b2 访问密码86b3 4、msp430教程.pdf https://https://www.doczj.com/doc/948108140.html,/cYAYtXwXYesgC 访问密码ccbf 5、IAR C 430标准库函数.pdf https://https://www.doczj.com/doc/948108140.html,/cYAYnInwURHZx 访问密码52ef

51单片机 头文件详解教程

/********************************** 51单片机头文件 单片机头文件原理及内部接口技术 王俊涛整理修改 QQ:853210627 page页码为郭天祥《新概念51单片机c语言教程》中页码 将其复制到文本文档改扩展名为.h ***********************************/ /*-------------------------------------------------------------------------- REG51.H Header file for generic 80C51 and 80C31 microcontroller. Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved. --------------------------------------------------------------------------*/ #ifndef __REG51_H__ #define __REG51_H__ /* BYTE Register */ // 四个IO口全部能位寻址 sfr P0 = 0x80; //三态双向IO口P0口 //低8位地址总线/数据总线 sfr P1 = 0x90; //准双向IO口P1口 //用户专用 sfr P2 = 0xA0; //准双向IO口P2口 //高8位地址总线/无外部ram或rom时为用户IO口sfr P3 = 0xB0; //双功能 //1.准双向IO口P3口 //2.P30 RXD串行数据接受 // P31 TXD串行数据发送 // P32 外部中断0 信号申请 // P33 外部中断1 信号申请 // P34 定时/计数器T0 外部计数脉冲输入 // P35 定时/计数器T1 外部计数脉冲输入 // P36 WR 片外RAM写脉冲信号输入

51单片机的AD转换

51单片机的AD转换 姓名:史旭超学号:0845531133 专业:电子信息工程 摘要:AD转换器是一种能把输入模拟电电压或电电流变成与它成正比的数数字量,即能把被控对对象的各种模拟信息变成计计算机可以识别的数字信息。在单片机测控系统中,被采集的实时信号多为连续变化的模拟量,由于单片机只能处理数字量,所以就需要将连续变化的模拟量转换成数字量,即A/D转换。本次设计中AD转换器选用ADC0809,将其与单片机,8255共同构成转换电路。关键词:ADC0809 单片机8255 汇编语言 一、芯片介绍 1.A/D转换芯片0809引脚与功能简介 ADC0809是由美国国家半导体公司推出的8位逐次逼近式A/D转换器,包括8位模/数转换器、8通道多路转换器和与微处理器兼容的控制逻辑。8通道多路转换器能直接连通8个单端模拟信号中的一个。ADC0809与C51单片机有3种接口方式:查询方式、中断方式和等待延时方式。每采集一次一般需100us。中断方式下,A/D转换结束后会自动产生EOC信号。 (1)ADC0809内部逻辑结构如下图所示: 图1 ADC0809的内部逻辑结构 ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字

量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。 (2) ADC0809引脚结构功能 D7-D0:8位数字量输出引脚。 IN0-IN7:8位模拟量输入引脚。 VCC:+5V工作电压。 GND:地。 REF(+):参考电压正端。 REF(-):参考电压负端。 START:A/D转换启动信号输入端。 ALE:地址锁存允许信号输入端。 (以上两种信号用于启动A/D转换). EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。OE:输出允许控制端,用以打开三态数据输出锁存器。 CLK:时钟信号输入端(一般为500KHz)。 A、B、C:地址输入线。 图2 ADC0809引脚分布 (3)ADC0809通道选择 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表所示:

单片机视频教程全集分享_华清远见

单片机视频教程全集分享 万事开头难,想要学习单片机的同学们,在一开始也许会迷茫。华清远见为大家分享单片机视频教程全集,希望对你们的单片机学习之路有一定的帮助。在我们学习单片机视频教程全集之前,现在了解一下单片机要如何学习。 学习单片机需要什么基础? C语言:简单的C语言基础就可以,甚至于刚开始的时候,数组、指针等知识都不需要会。但是为了将来的发展,希望大家可以好好将C语言学好。 了解51单片机的基本结构:关于这一点,只需要看几天书就可以了。或者说在大家开始学51单片机的时候,花点时间看看就可以,无需深究,只需了解。 具备以上两点,你就可以开始单片机的学习了。 学习单片机需要准备什么? 一套好的单片机学习板,单片机是个实实在在的东西,不动手实践根本学不会!如果你确定你要学习单片机的话,你必须有一套学习板;如果你手头没有一套单片机学习板,就想学习单片机,你还是放弃吧。不知道如何选择的,可以翻看之前分享的文章(单片机学习板如何选择) 一本好的单片机的教材和一些单片机学习网,单片机教材的话,个人推荐郭天祥老师的《新概念51单片机》。 一台电脑,电脑主要是用来编写程序的。学习单片机或者C语言的时候,不要只是在那看代码,我们需要亲自动手敲代码。 一家靠谱的单片机培训机构,想要系统学习单片机的话,建议还是找一家专业的培训机构,例如华清远见。参加单片机培训机构不仅学习时间短,而且学习效果有保障,几个月培训就能实现入门到精通。 学习单片机的步骤 1、熟悉单片机的原理,结构; 2、学好数电,模电,为设计电路打好基础; 3、熟练使用C语言,多学习别人的程序; 4、对操作系统原理有一定的了解; 5、Protel至少要有点基础; 6、要实际动手调试电路的能力。

Proteus制作的郭天翔《十天学会51单片机》的学习板

Proteus制作的郭天翔《十天学会51单片机》的学习板 本文链接:https://www.doczj.com/doc/948108140.html,/s/blog_574d08530100hqw0.html 此篇文章说明: 1.想免费体验郭天翔TX-1C的51学习板而又不怕麻烦请往下看,怕麻烦的请再去别处找找吧。 2.这篇文章的作用:在没有郭天翔《十天学会51单片机》视频配套的TX-1C开发板的情况下,你也可以在Proteus下体验一下TX-1C的大部分功能。也就是说 用我提供的TX-1.DSN文件(我在Proteus下手动绘制的TX-1C开发板的仿真文件的文件名),你可以在Proteus下边看边动手学完郭天翔《十天学会51单片机 》视频的1-10课,第10-11课我自己也没时间学,大家自学。12课是讲protel99的,13课是讲altium designer 的。 3.个人强烈推荐大家在Proteus下体验完TX-1.DSN后,再去郭天翔的官方网站上买一块实物TX-1C开发板,亲密接触下实物51单片机,对学习单片机会更有 好处的。 4.下面给出Proteus下仿真TX-1C学习板的TX-1.dsn仿真学习板文件下载地址及相关的必装软件 TX-1.dsn仿真学习板CSDN下载地址:https://www.doczj.com/doc/948108140.html,/source/1974798 Proteus 7.5 sp3 keil2 Proteus和keil2联调驱动CSDN下载地址:https://www.doczj.com/doc/948108140.html,/source/1834258 安装keil和Proteus联调驱动说明 串口调试助手 虚拟串口 5.下面给出学习必备课本教材的PDF下载地址: 郭天翔的《十天学会51单片机》视频教程下载地址:ftp://https://www.doczj.com/doc/948108140.html,/

51单片机的学习步骤

51单片机的学习步骤 从刚开始接触单片机,到现在已经有4年的时间了,在这期间学习和使用了51单片机、飞思卡尔单片机,LPC2138,PIC16F887等系列的单片机,每接触一款单片机,都会经历熟悉其基本开发,然后将其用于项目中的过程,对于如何学习一款单片机,自己做了如下的总结。 大家都知道,51单片机是最容易入门的,不仅因为其编程简单,更重要的是网上的资料非常丰富。所以一般学习单片机开发的都将51单片机作为入门开发的首选。我学习51单片机的时候是采用这样的一个步骤进行学习的: 第一步(熟悉的过程):买了一款51单片机开发板,然后就开始了我的学习之旅,刚开始的时候没有去看视频教程,而是对着一本实验教材进行学习,那本实验教材的名字记不清楚了,但是其内容就是围绕单片机的LED灯进行控制,将51单片机内部的各个功能部件全部都使用到了,这样就能使我在很短的时间内,通过控制LED灯的亮、灭熟悉了51单片机的内部的各种资源,这时对51单片机也就没有感到陌生了。所以,个人觉得,学习单片机,要从实验入手,先熟悉单片机再说,开发语言开始使用的是C语言。 第二步(进阶的过程):有了第一步的基础之后,接下来的便是进阶的过程,当时,我看的是郭天祥十天学会单片机的视频教程,因为这个教程从基础到复杂的编程慢慢深入,讲的比较的全面,而且也生动,所以那一阶段,也是我学习单片机进步最快的阶段,每次听课的时候,按照上面的实验,以及课堂上面调试程序时出现的一些问题,自己认真的在电脑上进行调试,并分析产生故障的原因,让我有了一定的开发基础。在看完了视频教程之后,后面又对基础的知识进行了下补习,主要是看单片机原理性的教材,因为有些细节性的东西还是要从教材上面获得。 第三步(项目实战的阶段):学习单片机的时候,虽然也编写了一些程序,但是那些都是一些很小的模块程序,并没有起到综合应用的目的,所以在这之后,我和另外一个学习硬件的同学一起组成了一个小的团队,进行项目实践开发,那时候,实验室的条件比价好,有

51单片机C语言教程-郭天祥-PDF转word版第二章

第2章Keil软件使用及流水灯设计 本章详细介绍单片机程序常用编译软件Keil的用法,包括用Kei建立工程、工程配置、C51单片机程序软件仿真、单步、全速、断点设置、变量查看等。同时还介绍如何使用SST89E516RD单片机进行计算机与TX-IC单片机学习板之间的硬件仿真。用一个完整的C51程序来操作发光二极管的点亮与熄灭,然后调用C51库函数来方便地实现流水灯,最后为大家补充蜂鸣器与继电器的操作方法及集电极开路与漏极开路的概念。从这一章开始我们将手把手地讲解单片机C语言编程。认真学好本章,对于初学者来说将会是一个非常好的开头。 2.1 Kell工程建立及常用按钮介绍 在使用Keil软件之前,要保证在用户的计算机上装有一套稳定可靠的软件。本教材中讲解的Keil版本为V6.12,为了能让大家更方便地学习本软件的用法,建议大家在学习本教材时尽量选择该版本。 在本书中,我们强烈推荐的学习方法是边学边用,所以在这里我们不会像传统专业书籍那样,将某个软件的所有功能事先都讲解得非常仔细,很多不用的地方我们不做说明,需要用到什么,我们就学习什么,这样才能有效地理解它、记忆它,最终达到学以致用的目的。 2.1.1 Keil工程的建立 进入Keil后,屏幕知图2.1.1所示,紧接着出现编辑界面,如图2.1.2所示。 图2.1.1 启动Keil软件时的屏幕 (1)建立一个新工程单击菜单中的选项,如图2.1.3所示。

图2.1.2进入Keil软件后的编辑界面 图2.1.3新建工程 (2)选择工程要保存的路径,输入工程文件名。Keil的一个工程里通常含有很多小文件, 为了方便管理,通常我们将一个工程放在一个独立文件夹下,比如保存到part2_l文件夹,工程文件的名字为part2_l,如图2.1.4所示,然后单击<保存>按钮。工程建立后,此工程名变为part2_l.uv2。 图2.1.4保存工程 (3)这时会弹出一个对话框,要求用户选择单片机的型号,可以根据用户使用的单片机来选择。Keil C51几乎支持所有的51内核的单片机,TX-1C实验板上用的是STC89C52,我

相关主题
文本预览
相关文档 最新文档