基于单片机的同步电子时钟设计(编辑修改稿)内容摘要:
器周期由 12 个振荡时钟构成,因此,计数速率为振荡频率的 1/12。 在计数工作方式时,当 T2 引脚上外部输入信号产生由 1 至 0 的下降沿时,寄存器的值加 1,在这种工作方式下,每个机器周期的 5SP2 期间,对外部输入进行采样。 若在第一个机器周期中采到的值为 1,而在下一个机器周 期中采到的值为 0,则在紧跟着的下一个周期的 S3P1 期间寄存器加 1。 由于识别 1 至 0 的跳变需要 2 个机器周期( 24 个振荡周期),因此,最高计数速率为振荡频率的 1/24。 为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。 自动重装载(向上或向下计数器)方式 当定时器 2 工作于 16 位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器 T2CON(见表 5)的 DCEN 位(允许向下计数)来选择的。 复位时, DCEN 位置 “0”,定时器 2 默认设置为向上计数。 当 DCEN 置位时,定时器 2 既可向上计数也可向下计数,这取决于 T2EX 引脚的值,参见图 5,当 DCEN=0 时,定时器2 自动设置为向上计数,在这种方式下, T2CON 中的 EXEN2 控制位有两种选择,若 EXEN2=0,定时器 2 为向上计数至 0FFFFH 溢出,置位TF2 激活中断,同时把 16 位计数寄存器 RCAP2H 和 RCAP2L 重装载,RCAP2H 和 RCAP2L 的值可由软件预置。 河南科技大学毕业设计(论文) 12 若 EXEN2=1,定时器 2 的 16 位重装载由溢出或外部输入端 T2EX 从 1 至 0 的下降沿 触发。 这个脉冲使 EXF2 置位,如果中断允许,同样产生中断。 定时器 2 的中断入口地址是: 002BH ——0032H。 当 DCEN=1 时,允许定时器 2 向上或向下计数,如图 6 所示。 这种方式下, T2EX 引脚控制计数器方向。 T2EX 引脚为逻辑 “1”时,定时器向上计数,当计数 0FFFFH 向上溢出时,置位 TF2,同时把 16 位计数寄存器 RCAP2H 和 RCAP2L 重装载到 TH2 和 TL2 中。 T2EX 引脚为逻辑 “0”时,定时器 2 向下计数,当 TH2 和 TL2 中的数值等于 RCAP2H 和 RCAP2L 中的值时,计数溢出,置位 TF2,同时将 0FFFFH 数值重新装入定时寄存器中。 当定时 /计数器 2 向上溢出或向下溢出时,置位 EXF2 位。 波特率发生器 当 T2CON(表 3)中的 TCLK 和 RCLK 置位时,定时 /计数器 2 作为波特率发生器使用。 如果定时 /计数器 2 作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器 1 用于其它功能,如图 7 所示。 若 RCLK 和 TCLK 置位,则定时器 2 工作于波特率发生器方式。 波特率发生器的方式与自动重装载方式相仿,在此方式下, TH2 翻转使定时器 2 的 寄存器用 RCAP2H 和 RCAP2L 中的 16 位数值重新装载,该数值由软件设置。 在方式 1 和方式 3 中,波特率由定时器 2 的溢出速率根据下式确定: 方式 1 和 3 的波特率 =定时器的溢出率 /16 定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式( C/T2=0)。 定时器 2 作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期( 1/12 振荡频率)寄存器的值加 1,而作为波特率发生器使用时,在每个状态时间( 1/2 振荡频率)寄存器的值加 1。 波特率的 计算公式如下: 方式 1 和 3 的波特率 =振荡频率 /{32*[65536(RCP2H,RCP2L)]}式中( RCAP2H, RCAP2L)是 RCAP2H 和 RCAP2L 中的 16 位无符号数。 河南科技大学毕业设计(论文) 13 定时器 2 作为波特率发生器使用的电路如图 7 所示。 T2CON 中的RCLK 或 TCLK=1 时,波特率工作方式才有效。 在 波特率发生器工作方式中, TH2 翻转不能使 TF2 置位,故而不产生中断。 但若 EXEN2 置位,且 T2EX 端产生由 1 至 0 的负跳变,则会使 EXF2 置位,此时并不能将( RCAP2H, RCAP2L)的内容重新装入TH2 和 TL2 中。 所以,当定时器 2 作为波特率发生器使用时, T2EX 可作为附加的外部中断源来使用。 需要注意的是,当定时器 2 工作于波特率器时,作为定时器运行( TR2=1)时,并不能访问 TH2 和 TL2。 因为此时每个状态时间定时器都会加 1,对其读写将得到一个不确定的数值。 然而,对 RCAP2 则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和 /或重装载出错。 在访问定时器 2 或 RCAP2 寄存器之前,应将定时器关闭(清除 TR2)。 可编程时钟输出 定时器 2 可通过编程从 输出一个占空比为 50%的时钟信号,如图 8 所示。 引脚除了是一个标准的 I/O 口外,还可以通过编程使其作为定时 /计数器 2 的外部时钟输入和输出占空比 50%的时钟脉冲。 当时钟振荡频率为 16MHz 时,输出时钟频率范围为 61Hz—4MHz。 当设置定时 /计数器 2 为时钟发生器时, C/T2( T2CON .1) =0, T2OE ( T) =1,必须由 TR2( )启动或停止定时器。 时钟输出频率取决于振荡频率和定时器 2 捕获寄存器( RCAP2H, RCAP2L)的重新装载值,公式如下: 输出时钟频率 =振荡器频率 /{4*[65536(RCP2H,RCP2L)]} 在时钟输出方式下,定时器 2 的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。 定时器 2 作为波特率发生器使用时,还可作为时钟发生器使用,但需要注意的是波特率和时钟输出频率不能分开确定,这是因为它们同使用 RCAP2L 和 RCAP2L。 UART AT89C52 的 UART 工作方式与 AT89C51 工作方式相同。 中断 河南科技大学毕业设计(论文) 14 AT89C52 共有 6 个中断向量:两个外中断( INT0 和 INT1), 3 个定时器中断(定时器 0、 2)和串行口中断。 所有这些中断源如图 9 所示。 这些中断源可通过分别设置专用寄存器 IE 的置位或清 0 来控制每一个中断的允许或禁止。 IE 也有一个总禁止位 EA,它能控制所有中断的允许或禁止。 注意表 5 中的 为保留位,在 AT89C51 中 也是保留位。 程序员不应将 “1”写入这些位,它们是将来 AT89 系列产品作为扩展用的。 定时器 2 的中断是由 T2CON 中的 TF2 和 EXF2 逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是 TF2 或 EXF2 产生中断,而由软件清除中断标志位。 定时器 0 和定时器 1 的标志位 TF0 和 TF1 在定时器溢出那个机器周期的 S5P2 状态置位,而会在下一个机器周期才查 询到该中断标志。 然而,定时器 2 的标志位 TF2 在定时器溢出的那个机器周期的 S2P2 状态置位,并在同一个机器周期内查询到该标志。 时钟振荡器 AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和 XTAL2 分别是该放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激 振荡器,振荡电路参见图 10。 外接石英晶体(或陶瓷谐振器)及电容 C C2 接在放大器的反馈回路中构成并联振荡电路。 对外接电容 C C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用 30pF177。 10pF,而如使用陶瓷谐振器建议选择 40pF177。 10F。 用户也可以采用外部时钟。 采用外部时钟的电路如图10 右图所示。 这种情况下,外部时钟脉冲接到 XTAL1 端,即内部时钟发生器的输入端, XTAL2 则悬空。 由于外部时钟 信号是通过一个 2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特河南科技大学毕业设计(论文) 15 殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。 Flash 存储器的编程 AT89C52 单片机内部有 8k 字节的 Flash PEROM,这个 Flash 存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为 FFH),用户随时可对其进行编程。 编程接口可接收高电压( +12V)或低电压( Vcc)的允许编程信号。 低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用 EPROM 编程器兼容。 AT89C52 单片机中,有些属于低电压编程方式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的签名字节获得该信息。 AT89C52 的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的 PEROM 程序存储器写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。 编程方法 编程前,须按表 9 和图 11 所示设置好地址、数据及控制信号, AT89C52 编程方法如下: 1. 在地址线上加上要编程单元的地址信号。 2. 在数据线上加上要写入的数据字节。 3. 激活相应的控制信号。 4. 在高电压编程方式时,将 EA/Vpp 端加上 +12V 编程电压。 5. 每对 Flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个 ALE/PROG 编程脉冲。 每个字节写入周期是自身定时的,通常约为。 重复 1—5 步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。 167。 DS1302 简介 DS1302 的结构及工作原理 DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周日、 时、分、秒进行计时,具有闰河南科技大学毕业设计(论文) 16 年补偿功能,工作电压为 ~。 采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的 时钟信号 或 RAM 数据。 DS1302 内部有一个 318 的用于临时性存放数据的 RAM 寄存器。 DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增加了主电源 /后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。 引脚功能及结 构 DS1302 的引脚排列 ,其中 Vcc1 为后备电源, VCC2 为主电源。 在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302 由 Vcc1 或 Vcc2两者中的较大者供电。 当 Vcc2 大于 Vcc1+ 时, Vcc2 给 DS1302 供电。 当 Vcc2 小于 Vcc1 时, DS1302 由 Vcc1 供电。 X1 和 X2 是振荡源,外接 晶振。 RST 是复位 /片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。 RST 输入有两种功能:首先, RST 接通控制逻辑,允许地址 /命令序列送入移位寄存器;其次, RST 提供终止 单字节或多字节数据的传送手段。 当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。 如果在传送过程中 RST 置为低电平,则会终止此次数据传送, I/O 引脚变为高阻态。 上电运行时,在 Vcc之前, RST 必须保持低电平。 只有在 SCLK 为低电平时,才能将 RST 置为高电平。 I/O 为串行数据输入输出端 (双向 ),后面有详细说明。 SCLK为时钟输入端。 下图为 DS1302 的引脚功能图: DS1302 封装图 DS1302 的控制字节 DS1302 的控制字如图 2 所示。 控制字节的最高有效位 (位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位 6 如果为 0,则河南科技大学毕业设计(论文) 17 表示存取日历时钟数据,为 1 表示存取 RAM 数据。 位 5 至位 1 指示操作单元的地址。 最低有效位 (位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。 数据输入输出 (I/O) 在控制指令字输入后的下一个 SCLK 时钟的上升沿 时,数据被写入 DS1302,数据输入从低位即位 0 开始。 同样,在紧跟 8 位的控制指令字后的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0 位到高位7。 DS1302 的寄存器 DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式 ,其日历、时间寄存器及其控制字见表 1。 此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个。基于单片机的同步电子时钟设计(编辑修改稿)
相关推荐
F 24 L 01无线模块电机驱动电机惯性测量单元状态指示 L E D电池电量监控遥控器M C U( L P C 1 5 4 9 )电源n R F 24 L 01无线模块状态指示 L E D摇杆控制液晶显示模块蜂鸣器按键串口调试程序下载串口调试程序下载复位与时钟 图 21 系统 硬件 总体框图 各部分功能作用 1. MCU控制中心 MCU是飞行器和遥控器的控制中心,是它们的大脑
R110K+C110uFVCCU1U4KS 复位 图 32 单片机最小系统电路 复位电路设计 单片机在每一次开始工作时,为了能够使系统正常稳定,必须通过复位按键来进行复位。 当 出现操作不当的情况或者程序的运行出现错误时,就会导致单片机进入一种死锁状态,此时就应该通过复位按键的功能对单片机进行重新启动。 STC89C52 单片机的复位 有 两种方式 :上电复位、手动复位。 设计选择了手动复位方式
YCH208)配合码盘作为小车行驶路程的检测 等部分硬件设计,通过查找资料,和实际相结合 基本上实现了自动寻黑线,过程中具有火源检测及灭火功能,障碍物检测及放下硬币作为过路费功能,金属检测功能,路程测量功能。 最终顺利完成了本次设计要求的多功探测小车。 第 2 页 共 49 页 1 设计内容和 意义 设计要求 以单片机作为 主 控制单元, 小车能根据所设定的黑线行驶; 能用 LED
,显示模块分别由 MAX7219 和 74HC573 驱动的共 20 个 LED 数码管构成。 图 系统电路方案框图 系统核心部分 —— STC89C52 主控模块 STC89C52 是一种以 8051 为内核的单片机,它具有 8位 CPU, 8KB 的 ROM, 512字节 RAM,且具有多种外设。 与其它传统 51 单片机相比,具有更多功能,能满足多数对运算速度要求不高的电子产品 的需求
的方法。 此外结束符和休止符 [7]可以分别用代码 00H 和 FFH 来表示,若查表结果为 00H,则表示曲子终了;若查表结果为 FFH,则产生相应的停顿效果。 在简谱中,数字上面带一个点就是高 8 度,两个点代表高 16 度。 数字下面带一个 基于单片机的可控数字音乐盒设计 第 12 页 共 34 页 点就是低 8 度,两个点代表低 16 度。 若要构成音乐,光有音调是不够的,还需要节拍
主要是利用 压电效应 制造而成的,这样的传感器也称为 压电传感器。 压力传感器 的种类 压力传感器从其原理及结构来看可分为:液柱式、机械式及电气式测量压力的仪表,按信号原理不同 ,大致可分为四类: 液柱式:根据流体静力学原理,把被测压力转换成液柱高度。 机械式:根据弹性元件受力变形的原理,将被测压力转换成位移。 电气式:将被测压力转换成各种电量,如电感、电容、电阻、电位差等