1.单片机又称单片微计算机,最初缩写为SCM(Source Code Management,源代码管理),它集成了中央处理单元CPU(包含运算器、控制器),并行I/O、串行I/O、定时器/计数器,中断系统,系统时钟电路及数据总线。也称(微控制器,嵌入式控制器)
2.Intel的8051单片机已经称为国内外公认的8位单片机标准系统结构。
3.单片机的特点包含:集成度高,功耗低,性价比高,价格低。没有密封性高。
4.十进制二进制转换——除2法。余数从下到上依次为高到低位。
5.数字0~9的ASCII码为48~57,
6.家用冰箱、空调、洗衣机使用的单片机主要是利用了它的测量控制功能。
7.MCS系列单片机基本硬件资源
型号 | 片内程序存储器 | 片内数据存储器B | I/O口线 | 定时器/计数器个数 | 中断源个数 |
8051 | 4KB ROM | 128 | 32 | 2 | 5 |
8052 | 8KB ROM | 256 | 32 | 3 | 6 |
8.原码、反码、补码的转换
1.80C51单片机的基本配置不包含定时器2计数器T2只有两个T0和T1.
2.80C51单片机的内部部件简单介绍:
(1)中央处理器(CPU):8位CPU,包括运算器、控制器。
a.运算器包括:算术逻辑单元ALU,和累加器A,程序状态字寄存器(PSW)。
80C51内部反映程序运行状态或运算结果特征的寄存器为PSW
RS1、RS0主要用来选择工作寄存器区号。CY为进位状态的标志符号。
b.控制器:主要包括程序计数器PC,指令寄存器、指令译码器、定时及控制电路。PC复位的内容变为(0000H),程序计数器PC的功能:存放下一条指令的地址。
(2)数据存储器(RAM):片内128B,52有256B。片外可扩64KB。
(3)程序存储器(ROM):片内4KBFlash闪存,52有8KB。片外可扩至64KB。
(4)中断系统:5个中断源,2个中断优先权。
中断源 | 入口地址 |
外部中断0 | 0003H |
定时器T0 | 000BH |
外部中断T1 | 0013H |
定时器T1 | 001BH |
串行口 | 0023H |
复位后PC为0000H,外部中断0003H,为使主程序不予中断源发生冲突,0000H单元会存放一条跳转主程序的入口地址。
(5)定时器/计数器:2个16位,52有3个16位。
(6)串行口:1个全双共异步串行口,4种工作模式
(7)4个8位并行口,P0,P1,P2,P3
P0(80H-87H)作为地址总线(低8位)及数据总线使用时为双向口,作为通用I/O口使用时,需要加上拉电阻,为准双向口,P1(90H-97H),P2(A0H-A7H),P3(B0H-B7H)口均为准双向口。准双向口作为通用I/O口使用时需要写入1。P0口有高电平、低电平、高阻态3种状态。P3口有第二功能。并行I/O口有两种读取方法:读引脚,读锁存器。
(8)特殊功能寄存器(SFR)26个,映射在片内RAM的80H~FFH
a.凡是可以位寻址的SFR字节地址末尾只能是0H或8H。
b.堆栈指针(SP)主要是:保护断点和现场保护。
c.寄存器(B)进行乘法和除法时需要使用。
d.数据指针DPTR0和DPTR1:16位的SFR。
(9)一个看门狗定时器(WDT)
WDT包含1个14位计数器和看门狗复位寄存器。程序死循环时可以恢复正常。
3.AT89S51的引脚的功能
(1)电源引脚:Vcc(40引脚)接+5V电源,Vss(20引脚)接数字地
(2)时钟引脚:XTAL1(19引脚) XTAL2(20引脚)外接晶体振引脚
a.AT89S51单片机最高的时钟频率为33MH。
b.CPU完成一个基本操作所需的时间称为机器周期,AT89S51单片机的每12个时钟周期为一个机器周期。时钟周期为晶振频率 f 的倒数。如:机器周期12微秒,时钟周期为1微秒,晶振频率1MHz。
(3)控制引脚:
a.RST(9引脚)复位信号输入,高电平有效。加大于2个机器周期高电平可以复位。
b.(31引脚)=1时片内PC指针不超过0FFH,读片内4KB的程序代码,PC超过自动读取片外60KB(1000H~FFFFH)代码。=0时,只读取片外(1000H~FFFFH),片内不起作用。即要使用片内RAM,得为1,此时接+5V,此时PC的有效地址为(0000H~0FFFH)
c.ALE(30引脚)地址锁存使能端。
d.(29引脚)片内外存储器读选信号,低有效。
4.低功耗模式:空闲模式和掉电模式
a.空闲模式的进入:PCON的IDL位置置1,则把CPU的时钟信号关掉,进入空闲模式。
b.空闲模式的推出:相应中断方式,硬件复位方式。
c.掉电模式的进入:PCON的PD位置置1,便进入掉电模式。
d.掉电模式的退出:硬件复位和外部中断。
1.编译c程序时,不会发现注释中的拼写错误。
2.程序从main函数开始执行。
3.x=5,y=6,则(x>y)?x:y++表达式返回6。
4.a=3*5,a*4表达式得到的结果为:15
5.合法标识符只能以字母或_打头
6.浮点型不能直接判断相等,只要在一定误差内就可以认为是相等的。
7.a=3,b=6,printf("%d %d“,(a,b),(b,a))其实就是输出b,a为(6,3)。
8.C51中一般char变量站1个字节存储。
9.C51语言运算中,按位求反的功能是~运算符。
10.使P1口的低四位输出1,高4位输出0的C51指令为:P1=0x0F
11.写入单片机或仿真调试目标的程序文件为HEX.
12.51单片机中每个端口既可以按字节输入/输出,特可以按位进行输入输出。
13.integer不是C51编程时使用的关键字。
14.MCS-51单片机作为通用I/O口使用时,先向P0口写1即P0 = 0xff
15.Keil C51软件中,工程扩展名为.c,编译后产生.Hex文件。
16.新建工程第一步是:创建新工程。
17.C程序总是从主函数开始执行。
18.除了单片机和电源外,单片机最小系统包括:复位电路和时钟电路。
19.一个完整的单片机应用系统由硬件、软件两部分组成。
20.按键消抖有两种方法:软件消抖,硬件消抖。
21.LED发光二极管具有单向导电性。
22.直插式LED短脚正,长脚负是错的。正常来说的短(阴极),长(阳极)
23.发光二级管是能将电能转化为可见光的固体半导体元件,可以直接把电能转化为光能。
24.在Build Output窗口显示 1Error,3Warning表示1错误,3个警告。
25.编写51单片机程序只能用Keil软件编写。错的。
26.C51程序中常常把空语句作为循环体,用于消耗CPU运行时间,产生延时效果。
27.调用#define "intrins.h"内部函数可以实现流水灯左或右移功能。
28.函数_crol_()包含在头文件 "intrins.h"中。
29.C51语言标准比标准C语言增加了位类型。
30.C51中有专门的中断函数。
31.C51语言存储类型与8051存储类型对应关系标(可能简答题)
存储区 | 存储类型 | 与存储空间的对应关系 |
DATA | data | 片内RAM的直接寻址区,位于片内RAM的低128字节 |
BDATA | bdata | 片内RAM位寻址区,位于20H~2FH |
IDATA | idata | 片内RAM的256字节,必须简介寻址的存储区 |
XDATA | xdata | 片外64KB的RAM空间,使用@DPTR间接寻址 |
PDTA | pdata | 片外RAM的256字节,使用@Ri间接寻址 |
CODE | code | 程序存储区,使用DPTR寻址 |
32.数据存储模式:SMALL模式:都位于片内存储器。COMPACT模式:都位于片外数据存储器的1页(256字节)。LARGE模式:都默认位于片外存储器。
33.using可以省略
1.LED灯电路:共阴极高电平点亮,共阳极低电平点亮。
2.LED数码管两种显示方法:静态显示:各个数码管可独立显示,可以显示不一样的,但是占用的I/O口线多,静态显示的方式无闪烁,亮度较高,软件控制容易。动态显示:将所有LED数码管显示器的断码线的相应段并联在一起。共阳极,一个并行口接n个数码管要CPU。所谓的动态显示:每一个时刻只有一位位选线有效,其他都无效,每隔一段时间逐位的显示各数码管。由于人的视觉暂留作用,看到的是同时显示了。 ·
3.LED点阵显示原理:点亮点阵中的一个发光二极管的条件是:对应的行为高电平,对应的列为低电平。控制LED点阵显示器的显示,实质上就是控制加到行线上的高低电平来控制点亮某些发光二极管,从而显示出由不同发光的点组成的各种字符。
4.字符型液晶显示器LCD1602的显示控制:LCD具有省电、体积小、抗干扰性强等优点,分为字段型、字符型、点阵图形型。
5.LCD1602的引脚功能。
引脚 | 引脚名称 | 引脚功能 |
1 | Vss | 电源地 |
2 | VDD | +5逻辑电源 |
3 | VEE | 液晶显示偏压 |
4 | RS | 寄存器选择(1-数据 0-命令) |
5 | R/W | 读写操作(1读0写) |
6 | E | 使能信号 |
7~14 | D0~D7 | 数据总线,三态 |
15 | BLA | 背光板电源+5V,串联一个电位器调节背光亮度,接地,无背光不易发热 |
16 | BLK | 背光板电源地 |
如:液晶显示器开显示,显示光标且光标闪烁则令D=1,C=1,B=1,写入命令0FH。
// 1602写命令函数
void write_command(uchar com){
check_busy(); // 检测液晶显示器是否繁忙,确保能够发送命令
E = 0; // 设置使能引脚为低电平
RS = 0; // 设置寄存器选择引脚为低电平,表示发送命令
RW = 0; // 设置读写引脚为低电平,表示写入操作
out = com; // 将命令写入数据总线
E = 1; // 设置使能引脚为高电平,触发液晶显示器对命令进行读取或执行
_nop(); // 添加延时,确保使能信号的脉冲宽度足够
E = 0; // 设置使能引脚为低电平,完成命令的发送
delay(1); // 延时1毫秒,等待液晶显示器完成相应操作
}
6.字符显示的位置的确定:LCD1602内部有80字节的DDRAM,当向DDRAM的00H~0FH(第一行)、40H~4FH(第二行)地址中的任意一处,写入数据时,LCD是立刻会显示出来,该区域称为可显示区域,而写入10H~27H或则50H~67H不会显示出来,该区域称为隐藏区。需要显示出来的化需要移动光标或字符移位。
7.行列式矩阵键盘的描述:按键设置在跨接行线和列线的交叉点上,根据行线电平有无反转判断按键闭合状态。
8.关于按键消抖:按键消抖问题对晶振频率较高的单片机基本没有影响。错误。
9.行列式矩阵键盘的组成原理与编程思路是什么?
答案: 行列式矩阵键盘组成原理是:将 I/O 口分为行线和列线,按键设置在跨接行线和列线的交点上,列线通过上拉电阻接正电源。 采用软件扫描查询法的编程原理是, 根据按键压下前后, 所在行线的端口电平是否出现翻转,判断有无按键闭合动作。
10.独立式键盘与行列式键盘的特点和不足之处。
答案: 独立式键盘的特点是电路简单,软件处理工作量小,但占用的 I/O 口线较多。行列式键盘的特点是占用 I/O 口线较少但软件处理工作量较大。
1.采用中断技术,可以完全消除查询方式中等待的现象,提高了单片机的实时性和工作效率。
3.TCON寄存器(中断请求标志寄存器)字节地址(88H)(定时器/计数器控制寄存器)
a.TF1--定时器/计数器T1的溢出中断请求标志位。当T1最高位产生溢出后,硬件置TF1为1,向CPU申请中断,TF1中断时,TF1标志硬件清零。也可软件清零。TF0同TF1类似。
b.IE1--外部中断请求1中断标志位。IE0类似。
c.IT1--选择外部中断1为跳沿触发还是电平触发。0--电平触发,加到INT0引脚的中断请求输入信号为低电平有效。并置IE1为1.转向中断服务程序时,则由硬件自动把IE1清零。IT0类似。
d.TR1、TR0--计数运行控制位:TR1(TR0)=1,启动计数器计数的必要条件,TR1(TR0)=0,停止计数器计数。该位置可由软件置1或者清0.
d.当AT89S51复位后,TCON被清零,5个中断源中断请求标志位均为0
e.系统响应中断后,RI和TI都会被硬件清零,无需软件方式干预。错误。
f.在脉冲触发时,下降沿引发IE0自动置位,CPU响应中断后IE0可自动清零。
4.SCON寄存器
a.TI--串口发送中断请求发送标志位,CPU将一字节的数据写入串口的发送缓冲器SBUF时,就启动一帧串行数据的发送,发送完一帧串行数据后,硬件使T1自动置1.CPU响应串口发送中断时,并不清除中断请求标志,TI标志必须在中断服务程序中用指令对其清0.
b.RI--串口接收中断请求标志位。在串口接收完一个串行数据帧,硬件自动使RI中断请求标志1.CPU在响应串口接收中断时,RI标志并不清零0,在中断服务程序中用指令对RI清零。
5.中断允许寄存器IE(A8H)
a.IE对中断开放和关闭实现两级控制,一个总的中断开关控制位EA(IRE.7位),当EA=0,所有中断请求被屏蔽,CPU不接受任何中断请求。当EA=1时,CPU开中断,但5个中断源的请求是否运行,还要由IE中的低5位所对应的5个中断请求允许控制位状态决定。
b.ES--1允许串口,ET1--1允许定时器/计数器1,EX1--1允许外部中断1,ET0和EX0同理。(可能考选择题)
6.中断优先级寄存器IP(B8H)
中断请求源有两个中断优先级,每个中断请求源可由软件设置位高优先级中断或者低优先级中断,也可实现两级中断嵌套。有两条基本原则:低优先级可以被高优先级中断,高优先级不能被低优先级中断。任何一种中断一旦得到响应,不会被其他同级中断打断。
a.PS--串口中断优先级控制位,1--高级
b.PT1--T1中断优先级控制位,1--高级,PT0类似
c.PX1--外部中断1优先级控制位,1--高级,PX0类似
d.各中断源在同一优先级条件下,外部中断0中断优先权最高,串行口中断的优先权最低。下表可能考选填。
用定时器T1工作方式2计数,要求每记满100次向CPU发送中断请求,THTL1的初值为?(如何计算)工作方式2即:(2^8-x) 即256-100=156 所以为:0x9c
7.响应中断请求条件(大概率)
a.总中断开关接通,即IE寄存器EA=1。
b.该中断源发出中断请求,即该中断源对应的中断请求标志位位1。
c.该中断源的请求标志位=1,即该中断被允许。
d.无同级别或更高级别中断正在被服务。
8.中断响应过程:首先由硬件自动生成一条长调用指令如:LCALL 0013H,紧接着由CPU执行该指令。首先将程序计数器PC内容压入堆栈以保护断电,再将中断入口地址装如PC,使程序转向响应中断请求的中断入口地址。
8.以下3种情况发生时,中断响应被封锁。
a.CPU正在处理同级别或更高级优先的中断。
b.所查询的机器周期不是当前正在执行指令的最后一个机器周期。
c.正在执行的指令是RETI或是访问IE或IP的指令。
9.外部中断响应时间:最短3各机器周期,最长8各机器周期。
10.电平触发方式:适合于外部中断以低电平输入且中断服务程序能清除外部中断请求源。
11.跳沿触发方式:适合于以负脉冲形式输入的外部中断请求。
12.80C51单片机的中断服务程序入口地址为:中断向量地址。
13.中断流程:先查询中断优先级-->保护断点-->清除中断标志位-->执行中断函数-->回断点。
1.定时器/计数器的结构
a.T0和T1都有定时器和计数器两种工作模式,两种模式的实质都是对脉冲信号的计数。
b.计数模式:是对加在T0和T1两个引脚上的外部脉冲进行计数(由外部脉冲计数,一个脉冲+1),定时器模式:是对系统时钟信号经过12分频后的内部脉冲信号(机器周期)计数。由于系统时钟频率是定值,可根据计数值计算出定时时间,两个定时器/计数器属于增1计数器。如:T0用作定时器工作方式时是:由内部时钟频率定时,一个机器周期+1
2.工作方式控制寄存器TMOD
a.8位分两组,高4位控制T1,低4位控制T0。
b.GATE=0,定时器是否计数,由控制位TRx来控制。GATE=1,定时器是否计数,由外部中断引脚INTx*上的电平与运行控制位TRx共同控制。如:使用80C51的定时器T0,若允许INT0启动计数器,应使TMOD中的GATE位置1.
c.C/T=0,定时器模式,对系统12分频后的脉冲进行计数。
d.C/T=1,计数器模式,计数器对外部输入引脚T0或T1的外部脉冲(负跳变)计数。
3.定时器/计数器的4种工作方式
(1)工作方式0:13位计数器,由TLX(x=0,1)的低5位和THx的高8位构成。TLx低5位溢出则向THx进位,THx计数溢出则把TCON中溢出标志位TFx置1。C/T=0,电子开关打在上面,T1(T0)为定时器工作模式,系统时钟12分频后的脉冲作为计数信号。C/T=1,电子开关打在下面,T1(T0)为计数器工作模式,对p3.5(p3.4)引脚上的外部输入脉冲计数,当引脚上发送负跳变时,计数器加1。
a.GATE=0,A点电压恒1,B点取决于TRx状态。TRx=1,B为高电平。控制端电子开关闭合,允许T1(T0)对脉冲计数。TRx=0,B点为低电平,开关断开,禁止T1(T0)计数。
b.GATE=1,B点由INTx的电平和TRx的状态确定,TRX=1且INTx=1时,B点才为1。
(2)工作方式1:方式1与方式0的差别仅仅在于计数器的位数不同,方式1为16为计数器,由THx高8位,和TL1低8位构成;方式0则为13为计数器。定时器/计数器在工作方式1时的最大计数值M为:M=65536(2^16),若:震荡频率为12MHZ,在方式1下最大定时时间为:T = 1/f*12=1微秒,则
(3)工作方式2:方式0与方式1的最大特点是计数溢出后,计数器为全0。方式2为自动恢复初值(初值自动装入)的8位定时器/计数器。如:采用80C51的定时器T0,用模式2则应启动T0前向TH0、TL0置入计数初值,以后不再置入。(自动装入)。选择T1做定时器且工作模式为方式2时TMOD=0x02
(4)工作方式3:T0分为两个独立的8位计数器TL0和TH0。使用定时器T1时有3种工作方式。
4.对外部输入的计数信号的要求:外部输入的计数脉冲的最高频率为系统震荡器频率的1/24.
5.计算题方面
例如:晶振频率为12MHz,定时器采用工作方式1产生1ms定时,则T0计数器初值为:
1000 = (2^16-X)*12/12 x = 64610 0xfc18
1.串行通信基础
a.并行通信:采用多条数据总线将数据字节的各个位同时传送。
b.串行通信:将数据字节分成一位一位的形式,在一条传输线上传递。
c.同步通信:采用一个同步时钟,通过一条同步时钟,加快收发双方,使收、发双方达到完全同步。传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙。
d.异步串行通信:以数据帧为单位进行数据传输,各数据帧之间的间隔是任意的,但每个数据帧中的各位是以固定时间传送的。
2.传输方式和错误检验
a.有单工、半双工、全双工。
b.奇偶校验、代码和校验、循环冗余码校验。
3.串行口的基本结构:有两个物理上独立的接收、发送缓冲器SBUF(特殊功能寄存器),可同时收发数据。发送缓冲器只写不读,接收缓冲器只读不写,两个缓冲器公用一个特殊功能寄存器字节地址(99H)。控制寄存器有:SCON,PCON。
4.串行口控制寄存器SCON(98H)
b.SM2--多级通信控制位:SM2主要用于方式2或方式3。SM2=1时只有当接收到的第9位数据为1时,才使RI置1,产生中断请求,并将收到的前8位数据送入SBUF,当接收到的第9位数据位0时,则将收到的前8位数据丢弃。SM2=0时,不论第9位数据是1还是0,都将接收到的前8位数据送人SBUF中,并使RI置1,产生中断请求。方式1时,如果SM2=1,则只有接收到有效的停止位才会激活RI,方式0时,SM2必须为0.
c.REN--允许串行接收位,由软件置1或者清0,REN=1,允许串行口接收数据,REN=0,禁止串行口接收数据。
d.TB8--发送的第9位数据,在双机串行通信时,TB8一般作为奇偶校验位使用;也可在多级串行通信中表示主机发送的是地址帧还是数据帧。TB8=1为地址帧,TB8=0为数据帧。
e.RB8--接收的第9为数据,在方式2和方式3时,RB8存放接收到的第9位数据。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8.
f.TI--发送中断标志位,RI--接收中断标志位。
5.特殊功能寄存器(PCON)
a.SMOD位:波特率选择位单位(位/秒)
b.方式1波特率的计算公式:波特率 = 2^(SMOD)/32*定时器T1的溢出率
6.串行口的4中工作方式
(1)方式0:同步移位寄存器输入/输出方式。用于外接移位寄存器,扩展并行I/O口。以8位数据位1帧,没有起始位和停止位,先发送或接受最低位。波特率是固定的位Fosc/12.
a.方式0输出工作原理:当单片机执行将数据写入发送缓冲器SBUF指令时,产生一个正脉冲,串口把8位数据以fosc/12固定的波特率从RXD脚串行输出,低位在先,TXD脚输出同步移位脉冲,当8位数据发送完,中断标志位TI置1.
b.方式0输入的工作原理:方式0输入时,REN为串行口允许接受控制位,REN=0静止接收,REN=1允许接收。
(2)方式1:发送一帧数据为10位,1个起始位(0),8个数据位,1个停止位(1),先发送或接收最低位。
a.方式1发送:数据位由TXD端输出,发送一帧信息,当CPU执行读写数据到发送缓冲器SUBF的命令后,就启动发送。
b.方式1接收:接收时(REN=1),数据从RXD脚输入。当检测到起始位负跳变时,开始接接收。接收时,定时控制信号两种:接收移位时钟(RX时钟),位检测器采样脉冲。
(3)方式2:串口工作于方式2和3时,位9位异步通信。每帧数据均为11位,1位起始(0),8位数据位(先低位),1位可控制位(1或0)第9位数据及1位停止位。
a.方式2的波特率 = 2^SMOD/64*fosc
a.方式2的发送:由通信协议软件设置TB8,然后将要发送的数据写入SBUF,即可启动发送过程。
b.方式2的接收:在接收完第9位数据,需满足以下两个条件,才能将接收到的数据送入接收缓冲器SBUF。条件1:RI=0,意味着接收缓冲器位空,条件2:SM2=0或接收到的第9位数据RB8=1.
(4)方式3:波特率可变的9位异步通信方式除波特率与2不同外,其他相同。
a方式3波特率 = 2^SMOD/32*定时器T1的溢出率。
(5)80C51串行口发送数据:待发送数据送SUBF-->经TXD(P3.1)串行发送一帧数据完毕-->硬件自动将SCON的TI置1-->用软件将SCON的TI清零。
(6)80C51串口收发过程中T1:发送数据时,该时钟脉冲的下降沿对应于数据的移位输出,接收数据时,该时钟脉冲的上升沿对应于数据位采样。通信波特率取决于T1的工作方式和计数初值,也取决于PCON的设定值。
(7)80C51串口接收数据次序:置SCON的REN=1,外部数据由RXD(P3.0)输入-->接收完一帧数据,硬件置SCON的RI为1-->用软件将RI清零-->接收到的数据由SBUF读出。
(8)相较于工作方式0,工作方式1有什么变化:通信波特率可变,可由软件设置。发送数据由TXD输出,接收数据由RXD引脚输入。方式1可以实现异步串行通信,方式0只能实现串并转换。
7.波特率的定制方法:方式1和方式3的波特率是可变的,由定时器T1的溢出率(T1每秒溢出的次数)来确定。
a.方式0:固定为fosc/12,不受SMOD影响。方式2:2^SMOD/64*fosc
b.方式1、方式3:波特率 = 2^(SMOD)/32*定时器T1的溢出率
1.DAC0832的5个外部控制引脚决定了其工作方式,当采用LE=VCC,/CS=/WR1=/WR2=/XFER并接GND时,其工作方式为:直通方式
2.下列型号芯片中:DAC0832是数模转换器。
3.下列关于DAC0832的描述中:DAC0832是一个8位电压输出型数模转换器是错误的。
4.计数指标分辨率:电压/2^n,多少位n即为多少:
7.DAC0832简介:
a.分辨率为8位。
b.电流输出,建立时间为,单一电源供电(+5V~15V)
c.可双缓冲输入、单缓冲输入或直通输入(可以任选)。
d.它的数模转换结果取决于芯片参考电压VREF、待转换数字量和内部电阻网络。
c.它由一个8位输入锁存器、一个8位DAC寄存器、一个8位D/A转换器组成。
8.DAC0803的输出电压Vo与输入数字量B之间的关系。V0 = -(B*VREF)/256,其中B表示数字量。VREF表示参考电压。
如:DAC0832与反向运算放大器组合后可将数字量直接转换位电压输出,若参考电压位10.24V,则数字变化一个LSB时,输出电压的变化量大小约为40mV(不考虑符号)
10240/256=40.
9.ADC809简介:
a.逐次比较型8路模拟输入、8位的数字量输出的A/D转换器。
b.一共28个引脚,双列直插式封装。
c.ADC0809完成一次转换需要100.
一、TMOD:定时器/计数器工作方式寄存器字节地址(89H)高4位控制T1,低4位控制T0
1.GATE:门控制,如果GATE=0,定时器/计数器是否计数,仅由控制位TRx(x=0,1)来控制。如果GATE=1,定时器计数器是否计数,要由中断引脚INT0(INT1)上的电平与运行控制位TRx两个条件来控制。
2.M1,M0:工作方式选择位
3.C/T:计数器模式和定时器模式选择位:C/T=0,为定时器模式,对系统12分品后的内部脉冲进行计数。C/T=1,为计数器模式,计数器对外部输入引脚T0(P3.4)或者T1(P3.5)的外部脉冲(负跳变)计数。
二、TCON:定时器/计数器控制寄存器字节地址(88H)低4位:外部中断有关,高4位定时器/计数器有关
1.TF1--定时器/计数器T1的溢出中断请求标志位。当T1最高位产生溢出后,硬件置TF1为1,向CPU申请中断,TF1中断时,TF1标志硬件清零。也可软件清零。TF0同TF1类似。
2.TR1、TR0--计数运行控制位:TR1(TR0)=1,启动计数器计数的必要条件,TR1(TR0)=0,停止计数器计数。该位置可由软件置1或者清0.
3.IE1--外部中断请求1中断标志位。IE0类似。
4.IT1--选择外部中断1为跳沿触发还是电平触发。0--电平触发,加到INT0引脚的中断请求输入信号为低电平有效。并置IE1为1.转向中断服务程序时,则由硬件自动把IE1清零。IT0类似。
5.当AT89S51复位后,TCON被清零,5个中断源中断请求标志位均为0。系统响应中断后,RI和TI都会被硬件清零,无需软件方式干预。错误。在脉冲触发时,下降沿引发IE0自动置位,CPU响应中断后IE0可自动清零。
1.SM0,SM1--串行口4中工作方式选择
2.SM2--多级通信控制位:SM2主要用于方式2或方式3。SM2=1时只有当接收到的第9位数据为1时,才使RI置1,产生中断请求,并将收到的前8位数据送入SBUF,当接收到的第9位数据位0时,则将收到的前8位数据丢弃。SM2=0时,不论第9位数据是1还是0,都将接收到的前8位数据送人SBUF中,并使RI置1,产生中断请求。方式1时,如果SM2=1,则只有接收到有效的停止位才会激活RI,方式0时,SM2必须为0.
3.REN--允许串行接收位,由软件置1或者清0,REN=1,允许串行口接收数据,REN=0,禁止串行口接收数据。
4.TB8--发送的第9位数据,在双机串行通信时,TB8一般作为奇偶校验位使用;也可在多级串行通信中表示主机发送的是地址帧还是数据帧。TB8=1为地址帧,TB8=0为数据帧。
5.RB8--接收的第9为数据,在方式2和方式3时,RB8存放接收到的第9位数据。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8.
6.TI--发送中断标志位,RI--接收中断标志位。
四、PCON特殊功能寄存器SMOD位:波特率选择位单位(位/秒)