两小时搞定单片机原理 您所在的位置:网站首页 运算符按优先级从高到低依次是什么样 两小时搞定单片机原理

两小时搞定单片机原理

2023-08-12 16:33| 来源: 网络整理| 查看: 265

单片机原理 第一部分 硬件基础

1、 单片机的并行I/O口在使用时,有哪些注意的地方? 较重的负载接在P0口;P0口输出时应接上拉电阻;P0可复用地址/数据线 读P1需要先输出1使三极管截止; P2可做地址线; 2、单片机的存储器;程序存储器和数据存储器的寻址范围,地址总线和数据总线的位数;数据存储器内存空间的分配;特殊功能寄存器区; 3、时钟及机器周期; 4、单片机的控制总线、地址总线及数据总线等。 例: 一、填空 1.MCS-51单片机有4个存储空间,它们分别是: 片内数据存储区 、 片内程序存储区 、 片外数据存储区 、 片外程序存储区 。 2、MCS-51单片机的一个机器周期包括 6个状态周期, 12 个振荡周期。设外接12MHz晶振,则一个机器周期为 1μs。 3.程序状态字PSW由 8位组成。 4.在MCS-51单片机内部,其RAM高端128个字节的地址空间称 特殊功能寄存器区,但其中仅有83 个字节11个特殊功能寄存器有实际意义。 5. MCS-51 系列单片机为 8位单片机,其数据总线为 8位,地址总线为16 位,可扩展的地址范围为 0000H~FFFFH。 6. MCS-51 单片机的4 个并行I/O 口若作为普通I/O 口使用时,输入操作分为读引脚和读锁存器,需要先向端口写“1”的操作是P1 。 7. MCS-51 单片机的特殊功能寄存器分为可位寻址和不可位寻址两种,那么IE 为可位寻址 ,TMOD 为不可位寻址 。 在这里插入图片描述

8.通常MCS-51单片机上电复位时PC=0000H、SP=07 H、通用寄存器采用第0 组,这一组寄存器的地址范围是00H-07H H。

在这里插入图片描述 在这里插入图片描述

9.MCS-51单片机堆栈遵循先低地址后高地址 的数据存储原则。 10.在MCS-51单片机中,使用P2、P0口传送 信号,且使用P0口来传送 信号,这里采用的是 技术。 11.MCS-51单片机位地址区的起始字节地址为 20H 。 12.对于并行口在读取端口引脚信号时,必须先对端口写 1 。 13.PC的内容是下一条要执行的指令的首地址 。 14、MCS-51 单片机运行出错后需要复位,复位的方法是在复位引脚上加一个持续时间超过 2个时钟周期的高电平。 在这里插入图片描述

15、具有4KBytes 储存容量之存储器,其至少需具有 12根地址线。 16、若地址总线有12条,则单片机可寻址的范围为00H-FFFH 。 二、问答 1.简述MCS-51 单片机的P0、P1、P2 和P3 口的功能和特点。 都可作为准双向口;P0复用为地址/数据线,需要接上拉电阻;P1输入需要先写1;P2可作为地址线;P3可作为第二功能口; 2.MCS-51单片机的三总线是由哪些口线构成的。 数据线:P0口 地址线:第八位由P0口,高八位由P2口 控制线:P3口 3.MCS-51单片机的位寻址区的字节地址范围是多少?位地址范围是多少? 20-2F,00-7F 4. MCS-51单片机存储器在结构上有什么特点?在物理上和逻辑上各有那几个地址空间? 采用指令和数据统一物理地址的冯洛依曼(普林斯顿)结构,物理上四个,逻辑上三个; 5.简述MCS-51单片机00H-7FH片内RAM的功能划分,写出它们的名称以及所占用的地址空间。 00-1FH:四组8位通用功能寄存器 20-2FH:位寻址区 30H-7FH:特殊功能寄存器

在这里插入图片描述 在这里插入图片描述

6.请写出MCS-51单片机的五个中断源的入口地址。

在这里插入图片描述

第二部分 C51程序设计

1、C51的指令规则;C51编程语句及规则; 2、C51表达式和运算符; 3、顺序程序、分支程序及循环程序设计; 4、C51的函数; 5、中断函数。 例: 1.程序的基本结构有顺序、选择、循环 。 2.C51的存储器模式有small 、 compact 、 large 。 在这里插入图片描述

3.C51中int型变量的长度为8bit ,其值域为0-255 ;unsigned char型变量的长度为8位,其值域为 -128-127 。 4.C51中关键字sfr的作用访问特殊功能寄存器 ,sbit的作用 位寻址 。 5.函数定义由 函数名 和 函数体 两部分组成。 6.C51的表达式由运算符和操作数 组成。C51表达式语句由表达式和分号 组成。 7.若局部变量未初始化,其初值为 0 。 8.C51中“!”运算符的作用是 逻辑非 ;运算符”~”的作用是 取反 。 9.若函数无返回值,用 void 关键字指定。 10. 在C51中,语句while(1){循环体语句}的含义是 如果没有break语句则一直循环执行循环体中语句,否则执行到break跳出。 11. C51中,用于定义变量片内数据存储器类型的关键字是 small 。 二、程序设计题 1、电路如图所示,要求编程实现一个流水灯。

#include #define led P2 Int mian() { Led = 0xFE; While(1){ Led=(led Digital=0; While(1){ If(digital For(int i=0;i While(1){ P1=0xff; }

Return 0; }

2、没有中断发生时,发光二极管亮,有中断发生时,有外部中断时,在8个发光LED上按从上到下点亮一遍,然后再从下向上点亮一遍,每次点亮一个发光二极管。要求编写程序实现上述功能。

#include Void int0_srv() interrupt 0 { P2=0xff; P2=0xfe; Delay(); For(int i=0;i P2=0x00; }

Return 0; }

第四部分 定时/计数器

1.定时/计数器的组成; 2.工作方式 3.应用编程。 例: 一、填空

MCS-51单片机中有2 个 16 位的定时器/计数器,定时/计数器的核心是一个 十六位加一 计数器。定时器/计数器T0可以工作于方式0、1、2、3 。方式0为 十三位 位定时器/计数器。若系统晶振频率为12MHz,则T0工作于定时方式1时最多可以定时65536µs。若MCS-51 晶振频率为12MHz,则T0 工作于计数方式时,可以接受的计数脉冲频率范围为 0-0.5MHz 。TMOD中的M1M0= 11时,定时器工作于方式3 。若系统晶振频率为6MHz,则定时器可以实现的最小定时时间为 2 µs。MCS-51单片机工作于定时状态时,计数脉冲来自 内部时钟脉冲 。MCS-51单片机工作于计数状态时,计数脉冲来自 外部输入引脚T0/T1 。当GATE=0时,TR0 启动T0开始工作。 在这里插入图片描述 在这里插入图片描述

11.欲对300个外部事件计数,可以选用定时器/计数器T1的模式 0 或模式1 。 12. 若MCS-51单片机的晶振频率为12MHz,则T0工作于计数方式时,可以接受的计数脉冲频率范围为 0-0.5MHZ 。 二、简答题 1、定时器/计数器T0和T1各有几种工作方式?简述每种工作方式的特点。如何控制定时器/计数器的工作方式? 2、设MCS-51单片机的晶振频率fOSC=12MHz,分别讨论定时器/计数器0在各种工作方式下的最长定时时间。若定时100ms,则计算各种方式下的定时初值。 机器周期T=12/fosc=1us;0:2^13us; 1:65536us;2:256us;3:65535us

三、程序设计题 1、利用单片机定时功能实现倒计时9s时间,一位数码管显示。要求T0用方式2实现。晶振频率为12MHz。 Int num=9; Int data[]={0X8F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F}; Void it0_srv() interrupt 1 { TL=(65535-5000)%256; TH=(65536-5000)/256;

If(Num!=0)

Num–; Else Num=0; } Int main() { TMOD=0X02; TL=(65535-5000)%256; TH=(65536-5000)/256;

TR0=1; While(1){ P2=data[num];

}

Return 0; }

2、按钮按下时要求发光二极管熄灭,按钮没有按下时要求发光二极管按亮1秒,灭1秒的频率闪烁。已知:单片机的时钟频率为12MHz,要求采用定时器完成定时,中断方式编程。

4、 利用定时器T0定时中断控制P1.7驱动LED发光二极管亮1s灭1s的闪烁,设时钟频率为12MHz。 5、 航标灯电路如下图图2所示,白天有光时光敏三极管Q2导通,开关三极管Q1也导通;夜晚无光时,Q2截止,Q1也截止。请编写程序实现白天时熄灭航标灯D1,夜晚时开启D1,并要求D1发光时按亮1秒,灭1秒的频率闪烁。已知:单片机的时钟频率为12MHz,要求采用定时器T0的方式1完成定时,中断方式编程。 (1)、写出定时初值的计算过程(可以不换算为16进制)。(5分) (2)、编程实现要求的航标灯功能。(20)

图2 航标灯电路图

第五部分 串行通信

1、串行接口的组成; 2、串行通信过程; 3、通信方式及应用编程。 例: 一、填空题 1.在串行通信中,把每秒中传送的二进制数的位数叫 波特率。 2.当SCON中的M0M1=10时,表示串口工作于方式 2 ,波特率为 32或者64分频晶振频率 。

在这里插入图片描述

3.SCON中的REN=1表示 串口允许接受数据 。 4.PCON 中的SMOD=1表示 波特率在原有基础上加倍 。 在这里插入图片描述 在这里插入图片描述

5.SCON中的TI=1表示 串口发送中断触发 。 6.MCS-51单片机串行通信时,先发送 低位,后发送 高 位。 7.MCS-51单片机方式2串行通信时,一帧信息位数为11 位。 8.设T1工作于定时方式2,作波特率发生器,时钟频率为11.0592MHz,SMOD=0,波特率为2.4K时,T1的初值为 0 。 9.MCS-51单片机串行通信时,通常用指令 AT 启动串行发送。 10.MCS-51 单片机的串行口工作于方式0 时用于 配合 移位寄存器。MCS-51单片机串行方式0通信时,数据从 P3.0 引脚发送/接收。 二、简答题 1、串行口设有几个控制寄存器?它们的作用是什么? 两个 SCON串行口控制寄存器;中断标志和工作模式设置 PCON电源控制寄存器:配置波特率和掉电控制 2、 简述MCS-51 单片机串行口的数据发送和数据接收过程。 发送 数据由CPU送到发送数据缓冲器,发送控制寄存器将并行数据转为串行数据并加上起始位、可编程位和停止位,完成后T1置位,通知cpu数据已经送到TXD引脚

在这里插入图片描述

3、 MCS-51单片机串行口有几种工作方式?各自的特点是什么?怎样确定其工作方式? 四种、通过SCON寄存器的SM0和SM1位配置; 4、MCS-51单片机串行口各种工作方式的波特率如何设置,怎样计算定时器的初值? 在这里插入图片描述

在这里插入图片描述

第六部分 按键与显示

1、按键的识别与处理 2、共阳极数码管与共阴极数码管的构成特点; 3、掌握共阳极数码管与共阴极数码管显示段码的编写 4、数码管的静态显示和动态扫描 例: 一、填空题 1.键盘抖动可以使用 两种办法消除。 2.要让共阴极的七段数码管显示数字7,试问要让 引脚通电。 3.键盘中断扫描方式的特点是 。 4.数字5的共阴极七段LED显示代码是 ,数字5的共阳极七段LED显示代码是 。 5. 所谓动态扫描显示技术是指 。 二、问答题: 1.具体按键的识别有几种方法?各有什么特点? 2.何谓LED静态显示?何谓LED动态显示?两种显示方式各有何优缺点?



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有