单片机求编写程序,C51

单片机求编写程序,C51,第1张

章1 绪 论

1答:第一台电子数字计算机ENIAC问世,标志着计算机时代的到来。与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。

2答:由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU。

3.答:微型计算机由微处理器、存储器和I/O接口电路构成。各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。

4答:微处理器集成了运算器和控制器(即CPU);而微型计算机包含微处理器、存储器和I/O接口电路等。

5 答:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。。

6答:微型计算机有三种应用形式:多板机(系统机)、单板机和单片机。

多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。

单板机,I/O设备简单,软件资源少,使用不方便。早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。

单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。

7答:多年来的应用实践已经证明,80C51的系统结构合理、技术成熟。因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有:

 ATMEL公司融入Flash存储器技术推出的AT89系列单片机;

 Philips公司推出的80C51、80C552系列高性能单片机;

 华邦公司推出的 W78C51、W77C51系列高速低价单片机;

 ADI公司推出的ADμC8xx系列高精度ADC单片机;

 LG公司推出的GMS90/97系列低压高速单片机;

 Maxim公司推出的DS89C420高速(50MIPS)单片机;

 Cygnal公司推出的C8051F系列高速SOC单片机等。

8答:系统需求分析,硬件方案设计,软件编程,仿真调试,实际运行。

9答:在系统编程(ISP)技术,在应用编程(IAP)技术。

章2 80C51的结构和原理

1答:功能上分为基本型和增强型;

工艺上分为HMOS工艺和CHMOS工艺;

在片内程序存储器的配置上有掩膜ROM、EPROM和Flash、无片内程序存储器形式。

2答:采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR。

3. 答:作为通用I/O口时,P0、P1、P2和P3都是准双向口。

P0可以作为地址/数据总线,此时是一个真正的双向口;P2口可以作为地址线的高8位;P3口是双功能口,每条口线还具有不同的第二功能。

另外,P0口的驱动能力为8个TTL负载,而其它口仅可驱动4个TTL负载。

4.答:机器周期分别为2μs,1085μs,1μs。

5.答:复位后,PC内容为0000H,P0口~P3口内容为FFH,SP内容为07H,SBUF内容不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态均为00H。复位方法一种是上电复位,另一种是上电与按键均有效的复位。

6.答:80C51的 引脚为访问片内、片外程序存储器的选择端。访问片内、片外数据存储器需要采用不同的指令加以区分。

7.答:CY:进位、借位标志。有进位、借位时 CY=1,否则CY=0;

AC:辅助进位、借位标志(高半字节与低半字节间的进位或借位);

F0:用户标志位,由用户自己定义;

RS1、RS0:当前工作寄存器组选择位;

OV:溢出标志位。有溢出时OV=1,否则OV=0;

P:奇偶标志位。存于ACC中的运算结果有奇数个1时P=1,否则P=0。

8.答:当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RS1、RS0 来决定。

9.答:RST/VPD:复位信号输入引脚/备用电源输入引脚;ALE/ :地址锁存允许信号输出引脚/编程脉冲输入引脚; /VPP:内外存储器选择引脚/片内EPROM(或FlashROM)编程电压输入引脚; :外部程序存储器选通信号输出引脚。

10.答:0000H:单片机复位入口地址;0003H:外部中断0的中断服务程序入口地址;000BH:定时/计数器0溢出中断服务程序入口地址;0013H:外部中断1的中断服务程序入口地址;001BH:定时/计数器1溢出中断服务程序入口地址;0023H:串行口的中断服务程序入口地址。

章3 80C51的指令系统

1.答:执行时间短。1个机器周期指令有64条,2个机器周期指令有45条,而4个机器周期指令仅有2条(即乘法和除法指令);

指令编码字节少。单字节的指令有49条,双字节的指令有45条,三字节的指令仅有17条;

位 *** 作指令丰富。这是80C51单片机面向控制特点的重要保证。

2.答:80C51单片机的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。

这些寻址方式所对应的寄存器和存储空间如下表所示。

序号 寻址方式 寄存器或存储空间

1 寄存器寻址 寄存器R0~R7,A、AB、DPTR和C(布尔累加器)

2 直接寻址 片内RAM低128字节、SFR

3 寄存器间接寻址 片内RAM(@R0,@R1,SP)

片外RAM(@R0,@R1,@DPTR)

4 立即寻址 ROM

5 变址寻址 ROM(@A+DPTR,@A+PC)

6 相对寻址 ROM(PC当前值的+127~-128字节)

7 位寻址 可寻址位(内部RAM20H~2FH单元的位和部分SFR的位)

3.答:直接寻址和位寻址方式。

4.答:直接寻址、寄存器间接寻址和位寻址方式。

5.答:寄存器间接寻址。

6.答:立即寻址、变址寻址和相对寻址方式。

7.答:单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位 *** 作构成了片内的布尔功能系统,它可对位(bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等 *** 作。在实现位 *** 作时,借用了程序状态标志器(PSW)中的进位标志Cy作为位 *** 作的“累加器”。

8寄存器间接寻址方式。

9. (1)MOV A,#88H----------------74H, 88H

(2)MOV R3,50H----------------ABH,50H

(3)MOV P1,#55H----------75H,90H,55H

(4)ADD A,@R1---------------------27H

(5)SETB 12H----------------------D2H,12H

10.答:

(1)MOV A,R0

MOV R1,A

(2)MOV R2,60H

(3)MOV DPTR,#1000H

MOVX A,@DPTR

MOV 60H,A

(4)MOV DPTR,#1000H

MOVX A,@DPTR

MOV R2,A

(5)MOV DPTR,#1000H

MOVX A,@DPTR

MOV DPTR,#2000H

MOVX @DPTR, A

11.答:(R1)=7FH

(A)=60H

(30H)=08H

(40H)=60H

12.答:(1)(A)=2CH

(2)(40H)=0CH

(3)(A)=22H,(CY)=1,(AC)=1,(OV)=0

(4)(A)=8EH

(5)(20H)=0EH,P=1

(6)(A)=EFH,(20)=08H

13.答:(A)=3BH,(R0)=40H,(40H)=00H,(41H)=3BH,(42H)=3BH。

14.答:(1)SETB ACC0

(2)ANL A,#0FH

(3)ANL A,#87H

15.答:MOV 2FH,20H

MOV 2EH,21H

MOV 2DH,22H

16.答:CLR CY

MOV 30H,#7FH

MOV 31H,#4DH

MOV R0, #31H

MOV A,@R0

SUBB A ,#4E

MOV @R0,A ;保存低字节相减结果

DEC R0

MOV A, @R0

SUBB A,#2BH

MOV @R0,A ;保存高字节相减结果

17.答:MOV A,R2

ANL A,#0F0H

ORL R1,A

18.答:MOV A,20H

MOV B,21H

MUL AB

MOV R3,A

MOV R2,B

19.答:(CY)=1, (P1)=10111011B, (P3)=00111100B

章4 80C51的汇编语言程序设计

1.答:汇编语言结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运行速度快、实时性强等优点。它是面向机器的语言,对于单片机硬件的 *** 作直接、方便,有利于初学者对单片机结构的认知。

但它与高级语言相比移植性不好、编程复杂、对编程人员的基础要求高。

2.答:一、任务分析

首先,要对单片机应用系统的设计目标进行深入分析,明确系统设计任务:功能要求和技术指标。然后对系统的运行环境进行调研。这是应用系统程序设计的基础和条件。

二、算法设计

经过任务分析和环境调研后,已经明确的功能要求和技术指标可以用数学方法(或模型)来描述,进而把一个实际的系统要求转化成由计算机进行处理的算法。并对各种算法进行分析比较,并进行合理的优化。

三、流程描述

程序的总体构建。先要确定程序结构和数据形式,资源分配和参数计算等。然后根据程序运行的过程,规划程序执行的逻辑顺序,用图形符号将程序流程绘制在平面图上。应用程序的功能通常可以分为若干部分,用流程图将具有一定功能的各部分有机地联系起来。

流程图可以分为总流程图和局部流程图。总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系;局部流程图反映程序模块的具体实施细节。

3.答:顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的;

分支程序:可以改变程序的执行顺序;

循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务。

4.答:利用累加器或寄存器;

利用存储器;

利用堆栈。

5.答:伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的伪指令包括:

ORG,功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址;

END,功能是结束汇编;

DB,功能是从标号指定的地址单元开始,在程序存储器中定义字节数据;

DW,功能是从标号指定的地址单元开始,在程序存储器中定义字数据空间;

EQU,功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名;

BIT,功能是将位地址赋给指定的符号名。

6.答:程序如下:

ORG 0000H

MOV R0,#21H

MOV R1,#23H

MOV A,@R0

ADD A,@R1

MOV 25H,A

DEC R0

DEC R1

MOV A,@R0

ADDC A,@R1

MOV 24H,A

SJMP $

END

7.答:ORG 0000H

MOV DPTR,#1000H

MOV R0,#30H

MOV R7,#32

LOOP:MOVX A,@DPTR

MOV @R0,A

INC R0

INC DPTR

DJNZ R7,LOOP

RET

8.答:ORG 0000H

MOV A,R1

ADD A,R7

MOV 61H,A

MOV A,R0

ADDC A,R6

MOV 60H,A

SJMP $

END

9.答:延时时间: 2µs{[1+((1+2250+2)246)+2]+2}=0247486秒(含调用指令2个机器周期)

10.答: ORG 0000H

BIG DATA 2FH

ONE DATA 2AH

TWO DATA 2BH

START:MOV R7,#7 ;比较次数

MOV R0,#30H

LOOP:MOV A,@R0

MOV ONE,A

INC R0

MOV TWO,@R0

CLR C

SUBB A,@R0

JC NEXT ;ONE小,TWO大继续比下一对数

MOV @R0,ONE ;ONE大放后面(交换)

DEC R0

MOV @R0,TWO ;TWO小放前面

INC R0 ;

NEXT:DJNZ R7,LOOP

MOV BIG,37H

SJMP $

END

11.答:单字节二进制数转换为压缩的BCD码仅需要2个字节;在将压缩的BCD码拆分存于3个单元。

org 0

MOV 52H,#0

MOV 51H,#0

MOV 50H,#0

MOV A,#0FDh

LCALL DCDTH

SJMP $

DCDTH:MOV R7,#8

MOV R0,A ;暂存于R0

LOOP:CLR C

MOV A,R0

RLC A

MOV R0,A

MOV R1,#51H;

MOV A,@R1 ;

ADDC A,@R1 ;

DA A ;

MOV @R1,A ;

DEC R1

MOV A,@R1

ADDC A,@R1

DA A

MOV @R1,A

DJNZ R7,LOOP

INC R1 ;50H已是结果,R1指向51H,51H单元需拆分

MOV A,#00H

XCHD A,@R1

MOV 52H,A

MOV A,@R1

SWAP A

MOV @R1,A

RET

END

12.答: ORG 0

MOV R1,#5BH

MOV A,R1

ANL A,#0F0H

SWAP A

ACALL ASCII

MOV R3,A

MOV A,R1

ANL A, #0FH

ACALL ASCII

MOV R4, A

SJMP $

ASCII:PUSH ACC

CLR C

SUBB A, #0AH

POP ACC

JC LOOP

ADD A, #07H

LOOP: ADD A, #30H

RET

END

13.答:ORG 0000H

MOV R7,#10

MOV R0,#50H

MOV B,#10

CLR C

CLR A

LOOP:ADDC A,@R0

INC R0

DJNZ R7,LOOP

DIV AB

MOV 5AH,A

SJMP $

END

14.答:实现程序如下:

TEMP EQU 30H

ORG 0000H

JMP START

ORG 0100H

START:MOV SP,#5FH

MOV P0,#8CH ;正序显示"P"

MOV P3,#0FFH ;输入方式

CLR CY

NOKEY:MOV A,P3

CPL A

JZ NOKEY ;无键按下

MOV TEMP,P3 ;有键按下

CALL D10ms

MOV A,P3

CJNE A,TEMP,NOKEY ;去抖动

MOV R2,#0 ;键号计数器复位

MOV A,TEMP

LP:RRC A

JNC DONE

INC R2

SJMP LP

DONE:MOV A,R2

MOV DPTR,#CODE_P0

MOVC A,@A+DPTR

MOV P0,A

JMP NOKEY

D10ms:MOV R5,#10 ;10MS

D1ms:MOV R4,#249

DL:NOP

NOP

DJNZ R4,DL

DJNZ R5,D1ms

RET

CODE_P0:

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H

DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH

END

章5 80C51的中断系统及定时/计数器

1答:5个中断源,分别为外中断 和 、T0和T1溢出中断、串口中断。

电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中断后由硬件自动复位。

T0和T1,CPU响应中断时,由硬件自动复位。

RI和TI,由硬件置位。必须由软件复位。

另外,所有能产生中断的标志位均可由软件置位或复位。

各中断入口地址: ―0003H,T0—000BH, —0013H,T1—001BH,RI和TI—0023H。

2答:将3个中断信号经电阻线或,接 。

ORG 0000H

LJMP MAIN

ORG 00013H

LJMP ZDFZ

ORG 0040H

MAIN:SETB EA

SETB EX1

SJMP $

0RG 0200H

ZDFZ:PUSH PSW

PUSH ACC

JB P10,DV0

JB P11,DV1

JB P12,DV2

INRET:POP ACC

POP PSW

RETI

ORG 2000H

DV0:------------

JMP INRET

ORG 2100H

DV1:------------

JMP INRET

ORG 2200H

DV2:------------

JMP INRET

3答:当IT0=0时, 为电平触发方式。电平触发方式时,CPU在每个机器周期的S5P2采样 引脚电平,当采样到低电平时,置IE0=1向CPU请求中断;采样到高电平时,将IE0清0。在电平触发方式下,CPU响应中断时,不能自动清除IE0标志。

电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然就会漏掉;在中断服务结束之前,中断源的有效的低电平必须撤除,否则中断返回之后将再次产生中断。该方式适合于外部中断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况。

当IT0=1时, 为边沿触发方式。边沿触发方式时,CPU在每个机器周期的S5P2采样 引脚电平,如果在连续的两个机器周期检测到 引脚由高电平变为低电平,即第一个周期采样到 =1,第二个周期采样到 =0,则置IE0=1,产生中断请求。在边沿触发方式下,CPU响应中断时,能由硬件自动清除IE0标志。

边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1。若CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清0。另外,为了保证下降沿能够被可靠地采样到, 和 引脚上的负脉冲宽度至少要保持一个机器周期(若晶振频率为12MHz,为1微秒)。边沿触发方式适合于以负脉冲形式输入的外部中断请求。

4答:定时/计数器实质是加1计数器。

不同点:设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值乘以机器周期就是定时时间。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。

相同点:它们的工作原理相同,它们都有4种工作方式,由TMOD中的M1M0设定,即

方式0:13位计数器;

方式1:16位计数器;

方式2:具有自动重装初值功能的8位计数器;

方式3:T0分为两个独立的8位计数器,T1停止工作。

5答:方式0位13位计数器,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。

计数初值计算的公式为:

X=213-N

方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器。计数个数与计数初值的关系为:

X=216-N

方式2为自动重装初值的8位计数方式。TH0为8位初值寄存器。当TL0计满溢出时,由硬件使TF0置1,向CPU发出中断请求,并将TH0中的计数初值自动送入TL0。TL0从初值重新进行加1计数。周而复始,直至TR0=0才会停止。计数个数与计数初值的关系为:

X=28-N

方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。方式3时,T0分成为两个独立的8位计数器TL0和TH0,TL0使用T0的所有控制位。当TL0计数溢出时,由硬件使TF0置1,向CPU发出中断请求。而TH0固定为定时方式(不能进行外部计数),并且借用了T1的控制位TR1、TF1。因此,TH0的启、停受TR1控制,TH0的溢出将置位TF1。

6答:TMOD中GATE的值不同:完全由TR1、TR0确定时GATE为0;完全由 、 高低电平控制时GATE为1。

7答:T0用作方式3时,T1可以工作在方式0、1和2。T1的开启由TR1控制,即TR1=1时,T1开始工作;TR1=0时或者定时/计数器工作在方式3时,T1停止工作。

8答:采用定时20ms,然后再计数1、49次的方法实现。

a、T0工作在定时方式1时,控制字TMOD配置:

M1M0=01,GATE=0,C/ =0,可取方式控制字为01H;

b、计算计数初值X:

晶振为12 MHz,所以机器周期Tcy为1 。

N=t/ Tcy =20×10-3/1×10-6=20000

X=216-N=65536-20000=45536=4E20H

即应将4EH送入TH1中,20H送入TL1中。

c、实现程序如下:

ORG 0000H

AJMP MAIN ;跳转到主程序

ORG 0030H

MAIN:MOV TMOD,#01H ;设T1工作于方式2

MOV TH0,# 4EH ;装入循环计数初值

MOV TL0,#20H ;首次计数值

LP0:SETB P10

ACALL NT0

CLR P10

MOV R7,#49 ;计数49次

LP1:ACALL NT0

DJNZ R7,LP1

AJMP LP0

NT0:MOV TH0,# 4EH

MOV TL0,#20H

SETB TR0

JNB TF0,$

CLR TR0

CLR TF0

RET

END

9答:采用T0实现

a、T0工作在定时方式1时,控制字TMOD配置:

M1M0=01,GATE=0,C/ =0,可取方式控制字为01H;

b、计算计数初值X:

晶振为12 MHz,所以机器周期Tcy为1 。1/1000=1×10-3

N=t/ Tcy =05×10-3/1×10-6=500

X=216-N=65536-500=65036=FE0CH

即应将FEH送入TH0中,0CH送入TL0中。

c、实现程序如下:

ORG 0000H

AJMP MAIN ;跳转到主程序

ORG 000BH ;T0的中断入口地址

LJMP DVT0

ORG 0030H

MAIN:MOV TMOD,#01H ;设T0工作于方式2

MOV TH0,# 0FEH ;装入循环计数初值

MOV TL0,#0CH ;首次计数值

SETB ET0 ;T0开中断

SETB EA ;CPU开中断

SETB TR0 ;启动T0

SJMP $ ;等待中断

DVT0:CPL P11

MOV TH0,# 0FEH

MOV TL0,# 0CH

SETB TR0

RETI

END

10答:a、T1工作在计数方式2时,控制字TMOD配置:

M1M0=10,GATE=0,C/ =1,可取方式控制字为60H;

T1工作在定时方式1时,控制字TMOD配置:

M1M0=01,GATE=0,C/ =0,可取方式控制字为10H;

b、计算初值X:

定时10ms时:

晶振为12 MHz,所以机器周期Tcy为1 。

N=t/ Tcy =10×10-3/1×10-6=10000

X=216-N=65536-10000=55536=D8F0H

即应将D8H送入TH1中,F0H送入TL1中。

计数100时:

N=100

X=28-N=256-100=156=9CH

c、实现程序如下:

ORG 0000H

AJMP MAIN ;跳转到主程序

ORG 001BH ;T1的中断入口地址

LJMP DVT1

ORG 0030H

MAIN:MOV TMOD,#60H ;T1工作于计数方式2

MOV TH1,#9CH ;装入计数初值

MOV TL1,#9CH ;

CLR P17

SETB ET1 ;T1开中断

SETB EA ;CPU开中断

SETB TR1 ;启动T1

SJMP $ ;等待中断

DVT1:SETB P17

CLR ET1

CLR TR1

MOV TMOD,#10H ;T1工作于定时方式1

MOV TH1,#0D8H ;装初值

MOV TL1,#0F0H

SETB TR1

JNB TF1,$ ;查询等待10ms

CLR TF1

CLR TR1

CLR P17

MOV TMOD,#60H ;T1工作于计数方式2

MOV TH1,#9CH ;装初值

MOV TL1,#9CH ;

SETB ET1 ;T1开中断

SETB TR1 ;启动T1

RETI

END

11答:采用定时20ms,计数50次实现1秒定时。编制1秒延时子程序,由主程序调用。

a、T0工作在定时方式1时,控制字TMOD配置:

M1M0=01,GATE=0,C/ =0,可取方式控制字为01H;

b、计算计数初值X:

晶振为12 MHz,所以机器周期Tcy为1 。

N=t/ Tcy =20×10-3/1×10-6=20000

X=216-N=65536-20000=45536=4E20H

即应将4EH送入TH1中,20H送入TL1中。

c、实现程序如下:

ORG 0000H

AJMP MAIN ;跳转到主程序

ORG 0030H

MAIN:CLR CY

MOV A,#01H

LP0:MOV P1,A

CALL D1SEC

RL A

AJMP LP0

D1SEC:MOV R7,#50 ;计数50次

MOV TMOD,#01H

DL:MOV TH0,#4EH

MOV TL0,#20H

SETB TR0

JNB TF0,$

CLR TR0

CLR TF0

DJNZ R7,DL

RET

END

章6 80C51的串行口

1.答:四种工作方式,由SCON中的SM0、SM1进行定义:

方式0:同步移位寄存器的输入输出方式,主要用于扩展并行输入或输出口,波特率固定。

方式1:10位数据的异步通信口,波特率可变。

方式2:11位数据的异步通信口,波特率固定。

方式3:11位数据的异步通信口,波特率可变。

2.答:RS-232C接口、RS-422A接口、RS-485接口

3.答:最大距离与传输速率及传输线的电气特性有关。当传输线使用每03m(约1 ft)有50PF电容的非平衡屏蔽双绞线时,传输距离随传输速率的增加而减小。当波特率超过1000 bps 时,最大传输距离将迅速下降。

1单片机控制的60s倒计时

这个太简单了,不用什么提示吧硬件上只要单片机最小系统加上数码管两个,程序上只要设置好定时器就行

2

基于单片机的电子钟设计

这个要复杂一点大概要单片机+数码管+实时时钟芯片如DS系列(ds1302加要电池)+存储芯片如24C02,当然驱动数码管的如译码器或锁存器也要有

实在说你第一个设计网上能找到现成的,第二个设计网上也能找到现成的,不过要你自己使用keil、proteus软件综合调试仿真,这两个内容都有,自己动手百度一下吧,不要太依赖别人毕竟这样才能提高一下你自己

单片机原理与应用及C51程序设计(唐颖) txt全集小说附件已上传到百度网盘,点击免费下载:

内容预览:

21 世纪全国本科院校电气信息类创新型应用人才培养规划教材

单片机原理与应用及 C51 程序设计

主 编 唐 颖 副主编 程菊花 任条娟 参 编 黄震梁 郑艳玲 主 审 胡业发 张建军

内 容 简 介

本书共分为 9 章,主要内容包括:单片机概述,MCS-51 系列单片机的内部结构,MCS-51 型单片机 指令系统和汇编语言程序设计,MCS-51 系列单片机 C 语言程序设计,MCS-51 型单片机的内部硬件资源 及应用,MCS-51 型单片机系统功能的扩展,MCS-51 型单片机接口技术,综合实例,单片机应用系统设 计等。 本书除了在每个应用章节中给出许多相关实例外,还在第 8、9 章给出大量的设计性实例和系统设计 实例,均采用汇编与 C 语言编程对照的方式编写,力求通过应用实例,使读者既可以在工作中进行类比编 程,又可以开阔思路,提高实际工作能力。 本书按照应用型人才培养的教学要求编写,语言通俗易懂,内容齐全、实用性强,适合作为各类普通 高校相关专业、相关课程的教材或教学参考书,也可作为需要掌握和使……

单片机到底是什么呢?就是一个电脑,只不过是微型的,麻雀虽小,五脏俱全:它内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可用它来做一些控制电器一类不是很复杂的工作足矣了。排烟罩VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。\x0d\单片机是靠程序工作的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!\x0d\由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言(近几年,C语言也开始广泛被应用),它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的 *** 作系统和应用软件拿到家用PC上来运行,家用PC也是承受不了的。\x0d\目前最常用的单片机为MCS-51,是由美国INTEL公司(生产CPU的英特尔)生产的,89C51是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的,其内核兼容MCS-51单片机。\x0d\单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),\x0d\单片机芯片\x0d\常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。\x0d\由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。\x0d\INTEL的8080是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列单片机系统。因为简单可靠而性能不错获得了很大的好评。尽管2000年以后ARM已经发展出了32位的主频超过300M的高端单片机,直到目前基于8031的单片机还在广泛的使用。在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。\x0d\现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。\x0d\单片机是指芯片本身,而单片机系统是为实现某一个控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算机应用系统,这是单片机应用系统。单片机开发系统是指单片机开发调试的工具。单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,正在逐步取代现有的多片微机应用系统。单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种 *** 作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本 *** 作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。\x0d\2应用分类\x0d\编辑\x0d\\x0d\单片机作为计算机发展的一个重要分支领域,根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。\x0d\通用型/专用型\x0d\\x0d\这是按单片机适用范围来区分的。例如,80C51是通用型单片机,它不是为某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。\x0d\总线/非总线型\x0d\\x0d\这是按单片机是否提供并行总线来区分的。总线型单片机单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。\x0d\控制型/家电型\x0d\\x0d\这是按照单片机大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。\x0d\3发展历史\x0d\编辑\x0d\\x0d\单片机诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。\x0d\而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位Soc单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。\x0d\当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式 *** 作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux *** 作系统。\x0d\主要阶段\x0d\\x0d\早期阶段\x0d\SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。\x0d\中期发展\x0d\MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。\x0d\Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。\x0d\当前趋势\x0d\SoC嵌入式系统(SystemonChip)式的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决,因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。

《单片机原理和应用》是2010年9月由电子工业出版社出版的图书,本书系统全面地介绍了80C51单片机的基本原理、硬件结构、指令系统,并从应用的角度介绍了汇编语言程序设计、单片机外部电路的扩展,以及与键盘、LED显示、LCD显示、打印机等多种硬件接口的设计方法,详细介绍了串行、并行接口的A/D、D/A转换器功能特点和典型应用,增加了单片机应用系统设计、Proteus仿真、实验和课程设计等内容。

一,内容简介

书中应用实例翔实、实验内容丰富,具有参考价值。本书配有电子课件等教学资源。本书可作为高等院校电子信息工程、自动化、通信工程、测控技术与仪器等专业“单片机原理与应用”相关课程的教材,也可作为相关技术人员的参考用书。

二,本书特色

本书为江西省省级精品课程建设成果。

本书从现实教学和工程实际应用出发,对传统单片机教材内容进行了改良,力求做到与市场接轨,与现实同步。在并行总线扩展问题上,着重介绍了扩展方法和典型应用,对并行器件、并行总线扩展及8255、8155、8279等已基本淘汰的器件进行了精简或摒弃,补充了串行总线技术、串行总线器件接口应用和STC系列单片机内部新增功能部件的使用,以及C51编程规范等内容。

书中有单片机应用系统设计、Proteus仿真、实验和课程设计等章节,主教材与实验教材整合为一本书,知识量大。

以上就是关于单片机求编写程序,C51全部的内容,包括:单片机求编写程序,C51、单片机课程设计!不要复制百度!高分悬赏!!、《单片机原理与应用及C51程序设计(唐颖)》最新txt全集下载等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9294823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存