基于at89s51单片机的多功能电子万年历的设计与实现毕业论文内容摘要:
器对中断的允许(开放)实行两级控制。 即以 EA 位作为总控制位,以各中断源的中断允许位作为分控制位。 当总控制位为禁止时,关闭整个中断系统,不管分控制为状态如何,整个中断系统为禁止状态;当总控制位为允许时,开放中断系统,这时才能由各分控制位设置各自中断的允许与禁止。 MCS51 单片机复位后( IE)= 00H,因此中断系统处于禁止状态。 单片机在中断响应后不会自动关闭中断。 因此在转中断服务程序后,应根据需要使用有关指令禁止中断,即以软件方式关闭中断。 中断优先级控制寄存器( IP) MCS51单片机的中断优先级控制比较简单,因为系统只定义了高、低 2个优先级。 高优先级用“ 1”表示,低优先级用“ 0”表示。 各中断源的优先级由中断优先级寄存器( IP)进行设定。 IP 寄存器地址 0B8H,位地址为 0BFH~0B8H。 单片机在万年历的应用 8 时钟电路模块的设计 DS1302 是美国 DALLAS 公司推 出的一种高性能、低功耗、带 RAM 的实时时钟芯片,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为 ~。 采用三线接口与 CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM数据。 DS1302 内部有一个 31 8 的用于临时性存放数据的 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 的控制字节的最高有效位 (位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位 6如果为 0,则表示存取日历时钟数据,为1 表示存取 RAM 数据。 位 5 至位 1 指示操作单元的地址。 最低有效位 (位 0)如为 0 表示要进行写操作,为 1 表示进 行读操作,控制字节总是从最低位开始输出。 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。 同样,在紧跟 8位的控制指令字后的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0位到高位 7。 DS1302 有 12 个寄存器,其中有 7个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。 此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM相关的寄存器分为两类:一类是单个 RAM 单元,共31 个,每个单元组态为一个 8位的字节,其命令控制字为 C0H~ FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的31个字节,命令控制字为 FEH(写 )、 FFH(读 )。 DS1302与 CPU的连接需要三条线,即 SCLK(7)、 9 I/O(6)、 RST(5)。 实际上,在调试程序时可以不加电容器,只加一个 的晶振即可。 只是选择晶振时,不同的晶振,误差也较大。 另外,还可以在上面的电路中加入 DS18B20,同时显示实时温度。 只要占用 CPU 一个口线即可。 单片机与 DS1302 连接图如图 所示。 图 DS1302与单片机的连接 温度采集模块设计 采用数字式温度传感器 DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P 与 DS18B20 的 I/O 口连接加一个上拉电阻 ,Vcc 接电源 ,Vss 接地。 独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为 至 无需备用电源 测量温度范围为 55 度至 +125 度。 10 度至 +85 度范围内精度为177。 度温度传感器可编程的分辨率为 9~ 12位。 DS18B20 连线如图。 单片机在万年历的应用 10 图 DS18B20管脚连线 显示模块的设计 如下图 5 所示,采用 LCM1602 液晶显示器,单片机 P1 口作为数据输出口, RS, R\W,E分别通过 10K 的上拉电阻连接到单片机的 , ,。 VDD 接 5V 电源, VSS 接地。 VEE 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度)。 RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器。 R/W 为读写信号线,高电平 (1)时进行读操作,低电平 (0)时进行写操作。 E(或 EN)端为使能 (enable)端,下降沿使能。 DB0DB7 为双向数据总线,同时最高位 DB7 也是忙信号检测位。 BLA、 BLK 分别为显示器背光灯的正、负极。 11 图 LCM1602 与单片机的连接 DS1302 原理及说明 (1) 时钟芯片 DS1302 的工作原理 DS1302 在每次进行读、写程序前都必须初始化,先把 SCLK 端置 “ 0”,接着把 RST 端置“ 1”,最后才给予 SCLK 脉冲;读 /写时序如下图 7 所示。 图 6 为 DS1302 的控制字,此控制字的位 7必须置 1,若为 0 则不能把对 DS1302 进行读写数据。 对于位 6,若对程 序进行读 /写时 RAM=1,对时间进行读 /写时, CK=0。 位 1至位 5 指操作单元的地址。 位 0是读 /写操作位,进行读操作时,该位为 1;该位为 0 则表示进行的是写操作。 控制字节总是从最低位开始输入 /输出的。 表 2 为 DS1302 的日历、时间寄存器内容:“ CH”是时钟暂停标志位,当该位为 1 时,时钟振荡器停止, DS1302 处于低功耗状态;当该位为 0 时,时钟开始运行。 “ WP”是写保护位,在任何的对时钟和 RAM 的写操作之前, WP 必须为 0。 当“ WP”为 1时,写保护位防止对任一寄存器的写操作。 (2) DS1302 的控制字 DS1302 的控制字如图 6 所示。 控制字节的高有效位(位 7)必须是逻辑 1,如果它为单片机在万年历的应用 12 0,则不能把数据写入 DS1302 中,位 6 如果 0,则表示存取日历时钟数据,为 1 表示存取RAM 数据;位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示要进行写操作,为 1表示进行读操作,控制字节总是从最低位开始输出。 图 DS1302 的控制字 (3) 数据输入输出 在控制指令字 输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。 同样,在紧跟 8 位的控制指令字后的下一个 SCLK 脉冲的下降沿读出DS1302 的数据,读出数据时从低位 0位到高位 7。 如下图 : 图 DS1302 读与写的时序图 (3) DS1302 的寄存器 DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD码形式 ,其日历、时间寄存器及其控制字见图。 13 图 DS1302 的日历、时间寄存器 此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8位的字节,其命令控制字为 C0H~ FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写 )、 FFH(读 )。 LCM1602 工作原理及说明 (1)寄存器选择控制 1602 字符型 LCD 通常有 14 条引脚线或 16 条引脚线的 LCD,多出来的 2 条线是背光电源线。 1602 液晶模块内部的字符发生存储器( CGROM)已经存储了 160 个不同的点阵字符 [15],图形寄存器选择控制表如表 所示: 表 1602 寄存器选择控制表 RS R/W 操作说明 单片机在万年历的应用 14 (2)指令集 1602通过 D0~ D7的 8位数据端传输数据和指令。 显示模式设置 (初始化 )00111000[0x38]设置 16 2显示, 5 7点阵, 8 位数据接口;显示开关及光标设置: (初始化 ) 00001DCBD显示 (1 有效 )、 C 光标显示 (1有效 )、 B光标闪烁 (1 有效 )。 000001NS N=1(读或写一个字符后地址指针加 1并且光标加 1), N=0(读或写一个字符后地址指针减 1并且光标减 1), S=1且 N=1(当写一个字符后,整屏显示左移 ), S=0 当写一个字符后,整屏显示不移动。 数据指针设置:数据首地址为 80H,所以数据地 址为 80H+地址码 (027H, 4067H)。 其他设置:01H(显示清屏,数据指针 =0,所有显示 =0); 02H(显示回车,数据指针 =0)。 系统仿真电路 本次仿真使用软件 ,该软件元件库丰富,元件封装要求相对简单且参数调整方便,除此之外,程序还可进行动态调试。 系统仿真截图如图 所示。 0 0 写入指令寄存器(清屏指令等) 0 1 读 busy flag,以及读取位。基于at89s51单片机的多功能电子万年历的设计与实现毕业论文
相关推荐
最佳选择。 单片机内部也用和电脑功能类似的模块,比如 CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过 10 元即可 ......用它来做一些控制电器一类不是很复杂的工作足矣了。 我们现在用的全自动滚筒洗衣机、排烟罩、 VCD等等的家电里面都可以看到它的身影。 ......它主要是作为控制部分的核心部件。
MOV TMOD,10H。 T1 为 16 位定时器 MOV R4,14H。 1 秒定时用( 50 毫秒 20 次) MOV TL1,0B0H。 50 毫秒定时用初值 MOV TH1,3CH。 MOV 20H,00H。 清 0 操作 MOV 21H,00H。 MOV 22H,00H。 MOV 23H,00H。 MOV 24H,00H。 CLR 30H。 清停车标志 SETB ET1。 开 T1
研究工作包括以下 3 个方面。 ( 1)硬件电路方面,对气体传感器 MQ3 按检测电路,接上一定阻值的负载电阻,检测它的技术参数,确定 MQ3 所接负载电阻的大小,完成信号采样电路的设计;采样到的毕业设计(论文) 3 模拟电压电信号通过 A/D 转换,得到可供单片机处理的数字信号,再由单片机作相应的数据处理;发光二极管报警显示和 3 个单位 8 段共阴数码管浓度值显示。 ( 2)软件方 面
Interrupt Service...................................................................................... 23 Digital Filter .............................................................................
元件名、元件封装、参数及元件之间连接关系的网络表。 ( 8)文件保存及打印输出 最后的步骤是文件保存及打印输出。 使用 Pritel99SE 绘制的无线病房呼叫系统的原理图 图 8 PCB版图 内蒙古农业大学学士学位论文 9 3 总体设计 系统总体设计 系统设计方案 本系统以 AT89S51 单片机为核心,通过无线接收模块获得病人呼叫信号,通过该单片机操作病房显示电 路(利用病房显示驱动电路)
信号之间存在一点的延迟时间,不同结构的观点耦合器输入、输出延迟时间相差很大。 空调温度控制单元设计 13 第三章 硬件单元 本次 设计总体方案为:选用 89S51 单片机为中央处理器,通过温度传感器对空气进行温度采集,将采集到的温度信号传输给单片机,再由单片机控制显示器,并比较采集温度与设定温度是否一致,然后驱动空调机的加热或降温循环对空气进行处理从而模拟实现空调温度控制单元的工作情况。