第十二章 STC单片机ADC原理及实现

Size: px
Start display at page:

Download "第十二章 STC单片机ADC原理及实现"

Transcription

1 第 12 章 STC 单片机 ADC 原理及实现 何宾

2 本章主要内容 模数转换器原理 STC 单片机内 ADC 的结构原理 STC 单片机内 ADC 寄存器组 ADC 应用实现 1 ADC 应用实现 2 ADC 应用实现 3 ADC 应用实现 4 2

3 模数转换器原理 数模转换器 (Analog to Digital Converter,ADC), 简称为 A/D 它用于将连续的模拟信号转换为数字形式离散信号 典型地,ADC 将模拟信号转换为与电压值成比例表示的数字离散信号 不同厂商所提供的 ADC, 其输出的数字信号输出使用不同的编码格式 3

4 模数转换器原理 -- 模数转换器的参数 介绍 ADC 转换器中几个重要的参数, 包括 : 分辨率 响应类型 误差 采样率 4

5 模数转换器的参数 -- 分辨率 分辨率是指对于所允许输入的模拟信号范围, 它能输出 离散数字信号值的个数 这些输出的信号值通用二进制数来表示 因此, 分辨率经常用 比特作为单位, 且这些离散值的个数是 2 的幂次方 例如, 一个具有 8 位分辨率的模拟数字转换器可以将模拟信号编码成 256 个不同的离散值 ( 离散梯度 ), 其范围可以是 0~255( 即无符号整 数 ) 或从 -128~127( 即带符号整数 ) 至于使用哪一种编码格式, 则取决于所选用的 ADC 器件 5

6 模数转换器的参数 -- 分辨率 6

7 模数转换器的参数 -- 分辨率 分辨率也可以用电气性质来描述 比如 : 使用伏特 使得输出离散信号产生一个变化所需的最小输 入电压的差值被称作最低有效位 (Least Significant Bit, LSB) 电压 这样, 模拟数字转换器的分辨率 Q 等于 LSB 电压 模拟数字转换器的电压 分辨率由下面等式确定 : Q V RefHi V VRefHi 和 VRefLow 是转换过程允许输入到 ADC 的电压上限和下限值 N 是模拟数字转换器输出数字量的位数宽度值, 以比特为单位 2 N RefLow 7

8 模数转换器的参数 -- 分辨率 很明显, 如果输入电压的变化小于 Q 值, 则 ADC 是无法分辨出电压的变化 这样, 就带来量化误差 当 N 值越大, 也就是 ADC 输出数字量的位数越多, 则 Q 越小, 即 : 可分辨的电压变化就越小, 分辨能力就越强, 量化导致的误差就越小 8

9 模数转换器的参数 -- 响应类型 大多数模拟数字转换器的响应类型为线性 这里的线性是指, 输出信号的大小与输入信号的大小成线性比例 一些早期的转换器的响应类型呈对数关系, 由此来执行 A 律算法或 μ 律算法编码 在一个 ADC 器件中, 没有绝对的线性, 只是近似的线性 所以, 就会带来线性误差 一般情况下, 在 ADC 器件可表示数字量的中间部分线性度较好, 而两端线性度较差 9

10 模数转换器的参数 -- 误差 模拟数字转换器的误差有若干种来源 量化误差和非线性误差 ( 假设这个模拟数字转换器标称具有线 性特征 ) 是任何模拟数字转换中都存在的内在误差 10

11 模数转换器的参数 -- 采样率 模拟信号在时域上是连续的, 因此可以将它转换为时间上 离散的一系列数字信号 因此, 要求定义一个参数来表示 获取模拟信号上每个值并表示成数字信号的速度 通常将 这个参数称为 ADC 的采样率或采样频率 根据奈奎斯特采样定理, 当采样频率大于所采样模拟信号最高频 率的两倍时, 信号才不会发生混叠失真 在实际使用时, 为了能更加逼真地恢复出原始的模拟信号, 建立采样频 率为信号最高频率至少 5~10 倍 为了满足采样定理的要求, 通常在信号进入 ADC 之前, 要对信号进行带 限, 即 : 将信号限制在一个有限的频率范围内 11

12 模数转换器的类型 --Flash ADC 8-3 线优先级编码器 二进制输出 12

13 模数转换器的类型 -- 逐次逼近寄存器型 ADC 逐次逼近寄存器型 (Successive Approximation Register,SAR) ADC 结构 13

14 模数转换器的类型 --Σ-Δ ADC(Sigma-delta ADC) 14

15 模数转换器的类型 -- 积分型 ADC 15

16 模数转换器的类型 -- 数字跃升型 ADC 16

17 STC 单片机内 ADC 的结构原理 --STC 单片机内 ADC 的结构 STC15 系列单片机内集成了 8 路 10 位高速 ADC 转换器模块 通过 ADC 控制寄存器 ADC_CONTR 中 SPEED1 和 SPEED0 比特位的控制, 该 ADC 模块的最高采样速率可以达到 300KHz, 即 : 30 万次采样 / 秒 (30kSPS,30k Sample Per Second) 17

18 STC 单片机内 ADC 的结构原理 --STC 单片机内 ADC 的结构 STC15 系列单片机的 ADC 由多路选择开关 比较器 逐次比较 寄存器 10 位 DAC 转换结果寄存器 ADC_RES 和 ADC_RESL 以及 ADC 控制寄存器 ADC_CONTR 构成 18

19 STC 单片机内 ADC 的结构原理 --STC 单片机内 ADC 的结构 该 ADC 是典型的 SAR 结构, 这种结构是一种典型的闭环反馈系统 在该 ADC 的前端提供了一个 8 通道的模拟多路复用开关 在 ADC 控制寄存器 ADC_CONTR 内的 CHS2~CHS0 比特位的控制下, 将 ADC0~ADC7 的模拟信号送给比较器 19

20 STC 单片机内 ADC 的结构原理 --STC 单片机内 ADC 的结构 该结构的 ADC 包含一个比较器和 DAC, 通过逐次比较逻辑, 从最高有效位 MSB 开始, 顺序地对每一个输入电压与内置 DAC 输出进行比较 经过多次比较后, 使的转换得到的数字量逼近输入模拟信号所对应的数字量的值 将最终得到的数字量保存在 AD C 转换结果寄存器 AD C _ R E S 和 ADC_RESL 中 同时, 将 ADC 控制寄存器 ADC_CONTR 中的转换结束标志 ADC_FLAG 置 1, 以供程序查询或者向 CPU 发出中断请求 20

21 STC 单片机内 ADC 的结构原理 --ADC 转换结果的计算方法 在 STC 15 系列的单片机中, 通过 CLK_DIV 寄存器的 ADRJ 位的设 置, 控制转换结果的计算方式 当 ADRJ=0 时 如果取 10 位计算结果时, 转换结果表示为 : (ADC_RES[7:0],ADC_RESL[1:0])=1024 Vin/Vcc 如果取 8 位计算结果 当 ADRJ=1 时 ADC_RES[7:0]=256 Vin/Vcc (ADC_RES[1:0],ADC_RESL[7:0])=1024 Vin/Vcc Vin 为模拟输入通道输入电压 Vcc 为单片机的供电电压 21

22 STC 单片机内 ADC 寄存器组 --P1 口模拟功能控制寄存器 STC15 系列单片机的 8 路模拟信号的输入端口设置在 P1 端口的 8 个引脚上, 即 :P1.0~P1.8 当上电复位后,P1 口设置为弱上拉 I/O 口 可以通过软件将 8 个引脚上的任何一个设置为 ADC 模拟输入 注 : 没有设置为 ADC 模拟输入的引脚可以作为普通 I/O 使用 22

23 STC 单片机内 ADC 寄存器组 --P1 口模拟功能控制寄存器 P1ASF P1 口模拟功能控制寄存器 P1ASF 该寄存器位于 STC 单片机特殊功能寄存器地址为 0x9D 的位置 当复位后, 该寄存器的值为 P1 口模拟功能控制寄存器 P1ASF 各位的含义 比特 B7 B6 B5 B4 B3 B2 B1 B0 名字 P17ASF P16ASF P15ASF P14ASF P13ASF P12ASF P11ASF P10ASF P17ASF 模拟输入通道 7 控制位 当该位为 1 时,P1.7 引脚用于模拟信号输入 ; 当该位为 0 时,P1.7 引脚用作普通 I/O 23

24 P16ASF STC 单片机内 ADC 寄存器组 --P1 口模拟功能控制寄存器 P1ASF 模拟输入通道 6 控制位 当该位为 1 时,P1.6 引脚用于模拟信号输入 ; 当 P15ASF 该位为 0 时,P1.6 引脚用作普通 I/O 模拟输入通道 5 控制位 当该位为 1 时,P1.5 引脚用于模拟信号输入 ; 当 P14ASF 该位为 0 时,P1.5 引脚用作普通 I/O 模拟输入通道 4 控制位 当该位为 1 时,P1.4 引脚用于模拟信号输入 ; 当 P13ASF 该位为 0 时,P1.4 引脚用作普通 I/O 模拟输入通道 3 控制位 当该位为 1 时,P1.3 引脚用于模拟信号输入 ; 当 该位为 0 时,P1.3 引脚用作普通如需原始 PPT I/O 文件请点击此处 24

25 P12ASF STC 单片机内 ADC 寄存器组 --P1 口模拟功能控制寄存器 P1ASF 模拟输入通道 2 控制位 当该位为 1 时,P1.2 引脚用于模拟信号输入 ; 当 P11ASF 该位为 0 时,P1.2 引脚用作普通 I/O 模拟输入通道 1 控制位 当该位为 1 时,P1.1 引脚用于模拟信号输入 ; 当 P10ASF 该位为 0 时,P1.1 引脚用作普通 I/O 模拟输入通道 0 控制位 当该位为 1 时,P1.0 引脚用于模拟信号输入 ; 当 该位为 0 时,P1.0 引脚用作普通 I/O 25

26 STC 单片机内 ADC 寄存器组 --ADC 控制寄存器 ADC 控制寄存器 ADC_CONTR 该寄存器位于 STC 单片机特殊功能寄存器地址为 0xBC 的位置 当复位后, 该寄存器的值为 ADC 控制寄存器 ADC_CONTR 各位的含义 比特 B7 B6 B5 B4 B3 B2 B1 B0 名字 ADC_POWER SPEED1 SPEED0 ADC_FLAG ADC_START CHS2 CHS1 CHS0 ADC_POWER ADC 电源控制位 为 0 时, 关闭 ADC 电源 ; 为 1 时, 打开 ADC 电源 26

27 SPEED1 和 SPEED0 STC 单片机内 ADC 寄存器组 --ADC 控制寄存器 数模转换器速度控制位各位的含义 SPEED1 SPEED0 ADC 个时钟周期转换一次 CPU 工作频率为 27MHz 时,ADC 的转换速度为 300KHz 个时钟周期转换一次 CPU 工作频率为 27MHz 时,ADC 的转换速度为 150KHz 个时钟周期转换一次 CPU 工作频率为 27MHz 时,ADC 的转换速度为 75KHz 个时钟周期转换一次 CPU 工作频率为 27MHz 时,ADC 的转换速度为 50KHz 27

28 STC 单片机内 ADC 寄存器组 --ADC 控制寄存器 ADC_FLAG ADC 转换结束标志位 当 ADC 转换结束时, 由硬件置为 1, 该位需要由软件清零 注 : 不管是中断还是轮询该位, 一定要用软件清零 ADC_START ADC 转换启动控制位 当该位为 1 时, 启动 ADC 转换 ; 转换结束后, 该位为 0 28

29 STC 单片机内 ADC 寄存器组 --ADC 控制寄存器 CHS2 CHS1 和 CHS0 模拟输入通道选择控制位 CHS2 CHS1 和 CHS0 各位含义 CHS2 CHS1 CHS0 功能 选择 P1.0 引脚作为内部 ADC 模块采样输入 选择 P1.1 引脚作为内部 ADC 模块采样输入 选择 P1.2 引脚作为内部 ADC 模块采样输入 选择 P1.3 引脚作为内部 ADC 模块采样输入 选择 P1.4 引脚作为内部 ADC 模块采样输入 选择 P1.5 引脚作为内部 ADC 模块采样输入 选择 P1.6 引脚作为内部 ADC 模块采样输入 选择 P1.7 引脚作为内部 ADC 模块采样输入 29

30 STC 单片机内 ADC 寄存器组 -- 时钟分频寄存器 时钟分频寄存器 CLK_DIV 该寄存器位于 STC 单片机特殊功能寄存器地址为 0x97 的位置 当复位后, 该寄存器的值为 0000x000 注 : 该寄存器中的 ADRJ 位用于控制 ADC 转换结果存放的位置 时钟分频寄存器 CLK_DIV 各位的含义 比特 B7 B6 B5 B4 B3 B2 B1 B0 名字 MCLKO_S1 MCLKO_S0 ADRJ Tx_Rx -- CLKS2 CLKS1 CLKS0 ADRJ 为 0 时,ADC_RES[7:0] 存放高 8 位结果,ADC_RESL[1:0] 存放低 2 位结果 ADRJ 为 1 时,ADC_RES[1:0] 存放高 2 位结果,ADC_RESL[7:0] 存放低 8 位结果 30

31 STC 单片机内 ADC 寄存器组 --ADC 结果高位寄存器 ADC 结果高位寄存器 ADC_RES 该寄存器位于 STC 单片机特殊功能寄存器地址为 0xBD 的位置 当复位后, 该寄存器的值为 ADC 结果高位寄存器 ADC_RES 各位的含义比特 B7 B6 B5 B4 B3 B2 B1 B0 名字内容由 ADRJ 控制 31

32 STC 单片机内 ADC 寄存器组 --ADC 结果低位寄存器 ADC 结果低位寄存器 ADC_RESL 该寄存器位于 STC 单片机特殊功能寄存器地址为 0xBE 的位置 当复位后, 该寄存器的值为 ADC 结果低位寄存器 ADC_RESL 各位的含义 比特 B7 B6 B5 B4 B3 B2 B1 B0 名字内容由 ADRJ 控制 32

33 中断使能寄存器 STC 单片机内 ADC 寄存器组 -- 中断使能寄存器 该寄存器位于特殊功能寄存器地址为 0xA8 的位置 当复位后, 该寄存器的值为 中断控制寄存器 IE 各位含义 比特 B7 B6 B5 B4 B3 B2 B1 B0 名字 EA ELVD EADC ES ET1 EX1 ET0 EX0 EADC 为 ADC 转换中断允许位 当该位为 1 时, 允许 ADC 转换中断 ; 当该位位 0 时, 禁止 ADC 转换中断 33

34 中断优先级寄存器 STC 单片机内 ADC 寄存器组 -- 中断优先级寄存器 该寄存器位于特殊功能寄存器地址为 0xB8 的位置 当复位后, 该寄存器的值为 中断优先级控制寄存器 IP 各位含义 比特 B7 B6 B5 B4 B3 B2 B1 B0 名字 PPCA PLVD PADC PS PT1 PX1 PT0 PX0 PADC 为 ADC 转换优先级控制位 当该位为 0 时,ADC 转换中断为最低优先级中断 ( 优先级 0); 当该位为 1 时,ADC 转换中断为最高优先级中断 ( 优先级 1) 34

35 ADC 应用实现 1 该设计将读取 STC 学习板上按下不同按键所得到的直流电压值, 经过 ADC 转换器转换后, 得到数字量的值, 经过计算后, 通过串口 1 发送到主机串口界面显示得到的直流电压值 35

36 ADC 应用实现 1 -- 直流分压电路原理 在电源 VCC 和 GND 之间连接着由 16 个电阻构成的电阻梯度网络 存在下面的条件: 从 STC15 系列单片机 ADC 结构图可以知道,ADC 输入连接着模拟比较器 因此,ADC 的输入阻抗为无穷大, 即 : 在电阻 R17 上没有电流 因此, 对电阻梯度网络没有影响 由于 R 18 电阻为 K, 远大于电阻梯度网络的总电阻 =4.8K 所以, 流经 R18 的电流很小, 可以忽略不计 在该设计中使用 10 位 ADC, 即 2 10 =

37 ADC 应用实现 1 -- 直流分压电路原理 37

38 ADC 应用实现 1 -- 直流分压电路原理 在该结构中, 存在 SW1~SW16 个按键, 当 : 按下按键 SW16 时, 将 VCC 的电压送到单片机 P1.4 引脚上 按下按键 SW15 时, 将 VCC 电压的 15/16 送到单片机 P1.4 引脚上 按下按键 SW14 时, 将 VCC 电压的 14/16 送到单片机 P1.4 引脚上 按下按键 SW13 时, 将 VCC 电压的 13/16 送到单片机 P1.4 引脚上 按下按键 SW12 时, 将 VCC 电压的 12/16 送到单片机 P1.4 引脚上 按下按键 SW11 时, 将 VCC 电压的 11/16 送到单片机 P1.4 引脚上 按下按键 SW10 时, 将 VCC 电压的 10/16 送到单片机 P1.4 引脚上 38

39 ADC 应用实现 1 -- 直流分压电路原理 按下按键 SW9 时, 将 VCC 电压的 9/16 送到单片机 P1.4 引脚上 按下按键 SW8 时, 将 VCC 电压的 8/16 送到单片机 P1.4 引脚上 按下按键 SW7 时, 将 VCC 电压的 7/16 送到单片机 P1.4 引脚上 按下按键 SW6 时, 将 VCC 电压的 6/16 送到单片机 P1.4 引脚上 按下按键 SW5 时, 将 VCC 电压的 5/16 送到单片机 P1.4 引脚上 按下按键 SW4 时, 将 VCC 电压的 4/16 送到单片机 P1.4 引脚上 按下按键 SW3 时, 将 VCC 电压的 3/16 送到单片机 P1.4 引脚上 按下按键 SW2 时, 将 VCC 电压的 2/16 送到单片机 P1.4 引脚上 按下按键 SW1 时, 将 VCC 电压的 1/16 送到单片机 P1.4 引脚上 39

40 ADC 中断服务程序入口 软件清除 ADC_CONTR 寄存器 ADC_FLAG 标志 读取 ADC_RES 和 ADC_RES1 寄存器的内容, 计算出数字量 ADC 应用实现 1 -- 软件设计流程 主程序入口 给定时器 2 计数初值寄存器 TH2 和 TL2 赋初值 启动定时器 2 ( 数字量 Vcc)/1024, 得到对应的浮点模拟电压值 将浮点数转换成对应的字符, 例如 : 对应的字符串 调用串口发送程序, 将字符发送到主机上显示 再次启动 ADC ADC 中断服务程序结束 启动串口 1 初始化 ADC 通道 初始化 ADC 控制寄存器, 开启 ADC 电源, 启动 ADC 转换 打开 CPU 中断 无限循环 40

41 ADC 应用实现 1 -- 具体实现过程 例 采集分压网络的电压值在串口上显示的 C 语言描述的例子 #include "reg51.h" #include "stdio.h" #define OSC L // 定义 OSC 振荡器频率 Hz #define BAUD 9600 // 定义 BAUD 波特率 9600 #define URMD 0 // 定义 URMD 的值 #define ADC_POWER 0x80 // 定义 ADC_POWER 的值 0x80 #define ADC_FLAG 0x10 // 定义 ADC_FLAG 的值 0x10 #define ADC_START 0x08 // 定义 ADC_START 的值 0x08 #define ADC_SPEEDLL 0x00 // 定义 ADC_SPEEDLL 的值 0x00 #define ADC_SPEEDL 0x20 // 定义 ADC_SPEEDL 的值 0x20 #define ADC_SPEEDH 0x40 如需原始 // 定义 PPT ADC_SPEEDH 文件请点击此处的值 0x40 41

42 #define ADC_SPEEDHH0x60 sfr T2H=0xD6; sfr T2L =0xD7; sfr AUXR=0x8E; sfr ADC_CONTR=0xBC; sfr ADC_RES=0xBD; sfr ADC_RESL=0xBE; sfr P1ASF=0x9D; unsigned char ch=4; float voltage=0; unsigned char tstr[5]; unsigned int tmp=0; float old_voltage=0; ADC 应用实现 1 -- 具体实现过程 // 定义 ADC_SPEEDHH 的值 0x60 // 定义 T2H 寄存器的地址 0xD6 // 定义 T2L 寄存器的地址 0xD7 // 定义 AUXR 寄存器的地址 0x8E // 定义 ADC_CONTR 寄存器的地址 0xBC // 定义 ADC_RES 寄存器的地址 0xBD // 定义 ADC_RESL 寄存器的地址 0xBE // 定义 P1ASF 寄存器的地址 0x9D // 定义无符号变量 ch, 指向 P1.4 端口 // 定义浮点变量 voltage // 定义无符号字符数组 tstr // 定义无符号整型变量 tmp 如需原始 // 定义浮点变量 PPT 文件请点击此处 old_voltage 42

43 ADC 应用实现 1 -- 具体实现过程 void SendData(unsigned char dat) { while(!ti); TI=0; SBUF=dat; } // 定义函数 SendData // 判断发送是否结束, 没有则等待 // 清除发送标志 TI // 将数据 dat 写到寄存器 SBUF void adc_int() interrupt 5 // 声明 adc 中断服务程序 { unsigned char i=0; // 定义无符号字符变量 i ADC_CONTR &=!ADC_FLAG; // 清除 ADC 中断标志位 43

44 ADC 应用实现 1 -- 具体实现过程 } tmp=(adc_res*4+adc_resl); // 得到 ADC 转换的数字量 voltage=(tmp*5.0)/1024; sprintf(tstr, %1.4f,voltage); if(voltage!=old_voltage) // 计算得到对应的浮点模拟电压值 // 将浮点数转换成对应的字符 // 如果新的转换值不等于旧的转换值 { old_voltage=voltage; // 将新的转换值赋值给旧的转换值 SendData( \r ); SendData('\n'); for(i=0;i<5;i++) SendData(tstr[i]); // 发送回车和换行符 // 发送五个对应的浮点数的字符, 一个 // 整数,4 个小数 } // 重新启动 ADC 转换 ADC_CONTR=ADC_POWER ADC_SPEEDLL ADC_START ch; 44

45 void main() { unsigned int i; } SCON=0x5A; T2L=65536-OSC/4/BAUD; ADC 应用实现 1 -- 具体实现过程 // 主程序 // 串口 1 为 8 位可变波特率模式 // 写定时器 2 低 8 位寄存器 T2L T2H=(65536-OSC/4/BAUD)>>8;// 写定时器 2 高 8 位寄存器 T2H AUXR=0x14; // 定时器 2 不分频, 启动定时器 2 AUXR =0x01; P1ASF=0xFF; ADC_RES=0; // 选择定时器 2 为串口 1 的波特率发生器 //P1 端口作为模拟输入 // 清 ADC_RES 寄存器 ADC_CONTR=ADC_POWER ADC_SPEEDLL ADC_START ch; for(i=0;i<10000;i++); IE=0xA0; while(1); // 启动 ADC // 延迟 //CPU 允许响应中断请求, 允许 ADC 中断 // 无限循环 45

46 ADC 应用实现 1 -- 具体实现过程 下载和分析设计的步骤主要包括 : 打开 STC-ISP 软件, 在该界面内, 选择硬件选项 将 输入用户 程序运行时的 IRC 频率 设置为 MHz 单击下载 / 编程按钮, 按前面的方法下载设计到 STC 单片机 在 STC-ISP 软件右侧串口中, 选择串口助手标签 在该标签串口 界面下, 按下面设置参数 : 串口 :COM3( 读者根据自己电脑识别出来的 COM 端口号进行设置 ) 波特率 :9600 校验位 : 无校验 停止位 :1 位 46

47 单击打开串口按钮 ADC 应用实现 1 -- 具体实现过程 在 STC 学习板上右下方, 找到并按一下 ADC 分压检测按键 可以 看到在上面的接收窗口中, 显示出按键所对应的模拟电压的值 47

48 ADC 应用实现 2 本设计将读取 STC 学习板上按下不同按键所得到的直流 电压值, 经过 ADC 转换器转换后, 得到数字量的值, 经 过计算后, 通过 1602 字符 LCD 屏显示得到的直流电压值 48

49 ADC 应用实现 2 -- 硬件电路设计 在该设计中,1602 字符屏通过排线电缆与 STC 学习板上的标记为 J12 的单排插座连接 在图中标出了 STC 学习板上插针引脚 1 的位置和 1602 字符屏引脚 1 的位置 STC 学习板上 J12 提供 20 个插针, 可以直接与 图形 / 字符 LCD 进行连接, 对于 1602 字符屏来说, 不能直接进行连接 注 : 它们的信号引脚定义如后表所示 49

50 ADC 应用实现 2 -- 硬件电路设计 1602 字符 LCD 屏 LCD 屏引脚 16 LCD 屏引脚 LCD 屏与单片机连接的排线电缆 插针引脚 20 LCD 屏对比度调整电位器 STC 学习板上提供的标记为 J12 的单排插针 插针引脚 1 50

51 ADC 应用实现 2 -- 硬件电路设计 STC 学习板 J12 插座引脚号 信号名字与单片机引脚连接关系 1602LCD 引脚号 信号名字 功能 1 GND 地 1 VSS 地 2 VCC +5V 电源 2 VCC +5V 电源 3 V V0 LCD 驱动电压输入 4 RS P2.5 4 RS 寄存器选择 RS=1, 数据 ; RS=0, 指令 5 R/W P2.6 5 R/W 读写信号 R/W=1, 读操作 ; R/W=0, 写操作 6 E P2.7 6 E 芯片使能信号 7 DB0 P0.0 7 DB0 8 位数据总线信号 8 DB1 P0.1 8 DB1 9 DB2 P0.2 9 DB2 10 DB3 P DB3 11 DB4 P DB4 12 DB5 P DB5 13 DB6 P DB6 14 DB7 P DB7 15 PSB P LEDA 背光源正极, 接 +5.0V 16 N.C P LEDK 背光源负极, 接地 17 /RST P VOUT A 背光源正极, 接 +5.0V

52 硬件电路设计 字符 LCD 原理 1602 字符 LCD 指标 1602 字符 LCD 主要技术参数 显示容量 16 2 个字符, 即 : 可以显示 2 行字符, 每行可以显示 16 个字符 工作电压范围 4.5V~5.5V 推荐 5.0V 工作电流 2.0mA@5V 屏幕尺寸 mm( 宽 高 ) 52

53 1602 字符 LCD 内部显存 硬件电路设计 字符 LCD 原理 1602 液晶内部包含 80 个字节的显示 RAM, 存储需要发送的数据 第一行存储器地址范围 0x00~0x27; 第二行存储器地址范围为 0x40~0x67 第一行存储器地址范围 0x00~0x0F 与 1602 字符 LCD 第一行位置对应 第二行存储器地址范围 0x40~0x4F 与 1602 字符 LCD 第二行位置对应 注 : 每行多出来的部分是为了显示移动字幕设置 16 2 字符 LCD A 0B 0C 0D 0E 0F A 4B 4C 4D 4E 4F

54 硬件电路设计 字符 LCD 读写时序 写操作时序 54

55 硬件电路设计 字符 LCD 读写时序 首先, 将 R/W 信号拉低 同时, 给出 RS 信号, 该信号为 1 或者 0, 用于区分数据和命令 然后, 将 E 信号拉高 当 E 信号拉高后,STC 单片机将写入 1602 字符 LCD 的数据放在 DB7~DB0 数据线上 当数据有效一段时间后, 首先将 E 信号拉低 然后, 数据继续维持一段时间 THD2 这样, 数据就写到 1602 字符 LCD 中 最后, 撤除 / 保持 R/W 信号 55

56 硬件电路设计 字符 LCD 读写时序 读操作时序 56

57 硬件电路设计 字符 LCD 读写时序 首先, 将 R/W 信号拉高 同时, 给出 RS 信号, 该信号为 1 或者 0, 用于区分数据和状态 然后, 将 E 信号拉高 当 E 信号拉高, 并且延迟一段时间 to 后, 1602 字符 LCD 将数据放在 DB7~DB0 数据线上 当维持一段时间 tpw 后, 将 E 信号拉低 最后, 撤除 / 保持 R/W 信号 57

58 硬件电路设计 字符 LCD 读写时序 将上面的读和写操作总结 读和写操作总结 RS R/W 操作说明 0 0 写入指令寄存器 ( 清屏 ) 0 1 读 BF( 忙 ) 标志, 以及读取地址计数器的内容 1 0 写入数据寄存器 ( 显示各字型等 ) 1 1 从数据寄存器读取数据 58

59 硬件电路设计 字符 LCD 命令和数据 在 STC 单片机对 1602 字符 LCD 操作的过程中, 会用到下 面的命令 1602 字符 LCD 命令和数据 指令 指令操作码 RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 清屏 光标归位 输入模式设置 I/D S 功能 将 20H 写到 DDRAM, 将 DDRAM 地址从 AC( 地址计数器 ) 设置到 00 将 DDRAM 的地址设置为 00, 光标如果移动, 则将光标返回到初始的位置 DDRRAM 的内容保持不变 分配光标移动的方向, 使能整个显示的移动 I=0, 递减模式 I=1, 递增模 ; S=0, 关闭整个移动 S=1, 打开 59 整个移动 ;

60 硬件电路设计 字符 LCD 命令和数据 显示打开 光标或者显示移动 D C B S/C R/L - - 设置显示 (D), 光标 (C) 和光标闪烁 (B) 打开 / 关闭控制 D=0, 显示关闭 ; D=1, 打开显示 C=0, 关闭光标 ; C=1, 打开光标 B=0, 关闭闪烁 ; B=1, 打开闪烁 设置光标移动和显示移动的控制位, 以及方向, 不改变 DDRAM 数据 S/C=0,R/L=0, 光标左移 ; S/C=0,R/L=1, 光标右移 ; S/C=1,R/L=0, 显示左移, 光标跟随显示移动 S/C=1,R/L=1, 显示右移, 光标跟随显示移动 60

61 硬件电路设计 字符 LCD 命令和数据 功能设置 DL N F - - 设置接口数据宽度, 以及显示行的个数 DL=1,8 位宽度 ;DL=0,4 位宽度 N=0,1 行模式 ;N=1,2 行模式 F=0,5 8 字符字体 ;F=1, 5 10 字符字体 设置 CGRAM 地址 设置 DDRAM 地址 AC5 AC4 AC3 AC2 AC1 AC0 在地址计数器中, 设置 CGRAM 地址 AC6 AC5 AC4 AC3 AC2 AC1 AC0 在计数器中, 设置 DDRAM 地址 读忙标志和地址计数器 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 读 BF 标志, 知道 LCD 屏内部是否正在操作 也可以读取地址计数器的内容 将数据写到 RAM 1 0 D7 D6 D5 D4 D3 D2 D1 D0 写数据到内部 RAM(DDRAM/ CGRAM) 从 RAM 读数据 1 1 D7 D6 D5 D4 D3 D2 D1 D0 从内部 RAM(DDRAM/ CGRAM) 读取数据 61

62 ADC 应用实现 字符 LCD 初始化和操作流程 开始 上电, 并等待稳定 功能设置 显示和光标设置 输入模式设置 清屏设置 写数据 设置地址 写数据 操作完成? 是结束 否 62

63 ADC 应用实现 2 -- 系统软件处理流程 ADC 中断服务程序入口 软件清除 ADC_CONTR 寄存器 ADC_FLAG 标志 读取 ADC_RES 和 ADC_RES1 寄存器的内容, 计算出数字量 ( 数字量 Vcc)/1024, 得到对应的浮点模拟电压值 flag=1 再次启动 ADC ADC 中断服务程序结束 开始 初始化端口 P0 和 P2 ( 准双向和上拉 ) 开 ADC 中断和 CPU 全局中断 初始化 1602 LCD 1602 LCD 第一行输出提示信息 flag=1? 是 flag=0 否 1602 LCD 第二行输出测量电压值 63

64 ADC 应用实现 2 -- 具体实现过程 例 采集分压网络的电压值在 1602 字符 LCD 上显示的 C 语言描 述的例子 #ifndef _1602_ #define _1602_ #include "reg51.h" #include "intrins.h" sbit LCD1602_RS=P2^5; sbit LCD1602_RW=P2^6; sbit LCD1602_E =P2^7; sfr LCD1602_DB=0x80; sfr P0M1=0x93; led1602.h 文件 // 条件编译命令, 如果没有定义 _1602_ // 定义 _1602_ // 包含 reg51.h 头文件 // 包含 intrins.h 头文件 // 定义 LCD1602_RS 为 P2.5 引脚 // 定义 LCD1602_RW 为 P2.6 引脚 // 定义 LCD1602_E 为 P2.7 引脚 // 定义 LCD1602_DB 为 P0 端口 如需原始 // 定义 PPT P0 文件请点击此处端口 P0M1 寄存器地址 0x93 64

65 sfr P0M0=0x94; sfr P2M1=0x95; sfr P2M0=0x96; void lcdwait(); void lcdwritecmd(unsigned char cmd); void lcdwritedata(unsigned char dat); void lcdinit(); ADC 应用实现 2 -- 具体实现过程 void lcdsetcursor(unsigned char x, unsigned char y); // 定义 P0 端口 P0M0 寄存器地址 0x94 // 定义 P2 端口 P2M1 寄存器地址 0x95 // 定义 P2 端口 P2M0 寄存器地址 0x96 // 定义子函数 lcdwait 类型 // 定义子函数 lcdwritecmd 类型 // 定义子函数 lcdwritedata 类型 // 定义子函数 lcdinit 类型 // 定义子函数 lcdsetcursor 类型 void lcdshowstr(unsigned char x, unsigned char y,unsigned char *str); #endif // 定义子函数 lcdshowstr 类型 // 条件预编译命令结束 65

66 #include led1602.h void lcdwait() ADC 应用实现 2 -- 具体实现过程 led1602.c 文件 // 包含 led1602.h 头文件 // 声明 lcdwait 函数, 用于读取 BF 标志 { LCD1602_DB=0xFF; // 读取前, 先将 P0 端口设置为 1 _nop_(); _nop_(); _nop_(); _nop_(); LCD1602_RS=0; LCD1602_RW=1; LCD1602_E=1; while(lcd1602_db & 0x80); LCD1602_E=0; // 空操作延迟 // 空操作延迟 // 空操作延迟 // 空操作延迟 } // 将 LCD1602 的 RS 信号拉低 // 将 LCD1602 的 RW 信号拉高 // 将 LCD1602 的 E 信号拉高 // 等待标志 BF 为低表示 LCD1602 空闲 // 将 LCD1602 的 E 信号拉低 66

67 ADC 应用实现 2 -- 具体实现过程 void lcdwritecmd(unsigned char cmd) // 声明 lcdwritecmd 函数, 写命令到 1602 { lcdwait(); // 调用 lcdwait 函数 _nop_(); // 空操作延迟 _nop_(); // 空操作延迟 _nop_(); // 空操作延迟 _nop_(); // 空操作延迟 LCD1602_RS=0; // 将 LCD1602 的 RS 信号拉低 LCD1602_RW=0; // 将 LCD1602 的 RW 信号拉低 LCD1602_DB=cmd; // 将命令控制码 cmd 放到 P0 端口 LCD1602_E=1; // 将 LCD1602 的 E 信号拉高 67

68 ADC 应用实现 2 -- 具体实现过程 } _nop_(); _nop_(); _nop_(); _nop_(); LCD1602_E=0; // 空操作延迟 // 空操作延迟 // 空操作延迟 // 空操作延迟 // 将 LCD1602 的 E 信号拉低 68

69 ADC 应用实现 2 -- 具体实现过程 void lcdwritedata(unsigned char dat) // 声明 lcdwritedata 函数, 写数据到 1602 { lcdwait(); // 调用 lcdwait 函数 _nop_(); // 空操作延迟 _nop_(); // 空操作延迟 _nop_(); // 空操作延迟 _nop_(); // 空操作延迟 LCD1602_RS=1; // 将 LCD1602 的 RS 信号拉高 LCD1602_RW=0; // 将 LCD1602 的 RW 信号拉低 LCD1602_DB=dat; // 将数据码 cmd 放到 P0 端口 LCD1602_E=1; // 将 LCD1602 的 E 信号拉高 _nop_(); // 空操作延迟 _nop_(); // 空操作延迟 _nop_(); // 空操作延迟 _nop_(); // 空操作延迟 LCD1602_E=0; // 将 LCD1602 的 E 信号拉低 } 69

70 ADC 应用实现 2 -- 具体实现过程 void lcdinit() // 声明 lcdinit 子函数, 用来初始化 1602 { lcdwritecmd(0x38); // 发命令 0x38,2 行模式,5*8 点阵,8 位宽度 } lcdwritecmd(0x0c); // 发命令 0x0C, 打开显示, 关闭光标 lcdwritecmd(0x06); // 发命令 0x06, 文字不移动, 地址自动加 1 lcdwritecmd(0x01); // 发命令 0x01, 清屏 70

71 ADC 应用实现 2 -- 具体实现过程 // 声明 lcdsetcursor 函数, 设置显示 RAM 的地址,x 和 y 表示在 1602 的列和行参数 void lcdsetcursor(unsigned char x, unsigned char y) { } unsigned char address; if(y==0) address=0x00+x; else address=0x40+x; lcdwritecmd(address 0x80); // 声明无符号 char 类型变量 address // 如果第一行 // 存储器地址以 0x00 开始 // 如果是第二行 // 存储器地址以 0x40 开始 // 写存储器地址命令 71

72 ADC 应用实现 2 -- 具体实现过程 void lcdshowstr(unsigned char x, unsigned char y,unsigned char *str) // 在液晶指定的 x 和 y 位置, 显示字符 { } lcdsetcursor(x,y); while((*str)!= \0 ) { lcdwritedata(*str); str++; } // 设置显示 RAM 的地址 // 如果不是字符串的结尾, 则继续 // 发写数据命令, 在 LCD 上显示数据 // 指针加 1, 指向下一个地址 72

73 ADC 应用实现 2 -- 具体实现过程 #include "reg51.h" #include "stdio.h" #include "led1602.h" main.c 文件 #define ADC_POWER 0x80 // 定义 ADC_POWER 的值 0x80 #define ADC_FLAG 0x10 // 定义 ADC_FLGA 的值 0x10 #define ADC_START 0x08 // 定义 ADC_START 的值 0x08 #define ADC_SPEEDLL 0x00 // 定义 ADC_SPEEDLL 的值 0x00 #define ADC_SPEEDL 0x20 // 定义 ADC_SPEEDL 的值 0x20 #define ADC_SPEEDH 0x40 // 定义 ADC_SPEEDH 的值 0x40 #define ADC_SPEEDHH 0x60 // 定义 ADC_SPEEDHH 的值 0x60 73

74 ADC 应用实现 2 -- 具体实现过程 sfr AUXR =0x8E; sfr ADC_CONTR =0xBC; sfr ADC_RES =0xBD; sfr ADC_RESL =0xBE; sfr P1ASF =0x9D; unsigned char ch=4; bit flag=1; float voltage=0; unsigned char tstr[5]; unsigned int tmp=0; // 声明 AUXR 寄存器的地址 0x8E // 声明 ADC_CONTR 寄存器的地址 0xBC // 声明 ADC_RES 寄存器的地址 0xBD // 声明 ADC_RESL 寄存器的地址 0xBE // 声明 P1ASF 寄存器的地址 0x9D // 声明 char 类型变量 ch // 声明 bit 类型变量 flag // 声明 float 类型变量 voltage // 声明 char 类型数组 tstr // 声明 int 类型变量 tmp 74

75 ADC 应用实现 2 -- 具体实现过程 void adc_int() interrupt 5 { } unsigned char i=0; // 声明 adc 中断服务程序 // 声明 char 类型变量 i ADC_CONTR &=!ADC_FLAG; // 将 ADC_FLAG 标志清零 tmp=(adc_res*4+adc_resl); voltage=(tmp*5.0)/1024; sprintf(tstr, %1.4f,voltage); flag=1; // 将 flag 置 1 // 读取模拟信号对应的数字量 // 将数字量转换成模拟电压值 // 将浮点数, 转换成对应的电压值 ADC_CONTR=ADC_POWER ADC_SPEEDLL ADC_START ch; // 启动 ADC 75

76 void main() ADC 应用实现 2 -- 具体实现过程 { unsigned int i; // 声明 int 型变量 i P0M0=0; P0M1=0; P2M0=0; P2M1=0; P1ASF=0xFF; ADC_RES=0; // 通过 P0M0 和 P0M1 寄存器, 将 P0 口 // 定义为准双向, 弱上拉 // 通过 P2M0 和 P2M1 寄存器, 将 P2 口 // 定义为准双向, 弱上拉 // 将 P1 端口用于 ADC 输入 // 将 ADC_RES 寄存器清零 // 配置 ADC_CONTR 寄存器 ADC_CONTR=ADC_POWER ADC_SPEEDLL ADC_START ch; for(i=0;i<10000;i++); IE=0xA0; lcdwait(); // 延迟一段时间 //CPU 允许相应中断请求, 允许 ADC 中断 如需原始 // 等待 PPT 1602 文件请点击此处字符 LCD 稳定 76

77 lcdinit(); ADC 应用实现 2 -- 具体实现过程 lcdshowstr(0,0,"measured Voltage is"); lcdshowstr(6,1, V ); while(1) { } // 初始化 1602 字符 LCD // 在 1602 第一行开始打印信息 // 在 1602 第二行第 6 列打印字符 v // 无限循环 if(flag==1) // 判断 flag 标志是否为 1, { } flag=0; // 将 flag 置 0 lcdshowstr(0,1,tstr); } // 在第二行, 打印电压对应的字符 77

78 ADC 应用实现 2 -- 具体实现过程 下载和分析设计的步骤主要包括 : 打开 STC-ISP 软件, 在该界面内, 选择硬件选项 将 输入用户 程序运行时的 IRC 频率 设置为 6.000MHz 单击下载 / 编程按钮, 按前面的方法下载设计到 STC 单片机 观察 1602 字符屏上的输出结果 78

79 ADC 应用实现 3 本设计将从外部输入信号源, 经过 ADC 转换器转换后, 得到数字量的值, 经过计算后, 通过 图形点阵 LCD 屏, 一方面以字符显示得到的交流信号的最大值 MAX 最小值 MIN 峰峰值 PTP(Peak to Peak); 另一方面以图形的方式显示采集交流信号的波形 79

80 ADC 应用实现 3 -- 硬件电路设计 在该设计中,12864 图形 / 字符点阵屏通过自己焊接的插 座与 STC 学习板上的标记为 J12 的单排插座连接 在图中标出了 STC 学习板上插针引脚 1 的位置和 图形 / 字 符点阵屏引脚 1 的位置 80

81 ADC 应用实现 3 -- 硬件电路设计 图形 / 字符 LCD 点阵屏 引脚 20 STC 学习板上提供的标记为 J12 的单排插针和 的单排插座插在一起 引脚 1 81

82 ADC 应用实现 3 -- 硬件电路设计 STC 学习板上 J12 提供 20 个插针, 可以直接与 图形 / 字符 LCD 进行连接 82

83 ADC 应用实现 3 -- 硬件电路设计 STC 学习板 J12 插座引脚号 信号名字 与单片机引脚的连接关系 图形点阵 LCD 引脚号 信号名字 1 GND 地 1 VSS 地 2 VCC +5V 电源 2 VCC +5V 电源 3 V V0 LCD 驱动电压输入 4 RS P2.5 4 RS 寄存器选择 RS=1, 数据 ; RS=0, 指令 5 R/W P2.6 5 R/W 读写信号 R/W=1, 读操作 ; R/W=0, 写操作 6 E P2.7 6 E 芯片使能信号 7 DB0 P0.0 7 DB0 8 位数据总线信号 8 DB1 P0.1 8 DB1 9 DB2 P0.2 9 DB2 10 DB3 P DB3 11 DB4 P DB4 12 DB5 P DB5 13 DB6 P DB6 14 DB7 P DB7 15 PSB P PSB 并 / 串模式选择 PSB=1, 并行 ;PSB=0, 串行 16 N.C P N.C 不连接 17 /RST P /RST 复位, 低电平有效 18 VOUT VOUT 倍压输出脚 19 A +5V 电源 19 BLA 背光源正极, 接 +5.0V K 地 20 BLK 背光源负极, 接地 功能

84 ADC 应用实现 图形点阵 LCD 指标 是指 LCD 的屏幕分辨率为 中文汉字图形点阵液晶显示模块, 可显示汉字及图形, 内 置 8192 个中文汉字 (16 16 点阵 ) 128 个字符 (8 16 点阵 ) 及 64X256 点阵显示 RAM(GDRAM) JGD12864 图形点阵 LCD 的特性指标 显示容量 工作电压范围 显示颜色 LCD 类型 与 MCU 接口 个像素 每屏可显示 4 行 8 列共 32 个 点阵的汉字, 或者 4 行 16 列共 64 个 ASCII 字符 4.5V~+5V 对于 STC 单片机来说, 推荐 5.0V 给 供电 黄绿 / 蓝屏 / 灰屏 STN 8/4 位并行, 或者 3 位串行 屏幕尺寸 mm( 长 宽 高 ) 多重模式 图形点阵 LCD 主要技术参数 显示光标 画面移动 自定义字符 睡眠模式等 84

85 ADC 应用实现 图形点阵 LCD 内部存储空间 在介绍下面内容前, 对 涉及到的存储空间进行简单 的说明 : 数据显示 RAM 即 :Data Display Ram,DDRAM 往里面写什么数据,LCD 就会显示 写入的数据 字符发生 ROM 即 :Character Generation ROM,CGROM 里面存储了中文汉字的 字模, 也称作中文字库, 编码方式有 GB2312( 中文简体 ) 和 BIG5( 中 文繁体 ) 85

86 字符发生 RAM ADC 应用实现 图形点阵 LCD 内部存储空间 即 :Character Generation RAM, CGRAM 内部提供了 64 2 字节的 CGRAM, 可用于用户自定义 4 个 字符, 每个字符占用 32 个 字节 图形显示 RAM 即 :Graphic Display RAM,GDRAM 这一块区域用于绘图, 往里面写 什么数据,12864 屏幕就会显示相应的数据, 它与 DDRAM 的区别在于, 往 DDRAM 中写的数据是字符的编码, 字符的显示先是在 CGROM 中找到 字模, 然后映射到屏幕上, 而往 GDRAM 中写的数据时图形的点阵信息, 每个点用 1 比特来保存其显示与否 86

87 ADC 应用实现 图形点阵 LCD 内部存储空间 半宽字符发生器 即 :Half height Character Generation ROM,HCGROM 就是字母与数字, 也就是 ASCII 码 内部有 4 行 32 字节的 DDRAM 空间 但是某一时刻, 屏幕只能显示 2 行 32 字节的空间, 剩余的这些空间呢可以用于缓存, 在实现卷屏显示时就可以利用这些空间 DDRAM 结构如下所示 : 87

88 ADC 应用实现 图形点阵 LCD 内部存储空间 DDRAM 结构如下所示 : 80H 81H 82H 83H 84H 85H 86H 87H 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH 90H 91H 92H 93H 94H 95H 96H 97H 98H 99H 9AH 9BH 9CH 9DH 9EH 9FH A0H A1H A2H A3H A4H A5H A6H A7H A8H A9H AAH ABH ACH ADH AEH AFH B0H B1H B2H B3H B4H B5H B6H B7H B8H B9H BAH BBH BCH BDH BEH BFH 地址与屏幕显示对应关系如下 : 第一行 :80H 81H 82H 83H 84H 85H 86H 87H 第二行 :90H 91H 92H 93H 94H 95H 96H 97H 第三行 :88H 89H 8AH 8BH 8CH 8DH 8EH 8FH 第四行 :98H 99H 9AH 9BH 9CH 9DH 9EH 9FH 88

89 ADC 应用实现 图形点阵 LCD 读写时序 写操作时序 89

90 ADC 应用实现 图形点阵 LCD 读写时序 首先, 将 R/W 信号拉低 同时, 给出 RS 信号, 该信号为 1 或者 0, 用于区分数据和命令 然后, 将 E 信号拉高 当 E 信号拉高后,STC 单片机将写入 图形点阵 LCD 的数据放在 DB7~DB0 数据线上 当数据有效一段时间 TDSW 后, 首先将 E 信号拉低 然后, 数据再维持一段时间 TH 这样, 数据就写到 图形点阵 LCD 中 最后, 撤除 / 保持 R/W 信号 90

91 读操作时序 ADC 应用实现 图形点阵 LCD 读写时序 91

92 ADC 应用实现 图形点阵 LCD 读写时序 首先, 将 R/W 信号拉高 同时, 给出 RS 信号, 该信号为 1 或者 0, 用于区分数据和状态 然后, 将 E 信号拉高 当 E 信号拉高, 并且延迟一段时间 tddr 后, 图形点阵 LCD 将数据放在 DB7~DB0 数据线上 当维持一段时间 tth 后, 将 E 信号拉低 最后, 撤除 / 保持 R/W 信号 92

93 ADC 应用实现 图形点阵 LCD 命令和数据 在 STC 单片机对 图形点阵 LCD 操作的过程中, 会用到下面 的命令 注 :12864 图形点阵 LCD 提供了基本命令和扩展命令 图形点阵 LCD 基本命令 (RE=0) 指令 指令操作码 RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 清屏 光标归位 进入点设定 I/D S 功能 将 20H 写到 DDRAM, 将 DDRAM 地址从 AC( 地址计数器 ) 设置到 00 将 DDRAM 的地址设置为 00, 光标如果移动, 则将光标返回到初始的位置 DDRRAM 的内容保持不变 指定在读数据和写数据时, 设定光标移动的方向以及指定显示的移位 I=0, 递减模式 I=1, 递增模 ;S=0, 关闭整个移动 S=1, 打开整个移动 ; S=0, 关闭整个移动 ; 93

94 ADC 应用实现 图形点阵 LCD 命令和数据 显示打开 / 关闭控制 光标或者显示移动 D C B S/C R/L - - 设置显示 (D), 光标 (C) 和光标闪烁 (B) 打开 / 关闭控制 D=0, 显示关闭 ; D=1, 打开显示 ; C=0, 关闭光标 ; C=1, 打开光标 ; B=0, 关闭闪烁 ; B=1, 打开闪烁 ; 设置光标移动和显示移动的控制位, 以及方向, 不改变 DDRAM 数据 S/C=0,R/L=0, 光标左移 ; S/C=0,R/L=1, 光标右移 ; S/C=1,R/L=0, 显示左移, 光标跟随显示移动 S/C=1,R/L=1, 显示右移, 光标跟随显示移动 功能设置 DL -- RE= DL=1( 必须设置为 1) RE=1, 扩展指令集 ;RE=0, 基本指令集 94

95 ADC 应用实现 图形点阵 LCD 命令和数据 设置 CGRAM 地址 设置 DDRAM 地址 读忙标志和地址计数器 将数据写到 RAM 从 RAM 读数据 AC5 AC4 AC3 AC2 AC1 AC0 在地址计数器中, 设置 CGRAM 地址 AC6 AC5 AC4 AC3 AC2 AC1 AC0 在计数器中, 设置 DDRAM 地址 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 1 0 D7 D6 D5 D4 D3 D2 D1 D0 1 1 D7 D6 D5 D4 D3 D2 D1 D0 读 BF 标志, 知道 LCD 屏内部是否正在操作 也可以读取地址计数器的内容 写数据到内部 RAM(DDRAM/ CGRAM/IRAM/GDRAM) 从内部 RAM(DDRAM/ CGRAM/IRRAM/GDRAM) 读取数据 95

96 ADC 应用实现 图形点阵 LCD 命令和数据 图形点阵 LCD 扩展命令 (RE=1) 指令 指令操作码 RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 待命模式 卷动地址或 IRAM 地址选择 SR 反白选择 R1 R0 休眠模式 SL - - 功能 将 20H 写到 DDRAM, 将 DDRAM 地址从 AC( 地址计数器 ) 设置到 00 SR=1, 允许输入垂直卷动地址 ;SR=0, 允许输入 IRAM 地址 选择 4 行中的任意一行做反白显示, 并可决定是否反白 SL=1, 脱离休眠模式 ;SL=0, 进入休眠模式 96

97 ADC 应用实现 图形点阵 LCD 命令和数据 扩充功能设定 RE= 1 G 0 RE=1, 扩充指令集 ;RE=0, 基本指令集 G=1, 打开绘图模式 ;G=0, 关闭绘图模式 设定 IRAM 地址或卷动地址 AC5 AC4 AC3 AC2 AC1 AC0 SR=1,AC5~AC0 为垂直卷动地址 SR=0,AC3~AC0 为 ICON IRAM 地址 设置绘图 RAM 地址 AC6 AC5 AC4 AC3 AC2 AC1 AC0 在地址计数器中, 设置 CGRAM 地址 97

98 ADC 应用实现 图形点阵字符 / 图象表示方法 图形点阵 像素的构成方式 从后图 (a) 和 (b) 中可以看出, 将屏幕分成上下部分, 每部分包含 32 行和 128 列的像素 X 方向以字节为单位, 而 Y 方向以位为单位 X 方向确定列,Y 方向确定行 该绘图显示 RAM 提供 个字节的存储空间 98

99 ADC 应用实现 图形点阵字符 / 图象表示方法 99

100 ADC 应用实现 图形点阵字符 / 图象表示方法 100

101 ADC 应用实现 图形点阵字符 / 图象表示方法 字符 / 汉字表示方法 在字符模式下, 将 图形点阵分为 4 行 8 列一共 32 个区域 每个区域包含 个像素值, 可以显示两个 ASCII 码字符 / 数字, 或者 一个汉字 每行起始地址分别为 :0x80 0x90 0x88 0x98 每行可显示区域分配了 8 个地址, 一个地址包含两个字节 从图中可以看出, 只要从 32 个地址中选择一个地址, 就可以确定所要显 示的字母 / 数字 / 汉字的位置 101

102 图像的表示方法 ADC 应用实现 图形点阵字符 / 图象表示方法 现在的问题就是给定了一个 (x,y) 坐标, 如何向该坐标写数据 当向该坐标写 0 时, 该点不亮 ; 而向该坐标写 1 时, 该点变亮 在更改绘图 RAM 的内容时, 步骤包括 : 先连续写入水平与垂直的坐标值 ; 再写入两个字节的数据到绘图 RAM, 而地址计数器 (AC) 会自动加一 102

103 ADC 应用实现 图形点阵字符 / 图象表示方法 写入所有绘图 RAM 的步骤包括 : 关闭绘图显示功能 先将水平的位元组坐标 X, 即 : 所在上半部分 / 下半的行, 写入 绘图 RAM 地址 再将垂直坐标 Y, 即 : 所在屏幕的上半部分还是下半部分, 写入 绘图 RAM 地址 ; 将 D15~D8 写入到 RAM 中 ; 将 D7~D0 写入到 RAM 中 ; 打开绘图显示功能 103

104 ADC 应用实现 图形点阵字符 / 图象表示方法 在该设计中, 在 点阵中显示波形 策略是 : 声明一个 大小的 unsigned char 类型数组, 即 : unsigned char pix[16][64]; 该声明的目的是, 将 像素点分成 的区域 每个区域 8 列 1 行像素 8 列正好是 8 位, 一个无符号字节 因此, 该数组可以表示 图形点阵 LCD 中的所有 像素的当前状态 104

105 ADC 应用实现 图形点阵字符 / 图象表示方法 将该 pix 数组所有元素赋初值为 0, 即 像素的当前状态都是 0, 不亮 很明显, 在 图形点阵 LCD 上画波形实际上就是让需要亮的像素点赋值为 1 即可 显示波形, 包括正弦和三角波 : 为了在 LCD 上显示一屏数据, 因此每次得到 128 个采样, 每个采样对应于 x 坐标 ; 每个采样所对应的离散的值是 10 位, 范围在 [0,1023] 之间, 经过量化处理, 即 : 将该离散的值 /16, 范围限制在 [0,63] 之间 也就是说, 每个采样的幅度在 [0,63] 在该设计中, 每个采样的幅度表示为 y[i],i=0~

106 ADC 应用实现 图形点阵字符 / 图象表示方法 下面得到每个采样和 pix 数组之间的对应关系 pix 数组的每个元素的索引和 y[i] 存在下面的对应关系, 即 : pix[i/8][y[i]], i=0~128 i/8 将 x 坐标对应到 16 个区域中 y[i] 是每个采样点经过量化处理后的幅度, 很明显是 pix 数组中每个像素的行坐标 下面具体是 pix 数组的每个元素是 unsigned char 类型, 也就是 8 个像素 表示为 : pix[i/8][y[i]]=(0x80>>(i%8)); 106

107 ADC 应用实现 图形点阵字符 / 图象表示方法 (0x80>>(i%8)) 具体含义如下 : i%8 得到每个 x 坐标 i 在 pix 数组每个区域 i/8 内的偏移位置 0x80 表示一个 8 位的像素中, 有一个像素是亮的, 即 : 亮点 (0x80>>(i%8)) 意思即表示 : 在 x 坐标 i 在 pix 数组每个区域 i/8 内的偏移位置上赋值为 1 重复步骤 4,128 次, 将 128 个采样点的幅度具体表示在 pix 数组中 107

108 ADC 应用实现 LCD 字符模式初始化和显示字符操作过程 开始 上电, 并等待稳定 功能设置, 命令码 0x38/0x30 进入点设置, 命令码 0x06 显示状态设置, 命令码 0x0C 清屏设置, 命令码 0x01 写数据 设置地址 写数据 操作完成? 是结束 否 108

109 109

110 110

111 ADC 应用实现 3 --ADC 外部输入信号要求 由于 STC15 系列单片机是单电源供电, 所以, 其内部集成的 ADC 模块也是单电源供电 典型地, 供电电压是 +5V 因此, 直接输入到 ADC 模块的信号范围在 0~Vcc( 单片机供电电压 ) 范围内 111

112 输入信号采用的方式包括 : ADC 应用实现 3 --ADC 外部输入信号要求 在信号源将信号直接接入到 STC 单片机 ADC 输入引脚时, 在信 号里给出直流偏置 交流信号在这个直流偏置信号上摆动, 摆动的范围在 0~5V 单片机供电 电压内, 即 : 给出的信号是单极性的信号 112

113 ADC 应用实现 3 --ADC 外部输入信号要求 信号源直流偏置为 0, 直接给出交流信号, 这个交流信号经过下 面的单电源放大器构成的电压跟随器的处理, 引入直流偏置, 然后将跟随器的输出信号 Vout 连接到 STC 单片机 ADC 的输入引 脚上 VOUT C1 Vin R1 VSSA V 直流 113

114 ADC 应用实现 3 --ADC 外部输入信号要求 当没有交流信号输入时, 即信号的直流通路输出满足 : 当有交流小信号输入时, 信号的交流通路 ( 直流偏置接地 ) 输出满足 : 其中 : 输入信号 Vin 的电压通过电阻 R1 降低到 GND( 地 ) 使用叠加定理, 则总输出为 : V out ' V 直流 V '' out V IN V out V out ' V out '' V IN V 直流 114

115 ADC 应用实现 3 -- 具体实现过程 例 采集外部交流信号, 并在 图形点阵 LCD 上显示的 C 语言描述的例子 h 文件 #ifndef _12864_ // 条件编译命令, 如果没有定义 #define _12864_ // 则定义 #include "reg51.h" #include "intrins.h" sbit LCD12864_RS=P2^5; sbit LCD12864_RW=P2^6; sbit LCD12864_E =P2^7; sbit LCD12864_PSB=P2^4; // 包含 reg51.h 头文件 // 包含 intrins.h 头文件 // 声明 sbit 类型变量 LCD12864_RS 为 P2.5 引脚 // 声明 sbit 类型变量 LCD12864_RW 为 P2.6 引脚 // 声明 sbit 类型变量 LCD12864_E 为 P2.7 引脚 // 声明 sbit 类型变量 LCD12864_PSB 为 P2.4 引脚 sfr LCD12864_DB=0x80; // 声明 LCD12864_DB 寄存器地址 0x80(P0 端口 ) sfr P0M1=0x93; sfr P0M0=0x94; // 定义 P0 端口 P0M1 寄存器地址 0x93 // 定义 P0 端口 P0M0 寄存器地址 0x94 115

116 sfr P2M1=0x95; sfr P2M0=0x96; void lcdwait(); void lcdwritecmd(unsigned char cmd); void lcdwritedata(unsigned char dat); void lcdinit(); ADC 应用实现 3 -- 具体实现过程 void lcdsetcursor(unsigned char x, unsigned char y); // 定义 P2 端口 P2M1 寄存器地址 0x95 // 定义 P2 端口 P2M0 寄存器地址 0x96 // 定义子函数 lcdwait 类型 // 定义子函数 lcdwritecmd 类型 // 定义子函数 lcdwritedata 类型 // 定义子函数 lcdinit 类型 // 定义子函数 lcdsetcursor 类型 void lcdshowstr(unsigned char x, unsigned char y,unsigned char *str); void drawpoint(unsigned char y[]); #endif // 定义子函数 lcdshowstr 类型 // 声明子函数 drawpoint 类型 // 条件预编译命令结束 116

117 ADC 应用实现 3 -- 具体实现过程 #include "12864.h" void lcdwait() // 定义 lcdwait 函数, 用于检测 的忙标志 { LCD12864_DB=0xFF; // 读取 P0 端口前, 先给 P0 端口置位 0xFF _nop_(); _nop_(); _nop_(); _nop_(); LCD12864_RS=0; // 将 LCD12864_RS 指向的 P2.5 引脚拉低 LCD12864_RW=1; // 将 LCD12864_RW 指向的 P2.6 引脚拉高 LCD12864_E=1; // 将 LCD12864_E 指向的 P2.7 引脚拉高 while(lcd12864_db & 0x80); // 如果 12864LCD 内部忙, 则等待 LCD12864_E=0; // 将 LCD12864_E 指向的 P2.7 引脚拉低 _nop_(); _nop_(); _nop_(); _nop_(); } 117

118 ADC 应用实现 3 -- 具体实现过程 void lcdwritecmd(unsigned char cmd) { lcdwait(); _nop_(); _nop_(); _nop_(); _nop_(); LCD12864_RS=0; // 将 LCD12864_RS 指向的 P2.5 引脚拉低 LCD12864_RW=0; // 将 LCD12864_RW 指向的 P2.6 引脚拉低 LCD12864_DB=cmd;// 将命令码 cmd 放到 LCD12864_DB 指向的 P0 端口 LCD12864_E=1; // 将 LCD12864_E 指向的 P2.7 引脚拉高 118

119 } _nop_(); _nop_(); _nop_(); _nop_(); LCD12864_E=0; ADC 应用实现 3 -- 具体实现过程 // 将 LCD12864_E 指向的 P2.7 引脚拉低 119

120 ADC 应用实现 3 -- 具体实现过程 void lcdwritedata(unsigned char dat) { lcdwait(); _nop_(); _nop_(); _nop_(); _nop_(); LCD12864_RS=1; // 将 LCD12864_RS 指向的 P2.5 引脚拉高 LCD12864_RW=0; // 将 LCD12864_RW 指向的 P2.6 引脚拉低 LCD12864_DB=dat; // 将数据 dat 放到 LCD12864_DB 指向的 P0 端口 120

121 ADC 应用实现 3 -- 具体实现过程 } LCD12864_E=1; // 将 LCD12864_E 指向的 P2.7 引脚拉高 _nop_(); _nop_(); _nop_(); _nop_(); LCD12864_E=0; // 将 LCD12864_E 指向的 P2.7 引脚拉低 121

122 ADC 应用实现 3 -- 具体实现过程 void lcdinit() // 定义子函数 lcdinit, 用于初始化 { lcdwritecmd(0x38);// 调用函数 lcdwritecmd, 给 发命令 0x38 lcdwritecmd(0x06);// 调用函数 lcdwritecmd, 给 发命令 0x06 lcdwritecmd(0x01);// 调用函数 lcdwritecmd, 给 发命令 0x01 lcdwritecmd(0x0c);// 调用函数 lcdwritecmd, 给 发命令 0x0c } 122

123 ADC 应用实现 3 -- 具体实现过程 // 声明 lcdsetcursor 函数, 设置显示 RAM 的地址,x 和 y 表示在 的列和行参数 void lcdsetcursor(unsigned char x, unsigned char y) { unsigned char address; // 声明无符号 char 类型变量 address if(y==0) address=0x80+x; else if(y==1) address=0x90+x; else if(y==2) address=0x88+x; // 如果是第一行 // 从存储器地址 0x80 的位置开始 // 如果是第二行 // 从存储器地址 0x90 的位置开始 // 如果是第三行 // 从存储器地址 0x88 的位置开始 123

124 ADC 应用实现 3 -- 具体实现过程 } else address=0x98+x; lcdwritecmd(address 0x80); // 如果是第四行 // 从存储器地址 0x98 的位置开始 // 写 存储器地址命令 124

125 ADC 应用实现 3 -- 具体实现过程 void lcdshowstr(unsigned char x, unsigned char y,unsigned char *str) // 在 上指定的 x 和 y 位置, 显示字符 { lcdsetcursor(x,y); // 设置写 RAM 的地址 while((*str)!='\0') // 如果字符没有结束 { lcdwritedata(*str);// 将当前字符写到 RAM, 即在 上显示 str++; // 指向下一个字符 } } 125

126 void drawpoint(unsigned char y[]) { unsigned char i,j,k; unsigned long int l; unsigned char x; ADC 应用实现 3 -- 具体实现过程 xdata unsigned char pix[16][64]; // 声明子函数 drawpoint, 在 上显示波形 // 定义无符号 char 类型变量 i,j 和 k // 定义无符号长整型变量 l // 定义无符号 char 类型变量 x // 在 xdata 定义二维数组 pix[16][64] for(i=0;i<16;i++) // 二重循环初始化 pix 数组为 0 for(j=0;j<64;j++) pix[i][j]=0; for(i=0;i<128;i++)// 用采样的数据数组 y[128] 修改 pix 数组的值 pix[i/8][y[i]]=(0x80>>(i%8));// 在给定的 x 和 y 像素位置上置 1 126

127 ADC 应用实现 3 -- 具体实现过程 for(i=0,j=0;i<9;i+=8,j+=32) // 该循环确定屏幕上半部分和下半部分 { for(x=0;x<32;x++) // 该循环定位所在屏幕所在的行 { lcdwritecmd(0x34); // 使用扩展命令, 关闭图像显示模式 lcdwritecmd(0x80+x); lcdwritecmd(0x80+i); lcdwritecmd(0x30); for(k=0;k<16;k++); // 写 x 坐标信息 // 写 y 坐标信息 // 使用基本命令 // 该循环连续写指定一行的 128 个像素 lcdwritedata(pix[k][x+j]); //16 列, 每列 8 个像素 } } lcdwritecmd(0x36); for(l=0;l<500000;l++); } // 打开显示模式 // 显示图像并持续一段时间 127

128 #include "reg51.h" #include "stdio.h" #include "12864.h" ADC 应用实现 3 -- 具体实现过程 main.c 文件 #define ADC_POWER 0x80 // 定义 ADC_POWER 的值 0x80 #define ADC_FLAG 0x10 // 定义 ADC_FLGA 的值 0x10 #define ADC_START 0x08 // 定义 ADC_START 的值 0x08 #define ADC_SPEEDLL 0x00 // 定义 ADC_SPEEDLL 的值 0x00 #define ADC_SPEEDL 0x20 // 定义 ADC_SPEEDL 的值 0x20 #define ADC_SPEEDH 0x40 // 定义 ADC_SPEEDH 的值 0x40 #define ADC_SPEEDHH 0x60 // 定义 ADC_SPEEDHH 的值 0x60 128

129 sfr AUXR =0x8E; sfr ADC_CONTR =0xBC; sfr ADC_RES =0xBD; sfr ADC_RESL =0xBE; sfr P1ASF =0x9D; unsigned char ch=4; bit flag=1; ADC 应用实现 3 -- 具体实现过程 // 声明 AUXR 寄存器的地址 0x8E // 声明 ADC_CONTR 寄存器的地址 0xBC // 声明 ADC_RES 寄存器的地址 0xBD // 声明 ADC_RESL 寄存器的地址 0xBE // 声明 P1ASF 寄存器的地址 0x9D // 声明 char 类型变量 ch // 声明 bit 类型变量 flag unsigned char max_tstr[10],min_tstr[10],avg_tstr[10]; unsigned int tmp=0; // 声明全局无符号 char 类型数组 // 声明全局无符号 int 类型变量 tmp xdata unsigned char value[128]; //xdata 区域声明无符号 char 类型数组 value unsigned int max_value=0,min_value=1024,avg_value=10; unsigned char inc=0; // 声明全局无符号 int 类型变量 // 声明全局无符号 char 类型变量 inc 129

130 void adc_int() interrupt 5 { unsigned char i=0; ADC_CONTR &=!ADC_FLAG; ADC 应用实现 3 -- 具体实现过程 // 声明 ADC 中断服务程序 // 定义无符号 char 类型变量 i // 清除 ADC_FLAG 标志 tmp=(adc_res*4+adc_resl); // 得到输入模拟量对应的 10 位转换数字量 if(inc!=128 && flag==0) { value[inc]=tmp/16; if(tmp>max_value) max_value=tmp; if(tmp<min_value) min_value=tmp; inc++; // 索引号递增 1 // 如果没有采够 128 个数据, 并且 flag=0 // 数字量除 16, 量化到 0~64 用于将来显示 // 如果当前采样的数字量大于最大值的数字量 // 将当前采样的数字量赋值给最大值 // 如果当前采样的数字量小于最小的数字量 // 将当前采样的数字量赋值给最小值 } 130

131 ADC 应用实现 3 -- 具体实现过程 else // 采满 128 个采样数据 { inc=0; // 索引号归零 flag=1; // 将 flag 位置 1 } ADC_CONTR=ADC_POWER ADC_SPEEDLL ADC_START ch; } 131

132 ADC 应用实现 3 -- 具体实现过程 void main() { long unsigned int i; P0M0=0; // 设置 P0M0 和 P0M1 寄存器, 将 P0 端口 P0M1=0; // 设置为准双向 / 弱上拉 P2M0=0; // 设置 P2M0 和 P2M1 寄存器, 将 P2 端口 P2M1=0; // 设置为准双向 / 弱上拉 P1ASF=0xFF; // 将 P1 端口设置为模拟输入 ADC_RES=0; // 将 ADC_RES 寄存器清 0 132

133 ADC 应用实现 3 -- 具体实现过程 // 配置 ADC 控制寄存器 ADC_CONTR ADC_CONTR=ADC_POWER ADC_SPEEDLL ADC_START ch; for(i=0;i<10000;i++); // 延迟一段时间 IE=0xA0; //CPU 允许响应中断, 允许 ADC 中断 lcdinit(); // 初始化 lcdshowstr(0,0," 测量交流信号 "); // 在 第一行打印信息 for(i=0;i<600000;i++); // 延迟一段时间 lcdwritecmd(0x01); // 给 发清屏命令 133

134 ADC 应用实现 3 -- 具体实现过程 while(1) { // 无限循环 if(flag==1) // 如果 flag 标志为 1 { lcdinit(); // 初始化 sprintf(max_tstr,"%+1.4f",(max_value*5.0)/1024); // 将浮点最大值转换成字符串 sprintf(min_tstr,"%+1.4f",(min_value*5.0)/1024); // 将浮点最小值转换成字符串 sprintf(avg_tstr,"%+1.4f",((max_value-min_value)*5.0)/1024); // 将计算得到的浮点峰峰值转换成字符串 max_value=0; // 将 max_value 重新赋值为 0 min_value=1024; // 将 min_value 重新赋值为

135 ADC 应用实现 3 -- 具体实现过程 lcdshowstr(0,1,"max: "); lcdshowstr(2,1,max_tstr); lcdshowstr(5,1," V"); lcdshowstr(0,2,"min: "); lcdshowstr(2,2,min_tstr); lcdshowstr(5,2," V"); lcdshowstr(0,3,"ptp: "); lcdshowstr(2,3,avg_tstr); lcdshowstr(5,3," V"); for(i=0;i<300000;i++); // 在 第二行的开头打印 MAX: 信息 // 在 第二行继续打印采集信号的最大值 // 在 第二行继续打印 V: 信息 // 在 第三行的开头打印 MIN: 信息 // 在 第三行继续打印采集信号的最小值 // 在 第三行继续打印 V: 信息 // 在 第四行的开头打印 PTP: 信息 // 在 第四行继续打印采集信号的峰峰值 // 在 第四行继续打印 V: 信息 // 延迟一段时间 135

136 ADC 应用实现 3 -- 具体实现过程 lcdwritecmd(0x01); drawpoint(value); // 清屏 // 绘制采集信号的 128 个值的波形图 flag=0; // 将 flag 标志置 0 } } } 136

137 ADC 应用实现 3 下载和分析设计的步骤主要包括 : 打开 STC-ISP 软件, 在该界面内, 选择硬件选项 将 输入用户程序运行时的 IRC 频率 设置为 MHz 单击下载 / 编程按钮, 按前面的方法下载设计到 STC 单片机 打开信号源, 将信号源的输出分别连接到 STC 开发板的 P1.4 和 GND 137

138 ADC 应用实现 3 观察 图形点阵 LCD 上的输出, 第一屏 第二屏和第三屏 显示, 如图所示 输出的第一屏信息 输出的第二屏信息 输出的第三屏信息 138

139 ADC 应用实现 4 在前面的设计中, 在转换成模拟电压值的时候是基于单片机的供电电压 VCC, 典型的 +5V 如果单片机的外部供电电压发生变化, 则转换出来的电压就一定存在误差, 而且误差随着 Vcc 的变化而不确定 139

140 ADC 应用实现 4 因此, 如果能有一个稳定的电压源参考, 然后基于此参考电源进行计算, 所得到的被测量信号的模拟电压值误差只于 STC15 系列单片机 ADC 内部的转换误差, 以及参考源的误差有关, 和单片机的供电电压无关 这样, 就很容易计算出输入模拟信号电压的相对误差和绝对误差 在该设计中, 通过基准电压源计算测量信号的结果, 并通过串口 1 进行显示 140

141 ADC 应用实现 4 -- 测量信号校准原理 在 STC 学习板上, 提供了 TL431 基准参考电压源, 该参 考源默认输出 +2.5V 的参考信号 该信号连接到 STC 单 片机的 P1.2 引脚上 141

142 ADC 应用实现 4 -- 测量信号校准原理 TL431 的技术指标主要包括 : 在 25 时, 误差为 0.5%(B 级 ); 误差为 1%(A 级 ); 误差为 2%( 标准级 ); 在 0~70 范围内, 温漂为 6mV; 在 -40~+85 时, 温漂为 14mV 142

143 ADC 应用实现 4 -- 信号输入电路 在 STC 学习板上, 提供了带有负温度系数 NTC 热敏电阻 SDNT2012X103F3950FTF 的信号输入电路 该热敏电阻的负温度系数是指, 即当温度升高的时候, 热敏电 阻值减少 ; 而当温度降低的时候, 热敏电阻值增加 当在标称温度 (25 ) 时, 热敏电阻的值为 10KΩ 143

144 ADC 应用实现 4 -- 信号输入电路 在温度 T 时的热敏电阻的值由下面的公式进行计算 : RT = RN expb(1/t 1/TN) RT: 是指在温度 T( 单位为开氏温度 K) 时的 NTC 热敏电阻阻值 RN: 在额定温度 TN( 单位为开氏温度 K) 时的 NTC 热敏电阻阻值 T: 规定温度 ( 单位为开氏温度 K) B:NTC 热敏电阻的材料常数, 又叫热敏指数 exp: 以自然数 e 为底的指数 ( e = ) 144

145 ADC 应用实现 4 -- 信号输入电路 在图所示的电路中, 热敏电阻作为分压网络的一部分与 R6 电阻连接在一起 ADC_NTC 网络连接到单片机 P1.3 引脚上 ADC_NTC 上的电压由下式确定 : VADC_NTC=(VCC RNTC1)/( RNTC1+R6) 145

146 ADC 应用实现 4 --ADC 中断程序处理流程 ADC 中断服务程序入口 软件清除 ADC_CONTR 寄存器 ADC_FLAG 标志 读取 ADC_RES 和 ADC_RES1 寄存器的内容, 计算出数字量 是 保存数字量到变量 ref 是 P1.2 通道? 否是 P1.3 通道的数据, 保存数字量到变量 Vin voltage=(2.5*vin)/ref; 将浮点数转换成对应的字符 调用串口发送程序, 将字符发送到主机上显示 延迟一段时间, 并修改通道号 (2 改 3,3 改 2), 再次启动 ADC ADC 中断服务程序结束 146

147 ADC 应用实现 4 -- 主程序处理流程 主程序入口 给定时器 2 计数初值寄存器 TH2 和 TL2 赋初值 启动定时器 2 启动串口 1 初始化 ADC 通道 初始化 ADC 控制寄存器, 开启 ADC 电源, 启动 ADC 转换 打开 CPU 中断 无限循环 147

148 ADC 应用实现 4 -- 具体实现过程 例 利用外部参考电压精确测量外部输入电压值 C 语言描述 #include "reg51.h" #include "stdio.h" #define OSC L // 声明单片机主时钟频率为 Hz #define BAUD 9600 // 声明单片机串口 1 通信波特率时钟 #define ADC_POWER 0x80 // 声明 ADC_POWER 的值为 0x80 #define ADC_FLAG 0x10 // 声明 ADC_FLAG 的值为 0x10 #define ADC_START 0x08 #define ADC_SPEEDLL 0x00 #define ADC_SPEEDL 0x20 // 声明 ADC_START 的值为 0x08 // 声明 ADC_SPEEDLL 的值为 0x00 // 声明 ADC_SPEEDH 的值为 0x20 #define ADC_SPEEDH 0x40 // 声明 ADC_SPEEDH 的值为 0x40 #define ADC_SPEEDHH 0x60 // 声明 ADC_SPEEDHH 的值为 0x60 148

149 ADC 应用实现 4 -- 具体实现过程 sfr T2H =0xD6; // 声明 T2H 寄存器的地址为 0xD6 sfr T2L =0xD7; // 声明 T2L 寄存器的地址为 0xD7 sfr AUXR =0x8E; // 声明 AUXR 寄存器的地址为 0x8E sfr ADC_CONTR =0xBC; // 声明 ADC_CONTR 寄存器的地址为 0xBC sfr ADC_RES =0xBD; // 声明 ADC_RES 寄存器的地址为 0xBD sfr ADC_RESL =0xBE; // 声明 ADC_RESL 寄存器的地址为 0xBE sfr P1ASF =0x9D; // 声明 P1ASF 寄存器的地址为 0x9D unsigned char ch=2; float voltage=0; unsigned char tstr[5]; unsigned int ref=0,vin=0; // 声明无符号 char 类型全局变量 ch=2 // 声明浮点类型全局变量 voltage=0 // 声明无符号 char 类型全局数组 tstr // 声明无符号 int 类型全局变量 ref 和 vin 149

150 ADC 应用实现 4 -- 具体实现过程 void SendData(unsigned char dat) { while(!ti); TI=0; SBUF=dat; } // 声明串口发送子函数 // 如果 TI 不为 1, 正在发送数据, 则等待 //TI 标志清零 //dat 写入串口 1 发送寄存器 SBUF 中 150

151 ADC 应用实现 4 -- 具体实现过程 void adc_int() interrupt 5 // 声明 ADC 中断服务程序 adc_int { unsigned char i=0; // 声明无符号 char 类型变量 i unsigned long int j=0; // 声明无符号 long int 类型变量 j ADC_CONTR &=!ADC_FLAG; // 清 ADC_FLAG 变量 if(ch==2) // 如果是参考电压源 TL431 通道 { ref=(adc_res*4+adc_resl); // 将参考电压所对应的数字量保存到变量 ref 中 } 151

152 else if(ch==3) ADC 应用实现 4 -- 具体实现过程 // 如果是热敏电阻分压输入通道 { vin=(adc_res*4+adc_resl); // 将分压所对应的数字量保存到变量 vin 中 voltage=(2.5*vin)/ref; // 计算分压的浮点电压值 sprintf(tstr, %1.4f,voltage); // 转换成对应的字符串 tstr SendData( \r ); SendData( \n ); // 串口发送回车符 // 串口发送换行符 for(i=0;i<5;i++) SendData(tstr[i]); // 串口发送分压对应的 ASCII 字符 } 152

153 ADC 应用实现 4 -- 具体实现过程 } if(ch==2) // 如果当前通道是 2 ch=3; // 则将通道号修改为 3 else if(ch==3) // 如果当前通道是 3 ch=2; // 则将通道号修改为 2 for(j=0;j<=80000;j++); // 延迟一段时间 ADC_RES=0; //ADC_RES 寄存器清零 ADC_RESL=0; //ADC_RESL 寄存器清零 ADC_CONTR=ADC_POWER ADC_SPEEDLL ADC_START ch; 153

154 void main() { unsigned int i; } SCON=0x5A; T2L=65536-OSC/4/BAUD; T2H=(65536-OSC/4/BAUD)>>8; ADC 应用实现 4 -- 具体实现过程 // 串口 1 为 8 位可变波特率模式 // 写定时器 2 低 8 位寄存器 T2L // 写定时器 2 高 8 位寄存器 T2H AUXR=0x14; // 定时器 2 不分频, 启动定时器 2 AUXR =0x01; P1ASF=0xFF; ADC_RES=0; // 选择定时器 2 为串口 1 的波特率发生器 //P1 端口作为模拟输入 // 清 ADC_RES 寄存器 ADC_CONTR=ADC_POWER ADC_SPEEDLL ADC_START ch; for(i=0;i<10000;i++); IE=0xA0; while(1); // 延迟 //CPU 允许响应中断请求, 使能 ADC 中断 // 无限循环 154

155 ADC 应用实现 4 下载和分析设计的步骤主要包括 : 打开 STC-ISP 软件, 在该界面内, 选择硬件选项 将 输入用户 程序运行时的 IRC 频率设置为 MHz 单击下载 / 编程按钮, 按前面的方法下载设计到 STC 单片机 在 STC-ISP 软件右侧串口中, 选择串口助手标签 在该标签串口 界面下, 按下面设置参数 : 串口 :COM3( 读者根据自己电脑识别出来的 COM 端口号进行设置 ) 波特率 :9600 校验位 : 无校验 停止位 :1 位 单击打开串口按钮 155

156 ADC 应用实现 4 用电热吹风接近 STC 学习板上的热敏电阻, 黑圈的位置 156

157 观察串口的输出结果 ADC 应用实现 4 当电烙铁瞬间接触热敏电阻时, 其电压可以降低到 1.306V 157

158 ADC 应用实现 4 将单片机的供电电压通过 J12 插座上的插针和导线连接到到 P1.3 插孔上, 观察串口输出结果 从图中可以看出, 单片机的供电电压非常稳定, 值的变化范围为 0.01V, 即 :10mV 158

Microsoft Word - LMB402CBC-AppNote-V0.1.doc

Microsoft Word - LMB402CBC-AppNote-V0.1.doc LMB402CBC 液晶显示模块应用参考 深圳市拓普微科技开发有限公司 版本描述日期编者 0.1 新版本 2006-02-09 杨军 http://www.topwaysz.com 1 / 1 目录 1 概述 3 2 硬件接口 3 3 软件特性 3 3.1 控制器接口信号说明 3 3.2 模块指令系统 4 4 显示数据存储器的地址 4 5 字符发生器 CGRAM 的地址 5 6 应用举例 5 6.1

More information

2 12

2 12 SHENZHEN BRILLIANT CRYSTAL TECHNOLOGIC CO.,LTD. The specification for the following models Graphic LCM serial communication control board CB001 PROPOSED BY APPROVED Design Approved TEL:+86-755-29995238

More information

DY2402PBL_技术手册_完整版.doc

DY2402PBL_技术手册_完整版.doc DoYoung.net 电子技术 创造独立资源! 2007.10.27 DY2402PBL 24 X 2 字符型液晶显示屏模块 24 行 X 2 列字符显示,5 X 8 单字符点阵 并行 8 / 4 线数据通信 红色字符, 黑色背景, 独立 LED 背光电源 内置液晶灰度调整电路 标准 ASCII 字符库, 可自定义 8 个用户字符 品名 字符型液晶显示屏模块 型号 MBCF24204B03( 原厂

More information

DPJJX1.DOC

DPJJX1.DOC 8051 111 2K 1 2 3 ' ' 1 CPU RAM ROM / A/D D/A PC CPU 40 68 10 20 8 51 PIII 8051 2 MCS51 8051 8031 89C51 8051 8031 89C51? MCS51 INTEL INTEL 8031 8051 8751 8032 8052 8752 8051 8051 8051 MCS51 8031 8031

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

Microsoft Word - RT-T19264B-SPEC.doc

Microsoft Word - RT-T19264B-SPEC.doc APPOVED SIGNAURES Blue Moon Customer 1 目 录 ( 一 ) 概述 ( 二 ) 外形尺寸 ( 三 ) 模块主要硬件构成说明 ( 四 ) 模块的外部接口 ( 五 ) 指令说明 ( 六 ) 读写操作时序 ( 七 ) 应用举例 ( 八 ) 附录 2 一 概述 1. 液晶显示模块是 192 64 点阵的汉字图形型液晶显示模块, 可显示汉字及图形, 内置 8192X2 个中文汉字

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT (f) 639 2A f B1

TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT (f) 639 2A f B1 TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT 588 4 1 0571-85121224 85121742 85121304(f) 639 2A095 0571-88256346 89902095 f B1618 010-62051209 62000662 62568913 82036512 f http://www.tsingtek.com

More information

Microsoft Word - LM6029-AppNote-V0.2.doc

Microsoft Word - LM6029-AppNote-V0.2.doc LM6029 液晶显示模块应用参考 深圳市拓普微科技开发有限公司 版本 描述 日期 编者 0.1 新版本 2005-11-22 PanFeng 0.2 修改 4 节指令集说明 LCD bias select 的指令描述 2006-02-10 PanFeng Ref LM6029-AppNote-V0.2.doc http//www.topwaysz.com 1 / 7 目录 1. 简介...3 2.

More information

7688使用手冊V10.doc

7688使用手冊V10.doc TP-7688 . 2 2. 3 3. 5 4. 5 5. 6 6. 7 7. 8 8. 9 9.. 4. 7 2 2., 7x9 / 6x9 7x9.3() x 3.()mm 6x9 2.84() x 3.()mm 3 ASCII 7x9 95 ASCII 6x9 95 6x9 7 BIG5 6x9 3973 6x9 28 7x9 24 24 55 6x9 2 2 27 4.23mm (/6 inch)

More information

AT89C2051中文资料.doc

AT89C2051中文资料.doc 图形点阵液晶显示模块使用手册 TG12864C(L) 广州捷胜吉电子科技 地址 : 广州市天河区天河路 561# 新赛格电子城 B2226 电话 :(020)33550997 13829772038 网址 :WWW.GZJSJDZ.COM E-mail:CJKD@21CN.COM 目 录 ( 一 ) 概述 (1) ( 二 ) 外形尺寸图 (1) ( 三 ) 模块主要硬件构成说明 (2) ( 四 )

More information

1604字符点阵液晶显示模块使用说明书

1604字符点阵液晶显示模块使用说明书 第 1 页 目录 1 产品简介 3 2 引用文件 3 3 机械特性 3 4 产品框图 3 5 电气特性 4 6 极限参数 4 7 接口时序 4 8 直流特性 6 9 引脚描述 7 10 命令描述 8 11 附录 12 附录 1 程序参考 12 附录 2 字符表 15 附录 3 模块外形图 16 第 2 页 1 产品简介 主要工艺 :COB 显示内容 :4 行每行 16 个字符显示模式 :STN,POSITIVE

More information

一:概述

一:概述 EDM12864A 图形点阵式液晶显示器模块原理与应用手册 大连东福彩色液晶显示器有限公司 一 概述 EDM12864A 液晶显示器模块是全屏幕图形点阵式液晶显示器组件, 由控制器 驱动器和全点阵液晶显示器组成 可完成图形显示, 也可以显示汉字 (4 8 个 16 16 点阵汉字 ); 与 CPU 接口是 8 位数据线和几条地址线, 而不用另外加控制器 ( 如 HD61830 等 ), 另外 3 条电源线供芯片和

More information

JLX

JLX PRODUCT:LCD MODULE. Model No.: JLX177-006 Product Type: 1.77 inch QVGA TFT Modoule. 产品规格书 晶联讯研发研发部 : Written By Checked By Approved By 客户名称 : 结构电子核准 地址 : 深圳市宝安区西乡宝安大道东华工业区 A3 栋 6 楼电话 :0755-29784961 Http://www.jlxlcd.cn

More information

51 C 51 isp 10 C PCB C C C C KEIL

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 STC 单片机 CCP/PCA/PWM 模块原理及实现 主讲 : 何宾 Email:hebin@mail.buct.edu.cn 2016.03 CCP/PCA/PWM 结构 STC15 系列部分单片机内部集成了三路 CCP/PCA/PWM 模块, 如图 24.1 所示 注 : STC15W1K16S STC15W404S STC15W201S STC15F100W 系列单片机无 CCP/PCA/PWM

More information

<4D F736F F D204A4C D D5043B5C4D6D0CEC4D7D6BFE2B1E0B3CCCBB5C3F7CAE92E646F63>

<4D F736F F D204A4C D D5043B5C4D6D0CEC4D7D6BFE2B1E0B3CCCBB5C3F7CAE92E646F63> JLX12864G-109-PC 带字库 IC 的编程说明书 目 录 序号 内容标题 页码 1 概述 2 2 字型样张 : 3 3 外形尺寸及接口引脚功能 4~6 4 工作电路框图 6 5 指令 6~9 6 字库的调用方法 9~17 7 硬件设计及例程 : 18~28 地址 : 深圳市宝安区西乡宝安大道东华工业区 A3 栋 6 楼电话 :0755-29784961 Http://www.jlxlcd.cn

More information

untitled

untitled EDM12832-08 : 25-1 : 116600 : (0411)7612956 7632020 7631122 : (0411)7612958 Model No.: Editor: LCD 1. ----------------------------------------------------3 2. ----------------------------------------------------3

More information

<4D6963726F736F667420576F7264202D20B9F9B0EABBCDBBAFAB48DEB3B4C1A5BDB3F8A7692E646F63>

<4D6963726F736F667420576F7264202D20B9F9B0EABBCDBBAFAB48DEB3B4C1A5BDB3F8A7692E646F63> 臺 北 市 立 松 山 高 級 工 農 職 業 學 校 資 訊 科 專 題 製 作 報 告 題 目 : 反 彈 空 間 指 導 老 師 : 余 耀 銘 學 生 : 廖 國 銓 趙 信 瑋 中 華 民 國 102 年 5 月 摘 要 在 這 高 速 科 技 的 起 飛 下, 科 技 都 建 立 起 於 基 礎, 有 些 人 把 這 基 礎 轉 為 理 論, 教 給 大 眾 學 習 ; 有 些 人 利

More information

W77E58中文手册

W77E58中文手册 W77E58 77E58 8051 8051 8051 77E58 8051 1.5 3 COMS 32K EEPROM 1K SRAM 1 8 2 40M 4 3 8051 4 8051 5 4 8 I/O 6 4 I/O 44 PLCC QFP 7 16 / 8 12 9 10 11 1K 12 13 16 DPTR 14 15 DIP40 W77E58 25/40 PLCC44 W77E58P

More information

/ / / , DOCNO: SG J REV11-2 -

/ / / , DOCNO: SG J REV11-2 - SG240128-01J LCD Version11 LED VDD SG240128SYD-01JSYE STN 80 50V 50V SG240128FPD-01JSWE FSTN 80 50V 50V SG240128SBD-01JSWE STN 80 50V 50V SG240128-01J 1 33V 2 LCM LCD 3 LED 4 1 LCD 2 3 : 010-80750102 /03

More information

Microsoft Word - 專題封面.doc

Microsoft Word - 專題封面.doc 逢 甲 大 學 資 訊 工 程 學 系 專 題 研 究 報 告 8051 小 遊 戲 -21 點 指 導 教 授 : 陳 德 生 學 生 : 許 博 益 中 華 民 國 九 十 六 年 六 月 I 目 錄 第 一 章 緒 論 1 1-1 研 究 背 景 1 1-2 研 究 動 機 2 1-3 研 究 目 的 3 1-3-1 21 點 源 起 3 1-3-2 21 點 規 則 3 第 二 章 微 電

More information

/ / / LED DOCNO: SG D REV11-2 -

/ / / LED DOCNO: SG D REV11-2 - SG24064-02D Version11 SG24064SYD-02DSYE LCD LED VDD STN 80 50V 50V SG24064SBD-02DSWE STN 80 50V 50V SG24064FPD-02DSWE FSTN 80 50V 50V SG24064SYD-02DSYE ND STN 80 50V 50V SG24064SBD-02DSWE ND STN 80 50V

More information

Microsoft Word - LM1095R-AppNote-V0.3.doc

Microsoft Word - LM1095R-AppNote-V0.3.doc LM1095R 液 晶 显 示 模 块 应 用 参 考 深 圳 市 拓 普 微 科 技 开 发 有 限 公 司 版 本 描 述 日 期 编 者 0.1 新 版 本 2005-10-28 淮 俊 霞 0.2 修 改 2.4: 双 图 层 的 灰 阶 显 示 2006-01-18 淮 俊 霞 修 改 参 考 程 序 中 的 错 字 0.3 修 改 2.6: 初 始 化 寄 存 器 的 设 置 修 改 参

More information

2005.book

2005.book ...4... 4... 7...10... 10... 10... 10... 10... 11... 11 PCC... 11 TB170... 12 /... 12...13... 13 BP150 / BP151 / BP152 / BP155... 14...15... 15... 15... 15... 15... 15... 15... 16 PS465 / PS477... 17 PS692

More information

Microsoft Word - LM2068S-AppNote-V0.1.doc

Microsoft Word - LM2068S-AppNote-V0.1.doc LM2068S 液晶显示模块应用参考 深圳市拓普微科技开发有限公司 版本 描述 日期 编者 0.1 新版本 2006-08-10 淮俊霞 http://www.topwaysz.com 1 / 8 目录 1. 简介...3 2. 电路连接原理简图...3 3. 指令操作...3 4. 指令集说明...4 5. 显示内存及显示区的合成...5 6. 流程图...6 参考程序...7 http://www.topwaysz.com

More information

电子技术基础 ( 第 版 ) 3. 图解单相桥式整流电路 ( 图 4-1-3) 电路名称电路原理图波形图 整流电路的工作原理 1. 单相半波整流电路 u 1 u u sin t a t 1 u 0 A B VD I A VD R B

电子技术基础 ( 第 版 ) 3. 图解单相桥式整流电路 ( 图 4-1-3) 电路名称电路原理图波形图 整流电路的工作原理 1. 单相半波整流电路 u 1 u u sin t a t 1 u 0 A B VD I A VD R B 直流稳压电源 第 4 章 4.1 整流电路及其应用 学习目标 1. 熟悉单相整流电路的组成, 了解整流电路的工作原理. 掌握单相整流电路的输出电压和电流的计算方法, 并能通过示波器观察整流电路输出电压的波形 3. 能从实际电路中识读整流电路, 通过估算, 能合理选用整流元器件 4.1.1 认识整流电路 1. 图解单相半波整流电路 ( 图 4-1-1) 电路名称电路原理图波形图 4-1-1. 图解单相全波整流电路

More information

() () () () () () () () DDRAM () II

() () () () () () () () DDRAM () II 液晶模块说明书 SPEC NO YM2232A REV NO. 液晶显示模块产品说明书 产品类型 : 产品型号 : 产品描述 : 标准产品 YM2232A 22x32 图形点阵模块, 控制器 :SED52,LED 背光 客户名称 : 客户确认 : 编写 : Dexun Zou 审核 : HCC 批准 : Jingxi Yang 发行日期 : 22.8 大连佳显电子有限公司 地址 : 大连市沙河口区工华街

More information

后庭电子网店技术文件 1 概述 电气连接 指令系统 指令集 液晶使用技巧...8 后庭电子网店版权所有 共 1 册第 1 册共 11 页

后庭电子网店技术文件 1 概述 电气连接 指令系统 指令集 液晶使用技巧...8 后庭电子网店版权所有 共 1 册第 1 册共 11 页 后庭电子网店技术文件 文件名称 :LCD1602 液晶使用指导版本号 :A 文件状态 : 已实施 拟制 / 日期 : 后庭电子 2009 年 3 月 26 日 审核 / 日期 : 2009 年 3 月 26 日 会签 : 批准 / 日期 : 2009 年 3 月 26 日 http://shop34916584.taobao.com 后庭电子网店版权所有 共 1 册第 1 册共 11 页 后庭电子网店技术文件

More information

Microsoft Word - JLX1602A-4中文说明书.doc

Microsoft Word - JLX1602A-4中文说明书.doc JLX1602A-4 使用说明书 目 录 序号 内容标题 页码 1 概述 2 2 字符型模块的特点 2 3 外形及接口引脚功能 3-6 4 基本原理 7-10 5 技术参数 10 6 时序特性 11-13 7 指令功能 13- 末页 电话 0755-29784961 Http//www.jlxlcd.cn 1 1. 概述 晶联讯电子液晶模块 JLX1602A-4 版本 B 晶联讯电子专注于液晶屏及液晶模块的研发

More information

单片机原理及应用实验指导书.doc

单片机原理及应用实验指导书.doc 1 2 3 4...2...4...9...9 AEDK598 MCS51...9 MCS51...10...10...10...10...10...10...11 P1...12...12...12....12...12...13 P3...14...14...14...14...14...14 I/O...15...15...15...15...15...16...17...17...17...17...17...18...19...19

More information

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax)

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax) 2018 9 29 龙芯 版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) 010-62546668 (Fax) 010-62600826 阅读指南 龙芯 1C101 处理器数据手册 龙芯 1C101 修订历史 序号 更新日期 版本号

More information

untitled

untitled LCD EDM12864HBSL-ALC-G : 25-1 : 116600 : (0411)7612956 7632020 : (0411)7612958 Model No.: Editor: LCD 1. ----------------------------------------------------3 2. ----------------------------------------------------3

More information

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe   Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L 1 SH88F516 8051 64K FLASH 1024 EEPROM SH88F516 JET51 S-Lab Keil µ vision ISP51 Keil µ vision ISP51 ISP51 PC RS232 MCU SH88F516 SH88F516 1.1 SH88F516 1.1 SH88F516 SH88Fxx: QFP44, DIP40 RAM Flash E2 ADC

More information

四位微控制器ML64168_ _.doc

四位微控制器ML64168_ _.doc SSSC /4168P 2005 8 4 4, (ADC), LCD Driver, (Buzzer), 1 3 CPU17 CPU 26 33 42 45 48 73 79 85 89 A/D 92 111 125 128 131 SSU4168P 133 143 A: / 153 B: 156 C: 158 D: 160 E: 161 F: 163 G: PAD 167 2 ,, 11 4 CMOS

More information

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC LCD PIC 单片机解决方案 集成 LCD 驱动器模块的 PIC 单片机 www.microchip.com/lcd ,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC,

More information

目录

目录 ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28

More information

ETA104 数据采集模块数据手册

ETA104 数据采集模块数据手册 Emtronix ETA104 数据采集模块数据手册 1. 概述 1.1 ETA104 介绍 ETA104 模拟数据采集模块 ( 下文简称 :ETA104 模块 ) 是基于英创公司 SBC840 工控应用底板 符合 DM5028 标准应用扩展模块 ETA104 模块上的模数转换功能, 采用 ADS7871 模拟信号转换芯片, 占用 ESMARC 工控主板的 SPI 总线进行通讯, 最高可实现 48K

More information

128K Flash EPROM 的程序?\(Bank=64K\) 切?

128K Flash EPROM 的程序?\(Bank=64K\) 切? 应用说明 华邦 8 位单片机 (8051 内核 ) 应用说明 华邦 8 位单片机 (8051 内核 ) ANSC-UC08-0007 目录 - 1. 应用说明 :...4 1.1...4 1.2 相关寄存器介绍...4 1.2.1 串行口控制寄存器 (SCON)... 4 1.2.2 串行数据缓冲寄存器 (SBUF)... 5 1.2.3 串行口控制 1 (SCON1)... 5 1.2.4 串行数据接收缓冲

More information

Intersil精密模拟器件

Intersil精密模拟器件 Intersil 1nV/vHz & 0.00017% 1nV/ Hz Hz IC +125 DCPs VOUT I 2 C Intersil 450nA ( ) 2nA na / IntersilIC 2.8mm 1.6mm / V I SS µa (Max.) V OS (mv) (Max.) I B (pa) @1kHz (nv/ Hz ) khz (Tye.)(dB) (Tye.)(dB)

More information

控制器 EtherCAT EtherCAT EtherCAT 接下一个电机驱动模块 (X4) 接下一个电机驱动模块 (X5) X11 IN X4 IN X3 OUT X5 IN X6 OUT X2 X1 X4 IN X3 OUT X5 IN X6 OUT X2 X1 SYS STA DC BUS D

控制器 EtherCAT EtherCAT EtherCAT 接下一个电机驱动模块 (X4) 接下一个电机驱动模块 (X5) X11 IN X4 IN X3 OUT X5 IN X6 OUT X2 X1 X4 IN X3 OUT X5 IN X6 OUT X2 X1 SYS STA DC BUS D 控制器 thert thert thert 接下一个电机驱动模块 () 接下一个电机驱动模块 () 电机驱动模块 电机驱动模块 电源模块 接下一个电机驱动模块 () 接下一个电机驱动模块 () 接下一个电机驱动模块 () 接下一个电机驱动模块 () X 0 X 0 4 /RK /RK 注 注 制动电阻阻值 Ω Φ 80: 适用电机驱动模块型号 8-M-XXXX--XX Φ : 适用电机驱动模块型号

More information

12232A LED LED LED EL EL CCFL EL CCF

12232A LED LED LED EL EL CCFL EL CCF 12232A 0 50-20 +70-30 +85 LED LED LED EL EL CCFL EL CCF 122 x 32 1/32Duty 1/5Bias 6:00 STN( ), EL LED EL/100VAC 400HZ LED/4.2VDC 1 / VDD-VSS 0 6.5 V Ta=25 LCD VDD-V0 0 12.0 V V1 0 VDD V VDD-VSS - 4.75

More information

untitled

untitled www.mcudriver.cn 1.1 / 1) WinAVR20070525 2) Source Insight 3) ISP 4) PonyProg ISP 5) USB 6) 1.2. MCU ATMEGA16 1.3. AVR8 1.4 LED0~LED7 1 1.5 #include // Program 1.1 LED.C #define uchar unsigned

More information

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0 SH79F6431 1. SH79F6431 1T 8051 FLASH SH79F JET51 Keil µ vision JTAG 1.1. SH79F6431 LQFP64 1.2. (Target Board) SH79F6431 1 V 1.0 1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F6431 1 2 1 B. 1(VCC/GND)

More information

USER’S MANUAL SP500 SERIES

USER’S MANUAL SP500 SERIES 1.... 1 2.... 2 2-1... 2 2-2... 3 2-3... 3 2-4... 3 3.... 4 4.... 6 4-1... 6 4-2... 7 4-3... 8 4-4... 9 4-5... 9 4-6... 10 4-7... 11 5.... 12 5-1... 12 5-2... 15 5-3... 18 5-4... 19 6.... 20 6-1... 20

More information

Photoshop CS6 艺术设计案例教程 ( 第二版 ) 1.1 Photoshop 的应用领域 Photoshop,,, Photoshop Photoshop 的用途 Photoshop CIS ( ) ( ) 案例展现 ~ 1

Photoshop CS6 艺术设计案例教程 ( 第二版 ) 1.1 Photoshop 的应用领域 Photoshop,,, Photoshop Photoshop 的用途 Photoshop CIS ( ) ( ) 案例展现 ~ 1 Chapter 01 Photoshop CS6 的基本操作 本章内容 1.1 Photoshop 的应用领域 1.6 控制面板的显示与隐藏 1.2 位图和矢量图的特性 1.7 新建 打开与保存文件 1.3 像素和分辨率的关系 1.8 图像的缩放 1.4 色彩模式 1.9 屏幕显示模式 1.5 Photoshop CS6 界面 1.10 计算机图形图像常用的色彩模式 Photoshop CS6 艺术设计案例教程

More information

SPMC75F2413A_EVM_使用说明_V1.2.doc

SPMC75F2413A_EVM_使用说明_V1.2.doc SPMCFA EVM V. - Jan 0, 00 http://www.sunplusmcu.com ................ SPMCFA........... EEPROM.... I/O............ LED.... LED.... RS-........0............ EVM................ 0.....0..... SPMCFA EVM SPMCFA

More information

ISO h.PDF

ISO h.PDF 1 2 ID-1 IC IC 2 GB/T 14916 1994 - GB/T 16649.1 1996 - - 1 : GB/T 16649.2 1996 - - 2 : GB/T 16649.3 1996 - - 3 : ISO/IEC 7816 4 1995 - - 4 : ISO/IEC 7816 5 199 5 - - 5 :. 3 i 3 4 5 data cold reset 6 4

More information

GW EDA VHDL VHDL VHDL VHDL ADC009 0 FPGA PC GW EDA a GW EDA beda README.TXT c d 0 e J MZH +V GND -V D/A +V GND S JA J D D D D D D D D C K J J VGA VGA B EDA JB B J HC B RS- CON CON HC PS/ CPLD/FPGA J RS-

More information

微雪电子 Open103Z 实验手册 Open103Z 实验手册 目录 准备工作 BitIO-Pushbutton... 3 ADC+DMA... 4 CAN-LoopBack... 5 DAC... 6 DS18B GPIO_Key_L

微雪电子   Open103Z 实验手册 Open103Z 实验手册 目录 准备工作 BitIO-Pushbutton... 3 ADC+DMA... 4 CAN-LoopBack... 5 DAC... 6 DS18B GPIO_Key_L 目录 准备工作... 3 8BitIO-Pushbutton... 3 ADC+DMA... 4 CAN-LoopBack... 5 DAC... 6 DS18B20... 7 GPIO_Key_LED... 8 I2C... 9 LCD-HY32D_FSMC... 10 Nand Flash...11 NorFlash... 12 PS2... 13 RTC... 14 SD_FatFS... 15

More information

目 录

目 录 1 Quick51...1 1.1 SmartSOPC Quick51...1 1.2 Quick51...1 1.3 Quick51...2 2 Keil C51 Quick51...4 2.1 Keil C51...4 2.2 Keil C51...4 2.3 1 Keil C51...4 2.4 Flash Magic...9 2.5 ISP...9 2.6...10 2.7 Keil C51...12

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

Microsoft Word - GT21L16S2W简要说明V3.7.doc

Microsoft Word - GT21L16S2W简要说明V3.7.doc GT21L16S2W 标 准 汉 字 字 库 芯 片 简 要 说 明 BRIEF 字 型 :11X12 点 阵 15X16 点 阵 字 符 集 :GB2312 兼 容 Unicode 内 码 排 置 方 式 : 横 置 横 排 总 线 接 口 :SPI 串 行 总 线 芯 片 形 式 :SO8 封 装 VER 3.7 2010-Q3 集 通 数 码 科 技 - 1 - 版 本 修 订 记 录 GT21L16S2W

More information

Microsoft Word - FG12232A.doc

Microsoft Word - FG12232A.doc 图形点阵液晶显示模块使用手册 FG2232A 广州市方舟电子有限公司 公司网站 :www.arkteck.com 地址 : 广州市天河区东圃桃园路 33 号 5 楼电话 :2-82574878 82574677 8854485 传真 :82574878 82574677 分机 88 目 录 ( 一 ) 基本特性 () ( 二 ) 原理图 (2) ( 三 ) 限定参数 (2) ( 四 ) 直流特性 (2)

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

JX-300X DCS 3.1 SP202 SP201S SP211 SP243X SP233 SP244 SP221 SP251 SP251-1 SP251-2 800*600*2100 715*425*1000 RS-232/RS-485 5V24V 110W 24V 110W SP291 SB

JX-300X DCS 3.1 SP202 SP201S SP211 SP243X SP233 SP244 SP221 SP251 SP251-1 SP251-2 800*600*2100 715*425*1000 RS-232/RS-485 5V24V 110W 24V 110W SP291 SB JX-300X DCS I/O / SBUS 3-1 3-1 JX-300X DCS 3-1 JX-300X DCS 3.1 SP202 SP201S SP211 SP243X SP233 SP244 SP221 SP251 SP251-1 SP251-2 800*600*2100 715*425*1000 RS-232/RS-485 5V24V 110W 24V 110W SP291 SBUS 3-2

More information

untitled

untitled EDM12864-GR 1 24 1. ----------------------------------------------------3 2. ----------------------------------------------------3 3. ----------------------------------------------------3 4. -------------------------------------------------------6

More information

untitled

untitled SIMATIC S7-300 4/2 4/2 S7-300/S7-300F 4/4 4/4 CPU 312C - CPU 317F-2 DP 4/38 SIPLUS 4/38 SIPLUS CPU 312C, CPU 313C, CPU 314, CPU 315-2 DP 4/40 4/40 SM 321 4/46 SM 322 4/52 SM 323/SM 327 I/O 4/56 SIPLUS

More information

<4D F736F F D BFD8D6C6C6F7CFB5C1D0D6D0CEC4D7D6BFE2D2BABEA7C4A3BFE9CBB5C3F7CAE92E646F63>

<4D F736F F D BFD8D6C6C6F7CFB5C1D0D6D0CEC4D7D6BFE2D2BABEA7C4A3BFE9CBB5C3F7CAE92E646F63> ST7920 控制器系列液晶模块使用说明书 1 第一章 ST7920 控制器中文图形液晶显示模块的主要特性 ST7920 控制器系列中文图形液晶模块的软件特性主要由 ST7920 控制驱动器决定 ST7920 同时作为控制器和驱动器, 它可提供 33 路 com 输出和 64 路 seg 输出 在驱动器 ST7921 的配合下, 最多可以驱动 256 32 点阵液晶 ST7920 系列产品硬件特性如下

More information

Microsoft Word - JLX PN中文说明书

Microsoft Word - JLX PN中文说明书 JLX240-003-PN 使用说明书 ( 不带字库 IC) 目 录 序号 内容标题 页码 1 概述 2 2 特点 2 3 外形及接口引脚功能 3~4 4 基本原理 4~5 5 技术参数 5 6 时序特性 6~7 7 指令功能及硬件接口与编程案例 7~ 末页 电话 :0755-29784961 Http://www.jlxlcd.cn 1 1. 概述 晶联讯电子液晶模块 JLX240-003-PN

More information

Ps22Pdf

Ps22Pdf ( ) ( 150 ) 25 15 20 40 ( 25, 1, 25 ), 1. A. B. C. D. 2. A. B. C. D. 3., J = 1 H = 1 ( A B, J', J, H ) A. A = B = 1, J' =0 B. A = B = J' =1 C. A = J' =1, B =0 D. B = J' = 1, A = 0 4. AB + AB A. AB B. AB

More information

<4D6963726F736F667420576F7264202D20323031352D342D3231D2C7B1EDCCD6C2DBB8E5B1E0D6C6CBB5C3F72E646F63>

<4D6963726F736F667420576F7264202D20323031352D342D3231D2C7B1EDCCD6C2DBB8E5B1E0D6C6CBB5C3F72E646F63> 电 动 自 行 车 用 仪 表 标 准 编 制 说 明 ( 征 求 意 见 稿 ) 一 任 务 来 源 和 制 定 过 程 本 标 准 制 订 项 目 由 工 业 和 信 息 化 部 下 达 项 目 编 号 2013-0061T-QB, 项 目 名 称 电 动 自 行 车 用 仪 表 电 动 自 行 车 是 节 能 环 保 的 绿 色 交 通 工 具, 是 适 合 国 情 的 个 人 短 途 交 通

More information

<4D F736F F D20C9EEDBDACAD0B6ABB3CFD0C5B5E7D7D3BFC6BCBCD3D0CFDEB9ABCBBEBDE9C9DCBCB0BFE2B4E6>

<4D F736F F D20C9EEDBDACAD0B6ABB3CFD0C5B5E7D7D3BFC6BCBCD3D0CFDEB9ABCBBEBDE9C9DCBCB0BFE2B4E6> 台湾合泰 HOLTEK 型号品牌封装说明 HT7022A-1#-SOT89 HOLTEK SOT89 2.2V N 沟开漏电压监测器 HT7022A-1-TO92 HOLTEK TO92 2.2V N 沟开漏电压监测器 HT7024A-1#-SOT89 HOLTEK SOT89 2.4V N 沟开漏电压监测器 HT7024A-1-TO92 HOLTEK TO92 2.4V N 沟开漏电压监测器 HT7027A-1#-SOT89

More information

微雪电子 Open407V-D 实验手册 Open407V-D 实验手册 目录 准备工作... 2 ADC+DMA... 2 CAN1 TO CAN2-Normal... 3 DCMI_OV DCMI_OV I2C... 6 L

微雪电子   Open407V-D 实验手册 Open407V-D 实验手册 目录 准备工作... 2 ADC+DMA... 2 CAN1 TO CAN2-Normal... 3 DCMI_OV DCMI_OV I2C... 6 L Open407V-D 实验手册 目录 准备工作... 2 ADC+DMA... 2 CAN1 TO CAN2-Normal... 3 DCMI_OV7670... 4 DCMI_OV9655... 5 I2C... 6 LCD-HY32D_FSMC... 7 Nand Flash_PCB0... 8 Nand Flash_SCB0... 9 SD_FatFS... 11 SDIO... 12 SPI...

More information

TD

TD *TD-000212-05* 20- 应用实例 4 本例显示的是使用两个亚低 音扬声器和多个顶箱的双声 道 立体声 设置 除了各声道都增加了一个顶 箱外 也可以增加更多的顶 箱 本例和例 3 的情况一 致 声道 2 或 右声道 声道 1 或 左声道 要接到更多的顶箱 将最后 一个顶箱的全幅线路输出接 头处的线缆接到下一个顶箱 的全幅线路输入接头 在不 降低信号质量的情况下 最

More information

MCCB EMI EMI

MCCB EMI EMI HD5L HD5L HD5L 4008-858 -959 189 4871 3800 MCCB EMI EMI ... 1 1.1... 1 1.2... 1 1.3... 2... 3 2.1... 3 2.2... 3 2.3... 4 2.4... 5 2.5... 6... 9 3.1... 9 3.2... 9 3.3... 10 3.4... 10 3.5... 12 3.6... 13...

More information

BA 2002, 3 IPCS WWW.EASTCATO.COM - - - - - -1-3 -15 - - - - - - WWW.EASTCATO.COM BA 1 2 3 4 20% DC12V A-1 WWW.EASTCATO.COM ok A-2 WWW.EASTCATO.COM RS232 RS485 EC-NET : B-1 WWW.EASTCATO.COM EC-NET 14 I/O

More information

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32-- HD61202 C-7 1 HD61202 HD61202 8 HD61203 HD61202, HY-12864 HY-19264 HD61202 HD61202 HD61203 HD61202 1 6464=4096 RAMRAM LCD 2HD61202 64 3HD61202 68 68 4HD61202 1/32--1/64 HD61202 HD61202 2 CS1,CS2,CS3 CS1

More information

untitled

untitled XZL024 http://item.taobao.com/item.htm?id=6321822194 1 1 1.1 1.2 1.3 1.4 2 2.1 2.2 2.3 3 USBee Suite 3.1 3.2 3.3 3.4 4 RS232 RS485 RS422 CAN http://item.taobao.com/item.htm?id=6321822194 2 1 XZL024 PC

More information

学习MSP430单片机推荐参考书

学习MSP430单片机推荐参考书 MSP430 16 MSP430 C MSP430 C MSP430 FLASH 16 1 CPU 16 ALU 16 PC SP SR R4~R15 2 3 00-FFH 100-1FFH 4 5 1 2 51 24 27 6 1 2 3 4 5 6 4 12 SR SP SR CPU SR CPU C Z N GIE CPUOff CPU OscOff SCG0 SCG1 CPU EXIT SP

More information

Microsoft Word - FX-VXC256-VER1.0.doc

Microsoft Word - FX-VXC256-VER1.0.doc FX-VXCC256 VGA 控制器使用手册 Ver1.0 一 简介...2 二 控制板接口与设置...2 1 控制板外形尺寸:...2 2 与 MPU 的接口 (J2) 引脚定义...3 3 VGA 接口 (J4) 引脚定义...5 三 指令操作说明...6 四 FX-VXC256 应用...6 1 直接访问方式...7 2 间接控制方式...8 3 256 色应用程序模块...10 子程序一 :

More information

Microsoft Word - ~ doc

Microsoft Word - ~ doc EEPROM 功能使用方法 1 适用产品 : 1.1 SM39R16A2/ SM39R12A2/ SM39R08A2 1.2 SM39R4051/ SM39R2051 1.3 SM39R04G1/ SM39R02G1 2 EEPROM 功能概述 : 2.1 使用 code flash 仿真为 Internal EEPROM, 在程序执行时, 可将 code flash 作为 data flash 储存数据使用

More information

<4D F736F F D204A4C D D5043B5C4D6D0CEC4D7D6BFE2B1E0B3CCCBB5C3F7CAE92E646F63>

<4D F736F F D204A4C D D5043B5C4D6D0CEC4D7D6BFE2B1E0B3CCCBB5C3F7CAE92E646F63> JLX12864G-330-PC 带字库 IC 的编程说明书 目 录 序号 内容标题 页码 1 概述 2 2 字型样张 : 3 3 外形尺寸及接口引脚功能 4~5 4 工作电路框图 5 5 指令 6~8 6 字库的调用方法 9~18 7 硬件设计及例程 : 19~ 尾页 电话 :0755-29784961 Http://www.jlxlcd.cn 1 1. 概述 JLX12864G-330-PC 型液晶显示模块既可以当成普通的图像型液晶显示模块使用

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD Leica MC170 HD Leica MC190 HD 5 6 7 8 11 12 13 14 16 HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD 22 23 24 26 Leica MC170 HD Leica MC190 HD ( ) 28

More information

第5章:汇编语言程序设计

第5章:汇编语言程序设计 第 5 章 : 汇编语言程序设计 程 汇编语言指令格式 系统伪指令 存储器选择方式 常用子程序 1 汇编语言程序设计 PIC 指令系统 语言系统 指 CPU 编 器语言 器语言 器语言 设计 用 语言 设计 语言 汇编语言 2 汇编语言指令格式 汇编语言指令格式 ( 指令 ) label opcode operand comment 指令 用 存 指令 指令语 3 汇编语言指令格式 1 指令 用 指令

More information

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

01

01 ZEBRA 技术白皮书 条码编码 101 相关知识介绍 引言 20 70 数据 80 20 90 (JIT) AIAG EIA HIBCC HAZMAT 条码的优势提高数据准确性 99% 85% / / 提升效率 / 2 Zebra Technologies 保持一致性 ID 改进库存和资产管理 成本 / 效益分析 ID ID ID (ERP) RFID Zebra Technologies 3 ID

More information

CA24064B LED LED LED EL EL CCFL EL CCF /

CA24064B LED LED LED EL EL CCFL EL CCF / CA24064B 0 50-20 +70-30 +85 LED LED LED EL EL CCFL EL CCF 39 2 6 0755-81995643/27890716 0 13713911853 0755-27890716 1 : VDD-VSS 0 6 V LCD VDD-V0 Ta=25 0 28.0 V VI 0 VDD V : VDD-VSS --- 4.75 5.0 5.25 V

More information

东南大学硕士学位论文 LCD 显示中灰度控制机理的研究及电路实现姓名 : 曹志香申请学位级别 : 硕士专业 : 微电子学与固体电子学指导教师 : 孙大有 20040327 LCD 显示中灰度控制机理的研究及电路实现 作者 : 曹志香 学位授予单位 : 东南大学 相似文献 (1 条 ) 1.

More information

<4D F736F F D20534D D3820BFAAB9D8C1BFB2C9BCAFC4A3BFE9>

<4D F736F F D20534D D3820BFAAB9D8C1BFB2C9BCAFC4A3BFE9> SM1650B-8 八路开关量采集模块 说明书 网址 :http://www.sonbest.com 第 1 页共 11 页 概述 SM1650B-8 是开关量信号采集模块, 基于工业用 MODBUS-RTU 协议, 是针对各种工业现场的实际需求设计生产的, 集采集 处理等多种功能于一身的新型工业化模块 为便于工程组网及工业应用, 本模块采用工业广泛使用的 MODBUS-RTU 通讯协议, 支持二次开发,

More information

XT1861

XT1861 同步升压 DC-DC 变换器 产品概述 XT1861 系列产品是一款低功耗高效率 低纹波 工作频率高的 PFM 控制升压 DC-DC 变换器 XT1861 系列产品仅需要 3 个外部元器, 即可完成低输入的电池电压输入 用途 1~3 个干电池的电子设备 数码相机 电子词典 ED 手电筒 ED 灯 血压计 MP3 遥控玩具 无线耳机 无线鼠标键盘 医疗器械 防丢器 汽车防盗器 充电器 VCR PD 等手持电子设备

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

Microsoft Word - FX-T8048C256A.doc

Microsoft Word - FX-T8048C256A.doc FX-T8048C256A 液晶显示控制器使用手册 一 简介...2 二 控制板接口与设置...2 1 控制板外形尺寸:...2 2 与 MPU 的接口 (J2) 引脚定义...3 3 液晶显示接口(J3) 引脚定义...5 三 指令操作说明...6 四 FX-T8048C256A 应用...6 1 直接访问方式...7 2 间接控制方式...8 3 256 色应用程序模块...10 子程序一 :

More information

NC MCP MPG

NC MCP MPG HNC-21M ...1 1.1... 1 1.1.1... 1 1.1.2... 2 1.2... 3 1.2.1... 3 1.2.2... 3 1.2.3 NC... 3 1.2.4 MCP... 4 1.2.5 MPG... 4 1.3... 5 1.4... 6 1.4.1... 7 1.4.2... 7...9 2.1... 9 2.2... 9 2.3... 9 2.4... 10 2.5...

More information

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf("%d", &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf("%

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf(%d, &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf(% 2013 ( 28 ) ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 10 B 1 C 1 D 5 E 5 F 1 G II 5 H 30 1 2013 C 1 #include 2 int main(void) 3

More information

專題最終版.doc

專題最終版.doc The Principle and Application of the Electric Combination Lock The Principle and Application of the Electric Combination Lock Abstract Recently, there are more and more burglaries in the society. It's

More information

+00DE _01EN.book

+00DE _01EN.book TCS-NET MODBUS TCS-NET Modbus TCB-IFMB640TLE 1...... 2 2 RS 485... 3 3... 3 4... 4 5... 4 6... 5 7... 6 8... 16 TCS-NET Modbus 1 http://www.modbus-ida.org/ >=3.5 8 8 N*8 ( N = 252.) 16 >= 3.5 Modbus-Master

More information

Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15 LM361 LM361 Zlg

Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15 LM361 LM361 Zlg 1 1 a. 0.5V 5V 1Hz 1MHz b. 0.1% 2 : a. 0.5V 5V 1Hz 1MHz b. 0.1% (3) a. 0.5V 5V 100 s b. 1% 4 1 10 5 1MHz 6 1 2 1 0.1Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15

More information

Converting image (bmp/jpg) file into binary format

Converting image (bmp/jpg) file into binary format RAiO Image Tool 操作说明 Version 1.0 July 26, 2016 RAiO Technology Inc. Copyright RAiO Technology Inc. 2013 RAiO TECHNOLOGY INC. www.raio.com.tw Revise History Version Date Description 0.1 September 01, 2014

More information

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc EEPROM 应用说明 1 适用产品 :SM59D03G2 SM59D04G2 series 2 应用范围 : 针对需使用 EEPORM 功能替换 STC 89C5X 的应用及汇编语言之范例程序 ( 使用内部扩充内存为暂存区 ) 3 功能说明 : 3.1 本公司上述产品 EEPORM 功能皆可替换 STC89C5X, 仅需对特殊功能缓存器定义 ( 详见表 1) 及 ISP 命令定义 ( 详见表 2)

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

Microsoft Word - 97.doc

Microsoft Word - 97.doc 基于 Proteus 的液晶模块仿真李东勋, 沈文浩, 陈小泉 ( 华南理工大学制浆造纸工程国家重点实验室, 广东广州 510640) 摘要 : 本文介绍了 Proteus 中字符型液晶模块 LM016L 的结构及其控制器 HD44780 的指令系统, 完成了 LM016L 与单片机 80C51 的硬件接口电路设计及 HD44780 控制器的驱动编程, 实现了 LM016L 自定义字符的显示 最后简要介绍了

More information

DATASHEET SEARCH SITE ==

DATASHEET SEARCH SITE == , STC 89 1280 8/16/32/64k IAP SRAM ISP P0 8 P1 8051 E 2 PROM + P2 IAP STC Data Flash P4.0P4.3 P3 MAX810 I/O P4 A/D UART A / D 3 STC 89 P I I E 2 P 4 S A ROM EMI P P STC 89C51 RC 4K 512 2K STC 89C52 RC

More information

Microsoft Word - FM12232C.doc

Microsoft Word - FM12232C.doc SPEC NO YM2232C REV NO. : YM2232C : 22x32 SED52 LED : Dexun Zou HCC : Jingxi Yang : 22.8 目 录 ( 一 ) 基本特性 () ( 二 ) 限定参数 () ( 三 ) 直流特性 (2) ( 四 ) 交流特性 (2) ( 五 ) 机械尺寸图 (3) ( 六 ) 原理图 (3) ( 七 ) DDRAM 地址表 (4)

More information

深圳市景润达电子有限公司

深圳市景润达电子有限公司 深圳市景润达电子有限公司电话 :0755-26042986/13537695550 E-mali:jrd_lcm@126.com 联系人 : 蒋桂儒 ( 先生 ) 地址 : 深圳市宝安广深路西乡段 373 号西乡宾山工业区深航工贸大厦 2 楼. OLED12864L OLED12864L-02(3V) OLED12864L-04(3V) OLED12864L-03(5V) OLED12864L-05(5V)

More information

Electrical and Optical Clock Data Recovery Solutions - Data Sheet

Electrical and Optical Clock Data Recovery Solutions - Data Sheet 32 GBd N1076A 32 GBd N1077A / 64 GBd N1076B 64 GBd N1078A / 64 GBd NRZ PAM4 O/E < 100 fs RMS JSA PLL ...3...4...4...5 /...6...8...11 N1076A...12 N1076B DCA-M...13 N1077A...15 N1078A DCA-M...17...21...

More information