STC15单片机ad转换函数,10位AD转换后最后两位数值不稳定,来回跳变怎么解决,跪求大神!

上海求育QY-JXSY41单片机微机开发实验箱

上海求育QY-JXSY41单片机微机开发实验箱是集51,8088二大系列CPU于一体的二合一实验系统,实验电路单元独立开放,为适应多种方式实验提供可能.实验箱采用两种二种工作方式:一是联PC机运行,在与上位软件联机的状态下,实现各种调试和运行的操作;二是脱机运行,系统配有管理监控,在无仿真器状态下,系统自动切换到脱机管理状态,用户可轻松调用EPROM中的实验程序完成实验。电话021-

(4)数据区传送子程序;

(6)查找相同数据个数;

(7)无符号双字节快速乘法子程序;

(10)电脑时钟实验。

(1)P1口亮灯实验;

(2)P1口转弯灯实验;

(3)P3.3口输入,P1口输出实验;

(4)工业顺序控制实验;

(5)8255A、B、C口输出方波实验;

(7)8255控制交通灯;

(8)简单I/O扩展实验;

(11)8279键盘显示实验;

(12)通用打印机实验;☆

(13)微型打印机打印字符、曲线、汉字实验;☆

(14)日历时钟DS12887控制实验;☆

(15)I2C储存卡读写实验;

(16)语音芯片ISD1420控制实验(录音);☆

(17)语音芯片ISD1420控制实验(放音);☆

(18)继电器控制实验;

(19)步进电机控制;

(20)8253方波实验;

(21)小直流电机调速实验;

(24)8250可编程异步通讯接口实验(自发自收);

(25)8251可编程通讯接口实验(与PC机);

(26)单片机RS232/485串行发送实验(双机通讯);

(27)单片机RS232/485串行接收实验(双机通讯);

(28)温度压力实验;

(1)二进制多位加法实验

(2)二进制转换为BCD码实验

(3)BCD码转换为二进制码

(4)十进制数的BCD码相减运算

(7)求最大数和最小数

(2)D/A转换实验(一)

(3)D/A转换实验(二)

(4)8255A并行口实验(一)

(5)8255A并行口实验(二)

(6)定时器/计数器实验

(7)8259单级中断控制器实验

(8)串行口发送实验(双机通讯)

(9)串行口接收实验(双机通讯)

(10)小直流电机调速实验;

(13)存贮器读写实验

(15)简单I/O口扩展实验

(16)8251可编程通讯接口和PC机通讯

(20)8250可编程异步通讯接口实验

(21)8279键盘显示实验

(1)POD1扩展卡主持以下实验:

(2)POD2扩展卡主持以下实验:

(3)POD3扩展卡主持以下实验:

(4)POD4扩展卡主持以下实验:

40芯锁紧大孔引出,扩展主板以外接口芯片用。

(6)CAN卡:CAN总线通讯接口实验

(7)以太网卡:以太网TCP/IP协议接口实验

说明:实验项目打“☆”号为选配扩展卡实验(无注明仅供51使用)。

微机原理与接口技术知识点

主要考查基本概念,题型包括填空、选择、判断。

1、计算机发展的分支:

2、微型计算机与单片机的区别与联系

3、计算机主要技术指标:字长、主频、运算速度、内存容量

1、嵌入式系统的定义:三要素(嵌入性、专用性、计算机系统)

2、嵌入式系统的组成:P6

嵌入式计算机的分类、外围接口包括哪些、嵌入式操作系统有哪些

3、单片机与通用微机硬件结构的主要区别

(1)微机微型化(强调控制功能)

(2)增加了实时控制所要求的相关功能器件

(3)单片机应用特点决定了单片机接口多为非标准接口

4、按照其用途可分为通用型和专用型两大类,各自特点

5、单片机按其处理的二进制位数主要分为:4位、8位、16位和32位单片机。

7、体积小、可靠性高、嵌入容易、功能强、应用灵活

8、强调控制功能而非数据处理

11、何谓MCS-51系列单片机主要产品类型及代表产品

第二章 计算机基础知识

主要考查基本概念,题型包括填空、选择、判断、简答。

数制:二进制、八进制、十进制、十六进制

有符号数和无符号数 P29 (1、2、3、5)

2.2 计算机的基本组成

简单逻辑电路-〉触发器-〉寄存器-〉存储器/计数器/三态缓冲器

重点掌握寄存器分类、各种寄存器的组成及工作原理

2、主要技术指标:容量、存取速度

第三章 微型计算机工作原理

主要考查基本概念,题型包括填空、选择、判断、简答。

1、微型计算机基本结构

三大部件(CPU、存储器、I/O口)、三总线结构

⑴CPU组成运算器、控制器

⑵运算器组成:ALU、ACC、暂存器、B寄存器 (ALU单元的功能)

①指令的定义 ②程序计数器PC的工作原理

3、微型计算机基本工作原理

⑴计算机执行三阶段(取指令、译码分析、执行指令)

⑵计算机执行程序的过程

⑴接口主要功能 ⑵组成(三端口) ⑶I/O口编址(独立编址、统一编址)

⑴与子程序的区别 ⑵查询与中断的区别

2、引进中断技术的优点

⑴定义⑵常见中断源有哪些

⑴中断优先级的概念 ⑵中断嵌套的概念

4.2 中断的处理过程

中断响应-〉中断处理-〉中断返回

第五章 单片机硬件结构

主要考查硬件结构基本概念,题型包括填空、选择、判断、简答题。

1、结合硬件结构图熟悉51单片机9大组成部分

2、哈佛结构与冯若依曼结构的区别。

5.2.1 电源及时钟引脚

1、P0低8位地址、P2高八位地址、P3口第二功能

功能:逻辑运算、算术运算、位操作、数据传输

组成:ALU、A、B、暂存器等

PSW:C、AC、RS1、RS0、OV(OV:有符号数和无符号数)

PC寄存器:16位(可寻址范围是64KB)、工作过程

5.4.1 程序存储器空间

2、EA作用,如何选择片内/片外ROM

3、中断入口地址含义,表2-3记忆

5.4.2 数据存储器空间

1、片内结构组成、片外最大扩展容量、四组(工作寄存器如何选择)

2、堆栈SP:入栈出栈过程、为何要重复初值

1、特殊功能寄存器地址范围80H~FFH,功能,如何分布的(离散分布),低4位为“0”、为“8”可进行位寻址。

2、只有P0、P2口有多路选择开关,它们的作用是什么?

4、准双向口的含义,P0口作为通用I/O口是准双向口(输出‘1’需要、输入‘1’需要),作地址/数据复用口为真双向口

2、P1口也是准双向口、无需接上拉电阻

1、为何要用低电平驱动

5.6 时钟电路与时序

2、内部时钟方式工作原理、外部时钟怎么接入

5.6.2 机器周期、指令周期与指令时序

5.7 复位操作和复位电路

1、复位状态 表2-7

2、复位电路原理,复位方式:上电复位(冷启动)、按键复位(热启动)

5.8 低功耗节电模式

1、如何进入、如何退出、RAM和SFR状态如何

2、如何进入、如何退出、RAM和SFR状态如何

第六章 单片机指令系统

主要考查基本概念及指令运用,题型包括填空、选择、判断、读程序、简答。

1、51单片机系统如何分类按功能、指令周期、占用字节数

1、一条指令通常由两部分组成操作码和操作数,操作码和操作数的含义

6.3 指令系统的寻址方式

2、七种寻址方式定义并能举例

6.4.1 数据传送类指令

6.4.2 算术运算类指令

1、加法指令ADD对各标志位的影响

2、INC指令不影响标志位,INC DPTR如何工作

3、乘法、除法指令如何影响标志位、指令格式(注意中间没有逗号)、

6.4.3 逻辑操作类指令

6.4.4 控制转移类指令

2、所有的条件转移指令都是短跳指令

例当从P1口输入数据为01H 时,程序继续执行,否则等待,直到P1口出现01H。参考程序如下:

1、常用指令有哪些,用法

第六章典型例题:参考第六章作业

第七章 汇编语言程序设计

主要考查基本概念及指令运用,题型包括填空、选择、判断、读程序。

7.1 汇编语言程序设计概述

7.1.1 单片机编程语言

1、汇编与高级语言的定义、各自的优点

7.1.2 汇编语言语句和格式

2、书写各段时要注意哪些问题

1、伪指令的含义,“伪”体现在汇编后,没有任何机器码产生

7.2 汇编语言源程序的汇编

1、了解手工汇编、机器汇编含义

8.3单片机的中断系统

主要考查基本概念及运用,题型包括填空、选择、判断、简答、综合题。

2、比较其与子程序调用的区别

3、比较其与查询的区别

4、51中断系统2、5、4含义

2、中断请求标志寄存器

3、中断源分别是什么,分别对应哪些中断标志

4、中断执行过程 图5-2

8.3.3 中断允许与中断优先级的控制

1、 中断允许寄存器IE

2、 中断优先级寄存器IP

熟悉IE,IP寄存器中的各位含义

各中断源的中断优先级关系,可归纳为两条基本规则:

(1)低优先级可被高优先级中断,高优先级不能低优先级中断。如果某一中断源被设置为高优先级中断,则不能被任何其他的中断源的中断请求所中断。

(2)任何一种中断一旦得到响应,不会再被它的同级中断源所中断。

3、在同时收到几个同优先级的中断请求时,哪一个中断请求能优先得到响应?

8.3.4 响应中断请求的条件

1、中断响应是有条件的,当遇到下列三种情况之一时,中断响应被封锁:

(1)CPU正在处理同级或更高优先级的中断。

(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。只有在当前指令执行完毕后,才能进行中断响应,以确保当前指令执行的完整性。

(3)正在执行的指令是RETI或是访问IE或IP的指令。因为按照AT89S51中断系统的规定,在执行完这些指令后,需要再执行完一条指令,才能响应新的中断请求。

8.3.5 外部中断的响应时间

1、中断响应时间的定义

2、最短时间和最长时间计算

8.3.6 外部中断的触发方式选择

2、电平触发外部中断存在的主要问题

3、一次跳沿触发需要2各机器周期的识别时间

8.3.7 中断请求的撤销

1.定时器/计数器中断请求的撤销

2.外部中断请求的撤销

(1)电平触发 图5-8

3.串行口中断请求的撤销

8.3..8 中断服务子程序的设计

(1)设置中断允许控制寄存器IE,允许相应的中断请求源中断。

(2)设置中断优先级寄存器IP,确定所使用的中断源的优先级。

(3)若是外部中断源,还要设置中断请求的触发方式决定采用电平触发方式还是跳沿触发方式。

(4)编写中断服务子程序,处理中断请求。

8.3.9 多外部中断源系统设计

PPT:P101 电路原理、编程实现

主要考查基本概念及运用,题型包括填空、选择、判断、简答、综合题。

重难点指数:★★★★★

1、定时的方法:硬件、软件、可编程

2、定时与计数的关系:T=N*Tcy

8.1.1 定时器/计数器的结构

1 工作方式控制寄存器TMOD

2 定时器/计数器控制寄存器TCON

16位T0、T1;加计数器

3、门控位GATE工作原理

8.1.2 定时器/计数器的4种工作方式

1、13位计数器,由TLx(x=0,1)低5位和THx高8位构成。TLx低5位溢出则向THx进位,THx计数溢出则把TCON中的溢出标志位TFx置“1”。

1、方式1为16位计数器,由THx高8位和TLx低8位构成(x=0,1)

2、最大计数值N=65536,初值最大X=65535,最长定时时间计算方法

1、为自动恢复初值(初值自动装入)的8位定时器/计数器。

2、最大计数值N=256,最长定时时间

3、优点:该方式可省去用户软件中重装初值的指令执行时间,简化定时初值的计算方法,可以相当精确地确定定时时间。

1、是为增加一个8位定时器/计数器而设,使AT89S51单片机具有3个定时器/计数器

2、方式3只适用于T0,T1不能工作在方式3。T1处于方式3时相当于TR1=0,停止计数(此时T1可用来作为串行口波特率产生器)。

3、当T0设置在方式3,再把T1也设成方式3,此时T1停止计数。

8.1.3 对外部输入的计数信号的要求

1、在一个机器周期内S5P2采集,对于一个负跳变需要两个机器周期,故外部输入计数脉冲最高频率为fosc/24;

8.1.4 定时器/计数器的编程和应用

定时计数器程序设计总结

设计定时器/计数器应用程序三步骤:

(1) 根据定时或计数要求确定适当的定时/计数方式、计算初值,设定特殊功能寄存器TMOD、THx、TLx。

(2) 根据对定时器/计数器的要求设置中断系统,即设置中断允许控制寄存器IE和中断优先级控制寄存器IP

(3) 启动定时器/计数器,即置位TCON中的TRx位。

主要考查基本概念及运用,题型包括填空、选择、判断、简答、综合题。

1、基本概念(通信、并行/串行通信、同步/异步通信、三种通信制式)

1、51串口是一个异步全双工的串口(方式1、2、3)

8.2..2 串行口的4种工作方式

2、为同步移位寄存器输入/输出方式,不用于两个AT89S51单片机之间的异步串行通信用于串行口外接移位寄存器,扩展并行I/O口

3、8位数据为一帧,无起始位和停止位,先发的低位

4、RXD收发数据,TXD同步时钟

5、三种方式帧格式、各自区别

1、熟悉工作原理,看P127

8.2.4 波特率的制定方法

7.4.2 定时器T1产生波特率的计算

1、波特率定义,如何计算可变波特率

主要考查基本概念及运用,题型包括填空、选择、判断、简答、综合题。

1、用C51进行单片机软件开发,主要优点:

2、C51与标准C的主要区别

1、C51的扩展数据类型

2、C51存储类型与AT89S51的实际存储空间的对应关系

2、bit不能用来定义指针和数组

1、C51区分大小写例如Delay与delay,编译时是不同的两个名称。

2、对普通函数,从用户使用的角度划分有两种:一种是标准库函数;另一种是用户自定义函数。

3、函数有三种形式:无参数函数、有参数函数和空函数。

4、函数调用分:简单调用、嵌套调用、递归调用

1、算术运算符、逻辑运算符、关系运算符、位运算符

1、C51中断服务函数的定义方法:加了一个扩展关键字interrupt

系统为中断服务程序的函数自动添加了相应的现场保护、阻断其他中断、返回时恢复现场等处理的程序段,因而在编写中断服务函数时可不必考虑这些问题

2、中断服务函数的一般形式为:

3、C51扩展了一个关键字using,专门用来选择AT89S51的4个不同的工作寄存器区

4、关键字using对函数目标代码的影响

5、编写AT89S51中断程序时,应遵循以下规则

14.3.2 定时器程序的编写

14.3.3 串行口方式0应用程序的编写

14.3.4 独立式键盘查询方式

14.3.5 行列式键盘查询方式

结合前面相关章节理解记忆,灵活掌握。

第9章 AT89S51单片机外部存储器的扩展

主要考查基本概念及运用,题型包括填空、选择、判断、简答、综合题。

1、为什么要进行存储器的扩展

2、AT89S51单片机系统扩展结构

单片机I/O口哪些用做地址总线、数据总线、控制总线

9.2 地址空间分配和外部地址锁存器

9.2.1 存储器地址空间分配

9.2.2 外部地址锁存器

1、片选的定义:由于外扩的存储芯片往往不止一片,需要使用一些特殊的信号来选中这些不同的芯片,这种信号被称作“片选”信号。

2、常用的两种方法:线性选择法(简称线选法)、地址译码法(简称译码法)

1、主要型号有哪些:2716,,27128

9.3.2 程序存储器的操作时序

9.4 静态数据存储器RAM的扩展

9.4.2 外扩数据存储器的读写操作时序

9.5.1 综合扩展的硬件接口电路

1、能自己连接电路、根据地址范围确定地址关系译码图

9.5.2 外扩存储器电路的工作原理及软件设计

第10章 AT89S51单片机与输入/输出外设的接口

主要考查基本概念及运用,题型包括填空、选择、判断、简答、综合题。

1、七段数码管分共阴极和共阳极,0~9段码分别是什么

2、LED静态显示方式和动态显示方式

①静态显示方式的串口驱动方式,②静、动态显示方式各自有缺点

10.2 键盘接口原理

10.2.1 键盘输入应解决的问题

(1)判别是否有键按下?若有,进入下一步工作。

(2)识别哪一个键被按下,并求出相应的键值。

(3)根据键值,找到相应键值的处理程序入口。

2、如何消除按键的抖动

软件延时、专用的键盘/显示器接口芯片工作原理

1、键盘可分为两类:非编码键盘和编码键盘。

2、非编码键盘分:(1)独立按键(2)矩阵键盘

各自优缺点、应用场合、工作原理

3、扫描法和线反选法原理

1、工作方式有3种,即编程扫描、定时扫描和中断扫描。

10.3 键盘/显示器接口设计实例

10.3.1 利用AT89S51单片机串行口实现的键盘/显示器接口

1、图10-12用AT89S51串行口扩展键盘/显示器实例

第11章 AT89S51单片机与D/A、A/D转换器的接口(以实验4指导PPT为参考)

主要考查基本概念及简单运用,题型包括填空、选择、判断、简答。

1、AD转换器的主要作用

A/D转换器把模拟量转换成数字量,以便于单片机进行数据处理。

2、A/D转换器输出数据与输入电压的对应关系:

3、AD转换器的主要技术指标:

(1)转换时间和转换速率

A/D完成一次转换所需要的时间。转换时间的倒数为转换速率。

在A/D转换器中,分辨率是衡量A/D转换器能够分辨出输入模拟量最小变化程度的技术指标。分辨率取决于A/D转换器的位数,所以习惯上用输出的二进制位数或BCD码位数表示。例如,STC单片机自带的A/D转换器的满量程输入电压为5V,可输出10位二进制数,即用210个数进行量化,其分辨率为1LSB,也即5V/ 210 =4.88mV,其分辨率为10位,或A/D转换器能分辨出输入电压4.88mV的变化。

量化过程引起的误差称为量化误差。是由于有限位数字量对模拟量进行量化而引起的误差。理论上规定为一个单位分辨率的±1/2LSB ,提高A/D位数既可以提高分辨率,又能够减少量化误差。

4、STC51单片机AD转换器的主要使用步骤:

第12章 微机-微处理器

主要考查基本概念及运用,题型包括填空、选择、判断、简答。

1、EU单元和BIU单元组成

2、指令缓冲队列的作用

2、段寄存器有哪些,为什么需要

3、IP寄存器、标志寄存器F

1、物理地址与逻辑地址的关系

1、分几个状态周期,各自含义

第13章 微机-存储器

主要考查基本概念及运用,题型包括填空、选择、判断、简答。

13.1 微机存储器系统的组成

1、存储器的层次结构特点

2、CPU与存储器芯片连接(字节编址结构)

8-3 定时使用与初值、内部时钟频率

计数使用时外部计数信号频率<=fosc/24

STC12C5A60S2是STC生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。

4、通用I/O口,复位后为:准双向口/弱上拉

可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏

每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA

7、内部集成MAX810专用复位电路

9、时钟源:外部高精度晶体/时钟,内部R/C振荡器

常温下内部R/C振荡器频率为:5.0V单片机为:11~17MHz

10、4个16位定时器

两个与传统8051兼容的定时器/计数器,16位定时器T0和T1

11、3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟

15、通用全双工异步串行口(UART)

P0.0~P0.7 P0:P0口既可以作为输入/输出口,也可以作为地址/数据复用总线使用。当P0口作为输入/输出口时,P0是一个8位准双向口,内部有弱上拉电阻,无需外接上拉电阻。当P0作为地址/数据复用总线使用时,是低8位地址线A0~A7,数据线D0~D7

标准IO口、ADC输入通道0、独立波特率发生器的时钟输出

标准IO口、ADC输入通道2、PCA计数器的外部脉冲输入脚,第二串口数据接收端

外部信号捕获,高速脉冲输出及脉宽调制输出、第二串口数据发送端

SPI同步串行接口的从机选择信号

SPI同步串行接口的主出从入(主器件的输入和从器件的输出)

SPI同步串行接口的主入从出

P2口内部有上拉电阻,既可作为输入输出口(8位准双向口),也可作为高8位地址总线使用。

标准IO口、串口1数据接收端

外部中断0,下降沿中断或低电平中断

定时器计数器0外部输入、定时器0下降沿中断、定时计数器0的时钟输出

STC12C5A60AD/S2系列带A/D转换的单片机的A/D转换口在P1口,有8路10位高速A/D转换器,速度可达到250KHz(25万次/秒)。8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。上电复位后P1口为弱上拉型IO口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不须作为A/D使用的口可继续作为IO口使用。

单片机ADC由多路开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器以及ADC_CONTER构成。

该单片机的ADC是逐次比较型ADC。主次比较型ADC由一个比较器和D/A转换器构成,通过逐次比较逻辑,从最高位(MSB)开始,顺序地对每一输入电压与内置D/A转换器输出进行比较,经过多次比较,使转换所得的数字量逐次逼近输入模拟量对应值。逐次比较型A/D转换器具有速度高,功耗低等优点。

需作为AD使用的口先将P1ASF特殊功能寄存器中的相应位置为‘1’,将相应的口设置为模拟功能。

WS2812B七彩LED具有集成度高、使用方便等特点,但是800K的数据速率(IO变化速率高达2.4M),对单片机提出了较高的要求,通常是采用SPI+DMA方式驱动,

也有人采用汇编实现,但是要预先把数据转换为按bit存放,在LED级连数量较多的情况下,需要占用极多的存储空间。

在驱动WS2812B上花费了太多的时间,走了不少弯路,记录下来:

简易数字分析仪采样频率最高只有4M,即测量精度为250ns,而信号宽度要求为400ns和850ns,这样测量的结果存在较大的误差,让人误以为信号跳变无规律,

迷失了方向;解决的办法就是利用STC单片机主时钟的内分频功能,语句:CLK_DIV |= 0x07; 将主频降低128倍,这样测量的波形就足够准确了。

STC15系列可以使用内置振荡电路,主频高达27M,高速才有足够的时间进行数据处理,最终选择的是24M的主频。

汇编与C混合编程,开始以为很复杂,做了发现不是很困难,主要还是对汇编本身的理解。

3、子程序调用时的参数传递上,一般是用R7,R5,R3,具体可以看编译生成的SRC文件;

最初采用高级语言的两层循环嵌套,内层通过移位实现8个比特输出,外层依次处理每个比特,但是两层循环之间的时延较长,导致输出的波形不规则;

最终打破结构化编程的框架,利用每个比特中850ns输出的长信号进行数据处理,实现了完美波形输出;

在LED数量较多的情况下,发现会有闪烁,经常时间的查找,最后判断是信号输出期间产生硬件中断,导致输出的波形有跳变,导致不特定位置的LED出现闪烁;

128分频下的输出波形

我要回帖

更多关于 单片机ad转换函数 的文章

 

随机推荐