1、本章内容:本章内容:本章包括I/O接口、定时器、频率、相位角测量程序、RTC4553和DS1302时钟程序、AD和DA转换程序、键盘、电容分相补偿、数码管和LCD显示程序等,还介绍ATIT022B电能检测芯片、MAX125多路同步采样芯片、TEA1622P通用开关电源芯片等部分常见的硬件。1、实验要求及步骤 本实验是使用键盘控制LED的闪烁次序。按下S1,LED由低位向高位闪烁;按下S2,LED由高位向低位闪烁。所用元件包括ATmega16、ISP、电源、面包板、LED 8只、开关2只、电阻及实验线若干。要求熟悉PC机(AtmanAVR编译环境),然后对LED显示电路及键盘输入电路进行软硬件设
2、计。8.1 ATmega I/O 8.1 ATmega I/O 接口实验接口实验 实验步骤如下实验步骤如下:(1 1)进入)进入AtmanAVRAtmanAVR编译环境进行程序设计与编译环境进行程序设计与调试;调试;(2 2)按编程时设定的接口进行原理图的绘制)按编程时设定的接口进行原理图的绘制及电路板的制作;及电路板的制作;(3 3)用)用ISPISP下载程序并验证,若与实验要求不下载程序并验证,若与实验要求不符,回到步骤符,回到步骤1 1。2 2、设计电路图和相应的电路、设计电路图和相应的电路只有通过足只有通过足够的实验和够的实验和仿真实验操仿真实验操作,才能得作,才能得到应有的实到应有的
3、实际动手能力际动手能力培养和更好培养和更好的掌握书本的掌握书本知识。知识。123456ABCD654321DCBATitleNumberRevisionSizeBDate:26-Jul-2007Sheet of File:F:ATmega 单片机C语言教程 编书ATmega 单片机编书ATmag图第8章图单片机图.ddbDrawn By:AGND28X18X27RESET4PD2(INT0)11PD3(INT1)12PD4(OC1B)13PD5(OC1A)14PB0(T0)40PB1(T1)41PB2(AIN0)42PB3(AIN1)43PB4(SS)44PB5(MOSI)1PB6(MISO)
4、2PB7(SCK)3(ADC0)PA037(ADC1)PA136(ADC2)PA235(ADC3)PA334(ADC4)PA433(ADC5)PA532(ADC6)PA631(ADC7)PA730PC019PC120PC221PC322PC423PC524(TOSC1)PC625(TOSC2)PC726PD7(TOSC2)16PD6(ICP)15AVCC27AREF29PD1(TXD)10PD0(RXD)9GND39VCC38GND6GND18VCC5VCC17U1ATMEGA16_TQFP44VCCVCCR11kSCKMISOMOSIRESVCCR24.7kR34.7kSW2SW1VCCR4
5、1k+C122F123456J1VCCSCKMISOMOSIRESC21043 3、控制、控制IOIO的源程序的源程序/*程序说明功 能:键盘扫描程序,用与PC0及PC1连接的2个键盘控制LED从高位向低位闪烁或低位向高位闪烁。输 入:无输 出:PD口控制的8盏LED*/#include keyboard1.h#include/keyboard1static void io_init(void)/PortBPORTB=0 x0;/设置端口B为输入方式DDRB=0 x0;/PortCPORTC=0 x0;/设置端口C为输入方式DDRC=0 x0;/PortDPORTD=0 x0;/设置端口D为输
6、出方式DDRD=0 xff;wdt_enable(WDTO_15MS);/开启看门狗ACSR=0 x80;int main(void)io_init();while(1)get_key();void get_key(void)/键盘扫描子程序键盘扫描子程序 unsigned char tem;int a8=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;int i;PORTD=0 xff;/1111 1111DDRD=0 xff;/PD囗设置为输出,与前一句结合囗设置为输出,与前一句结合PD囗输出为全囗输出为全1PORTC=0 x3;/0000
7、0011DDRC=0 x0;/0000 0000 PC囗的囗的PC.0、PC.1设置为设置为输入输入delay_nus(100);/延时等待电平稳定延时等待电平稳定tem=PINC&0 x03;/读键盘扫描信号读键盘扫描信号PC0及及PC1状态状态(只只取取PC0、PC1),屏蔽高六位,屏蔽高六位if(tem!=0 x03)/若PC不等于0 x03,则有按键按下 delay_1ms();/延时消抖动 tem=PINC&0 x03;/再读键盘 if(tem!=0 x03)/确认按键按下 if(tem=0 x01)/如为0 x01则表示按下的为接PC1的键 for(i=0;i=0;i-)/显示 P
8、ORTD=ai;delay(400,8000);8.2 8.2 数码管应用和部分元件介绍数码管应用和部分元件介绍8.2.1 8.2.1 数码管公共端和接法的判断数码管公共端和接法的判断1、单个数码管(见图8.4)。一般有十个管脚,其中有两个是公共端。一般是正中间相对的两个管脚或者小数点端两头的两个管脚是公共端,用万用表来检测。其判断方法为:先把万用表调在发光二极管档位,其判断方法为:先把万用表调在发光二极管档位,红黑表笔短接,然后红黑表笔分别接正中间相对红黑表笔短接,然后红黑表笔分别接正中间相对的两个管脚或小数点端两头的两个管脚,短接的的两个管脚或小数点端两头的两个管脚,短接的两个管脚即为公共
9、端。共阴极和共阳极的判断:两个管脚即为公共端。共阴极和共阳极的判断:先把黑表笔放在公共引脚上,红表笔接其他管脚,先把黑表笔放在公共引脚上,红表笔接其他管脚,如果段码点亮则表示是共阴极接法,反之红表笔如果段码点亮则表示是共阴极接法,反之红表笔放在公共端点亮段码则为共阳极接法。放在公共端点亮段码则为共阳极接法。2、四个数码管集成在一起(见图、四个数码管集成在一起(见图8.5)有)有12个管脚,个管脚,其中有四个是位码,剩余其中有四个是位码,剩余8个为段码。首先要判断出个为段码。首先要判断出4个位码(判断位码的同时共阴接法还是共阳接法也个位码(判断位码的同时共阴接法还是共阳接法也可以判断出来),用万
10、用表来检测。可以判断出来),用万用表来检测。其判断方法为:其判断方法为:先把万用表调在发光二极管档位,先把万用表调在发光二极管档位,红黑表笔短接,然后黑笔接某一引脚不变,红笔红黑表笔短接,然后黑笔接某一引脚不变,红笔一一试接其他引脚,若有几个都能点亮则表明黑一一试接其他引脚,若有几个都能点亮则表明黑笔所接引脚为一个位码,并且此接法为笔所接引脚为一个位码,并且此接法为共阴接法。共阴接法。共阳接法共阳接法的判断为红笔接某一引脚不变,黑笔一的判断为红笔接某一引脚不变,黑笔一一试接其他引脚,若有几个都能点亮则表明红笔一试接其他引脚,若有几个都能点亮则表明红笔所接引脚为一个位码,且为共阳接法。共阳极的所
11、接引脚为一个位码,且为共阳接法。共阳极的位码为高电平时才能点亮数码管。位码为高电平时才能点亮数码管。123456ABCD654321DCBAT itleN um berR evisionSizeBD ate:15-M ay-2003Sheet of File:F:毕 业 设 计 文 档 编 书 编 书 10.31图 第 8章.D dbD raw n B y:abcdefgdp123456ABCD654321DCBAT itleN um berR evisionSizeBD ate:15-M ay-2003Sheet of File:F:毕 业 设 计 文 档 编 书 编 书 10.31图 第
12、8章.D dbD raw n B y:abcdefgdpabcdefgdpabcdefgdpabcdefgdp123456789101112abcdefgdp1G2G3G4G型号HS-A3643SR图图8.48.4结构示意图结构示意图 图图8.58.5共阳高亮数码管共阳高亮数码管 3 3LEDLED显示器分类显示器分类七段 LED显示器有两大类,一类是共阴极接法(8个 LED的阴极连在一起),图8.6所示;另一类是共阳极接法(8个LED的阳极连在一起),如图8.7所示。abcdefgdpcomabcdefgdpcom图图8.68.6共阴接法共阴接法 图图8.78.7共阳接法共阳接法8.2.2
13、74HC5958.2.2 74HC595描述描述 74HC595芯片是一种串入并出的芯片,在电子显示屏制作当中有广泛的应用。74HC595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在SH-cp的上升沿输入,在ST-cp的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。74HC59574HC595的主要特点:的主要特点:1、8位
14、串行输入、8位串行或并行输出、存储状态寄存器、三种状态、输出寄存器可以直接清除、100MHz的移位频率;2、74HC595的输出能力:并行输出,总线驱动;串行输出 图图8.8 74HC5958.8 74HC595的封装的封装3 3、MAX232MAX232芯片及接口电路芯片及接口电路 MAX232芯片是MAXIM公司生产的、包含两路接收器和驱动器的IC芯片,适用于各种RS232C和V.28V.24的通信接口。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源电压变换成为RS232C输出电平所需的10V电压。所以,采用此芯片接口的串行通信系统只需单一的+5V电源就可以了。对于没有1
15、2V电源的场合,其适应性更强。加之其价格适中,硬件接口简单,所以被广泛采用。4 4、RSRS485/RS485/RS422422接口芯片接口芯片 MAX481E/MAX488E是低电源(只有5V)RS485/RS422收发器。每一个芯片内都含有一个驱动器和一个接收器,采用8脚DIP/SO封装。除了上述两种芯片 外,和 M A X 4 8 1 E 相 同 的 系 列 芯 片 还 有MAX483E/485E/487E/1487E,等等,和MAX488E相同的有MAX490E。这两种芯片的主要区别是前者为半双工,后者为全双工。它们的管脚分配及原理如图8.14所示。8.2.4 ATmega168.2.
16、4 ATmega16与数码管的连接与数码管的连接 数码管直接IO口的话,占用太多的IO引脚,一般接一个移位寄存器。本试验接74HC595实现串行输入并行输出。74LS595的SRCLR(非门)直接接Vcc,OE(非门)直接接地,其他三个控制端口与单片机I/O口相连。SER:串行输入数据;SCK:移位寄存器使能(上升沿有效);RCK:释放数据(上升沿有效)。12345678ABCD87654321DCBATitleNumb erR evisionSizeA2Date:1-Jul-2 007 Sh eet of File:F:ATmega 单片机C 语言教程 编书ATmega 单片机编书第8 章图
17、第8章图.d dbDrawn By:G13R CK12SER14SR CLR10SR CK11QA15QB1QC2QD3QE4QF5QG6QH7QH19VCC16GND8U7SN74LS595-ZZG13R CK12SER14SR CLR10SR CK11QA15QB1QC2QD3QE4QF5QG6QH7QH19VCC16GND8U6SN74LS595-ZZVCCLEDVCCAGND28X18X27R ESET4PD2(INT0)11PD3(INT1)12PD4(OC1 B)13PD5(OC1 A)14PB 0(T0)40PB 1(T1)41PB 2(AIN0)42PB 3(AIN1)43PB
18、 4(SS)44PB 5(MOSI)1PB 6(MISO)2PB 7(SCK)3(ADC0)PA037(ADC1)PA136(ADC2)PA235(ADC3)PA334(ADC4)PA433(ADC5)PA532(ADC6)PA631(ADC7)PA730PC 019PC 120PC 221PC 322PC 423PC 524(TOSC1)PC 625(TOSC2)PC 726PD7(TOSC 2)16PD6(IC P)15AVC C27AREF29PD1(TXD)10PD0(R XD)9GND39VCC38GND6GND18VCC5VCC17U1ATMEGA16AVC CC PUVC CC
19、347 4L1L6L7L8L2L3L4L5C S1C S2C S3C S4e1d2dp3c4g54G6b73G82G9f10a111G12SW2L1L6L7L8L2L3L4L5CS1CS2CS3CS4图图8.16 数码管与数码管与CPU连接示意图连接示意图/*单片机数据输出子程序单片机数据输出子程序*/void led_list(void)void led_list(void)uchar i,j;uchar i,j;j=1;j=1;for(i=0;i8;i+)/for(i=0;i8;i+)/循环循环8 8次(数码管共分次(数码管共分8 8段)段)led_outbyt(j0 xff)led_ou
20、tbyt(j0 xff);/段码的数据段码的数据 led_outbyt(j)led_outbyt(j);/显示数码管的位码显示数码管的位码 cbi(PORTA,5)cbi(PORTA,5);/等待数据锁存等待数据锁存 sbi(PORTA,5)sbi(PORTA,5);/数据进入锁存器数据进入锁存器 delay(8,1000)delay(8,1000);/延时延时 j=1 j=1;led_outbyt(0)led_outbyt(0);led_outbyt(0)led_outbyt(0);/因数码管是共阳因数码管是共阳,全全灭灭 cbi(PORTA,5)cbi(PORTA,5);/等待数据锁存等待
21、数据锁存 sbi(PORTA,5)sbi(PORTA,5);/数据锁存数据锁存 8.3 8.3 基于基于ATmegaATmega的的12864LCD12864LCD液晶串行显示液晶串行显示8.3.1 8.3.1 中文液晶显示模块功能描述中文液晶显示模块功能描述中文液晶显示模块LCMxxZK的字型ROM 内含8192个16*16 点中文字型和128个16*8 半宽的字母符号字型。另外绘图显示画面提供一个64*256 点的绘图区域GDRAM),内置的CGRAM 提供4组软件可编程的16*16 点阵造字功能。电源操作范围宽(2.7V to 5.5V);低功耗设计可满足产品的省电要求。同时,与单片机等
22、微控器的接口界面灵活(三种模式并行8 位/4 位串行3 线/2 线)。8.3.2 ATmega8.3.2 ATmega单片机与单片机与12864LCD12864LCD液晶器的连接液晶器的连接123456ABCD654321DCBATitleNumberRevisionSizeBDate:1-Apr-2005 Sheet of File:D:毕业设计海老师的任务ddbMyDesign.ddbDrawn By:LCDk-1A+2GND3VCC4NC5CS6SID7SCK8D09D110D211D312D413D514D615D716PSB17RST18VR19VO20R2LCDLCD_CSLCD_
23、SCKLCD_DATR110VCCGNDR310KVCCGNDGNDRST9VCC10GND11X212X113AVCC30GND31AREF32PA7(ADC7)33PA6(ADC6)34PA5(ADC5)35PA4(ADC4)36PA3(ADC3)37PA2(ADC2)38PA1(ADC1)39PA0(ADC0)40PB0(T0)1PB1(T1)2PB2(INT2)3PB3(OC0)4PB4(SS)5PB5(MOSI)6PB6(MISO)7PB7(SCK)8PD0(RXD)14PD1(TXD)15PD2(INT0)16PD3(INT1)17PD4(OC1B)18PD5(OC1A)19PD6
24、(ICP1)20PD7(OC2)21PC0(SCL)22PC1(SDA)23PC224PC325PC426PC527PC628PC729A1ATMEGA16GNDRSTMOSIMISOP_SCKVCCLCD_SCKLCD_DATLCD_CSGNDVCC图图8.18 ATmega16和和LCM12864连接图连接图8.3.3 8.3.3 串行接口数据传输描述串行接口数据传输描述 当PSB 脚接低电位(模块背面S/P 的短路电阻在“S”侧),模块将进入串行模式在串行模式下将使用二条传输线作数据的串行传送,主控制系统将配合传输同步时钟(CLK)与接收串行数据线(SID),来完成串行传输的动作。在片选
25、CS 设为高电位时,同步时钟线(SCLK)输入的讯号才会被接收,另一方面,当片选(CS)设为低电位时,模块的内部串行传输计数与串行数据将会被重置。8.3.4 8.3.4 液晶串行接口数据传输程序液晶串行接口数据传输程序液晶屏初始化的时序图液晶屏初始化的时序图图图8.20液晶屏初始化的时序图液晶屏初始化的时序图 8.4 8.4 单片机发送数据到上位机单片机发送数据到上位机8.4.1 8.4.1 单片机发送数据到上位机原理图单片机发送数据到上位机原理图123456ABCD654321DCBATitleNumberRevisionSizeBDate:24-Apr-2007Sheet of File:
26、M:8章单片机图1.ddbDrawn By:12 C51uFC71uFC81uFC61uF232RXD232TXDTXDRXD123J3COMVCCVCCC1+1V+2C1-3C2+4C2-5V-6T2O7R2IN8R2O9T2IN10T1IN11R1O12R1IN13T1O14GND15VSS16U3MAX232232RXD232TXDAGND28X18X27RESET4PD2(INT0)11PD3(INT1)12PD4(OC1B)13PD5(OC1A)14PB0(T0)40PB1(T1)41PB2(AIN0)42PB3(AIN1)43PB4(SS)44PB5(MOSI)1PB6(MISO)
27、2PB7(SCK)3(ADC0)PA037(ADC1)PA136(ADC2)PA235(ADC3)PA334(ADC4)PA433(ADC5)PA532(ADC6)PA631(ADC7)PA730PC019PC120PC221PC322PC423PC524(TOSC1)PC625(TOSC2)PC726PD7(TOSC2)16PD6(ICP)15AVCC27AREF29PD1(TXD)10PD0(RXD)9GND39VCC38GND6GND18VCC5VCC17U1ATMEGA16_TQFP44SCKMISOMOSIRESRXDTXDWRSINSCKCPUVCC8.4.2 8.4.2 程序编写
28、步骤程序编写步骤 单片机采用Atmel公司的AVR系列的ATmega16。程序用C语言编写,由于编译器已经把初始化的工作做好了,仅需要做少量的工作就可以完成。建立工程的步骤如下:1.打开AtmanAvr.exe 2.单击工程添加工程新建3.为工程取一个名字,选择工程保存的路径后点击确定进入下一步。4.选择CPU为ATmega16,多次点击下一步到工程的第8步:通用串行接口UART。选中发送,选择停止位为1,波特率为9600,字符位数为8位。点击完成,进入代码编辑状态。5.5.编译器自动生成串口初始化所需的代码,包括串编译器自动生成串口初始化所需的代码,包括串口初始化函数口初始化函数uart_i
29、nit()uart_init()和和I/OI/O口初始化函数口初始化函数io_init()io_init(),引入头文件,引入头文件#include#include,然后,然后输入发送子函数,代码如下:输入发送子函数,代码如下:void send_char(uchar a)void send_char(uchar a)UDR=a;UDR=a;/送数到发送缓冲送数到发送缓冲delay(1,8000);delay(1,8000);/延时,等待发送完毕。延时,等待发送完毕。6 6将代码编译,然后烧入到单片机中。接好线路,将代码编译,然后烧入到单片机中。接好线路,启动电脑的接收文件,设置好串行端口和波
30、特率。启动电脑的接收文件,设置好串行端口和波特率。delay()delay()库函数的用法说明:库函数的用法说明:#include#include void delay(unsigned int milliseconds,void delay(unsigned int milliseconds,unsigned int kilohertz);unsigned int kilohertz);参数参数 milliseconds milliseconds 延迟毫秒数,最小值延迟毫秒数,最小值 1ms1ms,最大值,最大值 65535ms 65535ms kilohertz kilohertz 处理器
31、时钟频率,单位千赫(处理器时钟频率,单位千赫(kHzkHz),最),最小值小值 1000kHz1000kHz,最大值,最大值 65535kHz 65535kHz 注释注释 毫秒延迟,误差毫秒延迟,误差 =6=6。如果在延迟时间内频繁。如果在延迟时间内频繁发生中断,延迟时间将会延长,误差将会显著加大。发生中断,延迟时间将会延长,误差将会显著加大。图图8.22 建立工程文件建立工程文件 图图8.23 选择芯片型号和时钟选择芯片型号和时钟ATmega 硬件和实用程序硬件和实用程序图图8.24 选择通信模式和波特率选择通信模式和波特率8.5 RTC4553 8.5 RTC4553 时钟芯片在单片机时钟
32、芯片在单片机ATmega16ATmega16中的应用中的应用 RTC4553RTC4553是是EPSONEPSON公司生产的一款高性价比、低功公司生产的一款高性价比、低功耗、带耗、带RAMRAM的新型高精度实时时钟芯片。的新型高精度实时时钟芯片。它内带它内带32.768kHz32.768kHz晶振,可以对年、月、日、星晶振,可以对年、月、日、星期、时、分、秒进行精确计时,直至期、时、分、秒进行精确计时,直至20992099年均具有闰年均具有闰年自动补偿功能。它以递增方式修改时钟数据,并以年自动补偿功能。它以递增方式修改时钟数据,并以BCDBCD码格式串行输出。码格式串行输出。另外,另外,RTC
33、4553RTC4553内部还带有内部还带有30304bit4bit的的SRAMSRAM,可用,可用于存放系统临时数据。它的工作电压范围为于存放系统临时数据。它的工作电压范围为2 25.5V5.5V,支持低电压,支持低电压(3V)(3V)工作,典型工作电流为工作,典型工作电流为1A1A。该芯片用一片钮扣式锂电池做后备电源即可使用该芯片用一片钮扣式锂电池做后备电源即可使用1010年以上。因此,将其应用在年以上。因此,将其应用在AVRAVR单片机系统时钟单片机系统时钟获取方面可以有效地提高精确度,并降低成本。获取方面可以有效地提高精确度,并降低成本。图图8.25 RTC4553内部结构框图内部结构框
34、图8.5.1 RTC45538.5.1 RTC4553的内部结构的内部结构8.5.2 RTC45538.5.2 RTC4553的工作原理的工作原理在片选选中芯片,置高时,芯片处于读出状态,随在片选选中芯片,置高时,芯片处于读出状态,随着脚上的时钟变化,内部寄存器的数据将出现在着脚上的时钟变化,内部寄存器的数据将出现在SOUTSOUT脚上。输入需要脚上。输入需要8 8个时钟,个时钟,4 4个用来输入地址;个用来输入地址;输出数据也需要输出数据也需要8 8个时钟,包括个时钟,包括4 4个地址位和个地址位和4 4个数据个数据位。数据在上升沿输入,在下降沿输出。寄存器的位。数据在上升沿输入,在下降沿输
35、出。寄存器的地址由地址由SINSIN脚输入,页面由脚输入,页面由MS0MS0、MS1MS1决定。决定。图图8.26为读时序图为读时序图8.5.3 RTC45538.5.3 RTC4553与单片机连接及编程与单片机连接及编程1 1、系统电路原理图系统电路原理图123456ABCD654321DCBATitleNumberRevisionSizeBDate:24-Apr-2007Sheet of File:M:8章单片机图1.ddbDrawn By:AGND28X18X27RESET4PD2(INT0)11PD3(INT1)12PD4(OC1B)13PD5(OC1A)14PB0(T0)40PB1(
36、T1)41PB2(AIN0)42PB3(AIN1)43PB4(SS)44PB5(MOSI)1PB6(MISO)2PB7(SCK)3(ADC0)PA037(ADC1)PA136(ADC2)PA235(ADC3)PA334(ADC4)PA433(ADC5)PA532(ADC6)PA631(ADC7)PA730PC019PC120PC221PC322PC423PC524(TOSC1)PC625(TOSC2)PC726PD7(TOSC2)16PD6(ICP)15AVCC27AREF29PD1(TXD)10PD0(RXD)9GND39VCC38GND6GND18VCC5VCC17U1ATMEGA16_T
37、QFP44SCKMISOMOSIRESRXDTXDWRGNDGND1WR2SIN3SCK4L15L26L37VDD8L49L510CS011CS112SOUT13TPOUT14U24553VCCVCCSINSCKSOUTCSWRTPOUTSINSCKVCCBT1BATTERYR11kVCC2 2、软件编程软件编程图图8.29 RTC4553初始化初始化 图图8.30 RTC4553时钟设置时钟设置 图图8.31 ATmega对对4553的时钟读取的时钟读取8.6 DS13028.6 DS1302时钟芯片在时钟芯片在ATmega8ATmega8单片机中的应用单片机中的应用8.6.18.6.1DS
38、1302 DS1302 的主要功能的主要功能DS1302DS1302是一个慢速充电的时钟芯片,包括实时时是一个慢速充电的时钟芯片,包括实时时钟钟/日历和日历和3131字节的静态字节的静态RAMRAM,经过一个简单的串行经过一个简单的串行接口与主单片机通信。接口与主单片机通信。实时时钟实时时钟/日历提供秒、分、时、日、月和年等信日历提供秒、分、时、日、月和年等信息息,对小于对小于3131天的月末的日期进行调整天的月末的日期进行调整,还包括润年还包括润年的校正功能。时钟的运行可采用的校正功能。时钟的运行可采用24 24 小时或带小时或带AM(AM(上上午午)和和PM(PM(下午下午)的的1212小
39、时格式。小时格式。DS1302 DS1302 与单片机的通信仅需三根线即与单片机的通信仅需三根线即RST(RST(复位复位线线)、I/O(I/O(数据线数据线)和和SCL K(SCL K(串行时钟线串行时钟线)。数据可以。数据可以按每次一个字节或多达按每次一个字节或多达3131个字节的形式传送到时钟个字节的形式传送到时钟/RAM/RAM或从中送出。或从中送出。8.6.28.6.2DS1302 DS1302 的工作原理的工作原理1 1、DS1302DS1302的内部结构的内部结构 串行时钟芯片主要由移位寄存器、控制逻辑、振串行时钟芯片主要由移位寄存器、控制逻辑、振荡器、实时时钟及荡器、实时时钟及
40、3131个字节个字节RAMRAM组成(见图组成(见图8.338.33)。)。为了开始任何的数据传送为了开始任何的数据传送,必须把必须把RST RST 置为高电平且置为高电平且把提供地址和命令信息的把提供地址和命令信息的8 8位字节装入到移位寄存器。位字节装入到移位寄存器。在进行单字节传送或多字节传送时在进行单字节传送或多字节传送时,开始的开始的8 8位命令位命令字节用于指定字节用于指定4040个字节个字节(31(31个字节个字节RAM RAM 和和9 9个字节时钟个字节时钟寄存器寄存器)中哪个将被访问。在开始中哪个将被访问。在开始8 8个时钟周期把命个时钟周期把命令装入移位寄存器之后令装入移位
41、寄存器之后,时钟在读操作时输出数据时钟在读操作时输出数据,在写操作时输入数据。在写操作时输入数据。8.6.38.6.3DS1302 DS1302 与单片机的接口电路与单片机的接口电路123456ABCD654321DCBATitleNumberRevisionSizeBDate:1-Apr-2005 Sheet of File:D:毕业设计海老师的任务ddbMyDesign.ddbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P03
42、36P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U18031A02A13A24A35A46A57A68A79B018B117B216B315B414B513B612B711E19DIR1U274HC245A02A13A24A35A46A57A68A79B018B117B216B315B414B513B612B711E19DIR1U374HC245R311kC214.7uFVCCRSTabfcgdeDPY1117421105a b c d e f g3dpdpabfcgdeD
43、PY2dpabfcgdeDPY3dpabfcgdeDPY4dpD112D29D38D46DS1DPY_7-4 P0P1P2P3P4P5P6P7P10P11P12P13P14P15P16P17P0P1P2P3P4P5P6P7P10P11P12P13P14P15P16P17RSTS1SW-PBABCDEFGHABCDEFGHLED1LED2LED3LED4MOSIMISOP_SCKVCCVCCLED1LED2LED3LED4VCCY112MC2CAPC1CAPY1Y2Y1Y2GNDVCC11X12GND4X23VCC28SCLK7I/O6RST5J?DS1302Y132.768KC220C120V
44、CC8.8 ATmega8.8 ATmega单片机测量并网前的频率及相位角参单片机测量并网前的频率及相位角参数数 相位角的获取可以算是本设计装置中最重要的参相位角的获取可以算是本设计装置中最重要的参数信息,合闸指令就是根据实时测算的相位角值的变数信息,合闸指令就是根据实时测算的相位角值的变化来发出的,根据所计算出的频差、压差以及允许的化来发出的,根据所计算出的频差、压差以及允许的误差范围,计算出此时通道误差范围,计算出此时通道N的合闸导前角,在相位的合闸导前角,在相位角等于或者逼近于合闸导前角的一个范围内,发出合角等于或者逼近于合闸导前角的一个范围内,发出合闸指令,使得并网装置在相位角几乎为零
45、的时刻完成闸指令,使得并网装置在相位角几乎为零的时刻完成并网操作,使发电机平滑安全地并入系统电网,减少并网操作,使发电机平滑安全地并入系统电网,减少对发电机造成的损伤。对发电机造成的损伤。12345678ABCD87654321DCBATitleNumberRevisionSizeA2Date:26-Jul-2007Sheet of File:F:ATmega 单片机C语言教程 编书ATmega 单片机编书ATmag图第8章图第8章32相位检测.DDBDrawn By:AGND28X18X27RESET4PD2(INT0)11PD3(INT1)12PD4(OC1B)13PD5(OC1A)14P
46、B0(T0)40PB1(T1)41PB2(AIN0)42PB3(AIN1)43PB4(SS)44PB5(MOSI)1PB6(MISO)2PB7(SCK)3(ADC0)PA037(ADC1)PA136(ADC2)PA235(ADC3)PA334(ADC4)PA433(ADC5)PA532(ADC6)PA631(ADC7)PA730PC019PC120PC221PC322PC423PC524(TOSC1)PC625(TOSC2)PC726PD7(TOSC2)16PD6(ICP)15AVCC27AREF29PD1(TXD)10PD0(RXD)9GND39VCC38GND6GND18VCC5VCC17
47、U1ATMEGA16 SCKMISOMOSIRESAVCCRXDTXDC3474INFx56U3C4010612U3A40106R410kR21KR31K34U3B40106R510k89U3D40106C10104C10104LED2 LED13 R810KR810K下载线123456JISPCON6GNDRESSCKMISOMOSICPUVCCD3 D4 R610K567U17BLF353Y8MCY120PCY220PR710K567U2BLF353D1 D2 CPUVCCINFfFfFx发电机频率电网频率G13RCK12SER14SRCLR10SRCK11QA15QB1QC2QD3QE4
48、QF5QG6QH7QH19VCC16GND8U7SN74LS595-ZZG13RCK12SER14SRCLR10SRCK11QA15QB1QC2QD3QE4QF5QG6QH7QH19VCC16GND8U6SN74LS595-ZZVCCLEDVCCL1L6L7L8L2L3L4L5CS1CS2CS3CS4e1d2dp3c4g54G6b73G82G9f10a111G12SW2L1L6L7L8L2L3L4L5CS1CS2CS3CS4LDATLSKLVCCLELELDATLSKLELSLSKLSLVCC8.8.1 频率及相位角的测量的电路原理图频率及相位角的测量的电路原理图8.8.2 8.8.2 相位角
49、的测量方法相位角的测量方法 当电网频率大于发电机频率时,电网电压信号当电网频率大于发电机频率时,电网电压信号的周期将小于发电机电压信号的周期,假设将电网的周期将小于发电机电压信号的周期,假设将电网电压信号当成是不动的参照,那么在示波器上可以电压信号当成是不动的参照,那么在示波器上可以看到,发电机电压信号相对于电网信号向右移动,看到,发电机电压信号相对于电网信号向右移动,相位角从相位角从0 0度到度到180180度,然后再由度,然后再由180180度降到度降到0 0度,如度,如此循环。此循环。ATmega16ATmega16提供了一种方式,在单片机内有提供了一种方式,在单片机内有一个输入捕获单元
50、,可用来捕获外部事件,并为其一个输入捕获单元,可用来捕获外部事件,并为其赋予时间标记来说明此事件的发生时刻。赋予时间标记来说明此事件的发生时刻。8.8.38.8.3测量相位角的流程框图测量相位角的流程框图 1 1、测量相位角的流程框图、测量相位角的流程框图8.9.1 8.9.1 分相补偿技术要求分相补偿技术要求1.1.分补组电压的测量分补组电压的测量2.2.分补组电流的测量分补组电流的测量3.3.分补组相位角的测量分补组相位角的测量8.98.9多个多个ATmegaATmega单片机系统在电容分相补偿中的应用单片机系统在电容分相补偿中的应用8.10 ATmega8.10 ATmega单片机在自动
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。