单片机问题简答(一)

1.单片机的主要特点是什么

  1. 在存储器结构上,单片机的存储器采用的是哈佛结构;
  2. 在芯片引脚上,大部分采用分时复用技术;
  3. 在内部资源访问上,采用特殊寄存器(SFR)的形式;
  4. 在指令系统上,采用面向控制的指令系统;
  5. 内部一般都集成一个全双工的串行接口。
  6. 单片机有很强的外部扩展能力

2.简述微型计算机与单片机的异同。

答:单片机是在一块集成电路上把CPU、存储器、定时器/计数器及多种形式的I/O接口集成在一起而构成的微型计算机。它与通用微型计算机相比,具有如下特点:
(1)单片机的程序存储器和数据存储器是分工的,前者为ROM,后者为RAM;
(2)采用面向控制的指令系统,控制功能强:
(3)多样化的I/O接口,多功能的I/O引脚:
(4)产品系列齐全,功能扩展性强;
(5)功能是通用的,像一般微处理机那样可广泛地应用在各个方面。

3.什么是RAM,什么是ROM,试区分其性能

答:  RAM(random access memory)是随机访问存储器,RAM存储器是断电时信息会丢失的存储器,但是这种存储器可以现场快速地修改信息,所以RAM存储器是可读/写存储器,一般都作为数据存储器使用,用来存放现场输入的数据,或者存放可以更改的运行程序和数据。

ROM(Read Only Memory)是只读存储器,ROM只读存储器的特点是:其内容是预先写入的,而且一旦写入,使用时就只能读出不能改变,掉电时也不会丢失,通常用于存储程序或常数。

4.什么是寻址方式

寻址方式就是处理器根据指令中给出的地址信息来寻找有效地址的方式,是确定本条指令的数据地址以及下一条要执行的指令地址的方法。

5.80C51单片机内部串行口工作方式工作于方式1、3时波特率与TI的溢出率有关,什么是T1的溢出率?如何计算定时器T1工作于方式1时的T1溢出率?

 计数器计满时(最后一个计数状态,对16位计数器一般为65535),再来一个脉冲,会产一个溢出信号,计数器复位至第一个状态(第一个计数状态,对16位计数器一般为0),从0~65535这是满量程计数的情况。如果不想满量程,则需要设置初值,如设置初值为65536-1000=64536,则计数器输入1000个脉冲就会产生溢出信号。对TI而言,单位时间的溢出次数即T1的溢出率。

   方式1和方式3的波特率是可变的,其波特率由定时器1的计数溢出(对80C52来说,也可以使用定时器2的计数溢出)决定,公式为:
                         

                                    
式中,SMOD为PCON寄存器最高位的值,SMOD=1表示波特率加倍。而定时器1溢出率计算公式为:
                               

 

### AT89S51单片机常见简答题及答案 #### 1. AT89S51单片机的内核是什么? AT89S51单片机是基于8051内核设计的单片机[^1]。它兼容标准8051架构,具有与传统8051单片机相同的指令集和寄存器结构。 #### 2. AT89S51单片机的存储器配置有哪些特点? AT89S51单片机内部包含4KB的Flash程序存储器和128B的RAM。其Flash存储器支持在系统编程(ISP),允许用户通过串口直接对程序存储器进行写入操作。 #### 3. AT89S51单片机的中断源有哪些? AT89S51单片机具有五个中断源,分别是外部中断0、外部中断1、定时器/计数器0溢出中断、定时器/计数器1溢出中断以及串行口中断。其中,外部中断0的优先级最高,而串行口中断的优先级最低[^12]。 #### 4. AT89S51单片机的I/O口工作模式有哪些? AT89S51单片机的I/O口为准双向口,在作为输出端口使用时,需要先向端口寄存器写入高电平以确保正确的驱动能力。此外,I/O口可以通过设置特殊功能寄存器(SFR)实现不同的工作模式,如输入、开漏输出等[^3]。 #### 5. AT89S51单片机的时钟频率范围是多少? AT89S51单片机支持的晶振频率范围为0~24MHz。通常情况下,使用12MHz晶振可以提供稳定的运行环境,同时便于计算机器周期和定时器参数[^2]。 #### 6. AT89S51单片机的PC指针作用是什么? AT89S51单片机中的程序计数器(PC)用于指向当前正在执行的指令地址。在指令执行完毕后,PC会自动递增以指向下指令地址。需要注意的是,PC仅能访问程序存储器地址空间[^3]。 #### 7. AT89S51单片机与AT89S52的主要区别是什么? 相比于AT89S51,AT89S52单片机增加了以下特性:4KB Flash程序存储器扩展到8KB,RAM从128B增加到256B,新增个定时器/计数器(共三个),并且多了个中断源。 --- ### 示例代码 以下是个简单的延时函数实现,适用于AT89S51单片机: ```c void delay(unsigned int time) { unsigned int i, j; for (i = 0; i < time; i++) { for (j = 0; j < 120; j++); // 内层循环用于增加延迟时间 } } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值