文档库 最新最全的文档下载
当前位置:文档库 › 51单片机笔记经典2

51单片机笔记经典2

51单片机笔记经典2
51单片机笔记经典2

一、填空题

1、AT89S51单片机为8 位单片机,共有40 个引脚。

2、MCS-51系列单片机的典型芯片分别为8031 、8051 、8751 。

3、AT89S51访问片外存储器时,利用ALE 信号锁存来自P0口发出的低8位地址信号。

4、AT89S51的P3口为双功能口。

5、AT89S51内部提供 2 个可编程的16 位定时/计数器,定时器有4 种工作方式。

6、AT89S51有 2 级中断, 5 个中断源。

7、AT89S51的P2 口为高8位地址总线口。

8、设计一个以AT89C51单片机为核心的系统,如果不外扩程序存储器,使其内部4KB 闪烁程序存储器有效,则其EA* 引脚应该接+5V

9、单片机系统中使用的键盘分为独立式键盘和行列式键盘,其中行列式键盘的按键识别方法有扫描法和线反转法。

10、AT89S51内部数据存储器的地址范围是00H~7FH ,位地址空间的字节地址范围是20H~2FH ,对应的位地址范围是00H~7FH ,外部数据存储器的最大可扩展容量是64K 。

11、如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= 0ABH ,(R7)= 34H 。

12、在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行256 次。

13、欲使P1口的低4位输出0,高4位不变,应执行一条ANL P1, #0F0H 命令。

14、若CPU使用的是寄存器第1组,R0~R7的地址范围是08H-0FH。

15、单片机进行串行通信时,晶振频率最好选择11.0592MHz

16、当MCS-51执行MOVX A,@R1指令时,伴随着RD* 控制信号有效。

17、若A中的内容为67H,那么,P标志位为 1 。

18、AT89S51唯一的一条16位数据传送指令为MOV DPTR,data16 。

19、LJMP的跳转范围是64K,AJMP的跳转范围是2K B,SJMP的跳转范围是±128 B (或256B)。

20、74LS138是具有3路输入的译码器芯片,其输出作为片选信号时,最多可以选中8 片芯片。

21、如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:

POP DPH

POP DPL

POP SP

则:(DPH)= ___3CH___;(DPL)=___5FH___;(SP)=___50H___;

22、AT89S51复位后,PC与SP的值为分别为0000H 和07H 。

23、当单片机复位时PSW=00H,这时当前的工作寄存器区是0区,R4所对应的存储单元地址为04H。

24、当AT89S51执行MOVC A,@A+ DPTR指令时,伴随着PSEN*控制信号有效。

25、当MCS-51执行MOVX A,@R1指令时,伴随着RD*控制信号有效。

26、MCS-51指令系统中,ADD与ADDC指令的区别是进位位Cy是否参与加法运算。

27、如果(A)=45H,(R1)=20H,(20H)=12H,执行XCHD A, @ R1;结果(A)= 42H ,(20H)= 15H 。

28、在内部RAM中可位寻址区中,位地址为40H的位,该位所在字节的字节地址为28H 。

29、关于定时器,若振荡频率为12MHz,在方式2下最大定时时间为256us

30、AT89S51单片机的通讯接口有串行和并行两种形式。在串行通讯中,发送时要把并行数据转换成串行数据。接收时又需把串行数据转换成并行数据。

31、若AT89S51外扩32KB 数据存储器的首地址若为4000H,则末地址为BFFFH。

32、执行如下三条指令后,30H单元的内容是#0EH

M O V R 1,#30H

M O V 40H,#0 E H

M O V ﹫R 1,40H

33、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。

34、一个机器周期等于6个状态周期,振荡脉冲2分频后产生的时序信号的周期定义为状态周期。

35、执行MOVX A,DPTR指令时,MCS-51产生的控制信号是RD* 。

36、ORG 0000H

AJMP 0040H

ORG 0040H

MOV SP,#00H当执行完左边的程序后,PC的值是0042H

37、对程序存储器的读操作,只能使用MOVC指令。

38、当使用慢速外设时,最佳的传输方式是中断。

39、MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器__SCON _加以选择。

二、判断题

1、MOV 55H,@R5(×)R只能是0,1

2、INC DPTR(√)

3、DEC DPTR (×)没有数据指针寄存器减指令

4、CLR R0(×)

5、MOV T0,#3CF0H(×)T0是8位寄存器

6、8031与8051的区别在于内部是否有程序存储器。(√)

7、内部RAM的位寻址区,既能位寻址,又可字节寻址。(√)

8、串行口工作方式1的波特率是固定的,为fosc/32。(×)

9、8051单片机中的PC是不可寻址的。(√)

10、MCS-51系统可以没有复位电路。(×)

11、某特殊功能寄存器的字节地址为80H,它即能字节寻址,也能位寻址。(√)

12、PC存放的是即将执行的下一条指令。(√)

13、TMOD中的GATE=1时,表示由两个信号控制定时器的启停。(√)

14、特殊功能寄存器SCON与定时器/计数器的控制无关。(√)

15、各中断源发出的中断请求信号,都会标记在AT89S51的TCON寄存器中。(×)

16、MCS-51上电复位时,SBUF=00H。(×)。

17、MCS-51的相对转移指令最大负跳距是127B。(×)

18、MCS-51的程序存储器只是用来存放程序的。(×)

19、MCS-51的串行接口是全双工的。(√)

20、MCS-51的特殊功能寄存器分布在60H~80H地址范围内。(×)

21、MOV C,#00H的寻址方式是立即寻址。(×)

22、MCS-51的5个中断源优先级相同。(×)

三、简答题

1、请写出共阴数码管显示数字0~9对应的段码值。

答:共阴3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH

2、请写出共阳数码管显示数字0~9对应的段码值。

答:共阳C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H

3、AT89S51单片机指令系统的寻址方式有哪些?

答:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址,基址寄存器和变址寄存器间接寻址,相对寻址。

4、请说明MCS-51单片机的外部引脚EA*的作用?

答:当EA*为高电平时,访问内部程序存储器,但当地址大于0FFF时,自动转到外部程序存储器;当EA*为低电平时,只读取外部程序存储器。

5、举例说明指令PUSH和POP的工作原理。

答:PUSH进栈指令;首先将栈指针SP加1然后把direct中的内容送到栈指针SP指示的RAM单元中

当(SP)=60H,(A)=30H,(B)=70H时

PUSH A;(SP)+1=60H->SP (A)->61H

PUSH B;(SP)+1=62H->SP (B)->62H

(SP)=62H (61H)=30H (62H)=70H

POP出栈指令;当栈指针SP指示的栈顶(内部RAM单元)内部送入direct字节单元中,栈指针SP减1

当(SP)=62H,(62H)=70H,(61H)=30H时

POP DPH;((SP))->DPH,(SP)-1->SP

POP DPL;((SP))->DPL,(SP)-1->SP

(POTR)=7030H (SP)=60H

特殊功能寄存器中,哪些单元是可以位寻址的?

B寄存器F7H-F0H

累加器A E7H-E0H

程序状态字PSW D7H-DOH

中断优先级控制IP BFH-B8H

P3口B7H-BOH

中断允许控制IE AFH-A8H

P2口A7H-AOH

串行控制SCON 9FH-98H

P1口97H-90H

定时器计数器控制TCON 8FH-88H

P0口87H-80H

7、AJMP指令和LJMP指令的区别?

答:AJMP 这是2kb范围的无条件跳转指令,为了和MCS-48的JMP指令兼容而设SJMP相对转移指令LJMP长跳转指令

8、中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?

答:RETI除了将压栈的内容出栈外(即现场恢复),还清除在中断响应时被置1的AT89S51内部中断优先级寄存器的优先级状态。

9、AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?

答:AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突。这是因为它们的控制信号不同,操作命令不同:

(1) 外扩程序存储器是PSEN*信号为其控制信号,外扩数据存储器是RD*与WR*信号为其控制信号

(2) 指令不同,程序存储器用MOVC读取,数据存储器用MOVX存取。

10、MCS-51单片机片内256B的数据存储器可分为几个区?分别作什么用?

答:

(1)通用工作寄存器区,00H – 1FH,共4组,R0-R7,在程序中直接使用

(2)可位寻址区,20H-2FH,可进行位操作,也可字节寻址

(3)用户RAM区,30H-7FH,只可字节寻址,用于数据缓冲及堆栈区

(4)特殊功能寄存器区,80H-FFH,21个特殊功能寄存器离散地分布在该区内,用于实现各种控制功能

11、AT89S51采用6MHz的晶振,定时1ms,如用定时器方式1时的初值(16进制数)应为多少?(写出计算过程)

答:(216-X)*2*10-6=10-3X=655036 X=FEOCH

12、写出AT89S51的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?

答: 外部中断INT0*,

定时器/计数器中断T0,

外部中断INT1*,

定时器/计数器中断T1,

串行口中断。

其中串行口中断TI与RI必须用软件清“0”(52系列还有定时器2),因为串口中断的输出中断为TI,输入中断为RI,故用软件清“0”。

13、MCS-51指令系统主要有哪几种中断源?并写出每个中断入口地址?

答:

中断源入口地址

外部中断0 0003H

定时器0溢出000BH

外部中断1 0013H

定时器1溢出0001BH

串行口中断0023H

14、LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?

答:静态:显示期间,锁存器输出的段码不变,亮度大,各位LED的段选分别控制,位数多硬件电路复杂;

动态:所有位段码线并连一起,各位的亮灭靠片选控制端控制,亮度较低,多位控制电路简单。

15、请画出单片机最小系统。(含有数据,地址,控制总线,有程序存储和数据存储的系统结构)

16、简述行列式扫描键盘的工作原理。

答: 扫描键盘工作原理

首先X0~X3,始终接高电平,Y0~Y3给低电平,扫描P1.0~P1.3若全为高电平,则没有键按下,若有低电平,则有键按下。

接着Y0输出低电平,Y1~Y3输出高平,扫描P1.0~P1.3,若全为高电平,则没有键按下,若有低电平,则找出相位,得到所按的键。

再Y1输出低电平,Y0,Y2,Y3输出高电平,重复第2 步骤作.

再Y2输出低电平,Y0,Y1,Y3输出高电平扫描

再Y3输出低电平,Y0,Y1,Y2输出高电平扫描

根据据以上扫描,确定以上各键是否按下。

17、什么叫堆栈?

答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"的结构方式处理的。实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。

18、PC是什么寄存器?是否属于特殊功能寄存器?它有什么作用?

答:PC是16位程序计数器(Program Counter),它不属于特殊功能寄存器范畴,程序员不以像访问特殊功能寄存器那样来访问PC。PC是专门用于在CPU取指令期间寻址程序存储器。PC总是保存着下一条要执行的指令的16位地址。通常程序是顺序执行的,在一般情况下,当取出一个指令(更确切地说为一个指令字节)字节后,PC自动加1。如果在执行转移指令、子程序调用/返回指令或中断时,要把转向的地址赋给PC。

19、DPTR是什么寄存器?它由哪些特殊功能寄存器组成?它的主要作用是什么?

答:DPTR是16位数据指针寄存器,它由两个8位特殊功能寄存器DPL(数据指针低8位)和DPH(数据指针高8位)组成,DPTR用于保存16位地址,作间址寄存器用,可寻址外部数据存储器,也可寻址程序存储器。

20、8031的扩展储存器系统中,为什么P0口要接一个8位锁存器,而P2口却不接?答:这是因为P0口是扩展储存器系统的多路低8位地址和数据总线,在访问外部存储器时,P0口分时用作输出外部储存器低8位地址和传送数据,为了在整个访问外部存储器期间,对外部存储器存在着有效的低8位地址信号,所以P0口需要外接一个地址锁存器。ALE信号就是用来把P0口输出的地址字节锁存在这个外接的锁存器中,再从锁存器输出外部存储器的低8位地址。而P2口只用作扩展存储器系统的高8位地址线,并在整个访问外部存储器期间不变,所以不必外接地址锁存器。

四、大题

1、编写课本P125~P130的例6-1、6-

2、6-3。

2、编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。

解:STRAT:MOV R0,#30H

MOV R7,#0FH

MOV DPTR,#3000H

LOOP:MOV A,@R0

MOVX @DPTR,A

INC R0

INC DPTR

DJNZ R7,LOOP

RET

3、编一个程序,将累加器中的一个字符从串行接口发送出去.

解:SOUT:MOV SCON,#40H ;设置串行接口为工作方式

MOV TMOD,#20H ;定时器T1工作于模式2

MOV TL1,#0E8H; ;设置波特率为1200b/s

MOV TH1,#0E8H

SETB TR1

MOV SBUF,A

JNB T1,$

CLB T1

RET

4、片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.

解:START: MOV R0,#40H ;数据块首地址送R0

MOV R7,#09H ;比较次数送R7

MOV A,@R0 ;取数送A

LOOP: INC R0

MOV 30H,@R0 ;取数送30H

CJNE A,30H,NEHT ;(A)与(30H)相比

NEXT: JNC BIE1 (A)≥(30H)转BIR1

MOV A,30H ;(A)<(30H),大数送A

BIE1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较

MOV 50H,A ;比较结束,大数送50H

RET

5、编定一个软件延时1S和1min的子程序。设fosc=6Hz,则一个机器周期1μs。

解:(1)1S=2US*5*100000

5*100000=250*200*10

(2)ORG 1000H

TIME:MOV R7,#10

T3: MOV R6,#200

T2: MOV R6,#250

T1: DJNZ R5,T1

DJNZ R6,T2

DJNZ R7,T3

RET

(2)1min=60,调用上面1s子程序60次

ORG 0030H

MOV R0,#60

LOOP:LCALL TIME

DJNZ R0,LOOP

RET

6、请编制串行通信的数据发送程序,发送片内RAM50H~5FH的16B数据,串行接口设定为方式2,采用偶校验方式。设晶振频率为6MHz。

解:查询方式发送程序如下

MOV SCON,#8OH

M OV PCON,#80H

MOV R0,#50H

MOV R7,#16H

LOOP: MOV A,@R0

MOV C,P

MOV TB8,C

MOV SBUF,A

JNB T1,$

CLR T1

INC R0

DJNZ R7,LOOP

RET

7、编制一个循环闪烁的程序。有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。画出电路图。

解: MOV A,#01H

SHIFT: LCALL FLASH

RR

SJMP SHIFT

FLAH: MOV R2,#0AH

FLAH1: MOV P1,A

LCALL DELAY

MOV P,#00H

LCALL DELAY

DJNZ R2,FLASH1

RET

8、请回答:

(1)下图中外部扩展的数据存储器容量是多少?

(2)三片6264的地址范围分别是多少?(地址线未用到的位填1)

(3)若外部程序存储器已扩展(未画出),请编写程序,要求:

①将30H~3FH中的内容送入6264 1# 的前16个单元中;

②将6264 2# 的前32个单元的内容送入40H~5FH中;

解:(1)外部扩展的数据存储器为3片8K的RAM,外扩容量为24 K (2)A15 A!4 A13 地址范围

0 1 1 6000H~7FFFH

1 0 1 A000H~BFFFH

1 1 0 C000H~DFFFH

P2.7

P2.6

P2.5

P2.4

P2.0

ALE 8031

P0.0

P0.7

RD

WR

D0 Q0

D7 Q7

G OE A0~A7 A8~A12

CS 62641#

CE

D0~D7 DE WR

A0~A7 A8~A12

CS 6264 2#

CE

D0~D7 DE W R

A0~A7 A8~A12

CS 62643#

C E

D0~D7 DE WR

8

5

8

8

8

8

8 373

Vcc Vcc Vcc

~~

(3:ORG 0000H

RESET:AJMP MAIN ;复位,转主程序

ORG 0100H

MAIN:MOV DPL,#00H ;初始化DPTR

MOV DPH,#60H

MOV R0,#30H ;初始化R0 LOOP: MOV A,@R0

MOVX @DPTR, A

INC R0

INC DPTR

CJNE R0,#40H,LOOP

NOP

RET

②程序如下:ORG 0000H

RESET:AJMP MAIN ;转主程序

ORG 0100H

MAIN: MOV DPL#00H ;初始化DPTR MOV DPH,#0A0H

MOV R0,#40H ;初始化R0 LOOP2: MOVX A,@DPTR

MOV @R0,A

INC DPTR

INC R0

CJNE R0,#60H,LOOP2

NOP

RET

51单片机复习笔记经典1

《单片机原理与应用》复习提纲第一章 第二章MCS-51系列单片机的硬件结构 1. MCS-51单片机的总体结构 MCS-51单片机的内部结构 ?8位的CPU; ?128个字节的片内RAM; ?4K字节的片内ROM程序存储器(8031无) ?外部的RAM和ROM的寻址范围为64K ?21个字节的专用寄存器 ?4个8位并行I/O口 ?1个全双工的串行口 ?2个16位的定时器/计数器 ?5个中断源、2个中断优先级 MCS-51单片机的总线结构

微处理器又称为CPU,是单片机内部的核心部件,它决定了单片机的重要功能特性。它由运算器和控制器两大部分组成。 对CPU的使用就是对CPU中的寄存器的使用。 ?累加器ACC ?寄存器B ?程序状态字PSW ?布尔处理器C ?程序计数器PC,16位 ?数据指针寄存器DPTR,16位DPTR寄存器中存放外部数据存储器地址 ?堆栈指针SP ? 2.程序存储器 程序存储器通常存放程序指令、常数及表格等,系统在运行过程中不能修改其中的数据。 .程序的几个特殊地址: ?复位0000H,PC复位指向该地址 ?外部中断0 0003H ?定时器/计数器0溢出000BH ?外部中断1 0013H ?定时器/计数器1溢出001BH ?串行口中断0023H 3.数据存储器 ?数据存储器则存放缓冲数据,系统在运行过程中可修改其中的数据。 ?包括: ?1)编址与访问 ?2)片内数据存储器 ?3)特殊功能寄存器块 片内128字节数据存储器 要求熟悉4个工作寄存器区的使用方法RS0,RS1。 如:RS1,RS0=10 , R1的直接地址为11H。 00H~1FH :32个字节,内部RAM的寄存器区共有32个单元,分为4组,每组8单元。 ?20H~2FH:16个字节,128位寻址区,128位寻址区的字节地址范围是20H~2FH。 ?30H~7FH:通用寄存器区或数据缓冲区,堆栈区。 ? ?堆栈: ?使用片内RAM、初始化时SP=07H ?51系列单片机的堆栈是向上生长的 ?一般程序中堆栈的开始: ?MOV SP,#60H

单片机复习笔记

MCS-51系列单片机的结构及原理 ●MCS-51单片机由8个部件组成:中央处理器(CPU ),片内数据存储器(RAM ),片内程序存储器(ROM/EPROM ),输入/输出接口(I/O 口,分为P0口、P1口、P2口和P3口),可编程串行口,定时/计数器,中断系统及特殊功能寄存器(SFR )。 ●EA 引脚是片内外程序存储器的选择信号。当EA 端保持高电平时,访问内部程序存储器,但在PC (程序计数器)值超过0FFFH (对于8051/8751/80C51)或1FFFH (对于8052)时,将自动转向访问外部程序存储器。当EA 端保持低电平时,不管是否有内部程序存储器,则只访问外部程序存储器。 ●由于8031片内没有程序存储器,所以在使用8031时,EA 引脚必须接低电平。 ●在MCS-51单片机中,除P3口具有第二功能外,还有3条控制线具有第二功能。 P3.0—RXD :串行数据接收端 P3.1—TXD :串行数据发送端 P3.2—0INT :0INT 申请输入端 P3.3—1INT :1INT 申请输入端 P3.4—T0:T 0计数输入端 P3.5—T1:T 1计数输入端 P3.6—WR :外部RAM 写选通 P3.7—RD :外部RAM 读选通 ALE —PROG :片内EPROM 编程脉冲。片内具有EPROM 的芯片,在EPROM 编程期间,此引脚输入编程脉冲。 RESET —VPD : VCC 掉电期间,此引脚可接备用电源,以保持内部RAM 数据不丢失。 EA —VPP :片内EPROM 编程电源。在对片内具有EPROM 的芯片进行编程时,此引脚用于施加21V 编程电源。 ●MCS-51单片机的内部存储空间分为数据存储器和程序存储器。 内部数据存储器:共256字节单元,包括低128个单元和高128个单元。低128字节又分成3个区域:工作寄存器区(00H~1FH ),位寻址区(20H~2FH )和用户RAM 区(30H~7FH )。高128字节是供给特殊功能寄存器使用的,因此称之为特殊功能寄存器区。 内部程序存储器:在8031片内无程序存储器,8051片内具有4KB 掩模ROM 。 ●MCS-51单片机提供了4组工作寄存器,对于当前工作寄存器组的选择,是通过PSW 中的RS1和RS0来进行选择。 ●DPTR 是数据指针寄存器,是一个16位寄存器,用来存放16位存储器的地址,以便对外部数据存储器RAM 中的数据进行操作。DPTR 由高位字节DPH 和低位字节DPL 组成。 ●所谓堆栈,顾名思义就是一种以“堆”的方式工作的“栈”。堆栈是在内存中专门开辟出来的按照“先进后出,后进先出”的原则进行存取的RAM 区域。堆栈的用途是保护现场和断点地址。在8051单片机复位后,堆栈指针SP 总是初始化到内部RAM 地址07H 。从08H 开始就是8051的堆栈区,这个位置与工作寄存器组1的位置相同。因此,在实际应用中,通常要根据需要在程序初始化时对SP 重新赋值,以改变堆栈的位置。 ●程序状态字寄存器PSW 是8位寄存器,用于存放程序运行的状态信息。 CY AC F0 RS1、RS0 OV F1 P

51单片机新手入门实例详解

51单片机新手入门实例详解 1.硬件和软件准备 ●实验系统:EL89C单片机学习开发系统一套 ●电脑:具有标准串口的台式机或笔记本电脑,如果没有串口也可购 买一条USB转串口线代替 ●工具软件:Keil uVision2(用于编写和编译源程序、仿真调试); 光盘上非安装烧写软件,路径 \单片机EL89C\EL89C光盘\STC52单片机下载程序\stc-isp-v4.79-not-setup\STC_ISP_V483.exe (EL89C的编程控制烧写软件) 2.源程序编写和编译 EL89C的8个发光二极管负极通过限流电阻接入单片机的P1.0~P1.7端口,下面的范例程序可以使这8个发光二极管轮流点亮,形成流水灯效果。 我们使用的开发工具是Keil C51,是目前世界上最优秀、最强大的51单片机应用平台之一,它集编辑、编译、仿真调试于一体,支持汇编、C语言以及混合编程。同时具备功能强大的软件仿真和硬件仿真功能。 下面以一个简单的流水灯程序为例子来介绍Keil C51的使用方法: 2.1首先在硬盘上建立一个文件夹,命名为ledtest(当然可以是其他名字), 为方便程序的编写和调试,我们将调试过程中产生的文件都将放在这个目录中。 2.2启动Keil软件,点击菜单project,选择new project,然后选择你要保 存的路径,输入工程文件的名字,我们现在保存到刚才建立的ledtest目录中,工程文件命名为ledtest,然后点击保存。 2.3这时会弹出下面的对话框Select Device for Target,要求你为刚才的项 目选择一个CPU。我们选择Atmel的AT89C52,如图所示,选择AT89C52之后,右边一栏是对这个单片机的基本的说明,然后点击确定。

郭天祥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-

51单片机数码管

数码管笔记 #include #define uchar unsigned char #define uint unsigned int uchar code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,}; //char code储存数据在ROM中,程序无法改变其数值,char储存数据在RAM中,程序可操作sbitdula=P2^6; sbitwela=P2^7; void delay(uint x) { uchari; while(x--) for (i=0;i<110;i++); } void main() { while(1) { uchari; for(i=0;i<16;i++) { int a=200; while(a--) { P0=0xff; //clear led wela=1; P0=0xfe; wela=0; P0=0x00; //clear led dula=1; P0=table[i]; dula=0; delay(1); P0=0xff; wela=1; P0=0xfd; wela=0; P0=0x00; dula=1; P0=table[i+1]; dula=0; delay(1); P0=0xff; wela=1; P0=0xfb; wela=0; P0=0x00; dula=1; P0=table[i+2]; dula=0; delay(1); } // while(a--)扫描a(200)遍 } //for 显示在十六进制0-15循环 } //while 让程序持续循环 } //main 重要三点: Remark 1: 采用锁存器:先位选,后段选; Remark 2: 位选、段选前先清屏,防止残留现象;Remark 3: 不同位显示不同数字:逐个显示,快速扫描。把握单个数字显示滞留时间。

51单片机学习笔记(三)_定时器和计数器

51单片机学习笔记(三)_定时器和计数器 注:定时器与计数器原理与使用方法相似、此处计数器知识为基础普及、后 面详讲2 个定时器(寄存器)、定时器0、定时器1、(计数器0、计数器1) TMOD:定时器/计数器模式控制寄存器详见百度百科TMOD 每经过一个机器周期、寄存器+1TF:定时器溢出标志。溢出时自动置1。中 断时硬件清零否则必须软件清零。TR:定时器运行控制位。置1 开始计时、清 零停止计时。C/T:该位为0 时用作计时器、该位为1 时用作计数器。溢出时 时间-开始计时时间=预设定时时间 一个机器周期共有12 个振荡脉冲周期若设定时为0.02s,则: 12*(65535-X)/11059200=0.02s 定时器作加1 次数:X=47104=0xB800 次时间为0.02s 使用定时器的方法 1、设置特殊功能寄存器TMOD,使之工作在需求的状态。 2、设置计数寄存 器的初值,精确设定好定时时间。3、设置特殊功能寄存器TCON,通过打开 TR 来让定时器进行工作。 4、判断寄存器TCON 的FT0 位、检测定时器溢出情况。 假设我们使用定时器0、定时为0.02s,两个寄存器计时 TMOD=0x01; TMOD=0x01,指的是采用T0 方式,将M1 置0,M0 置1,是 方式一的定时器 高八位寄存器TH0=0xB8、低八位寄存器TL0=0x00 C 程序实现1s 钟定时 #include typedef unsigned char uint8;typedef unsigned int uint16;sbit led=P1;uint8 counter;void main(){TMOD=0x01;TH0=0xb8;TL0=0x00;TR0=1;

51单片机学习笔记(六)_串口中断通信+定时器2串口中断

51单片机学习笔记(六)_串口中断通信+定时器2串口中 断 51 单片机默认使用定时器1 作为串口通信的波特率发生器、定时器1 中断 通信,串口与定时器1 冲突,在遇到定时器不够用的时候可以用定时器2 #include void DelayMs(unsigned int i);void SerialInit();void SendByte(unsigned char sbyte);void SendString(unsigned char *pstr);void main(void){SerialInit();while(1); //注:必需要无限循环}/*//单片机时钟周期: 11.0592MHz 以时钟1 作为波特率发生器void SerialInit(){TMOD=0x20; // 设置T1 工作方式为方式2TH1=0xfd; //给定时器高位装初值TL1=0xfd; //给定时 器低位装初值TR1=1; //开定时器//以上是设置波特率SM0=0; //设置串口通 讯方式为方式1SM1=1; REN=1; //串口是否接收数据的开关EA=1; //总中断 打开,采用查询法时不用打开中断ES=1; //串口中断开关,采用查询法时不用打开 中断}*///单片机时钟周期:11.0592MHz 以时钟T2 作为波特率发生器void SerialInit(){PCON &= 0x7F; //波特率不倍速SMOD=0SCON = 0x50; //方式1,8 位数据,可变波特率,接收允许T2CON = 0x34; RCAP2H = 0xFF; RCAP2L = 0xDC; TH2 = 0xFF; TL2 = 0xDC;EA=1; //总中断打开,采 用查询法时不用打开中断ES = 1; //串口中断开关,采用查询法时不用 打开中断}//串口中断函数:void SerialPortInte(void) interrupt 4 //采用串口中断法 收发数据{unsigned char rbyte;if(RI){ //RI=1,判定为串口接收到了数据,RI 要清零,RI=0;rbyte=SBUF; if(rbyte==0x0A){ SendString(“换行”);}else if(rbyte==0x0D){SendString(“回车”);}else{SendByte(rbyte);}}}//串口发送一个字节:void SendByte(unsigned char sbyte){ SBUF=sbyte; //发送数据while(!TI); //等待发送完成TI=0; //清零发送标志位}//串口发送一个字符串:void

51单片机教程

原作:平凡的单片机

1、何谓单片机一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。 天!PC中的CPU一块就要卖几千块钱,这么多东西做在一起,还不得买个天价!再说这块芯片也得非常大了。不,价格并不高,从几元人民币到几十元人民币,体积也不大,一般用40脚封装,当然功能多一些单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只8只引脚。为什么会这样呢?功能有强弱,打个比方,市场上面有的组合音响一套才卖几百块钱,可是有的一台功放机就要卖好几千。另外这种芯片的生产量很大,技术也很成熟,51系列的单片机已经做了十几年,所以价格就低了。既然如此,单片机的功能肯定不强,干吗要学它呢?话不能这样说,实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用PIII?应用的关键是看是否够用,是否有很好的性能价格比。所以8051出来十多年,依然没有被淘汰,还在不断的发展中。 2、MCS51单片机和8051、8031、89C51等的关系我们平常老是讲8051,又有什么8031,现在又有89C51,它们之间究竟是什么关系? MCS51是指由美国INTEL公司(对了,就是大名鼎鼎的INTEL)生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。INTEL 公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求,其中89C51就是这几年在我国非常流行的单片机,它是由美国ATMEL 公司开发生产的。以后我们将用89C51来完成一系列的实验。 一、单片机的外部结构 拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。1、电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。2、振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶振,电容,连上就可以了,按图1接上即可。3、复位引脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。4、EA引脚:EA引脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。 我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个引脚相连,否则单片机就没法控制它了,那么和哪个引脚相连呢?单片机上除了刚才用掉的5个引脚,还有35个,我们将这个LED和1脚相连。(见图1,其中R1是限流电阻) 按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。因此要1脚我们要能够控制,也就是说,我们要能够让1引脚按要求变为高或低电平。即然我们要控制1脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51芯片的INTEL公司已经起好了,就叫它P1.0,这是规定,不可以由我们来更改。

51单片机

51单片机入门学习笔记 有一段时间不碰单片机了,现在重新整理。一是回忆知识,重新拾起来。二是给想入门单片机的朋友一点参考。一部分资料源于网络。 一、51单片机简介 目前学习板上常用的是STC89C52单片机。封装是DIP40。

主要参数 1. 增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051。 2. 工作电压:5.5V~ 3.3V(5V单片机)/3.8V~2.0V(3V 单片机) 3.工作频率范围:0~40MHz,相当于普通8051 的0~80MHz,实际工作频率可达48MHz 4. 用户应用程序空间为8K字节 5. 片上集成512 字节RAM 6. 通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻。 7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片 8. 具有EEPROM 功能 9. 共3 个16 位定时器/计数器。即定时器T0、T1、T2 10.外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒 11. 通用异步串行口(UART),还可用定时器软件实现多个UART 12. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级) 二、I/O介绍 P0内部不带上拉电阻,其余三组带内部上拉电阻。P0是双向8位三态I/O口。由于内部没有上拉电阻。所以默认是高阻态(指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。电路分析时高阻态可做开路理解),所以使用时外部必须接上拉电阻。 三、寄存器 存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器): MCS-51单片机的特殊功能寄存器 符号地址功能介绍

双机间的串口双向通信2.0

单片机应用课程设计任务书

单片机应用课程设计说明书 学院名称:计算机与信息工程学院 班级名称:网工124 学生姓名:卞可虎 学号:2012211369 题目:双机间的串口双向通信设计指导教师:于红利 起止日期:2014.12.29至2015.1.4

目录 一、绪论 (1) 二、相关知识 (6) 2.1 双机通信介绍 (6) 2.2单片机AT89C51介绍 (6) 2.3 串行通信简介 (8) 2.3.1串行通信的特点 (8) 2.3.2串行通信技术标准 (9) 三、总体设计 (10) 3.1 设计需求 (10) 四、硬件设计 (10) 4.1 系统硬件电路设计 (10) 4.1.1整体电路设计 (10) 4.1.2 控制电路设计 (11) 4.1.3 复位电路 (11) 4.1.4 显示电路 (12) 五、软件设计 (12) 5.1发送端程序流程 (12) 5.2接收端程序流程 (13) 5.3按键程序 (14) 5.4串口通信程序 (15) 5.5数码管显示程序 (16)

六、Proteus软件仿真 (16) 七、结束语 (19) 参考文献 (20) 指导教师评语 (21) 成绩评定 (21) 附录:源程序 (22) 一、绪论 电子技术的飞速发展,单片机也步如一个新的时代,越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。单片机之间的通信可以分为两大类:并行通信和串行通信。串行通信传输线少,长距离传输时成本低,且可以利用数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。所以本系统采用串行通信来实现单片机之间可靠的,有效的数据交换。 对于一些类似复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、加密系统等等。如果合理使用多种不同类型的单片机组合设计,可以得到极高灵活性与性能价格比,因此,多种异型单片机系统设计渐渐成为一种新的思路,单片机技术作为计算机技术的一个重要分支,由于单片机体积小,系统运行可靠,数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。但在一些相对复杂的单片机应用系统中,仅仅一个单片机资源是不够的,往往需要两个或多个单片机系统协同工作。这就对单片机通

单片机读书笔记

单片机的分类 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。 众多的单片机可以从不同角度进行分类。 Ⅰ按生产厂家分 1.INTEL公司的单片机(MCS-48系列单片机:MCS-48单片机是美国INTEL公司于1976年推出,它是现代单片机的雏形,包含了数字处理的全部功能,外接一定的附加外围芯片即构成完整的微型计算机;MCS-51系列:MCS-51单片机是美国INTE公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品) 2.ATMEL公司的单片机(AT89系列单片机:AT89系列单片机是ATMEL 公司的8位Flash单片机系列。这个系列单片机的最大特点是在片内含有Flash存储器。因此,在应用中有着十分广泛的前途特别是在便携式、省电及特殊信息保存的仪器和系统中显得更为有用;A VR单片机:A VR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片

机。A VR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。) 3.Motorola公司的单片机(MC68300系列单片机:MC68300系列微控制器采用模块化设计,可以根据用户的要求,选择不同的模块,以适应不同的应用场合) 4. MicroChip单片机的单片机(PIC12CXXX系列单片机、PIC16CXXX系列单片机) 5.PHILIPS公司的单片机(通用型单片机:PHILIPS公司的P80C31基于80C51内核采用高密度CMOS技术设计制造,包含中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、3个16位定时/计数器和6个中断源,4层优先级中断嵌套结构,可用于多机通信的串行I/O口,I/O扩展或全双工UART,片内时钟振荡电路;Flash 单片机、低功耗OTP单片机) 6.TI公司的单片机(TI单片机MSP430:德州仪器(TI)超低功率16位RISC混合信号处理器的MSP430产品系列为电池供电测量应用提供了最终解决方案。德州仪器作为混合信号和数字技术的领导者,TI 创新生产的MSP430,使系统设计人员能够在保持独一无二的低功率的同时同步连接至模拟信号、传感器和数字组件。) 7.其他公司的单片机(美国SST公司的SST89系列、美国CYGNAL公司的C8051FXXX系列单片机、东芝TLCS-870系列单片机) Ⅱ按单片机数据总线的位数,可将单片机分为4位、8位、16位、32位

第3课 HJ-2G AVR单片机学习笔记 程序编写编译环境

第3课ICC程序编写编译环境 基于HJ-2G AVR学习板 学习AVR单片机必需要安装的第二个软件:程序编写编译环境ICC AVR 1、下面说一说安装方法,在配套资料(网上下载)找到ICC AVR直接点击按装,装好后输入正版注册码,这样就可以正常使用ICCAVR软件编写编译。 2、在桌面上打开ICCAVR软件,出现如下图片:请点开工程,并新建一个工程。 3、下图为新建一个工程,请保存在C盘目录下,输入工程名称(只能是中文),点击保存。

4、新建立一个C文件,在下图空白处输入你的C源码,输完后请保存C文件。 5、加入刚才建好的C文件到工程当中,方法如下图。

6、设置一下编译器,如下图。 7、芯片用ATmega16

8、最后一步了,只要你按上面的一步一步做,最后点一下编译键,就可以正常编译成功,如果不成功,请查一查你的C源码是否正确,还有工程是不是在中文目录下。 9、总结:本课主要学习了程序编写编译环境ICC AVR的安装,设置,还有编译方法,开始学单片机时,新手不会写C源码,可以复制慧净写好的C源码到项目中,练习多次,ICCAVR 软件你就会使用了,以后学习中,每一课都会用到本软件,只要你认真跟着《慧净1天入门AVR单片机学习笔记》学习,多多练习,相信你很快速学会AVR单片机。 慧净AVR单片机免费共享学习笔记目录(配有视频教程,请在慧净空间下载) 第一部1天入门AVR单片机学习笔记 第1课:AVR单片机学习基本流程 第2课:AVR单片机程序烧写方法 第3课:程序编写编译环境 第4课:简单C语言基础知识 第二部10天学会AVR单片机学习笔记 第1课:IO端口操作 第2课:流水灯 第3课:单个数码管显示 第4课:多个数码管同时显示 第5课:独立按键 第6课:定时器 第7课:外部中断

史上最通俗易懂的单片机自学有笔记1

单片机关键知识点一览: 系列一 1:单片机简叙 2:单片机引脚介绍 3:单片机存储器结构 4:第一个单片机小程序 5:单片机延时程序分析 6:单片机并行口结构 7:单片机的特殊功能寄存器 系列二 8:单片机寻址方式与指令系统 9:单片机数据传递类指令 10:单片机数据传送类指令 11:单片机算术运算指令 12:单片机逻辑运算类指令 13:单片机逻辑与或异或指令祥解 14:单片机条件转移指令 系列三 15:单片机位操作指令 16:单片机定时器与计数器 17:单片机定时器/计数器的方式

18:单片机的中断系统 19:单片机定时器、中断试验 20:单片机定时/计数器实验 21:单片机串行口介绍 系列四 22:单片机串行口通信程序设计 23:LED数码管静态显示接口与编 24:动态扫描显示接口电路及程序 25:单片机键盘接口程序设计 26:单片机矩阵式键盘接口技术及 27:关于单片机的一些基本概念 28:实际案例实践——单片机音乐程序设计 1:单片机简叙 什么是单片机一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。 单片机是一种控制芯片,一个微型的计算机,而加上晶振,存储器,地址锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等那是单片机系统。 2:单片机引脚介绍

51单片机心得体会

51单片机心得体会 51单片机心得体会(一) 首先总体上谈一谈看法: 1、我从不说51是基础如果我这么说也请把这句话理解为微机原理是基础 2、对51单片机的操作本质上就是对寄存器的操作对其他单片机也是如此 库只是一个接口方便使用者使用而已 3、汇编语言在工作中很少用到了解就好 4、51的P0口很特别 5、C语言就是C语言51单片机就是51单片机算法就是算法外围电路就是外围电路传感器就是传感器通信器件就是通信器件电路图就是电路图PCB图就是PCB图仿真就是仿真 当你以后再也不使用51了C语言的知识还在算法的知识还在搭建单片机的最小系统的技能还在传感器和通信器件的使用方法还在还会画电路图和PCB图当然也会仿真 6、51单片机是这个: 而不是这个: 7、当程序调试不如人意的时候静下心来好好查资料51单片机最大的好处就是网上资料非常多你遇到的问题别人肯定也遇到过作为学习者问人可能更方便点但一直这样是培养不出解决问题的能力的

接下来上点干货: 首先要放清51的定位跟我一起再念一遍:51只是个工具51只是个工具51只是个工具 当然51还有一个地位就是大学生单片机启蒙教程 换句话说:单片机只是个工具单片机只是个工具单片机只是个工具 然后什么是基础:模电数电微机原理然后熟练翻阅数据手册可以试着做一些模块或者最小系统练练手C语言其实也可以算工具吧就单片机来说作为必要条件也算作基础吧 再然后是要尽早搞明白自己的专业方向或者自己准备发展的方向然后不同方向又有不同的专业基础你学测控就需要各种传感器、控制原理、理论、算法//买测量模块用不叫测控啊喂;你学信号处理就需要信号与系统、数字信号处理基础然后慢慢接触DSP、FPGA//信号处理真的不是result=(AD+0.5)/4096*3.3啊喂;你想做嵌入式开发就慢慢研究ARM的架构跑一些实时系统甚至高端ARM跑Linux开发驱动或应用;你要是想做通信每天晚上拜一拜香农好了这茬貌似挺苦的什么通信原理编码论电磁场blablabla…… 总之51/单片机可以实现很多事情但这不是一定说51重要而是你如何利用51 哦对了当你使用更高级的芯片的时候很多底层的东西慢慢可以忽略了甚至很多芯片厂商都会提供库给你你可以安心的专注于自己的算法而不是如何去控制单片机

51单片机自学笔记(基础部分)

一、51单片机的硬件结构 1. 硬件结构框图 说明:○1微处理器(CPU):51单片机含一个8位CPU,与通用的CPU功能基本相同,含运算器和控制器,不仅可以字节处理,还可以位处理。例如:未处理、查表、状态检测、中断处理等。 ○2数据存储器(RAM):51为128B,52为256B;片外最大可扩展到64K。 ○3程序存储器(ROM/EPROM):8031没有,8051有4K的ROM,8751有4K的EPROM;片外可扩展至64K。 ○4中断系统:5个中断源,2级优先权。 ○5定时器/计数器:2个16位定时/计数器,四种工作方式。 ○6串行口:1个全双工串行口,四种工作方式。可进行串口通信,扩展并行I/O口,多机通信 等。 ○7P1、P2、P3、P0口:四个8位并行I/O口。 ○8特殊功能寄存器(SFR):共21个,对片内部件进行管理、控制、监视;实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。 2. 引脚排列 (1)电源及时钟引脚 ○1电源引脚:Vcc(40脚)解5V电源、Vss(20脚)接地。 ○2时钟引脚:两个始终引脚XTAL1、XTAL2外接晶振,或接晶体与片内反相放大器构成振荡器。 XTAL1(19脚):内部反相放大器的输入端。若接晶振则应接地;XTAL2(18脚):内部反相放大器 的输出端。若采用外部时钟振荡器,该引脚接收时钟振荡信号。 (2)控制引脚 ○1RST/Vpd(9脚):复位信号输入,高电平有效。单片机运行时,此脚持续2个机器周期(24个时钟振荡周期)的高电平,就可复位。平时应为0.5V低电平;Vpd为第二功能,备用电源 输入端。 ○2:ALE为地址锁存允许,正常

单片机学习笔记

MC51单片机学习笔记 一准备知识: 1.内部结构:4K Rom 程序存储器(硬件)128节Ram随机存储器(软件) 8位cpu,4个8位并口,1个全双串行口,2个16位定时器/计数器; 寻址范围64k 布尔处理器 CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器; RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据; ROM:用以存放程序、一些原始数据和表格; I/O口:四个8位并行I/O口,既可用作输入,也可用作输出; T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式 五个中断源的中断控制系统; 一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信; 片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。 2.分类:arm(快)凌阳(处理声音较好) 3.型号说明:STC (公司名) 89(系列)C(CMOS;CAD:自带

AD转换;S:串行下载无需专门的编程器;lv:工作电压为3v)51(1*4=4K) RC 40(晶振最高频率) C(商业级:温度0--85,I工业级温度-40--125)----PDIP (双列直插式)0721(07年第21周)......... 4.电平:TTL:高:+5v--低0v; RS232:计算机串口:+12v--低-12v,故计算机和单片机通信需要电平转换芯片 5.二进制与十六进制之间的转换:每4位转变一次 6.二进制转换逻辑符号:&与,//或,---非,异或 7. P3第二功能各引脚功能定义: P3.0:RXD串行口输入 P3.1:TXD串行口输出 P3.2:INT0外部中断0输入 P3.3:INT1外部中断1输入 P3.4:T0定时器0外部输入 P3.5:T1定时器1外部输入 P3.6:WR外部写控制(计数) P3.7:RD外部读控制 RST :复位管脚,高电平有效,时间大于两个机器周期 VPD:备用电源 注:机器周期和指令周期 (1)振荡周期: 也称时钟周期, 是指为单片机提供时钟脉

51单片机的学习经验(附学习总结)

51单片机的学习经验(附学习总结) OFweek工控网讯:作为一名电子技术从业人员,你学过单片机吗?你会运用单片机吗?我想你一定学过,但不一定会运用。因为学习单片机比学习其他学科需要付出更多的努力和代价,不仅要学习理论知识还要练习实际操作,而且主要是在实际操作中才能真正学到单片机技术。此外,学习单片机还需要投入一定的学习成本,随着你学习知识的扩展成本还会增加。 单片机作为一种简单的控制器在生活中有这广泛的应用,当然在工业型单片机在生产中也扮演着很重要的角色,所以对于一个学习自动化的工控人来说,学习单片机是非常有必要的。 单片机的学习经验 1、学习电子技术基础知识,如电路、模拟电路和数字电路。这是学习电类相关专业的基础。 2、学习计算机硬件知识,如计算机的简单组成原理(只需要了解),当然要知道CPU是什么?总线是什么?一些相关概念。 3、程序编写的相关知识,主要是汇编语言和C语言。了解结构化语言的程序设计方法,也就是三种结构(顺序结构、分支结构(或称选择结构)、循环结构),会一些常用的算法。 4、以上是基础,有了这些基础,学习51单片机就只要花几周的时间就能上手。但学习单片机时,主要从单片机的存储器开始,其中特殊功能寄存器是重点,学会之后,就可以学习单片机的基础部分了,主要是四个部分:51单片机I/O口的使用、中断的使用、定时器的使用、外部器件的扩展。这些部分都可以用软件仿真(可以用proteus软件)。 5、可以买一两块廉价的单片机开发板,用廉价的方法(可以用热转印法做PCB板)仿制一些更简单的实验功能板,开始做板时千万不做得太复杂,我带过的很多学生中,有少部分人总是觉得太简单了,做个复杂的,结果做了个把星期,没有成功,最后只有放弃。还有一点很重要,就是用PROTEUS仿真时,最好只做单一功能的仿真,否则可能与实际在硬件上做的结果不一样。 6、从网上下载一些实例进行研究学习,不断提高。 学习单片机的步骤

单片机学习笔记--KILL软件应用

单片机学习笔记1 建立工程、添加文件、生成烧写文件之学习一、建立一个空的工程文件: 打开KILL软件——project——New Project——保存目录(选一个合适目录保存我们的工程实例:E、D、F盘自定,若在该文件夹下放多个项目,可在此在建一个子文件夹)——双击进入该文件夹或该子文件夹——(进入后我们在这里建文件)命名为你为这个工程所起的名字(当然也可以随便起)——点保存——选择你所用芯片的公司,并在该公司目录下选择你所用的芯片——确定——在弹出对话框中选否(用C语言编程)OR是(用汇编编程)。 下面用图讲解: 1、打开KILL软件——project——New Project

2、保存目录(选一个合适目录保存我们的工程实例:E、D、F盘自定,若在该文件夹下放多个项目,可在此在建一个子文件夹) 选择要保存的地方(那个盘下): 保存在该磁盘下自己新建的文件夹下:

建立子文件夹(若要在上面确定的文件夹下建立不只一个工程时,建立子文件夹来分别存放不同的工程实例) 3、双击进入该文件夹或该子文件夹——(进入后我们在这里建文件)命名为你为这个工程所起的名字(当然也可以随便起)——点保存 4、选择你所用芯片的公司,并在该公司目录下选择你所用的芯片——确定

这里AT89S52的FLASH Memory是8K的,其算法是最后一个数字2乘以4得出的,又如AT89S51的FLASH Memory是4K 5、在弹出对话框中选否(用C语言编程)OR是(用汇编编程)。

二、向空的工程文件里添加一个程序文件: 新建一个空的程序文件:File——New File——保存一下(File——Save 或直接点击保存图标)——填写文件名:程序文件名.C 或文件名.ASM——保存。 把程序文件添加到工程文件里: 方法一,在Source Group1上点击右键——Add Files to Group ’Source Group1’——选中要添加的那个程序文件——Add——Close。 方法二,直接双击Source Group1进行添加。 下面用图进行讲解: 1、File——New File 2、保存一下(File——Save或直接点击保存图标) 3、填写文件名:程序文件名.C 或文件名.ASM——保存。 创建为C语言程序文件:

51单片机C语言程序设计复习资料

2013-2014学年上期51单片机C语言程序设计重修复习提纲考试方式:闭卷考试。 考试题型: 填空题(每空1分,共18分);单项选择题(每空2分,共18分);问答及计算题(每题4分,共16分);编程及程序阅读题(5小题,共48分)。 考试分数: 卷面成绩70%+平时成绩15%+实验成绩15%,未缺席、无课堂违纪、作业全交且认真完成的同学平时成绩可获得满分,缺席一次平时成绩扣30分,实验好评次数3次以上且实验报告全优的同学实验成绩可得满分,实验缺席一次扣30分。缺席实验和旷课共3次以上者,无考试资格。 考试时间: 18周周一(12月30日)下午14:00:16:00,考试地点:具体考室另行通知希望大家认真复习,认真听讲,不懂就问,考试成绩不及格允许查卷,如查卷卷面批阅无误成绩不做更改。 编程题为实验或实验类似的题目有3题,其余2题也取自课堂讲授例题,请务必认真复习。第一章单片机概述及单片机知识回顾 掌握什么是单片机、单片机的应用、常见单片机类型、十进制、十六进制、二进制数制转换知识。掌握单片机的硬件组成、CPU的结构、程序计数器PC的功能、存储器结构、机器周期的计算、会画出单片机的最小系统电路图及回答单片机最小系统的组成。 第二章C51语言程序设计基础(本章填空题和选择题比重较大请务必认真复习)掌握C51语言进行软件开发与汇编语言相比的优点、掌握C51的数据类型、特殊功能位的定义、C51的基本运算(位运算重点复习)、数组的定义、C51的结构及函数。 第三章AT89S51片内并行端口及编程(本章有编程题) 掌握P0-P3并行端口的特点,会开关量检测及流水灯程序的编程。 第四章AT89S51单片机的中断系统(本章有编程题) 掌握中断系统的结构、中断请求响应被满足的条件、外部中断的触发选择方式、外部中断的使用与编程。 第五章AT89S51单片机的定时器/计数器(本章有编程器) 掌握定时器的结构,TOMD及TCON的使用,定时器方式0和方式1的特点、会计算定时器初值,会用定时器中断产生PWM波形,会用定时器对外部事件进行计数。 第六章AT89S51单片机的串行口(本章有计算题) 掌握串行通信的基础知识(课本没有的内容请参照课堂讲授笔记或PPT)、串行口的四种工作方式的特点、会计算奇偶校验码、会根据波特率计算T1的初值。 第七章AT89S51单片机与输入/输出外设接口(本章有编程题) 掌握数码管动态显示的原理、掌握矩阵式键盘的原理与编程(矩阵键盘编程必考,但不会考4X4键盘)。 第八章AT89S51单片机与D/A与A/D转换器的接口(本章有编程题) 掌握AD与DA转换的接口、ADC和DAC的技术指标、常用AD和DA转换器。掌握ADC0809和TLC2543的使用与编程(2器件其中之一有编程题)。 第九章AT89S51单片机应用系统与调试(本章有编程题) 掌握单片机应用系统的软件抗干扰方法。

相关文档