表1-5 端口A第二功能
端口引脚第二功能
PA7 ADC7(ADC输入通道7)
PA6 ADC6(ADC输入通道6)
PA5 ADC5(ADC输入通道5)
PA4 ADC4(ADC输入通道4)
PA3 ADC3(ADC输入通道3)
PA2 ADC2(ADC输入通道2)
PA1 ADC1(ADC输入通道1)
PA0 ADC0(ADC输入通道0)
表1-6 端口B第二功能
端口引脚第二功能
PB7 SCK(SPI总线的串行时钟)
PB6 MISO(SPI总线的主机输入/从机输出信号) PB5 MOSI(SPI总线的主机输出/从机输入信号) PB4 (SPI从机选择引脚)
PB3 AIN1(模拟比较负输入)
OCO(T/C0输出比较匹配输出)
PB2 AIN0(模拟比较正输入)
INT2(外部中断2输入)
PB1 T1(T/C1外部计数器输入)
PB0 T0(T/C0外部计数器输入)
XCK(USART外部时钟输入/输出)
表1-7 端口C第二功能
端口引脚第二功能
PC7 TOSC2(定时振荡器引脚2)
PC6 TOSC1(定时振荡器引脚1)
PC5 TD1(JTAG测试数据输入)
PC4 TD0(JTAG测试数据输出)
PC3 TMS(JTAG测试模式选择)
PC2 TCK(JTAG测试时钟)
PC1 SDA(两线串行总线数据输入/输出线)
PC0 SCL(两线串行总线时钟线)
表1-8 端口D第二功能
端口引脚第二功能
PD7 OC2(T/C2输出比较匹配输出)
PD6 ICP1(T/C1输入捕捉引脚)
PD5 OC1A(T/C1输出比较A匹配输出)
PD4 OC1B(T/C1输出比较B匹配输出)
PD3 INT1(外部中断1的输入)
PD2 INT0(外部中断0的输入)
PD1 TXD(USART输出引脚)
PD0 RXD(USART输入引脚)
表6-7 74LS138译码器真值表
表6-6 74HC573的真值表
输入输出输出使能锁存使能 D Q L H H H L H L L
L L X 不变
H X X Z
表6-8 指令取值
BIT 0 1
PD 芯片是活动的芯片处于掉电模式
V 水平寻址垂直寻址
H 使用基本指令集使用扩展指令集
D and E
00 10 01 11 显示空白
普通模式
开所有显示段反转映象模式
T and T
00
01
10
11 温度系数0
温度系数1
温度系数2
温度系数3
INPUTS OUTPUTS
ENABLE SELECT
G1 G2A G2B C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
X H X X X H L X X H L L H L L H L L H L L H L L H L L H L L H L L X X X
X X X
X X X
L L L
L L H
L H L
L H H
H L L
H L H
H H L
H H H
H H H H H H H H
H H H H H H H H
H H H H H H H H
L H H H H H H H
H L H H H H H H
H H L H H H H H
H H H L H H H H
H H H H L H H H
H H H H H L H H
H H H H H H L H
H H H H H H H L
表6-9 编程偏置系统
B n 推荐混合率
0 0 0 7 1:100
0 0 1 6 1:80
0 1 0 5 1:65/1:65
0 1 1 4 1:48
1 0 0 3 1:40/1:34
1 0 1
2 1:24
1 1 0 1 1:18/1:16
1 1 1 0 1:10/1:9/1:8
表6-10 LCD 偏置电压计算公式选择
符号偏置电压1/8偏置的偏置电压
V1
V2 (n+3)/(n+4)
V3 (n+2)/(n+4)
V4 2(n+4)
V5 1/(n+4)
V6
11. 设置Vop值
=?=6.06
电源开
↓
VDD 上升到4.5V后等待>15
↓
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 1 ????
↓等待>4.1ms
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 1 ????
↓等待>100us
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 1 ????
↓检查忙标志或延时40us
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 1 N F ??
↓检查忙标志或延时40us
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 1 0 ??
s ↓检查忙标志或延时40us
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 0 0 1
↓检查忙标志或延时40us
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 1 1/D S
↓检查忙标志或延时1.64
初始化结束
图6-28 1602LCD初始化过程
表7-6比较输出模式,非PWM
COM1A1/COM1B1 COM1A0/COM1B0 说明
0 0 普通端口操作,非OC1A/OC1B功能
0 1 比较匹配时OC1A/OC1B电平取反
1 0 比较匹配时清零OC1A/OC1B(输出低电平)
1 1 比较匹配时置位OC1A/OC1B(输出高电平)
7-7 COM1x1:0 WGM13:0 设置为快速PWM模式时的功能定义
COM1A1/COM1B1 COM1A0/COM1B0 说明
0 0 普通端口操作,非OC1A/OC1B功能
0 1 WGM13:0=15:比较匹配时OC1A取反,OC1B不
占用物理引脚。WGM13:0为其它值时为普通端
口操作,非OC1A/OC1B功能
1 0 比较匹配时清零OC1A/OC1B,OC1A/OC1B在TOP
时置位
1 1 比较匹配时清零OC1A/OC1B,OC1A/OC1B在TOP
时清零
表7-8 WGM13:0 设置为相位(频)修正PWM模式时COM1x1:0的功能
COM1A1/COM1B1 COM1A0/COM1B0 说明
0 0 普通端口操作,非OC1A/OC1B功能
0 1 WGM13:0=9或14:比较匹配时OC1A取反,OC1B
不占用物理引脚。WGM13:0为其它值时为普通
端口操作,非OC1A/OC1B功能
1 0 升序记数时比较匹配将清零OC1A/OC1B,降序记
数时比较匹配将置位OC1A/OC1B
1 1 升序记数时比较匹配将置位OC1A/OC1B, 降序
记数时比较匹配将清零OC1A/OC1B
表7-9 波形产生模式的位描述
模式WGM13 WGM12
(CTC1)
WGM11
(PWM11)
WGM10
(PWM10)
定时器/计数器工作模
式
计数上限
值TOP
OCR1X更
新时刻
TOV1置位
时刻
0 0 0 0 0 普通模式0xFFFF 立即更新MAX
1 0 0 0 1 8位相位修正PWM 0 x00FF TOP BOTTOM
2 0 0 1 0 9位相位修正PWM 0x01FF TOP BOTTOM
3 0 0 1 1 10位相位修正PWM 0x03FF TOP BOTTOM
4 0 1 0 0 CTC OCR1A 立即更新MAX
5 0 1 0 1 8位快速PWM 0x00FF TOP TOP
6 0 1 1 0 9位快速PWM 0x01FF TOP TOP
7 0 1 1 1 10位快速PWM 0x03FF TOP TOP
8 1 0 0 0 相位与频率修正PWM ICR1 BOTTOM BOTTOM
9 1 0 0 1 相位与频率修正PWM OCR1A BOTTOM BOTTOM
10 1 0 1 0 相位修正PWM ICR1A TOP BOTTOM
11 1 0 1 1 相位修正PWM ICR1A TOP BOTTOM
12 1 1 0 0 CTC ICR1 立即更新MAX
13 1 1 0 1 保留———
14 1 1 1 0 快速PWM ICR1 TOP TOP
15 1 1 1 1 快速PWM OCR1A TOP TOP
表7-11 时钟选择位描述
CS12 CS11 CS10 说明
0 0 0 无时钟源(T/C停止)
0 0 1 /1(无预分频) 0 1 0 /8(来自预分频器) 0 1 1 /64(来自预分频器) 1 0 0 /256(来自预分频器) 1 0 1 1024(来自预分频器) 1 1 0 外部T1引脚,下降沿驱动 1
1
1
外部T1引脚,上升沿驱动
单端模拟输入
GND
(a) 单端转换
方式
可变增益放大器 模拟输入+ 模拟输入-
GND
(b) 差分转换方式
图5-5 单端ADC 和差分ADC 转换输入示意图
UMSEL 模式 0 异步操作 1
同步操作
UPM1 UPM0 奇偶模式 0 0 禁止 0 1 保留 1 0 偶校验 1
1
奇校验
USBS
停止位位数
0 1 1
2
UCSZ2 UCSZ1 UCSZ2 字符长度
0 0 0 5位 0 0 1 6位 0 1 0 7位 0 1 1 8位 1 0 0 保留 1
1
保留
10位ADC
10位ADC
1 1 0 保留
1 1 1 9位
UCPOL 发送数据的改变(TXD引脚的输出)接收数据的采样(RxD引脚的输入)
0 XCK上升沿XCK下降沿
1 XCK下降沿XCK上升沿
Table 72. TWI词汇
单词说明
主机启动和停止传输的设备。主机同时要产生SCL时钟
从机被主机寻址的设备
发送器将数据放到总线上的设备
接收器从总线读取数据的设备
SCL frequency=
Table 73. TWI比特率预分频器
TWPS1 TWPS0 预分频器值
0 0 1
0 1 4
1 0 16
1 1 64
汇编代码例程C例程说明
1 1 11di r16,
(1< (1< 发出START信号 2 Wait1: in r16, TWCR abra r16 , TWINT rjmp wait1 While (!(TWCR & (1< 置位表示START信号已发 出 3 in r16 , TWSR andi r16, 0Xf8 cp1 r16, START brno ERROR If ((TWSR & 0XF8) !=START) ERROR(); 检验TWI状态存储器,屏 蔽预分频位,如果状态字 不是START转出错处理 1di r16, SLA_W Out TWDR, R16 1d1 r16, (1< TWCR=(1< 装入SLA_W到TWDR寄存 器,TWINT位清零,启动 发送地址 4 Wait2: in r16,TWCR Sbra r16, TWINT rjmp wait2 While( ! (TWCR & (1< 置位表示总线命令SLA+W 已发出,及收到应答信号 ACK/NACK 5 in r16, TWSR andi r16, 0XF8 cpi r16, MT_SLA_ACK brne ERROR If ((TWSR & 0XF8) !=MT_SLA_ACK) ERROR(); 检验TWI状态寄存器屏蔽 预分频位,如果状态字不 是MT_SLA_ACK转出错处 理 1di r16, DATA out TWDR, r16 1di r16, (1< TWCR=(1< 装入数据到TWDR寄存 器,TWINT清零,启动发 送数据 6 wait3: in r16, TWCR abrs r16, TWINT rjmp wait3 while (! (TWCR & (1< 置位表示总线数据DATA 已发送,及收到应答信号 ACK/NACK 7 in r16,TWSR andi r16,0Xf8 cpi r16, MT_DATA_ACK brne ERROR If ((TWSR & 0XF8) !=MT_DATA_ACK) ERROR(); 检验TWI状态寄存器,屏 蔽预分频器,如果状态字 不是MT_DA TA_ACK转出 错处理 1di r16, (1< 1< 发送STOP信号 TWCR值 TWINT TWEA TWSTA TWSTO TWWC TWEN ?TWIE 1 X 1 0 X 1 0 X TWCR值 TWINT TWEA TWSTA TWSTO TWWC TWEN ?TWIE 1 X 0 0 X 1 0 X TWCR值 TWINT TWEA TWSTA TWSTO TWWC TWEN ?TWIE 1 X 0 0 X 1 0 X TWCR值 TWINT TWEA TWSTA TWSTO TWWC TWEN ?TWIE 1 X 0 1 X 1 0 X TWCR值 TWINT TWEA TWSTA TWSTO TWWC TWEN ?TWIE 1 X 1 0 X 1 0 X TWCR值 TWINT TWEA TWSTA TWSTO TWWC TWEN ?TWIE 1 X 1 0 X 1 0 X TWCR值 TWINT TWEA TWSTA TWSTO TWWC TWEN ?TWIE 1 X 0- 0 X 1 0 X TWCR值 TWINT TWEA TWSTA TWSTO TWWC TWEN ?TWIE 1 X 0 1 X 1 0 X TWCR值 TWINT TWEA TWSTA TWSTO TWWC TWEN ?TWIE 1 X 1 0 X 1 0 X TWAR值 TWA6 TWA5 TWA4 TWA3 TWA2 TWA1 TWA0 TWGCE 器件本身从机地址 TRCR值 TWINT TWEAA TWSTA TWSTO TWWC TWEN ?TWIE 0 1 0 0 0 1 0 X TWAR值 TWA6 TWA5 TWA4 TWA3 TWA2 TWA1 TWA0 TWGCE 器件本身从机地址 TRCR值 TWINT TWEAA TWSTA TWSTO TWWC TWEN ?TWIE 0 1 0 0 0 1 0 X Figure 94. 几种TWI模式联合访问串行EEPROM MASTER TRANSMITTER Master Receiver S SLA+W A ADDRESS A Rs SLA+R A DATA P S=START Rs=REPEATED START P=STOP Transmitted from Master to Slave Transmitted from Master to Slave 串行时钟 SRCK RCK SERIN 行扫描串行 数据 SEROUT SERIN SI 行显示串行数据 SCK QH ’ SI QH ’ SI OER 串行时钟 使能/禁止 图3-8 LED 显示驱动原理图 1 RAM CK A4 A3 A2 A1 A0 KAM K 图2 DSI302 的控制字节 I5-2 DS1302 的控制字节 表1 日历、时间寄存器及其控制字 寄存器名称 命令字 各位内容 TPIC6B595 (1) TPIC6B595 (2) 74HC59 (1) 74HC595 (2) 74HC595 (8) 秒寄存器分寄存器时寄存器日寄存器月寄存器周寄存器年寄存器写操作读操作 80H 81H 82H 83H 84H 85H 86H 87H 88H 89H 8AH 8HH 8CH 8DH 取值范围 00-59 00-59 01-12或00-23 01-28.29.30.31 01-12 01-07 00-99 7 6 5 4 3 2 1 0 CH 10SEC SEC 0 10MIN MIN 12/24 0 10 HR HH 0 0 10DATE DATE 0 0 0 10M MONTH 0 0 0 0 0 DAY 10YEAR YEAR A.时钟 秒7 6 5 4 3 2 1 0 1 0 0 0 0 0 0 RD W 分 1 0 0 0 0 0 1 RD W 小时 1 0 0 0 0 1 0 RD W 日 1 0 0 0 0 1 1 RD W 月 1 0 0 0 1 0 0 RD W 星期 1 0 0 0 1 0 1 RD W 年 1 0 0 0 1 1 0 RD W 控制 1 0 0 0 1 1 1 RD W 涡流充电 1 0 0 1 0 0 0 RD W 时钟多字节 1 0 1 1 1 1 1 RD W B.RAM RAM 数据0 1 1 0 0 0 0 0 RD W ? ? RAM 数据30 1 1 1 1 1 1 0 RD W RAM字符组 1 1 1 1 1 1 1 RD W 00-59 CH 10秒秒 00-59 CH 10秒秒 01-12 00-23 12/ 24 0 10 小时小时 A/P 01-28/29 01-30 01-31 0 0 10日日 01-12 0 0 0 10M 月 01-07 0 0 0 0 0 星期 00-99 10年年 WP 0 0 0 0 0 0 0 TCS TCS TCS TCS TCS TCS TCS TCS RAM数据0 ? ? ? RAM数据30