实时日历时钟显示系统的设计

合集下载

可校准的实时时钟设计说明

可校准的实时时钟设计说明

“可校准实时时钟”设计说明1程序设计框架说明本案例程序设计主要分为:DS1302、按键扫描三个模块。

1.1宏定义#define uchar unsigned char //宏定义#define uint unsigned int#define ADC_CHS1_7 0X07/***********时分秒写寄存器**************/#define DS1302_SECOND_WRITE 0x80#define DS1302_MINUTE_WRITE 0x82#define DS1302_HOUR_WRITE 0x84#define DS1302_WEEK_WRITE 0x8A#define DS1302_DAY_WRITE 0x86#define DS1302_MONTH_WRITE 0x88#define DS1302_YEAR_WRITE 0x8C#define ADC_POWER 0X80#define ADC_FLAG 0X10 //当A/D转换完成后,ADC_FLAG要软件清零#define ADC_START 0X08#define ADC_SPEED_90 0X60/***********时分秒读寄存器**************/#define DS1302_SECOND_READ 0x81#define DS1302_MINUTE_READ 0x83#define DS1302_HOUR_READ 0x85#define DS1302_WEEK_READ 0x8B#define DS1302_DAY_READ 0x87#define DS1302_MONTH_READ 0x89#define DS1302_YEAR_READ 0x8D#define P1_7_ADC 0x802.2引脚定义/********DS1302*******/sbit Rtc_sclk = P1^5; //时钟线引脚,控制数据的输入与输出sbit Rtc_rst = P1^6; //CE线引脚,读、写数据时必须置为高电平sbit Rtc_io = P5^4; //实时时钟的数据线引脚/********数码管显示******/sbit L ed_sel = P2^3; //流水灯和数码管选通引脚sbit S el0 = P2^0; //Sel0、Sel1、Sel2三位二进制进行数码管位选0-7 sbit S el1 = P2^1;sbit S el2 = P2^2;sbit K EY1=P3^2; //Key1对应引脚1.3 变量定义typedef struct __SYSTEMTIME__{uchar Second;uchar Minute;uchar Hour;uchar Week;uchar Day;uchar Month;uchar Year;}SYSTEMTIME; //定义的时间类型SYSTEMTIME t;/*时、分、秒标志*/bit set_H_flag;bit set_Ms_flag;bit set_S_flag;/*时、分、秒值*/uint set_H_val;uint set_Ms_val;uint set_S_val;bit set_HMS_done; //时分秒设置完bit show_set_HMS; //显示时分秒bit show_HMS; //显示时分秒bit show_key_val;unsigned char key_val;uchar flag; //所选择点亮的数码管0-7标志位uchar temp; //要写入到DS1302的数据uchar duanxuan[];uchar weixuan[];2、程序函数说明延时程序void Delayms(char i);DS1302读写函数void Ds1302_write(uchar temp);uchar Ds1302_read();void WriteDS1302(uchar Addr, uchar Data);uchar ReadDS1302(uchar cmd)SYSTEMTIME DS1302_GetTime();系统初始化void Init();void Init_key();ADC转换unsigned char GetADC();检测导航键unsigned char Fun_Keycheck();监听功能键,完成时分秒相关值的设置void Fun_Key_task_HMS();监听按键1,完成时分秒设置void Fun_key1();完成相关设置功能的操作void Key_OFFON();初始化DS1302void Initial_DS1302(void);中断显示程序void timer0() interrupt 1初始化ADCvoid Init_ADC();2程序设计框架及关键技巧说明2.1 I/O引脚及相关寄存器配置2.1.1 I/O引脚:(1)数码管位选引脚整个设置P2口的值;(2)数码管使能引脚sbit led_sel = P2^3 ;(3)DS1302引脚sbit rtc_sclk=P1^5; //时钟线引脚sbit rtc_rst=P1^6; // CE线引脚sbit rtc_io=P5^4; //实时时钟的数据线引脚(4)按键引脚sbit KEY1 = P3^2 ; //设置时间2.1.2寄存器:(1)DS1302相关寄存器其中:①控制字寄存器:写地址0x8E,读地址0x8F位7:必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。

基于PCF8563时钟芯片的万年历制作

基于PCF8563时钟芯片的万年历制作

万年历是一种能够显示日期、星期和时间的工具,它不仅能够告诉我们当天是几号,还能显示星期几和当前时间。

在这个项目中,我们将使用PCF8563时钟芯片来制作一个基于PCF8563的万年历。

PCF8563是一种CMOS实时时钟和日历芯片,它可以提供年、月、日、星期和小时、分钟、秒的数据。

它具有电源管理功能,可以通过一个电源低于2V脉冲输入来切换系统电源供电方式。

为了制作这个基于PCF8563的万年历,我们需要以下材料和工具:1. Arduino主控板2.PCF8563时钟芯片3.16x2液晶显示屏4.面包板5.杜邦线6.10k电阻接下来,我们将按照以下步骤来制作基于PCF8563的万年历:第一步:连接电路首先,将Arduino主控板插入面包板。

接着,连接PCF8563时钟芯片到Arduino主控板上的I2C总线。

将SDA引脚连接到A4引脚,将SCL引脚连接到A5引脚。

此外,还需要使用10k电阻将VCC引脚连接到VCC引脚上。

接下来,将16x2液晶显示屏连接到面包板。

连接液晶屏的RS引脚到Arduino主控板的D12引脚,RW引脚到GND引脚,和E引脚到D11引脚。

将液晶屏的D4到D7引脚连接到Arduino主控板的D5到D2引脚。

第二步:编写代码打开Arduino IDE并创建一个新的项目。

然后,编写以下代码:#include <Wire.h>#include <LiquidCrystal_I2C.h>//定义PCF8563的地址#define PCF8563_ADDR 0x51//定义显示屏的尺寸#define LCD_COLUMNS 16#define LCD_ROWS 2LiquidCrystal_I2C lcd(0x27, LCD_COLUMNS, LCD_ROWS);void setup//初始化I2C总线Wire.begin(;//设置时钟芯片为24小时模式Wire.beginTransmission(PCF8563_ADDR);Wire.write(0x02);Wire.write(0x00);Wire.endTransmission(;//初始化液晶显示屏lcd.begin(LCD_COLUMNS, LCD_ROWS);lcd.setCursor(0, 0);lcd.print("Date: ");lcd.setCursor(0, 1);lcd.print("Time: ");void loop//读取PCF8563的日期和时间Wire.beginTransmission(PCF8563_ADDR); Wire.write(0x02);Wire.endTransmission(;Wire.requestFrom(PCF8563_ADDR, 7);int second = bcdToDec(Wire.read( & 0x7F); int minute = bcdToDec(Wire.read();int hour = bcdToDec(Wire.read( & 0x3F); int dayOfWeek = bcdToDec(Wire.read();int dayOfMonth = bcdToDec(Wire.read();int month = bcdToDec(Wire.read( & 0x1F); int year = bcdToDec(Wire.read();//显示日期和时间lcd.setCursor(6, 0); printWithLeadingZero(dayOfMonth);lcd.print("/");printWithLeadingZero(month);lcd.print("/");lcd.print(2000 + year);lcd.setCursor(6, 1); printWithLeadingZero(hour);lcd.print(":");printWithLeadingZero(minute);lcd.print(":");printWithLeadingZero(second);delay(1000);//将BCD码转换为十进制int bcdToDec(int bcd)return (bcd / 16 * 10) + (bcd % 16);//打印带有前导零的数字void printWithLeadingZero(int number)if (number < 10)lcd.print('0');}lcd.print(number);第三步:上传代码将Arduino主控板连接到电脑,并根据需要选择正确的端口和板类型。

基于单片机的日历时钟模块设计

基于单片机的日历时钟模块设计

低 功 耗 、 围接 口 简单 、 度 高 、 作 稳 定 可 靠 等 优 点 , 广 泛 用 于 各种 需要 较 高精 度 的 实 时 时钟 场 合 中。 外 精 工 可
关键 词 : 片 机 ; S 2 8 ;时钟 ; 件 设 计 ;软 件 设 计 单 D 18 7 硬 中 图分 类 号 :I 3 81 t 6 . P 文献标识码 : A 文 章 编 号 :1 7 — 2 6 2 1 ) 2 0 4 — 3 64 6 3 (0 0 1 — 19 0
t e c nr lc r n s d Dal s C mp n ’ e l i ae d rc o k c i h o t o e a d u e l o a y Sr a— me c ln a l c hp DS1 8 7 a h e l i l c h p t r v d o a t 2 8 s t e r a — me co k c i O p o i e t t e s se wi eal d y a ,mo t ,d y h y t m t d t i e r h e n h a ,we k o r n n t me i fr t n T r u h t e d t i a ay i f t e e ,h u ,a d mi u e t n o mai . h o g h eal n lss o h i o
Ab t a t sr c :Ai n tt e c re tn e s o h i o t l c mbn d w t e l i lc h p tp n h r ce it s n mi g a h u r n e d ft e t me c n r , o i e i r a— me co k c i y e a d c a a t r i .I o h t sc t i p p r a c ln a lc y tm e i n w sp o o e a e n MCU. h ss se u e ME o a y SAT 9 2 a h s a e , ae d rco k s se d sg a r p s d b s d o T i y tm s d AT L C mp n ’ 8 C5 s

具有温度显示的电子实时时钟万年日历系统的设计与制作

具有温度显示的电子实时时钟万年日历系统的设计与制作

毕业设计(论文)《具有温度显示的电子实时时钟/万年日历系统的设计与制作》专业(系)电气工程系铁道通讯信号方向班级铁道通讯091学生姓名陈志军指导老师赵巧妮完成日期2011.11.22摘要本设计以数字集成电路技术为基础,单片机技术为核心。

本文详细的介绍基于AT89S51单片机带有温度和闹钟的万年历控制系统。

利用单片机定时计数器提供秒信号,DS18B20数字式温度传感器进行温度数据传输,经软件处理,在动态扫描后,利用8个共阳数码管交替显示年月日、时分秒、环境温度值。

为了更好的调节和设置,设计了四个按键快速进行时间和闹钟的精准调整。

关键字:单片机;万年历;温度;闹钟;DS18B20AbstractThis design with digital integrated circuit technology as the foundation, microcontroller technology as the core. This paper is introduced in detail based on AT89S51 with temperature and the alarm clock calendar control system. Using single chip computer timing counter offer seconds signal, the temperature sensor DS18B20 digital temperature data transmission, the software processing, in dynamic scan, a total of 8 Yang digital tube alternate show dates, meticulous, environment when the temperature. In order to better regulate and settings, design the four keys of rapid time and alarm the accuracy of adjustment.Key words:Microcomputer; Calendar;Temperature; Alarm clock; DS18B20; Dynamic scanning目录摘要 (I)第1章引言 (1)1.1研究背景 (1)1.2论文研究目标和意义 (1)1.3论文章节安排 (1)第2章任务与要求 (2)2.1课题概述 (2)2.1.1 设计内容 (2)2.1.2 要求 (2)第3章方案论证与设计 (3)3.1 总体设计分析 (3)3.2 方案的选择与设计 (3)3.2.1 显示模块选择方案和论证: (3)3.2.2 时钟芯片的选择方案和论证: (3)3.2.3 温度传感器的选择方案与论证: (4)3.3 方案确定 (4)第4章硬件电路设计 (5)4.1 硬件电路设计框图 (5)4.1.1 系统硬件概述 (5)4.1.2 单片机主控制模块的设计 (5)4.1.3 振荡电路 (6)4.1.4 复位电路 (6)4.1.5 温度采集模块设计 (6)4.1.6 显示模块的设计 (7)4.1.7 蜂鸣器电路 (8)4.1.8 按键电路 (8)第5章系统的软件设计 (10)5.1编程环境及语言: (10)5.2程序流程框图 (10)第6章电路调试 (12)6.1调试的设备 (13)6.2调试步骤 (13)6.2.1 硬件调试 (13)6.2.2 软件调试 (13)第7章使用说明 (17)7.1 使用方法 (17)7.1.1 系统面板介绍 (17)7.1.2 调整方法 (17)7.1.3 调整框图 (18)7.1.3 注意事项 (19)7.2故障分析 (19)7.2.1 LED数码管显示不全、模糊、多出相对较暗的一位 (19)7.2.2 调整时按键过于灵敏 (19)心得体会 (20)参考文献 (21)附件 (22)附件一:总原理图 (22)附件二:PCB版图 (23)附件三:元件清单 (24)附录四:程序代码 (26)引言1.1研究背景当今社会逐渐步入信息化时代,快节奏、高效率成为当今时代的主题。

采用DSP实现日历时钟及时钟显示的方法

采用DSP实现日历时钟及时钟显示的方法

采用DSP实现日历时钟及时钟显示的方法西安石油大学井下信息探测实验室710065党瑞荣罗兵武张珂摘要:本文简要介绍了日历时钟12887、DSP及液晶模块的功能特点,以及它们的硬件接口及软件设计方法,通过DSP控制,实现日历时钟在液晶上的实时显示。

关键词:日历时钟DSP 接口液晶显示Abstract: This paper introduces traits of calendar clock 12887,DSP and the external controller SED1335 of LCD modle,and the hardware interface circuit .It also introduces the means of software degsin. calendar clock is diplayed in the LCD by the control of DSP.Key words :Calendar clock DSP interface LCD一引言在智能仪表中,除了必须具备信号测量,信号处理,键盘输入,屏幕显示等一些基本功能以外,有时也希望能向用户提供日历时钟显示之类的辅助功能以方便使用。

这时,就常常需要用到带后备电池的实时时钟器件。

一方面用以向系统提供长时间不间断的日历时钟,另一方面借用芯片内剩余的非易失静态RAM用以关机后长期保存系统的一些重要数据信息,具有这种功能的实时时钟芯片很多,如MCI4681、MSM5832等,它们都需要适当的外围电路支持,而且外带电池,不方便与用户接口。

而DS12887是DALLAS半导体公司研制的实时时钟器件,集成度高,不需要外围电路支持,与用户接口极为方便。

尤其是该芯片内含锂电池、石英晶振和写保护电路。

因此,DS12887是一个完整的子系统。

本文以作者的实践为基础。

介绍采用TMS320VC33实现日历时钟及时钟液晶显示的硬件设计和软件编程,其处理过程具有广泛的通用性。

题目:电子日历时钟系统程序设计

题目:电子日历时钟系统程序设计

题目:电子日历时钟系统程序设计一、功能:1.可通过M键切换显示模式:日期(年、月、日)、时间(小时、分、秒)、秒表(小时、分、秒、1/100秒)、闹钟(小时、分、秒)。

2.在日期显示模式,可通过A键依次使年、月、日闪烁或变色,这时可通过I键加1调整。

3.在时间显示模式,可通过A键依次使小时、分、秒闪烁或变色,这时可通过I键加1调整。

4.在秒表显示模式,可通过I键切换(启动/暂停)计时,当暂停计时时可通过A键复位。

5.在闹钟显示模式,可通过A键依次使On/Off标志、小时、分、秒闪烁或变色,这时可通过I键切换On/Off标志或加1调整。

6.调整和秒表操作不影响日期和时间的准确性。

7.可通过Q键结束程序。

二、任务与要求:1.实现方案,流程图(20分)2.实现日期的显示和调整(15分)3.实现时间的显示和调整(15分)4.实现日期和时间的准确性(5分)5.实现程序正常结束(5分)6.实现秒表功能(20分)7.实现闹钟功能,发声10秒(20分)8.基本实现前5项要求,再实现其它扩展要求,视难度加分。

答辩中误导答辩教师(由答辩教师认定,如某些同学参考其它资料但坚持声称全是自己编写的情况),视情节扣分。

n组设计雷同(由答辩教师认定),第一组正常计分,其余n-1组不计分。

设计报告总体要求:①写出主要设计思路,工作原理;②画出硬件接线图;③调试出现的问题及解决方法;④提交程序清单。

三、编程提示:PC机系统中的8253定时器0工作于方式3,外部提供一个时钟作为CLK信号,频率f=1.1931816MHz。

定时器0输出方波的频率: f out=1.1931816/65536=18.2Hz输出方波的周期T out=1/18.2=54.945ms。

8253A每隔55ms引起一次中断,作为定时信号。

可用55945ms作基本计时单位。

用BIOS调用INT 1AH可以取得该定时单位。

例:1秒=18.2 (计时单位)。

主要利用PC机系统功能调用实现电子日历时钟。

PCF8563日历时钟芯片原理及应用设计

PCF8563日历时钟芯片原理及应用设计

PCF8563日历时钟芯片原理及应用设计PCF8563是一款实时时钟芯片,用于保存日期、时间和闹钟功能,并在需要时提供准确的时间。

它集成有时钟芯片、电历寄存器和电压降器,可以通过I2C总线进行控制和通信。

下面将详细介绍PCF8563的原理以及应用设计。

一、PCF8563的工作原理二、PCF8563的应用设计1.实时时钟系统:PCF8563广泛应用于各种实时时钟系统,例如电子钟、温度计、保险柜等。

它可以提供准确的时间,并可以进行一定的时钟校准,以确保时间的准确性。

2.日历显示:PCF8563可以与液晶显示器或LED显示器等进行连接,实现日期和时间的显示。

通过读取芯片中的日期和时间寄存器,可以将日期和时间信息显示在屏幕上。

3.闹钟功能:PCF8563内置有闹钟功能,可以设置闹钟时间和日期,并在闹钟触发时发出中断信号。

通过与外部蜂鸣器或报警器等连接,可以实现闹铃功能。

4.计时器功能:PCF8563可以用作计时器,例如测量一些过程的时间。

通过读取和记录时钟寄存器中的时间值,可以实现计时功能,并根据需要进行时钟校准。

5.电池电量监测:PCF8563可以监测电池电量,并在电池电量低于一定阈值时发出警告信号。

这对于需要长时间运行的系统非常有用,可以在电池电量低时及时更换电池。

三、总结PCF8563是一款功能强大的实时时钟芯片,可以提供准确的日期和时间,并具有闹钟和计时功能等。

它可以与各种外部设备进行通信,实现多种应用设计。

无论是日历显示系统还是闹钟功能系统,PCF8563都能够提供稳定和准确的时间支持。

数字时钟显示系统——毕业设计

数字时钟显示系统——毕业设计

日历时钟显示系统论文设计摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。

它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。

对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。

该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。

本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。

在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。

日历时钟的设计过程在硬件与软件方面进行同步设计。

硬件部分主要由AT89C52单片机,LED显示电路,以及调时按键电路等组成。

在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。

显示器使用2片7SEG-MPX8-CA和一片7SEG-MPX4-CA。

7SEG-MPX8-CA是一种八个共阳二极管显示器,7SEG-MPX4-CA是一种四个共阳二极管显示器。

为了能更轻松的控制这三片显示器,本人使用了3片74HC164来驱动。

74HC164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。

关键词:时钟电钟,DS1302,DS18B20,动态扫描,单片机AbstractE-calendar day time is a very wide range of tools, increasingly popular in modern society. It can be year, month, day, Sunday, hours, minutes, seconds for time, but also has a leap year compensation to a variety of functions, and the DS1302's long life, small error. For the digital electronic calendar using an intuitive digital display can simultaneously display year, month, day, Sunday, hours, minutes, seconds, and temperature and other information, but also a time-calibration and other functions. The circuit uses AT89S52 microcontroller as the core, power consumption, low-voltage work in 3V, the voltage can choose 3 ~ 5V voltage supply.The design is based on 51 series of microcontrollers to the design of electronic calendar, you can display date information on when the minutes and seconds, and weeks, with adjustable date and time functions. Monitor the use of two 7SEG-MPX8-CA and a 7SEG-MPX4-CA. 7SEG-MPX8-CA is a total of eight-yang diode display, 7SEG-MPX4-CA is a total of four-yang diode display. In order to more easily control the three monitors, I use three 74HC164 to drive.74HC164 is an 8-bit edge-triggered shift register, serial input data, and parallel output. The software includes calendar program, time to adjust procedures, turn the lunar calendar programs, display programs.Keywords:Clock electric clock:DS1302;DS18B20:Dynamic scan:scm目录一、设计要求与方案论证 (4)1.1设计要求: (4)1.2 系统基本方案选择和论证 (4)1.2.1单片机芯片的选择方案和论证 (4)1.2.2 显示模块选择方案和论证 (5)1.2.3时钟芯片的选择方案和论证 (5)1.2.4温度传感器的选择方案与论证 (6)1.3 电路设计最终方案决定 (6)二.系统的硬件设计与实现 (7)2.1 电路设计框图 (7)2.2 系统硬件概述 (7)2.3 主要单元电路的设计 (8)2.3.1单片机主控制模块的设计 (8)2.3.2时钟电路模块的设计 (9)2.3.3温度采集模块设计 (10)2.3.4 电路原理及说明 (10)2.3.5显示模块的设计 (12)三、系统的软件设计 (14)3.1程序流程框图 (14)3.2计算阳历程序流程图 (15)3.3时间调整程序流程图 (16)3.4阴历程序流程图 (17)四. 指标测 (18)4.1 测试仪器 (18)4.2硬件测试 (18)4.3软件测试 (19)4.4测试结果分析与结论 (20)4.4.1 测试结果分析 (20)4.4.2 测试结论 (20)五、总结 (21)致谢词 (22)参考文献 (22)附录一:系统电路图 (23)附录二:源程序代码 (23)附录三:系统使用说明书 (35)一、设计要求与方案论证1.1 设计要求:(1)基本要求①具有年、月、日、星期、时、分、秒等功能;②时间与阴、阳历能够自动关联;③具有温度计功能;④具备年、月、日、星期、时、分、秒校准功能;( 2 ) 创新要求①具有上、下课响铃功能;②具有防御报警功能;1.2 系统基本方案选择和论证1.2.1单片机芯片的选择方案和论证方案一:采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。

显示可调闹钟万年历设计

显示可调闹钟万年历设计

带温度显示可调闹钟万年历摘要本设计由数据显示模块、温度采集模块、时间处理模块和调整设置模块四个模块组成。

系统最大的特点是体现了较强的人机交互和独立的模块化程序设计。

温度采集选用DS18B20芯片,数据显示采用1602A液晶显示模块,在第一行显示年月日、星期以及当前的状态,第二行显示温度和时间,合理的利用液晶显示区域。

51主芯片利用定时中断产生时间,控制着液晶的显示更新、温度的实时变化以及按键的读取处理,而对于闹钟,实际上就是时间里的一个嵌套程序。

时间和闹钟的值由按键调整设置,采用通用的二十四小时制。

该电路采用51单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。

综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

关键字:万年历;温度计;闹钟;液晶显示一、方案设计与论证根据要求,系统分为四个模块进行方案设计:1.数据显示模块方案一:数据采集处理后采用六位数码管动态扫描,循环依次显示年月日(如09.01.01)、当前时间(如12.00.00)和温度星期(如+23.5_1),数码管用74LS164芯片驱动,硬件电路复杂且显示略显混乱,在软件方面,扫描部分由于要显示的数据太多而显的不清晰。

方案二:考虑到要显示的内容颇多,故运用1602A显示实时数据,第一行显示状态以及年月日星期(如S 2009—01—01 THU),第二行显示温度和实时时间(22.0C12:00:00),在处理按键设置时,第二行暂时屏蔽温度的显示而显示设置的内容。

这样虽然在程序方面多了1602A的一些初始化和读写子函数的定义,但程序的模块化却更加的清楚。

而且采用1602A LCM的液晶显示模块后不仅满足了大量数据的显示,,系统的硬件电路变的十分简单清晰明朗。

本设计采用了这种方案。

2 温度采集模块采用常用的温度采集芯片DS18B20单线数字温度传感器进行温度的采集。

电子实时时钟万年日历系统-单片机课程设计(含电路图、流程图、汇编语言)

电子实时时钟万年日历系统-单片机课程设计(含电路图、流程图、汇编语言)

一、题目:电子实时时钟/万年日历系统二、功能要求:1.基本要求:⑴显示准确的北京时间(时、分、秒),可用24小时制式;⑵随时可以调校时间。

2.发挥要求:⑴增加公历日期显示功能(年、月、日),年号只显示最后两位;⑵随时可以调校年、月、日;⑶允许通过转换功能键转换显示时间或日期。

三、方案考虑:1、硬件方案:⑴显示器采用6位LED数码管(共阳),可分别显示时间或日期。

⑵显示器的驱动采用动态扫描电路形式,以达到简化电路的目的。

但要注意所需的驱动电流比静态驱动时要大,因此要增加驱动电路。

可采用74LS244或者晶体管;其中74ls244是用来驱动段选码,晶体管是驱动位选码。

⑶采用“一键多用方案”,以减少按键数目。

本方案采用了4按键。

⑷整体上要考虑:结构简单、布局美观、操作方便、成本低廉。

2、设计电路图如下:3、元件清单:(我们使用的是TX-1C开发板)⑴ 89C52 1个⑵IC座(40脚) 3个(其中1个用于接插89C51、2个用于接插LED段数码管)。

⑶ 74LS244 1个(用于驱动6个共阳的LED段数码管)。

⑷ IC座(20脚) 1个(用于接插74LS244)。

(5)显示器:LED_8段数码管(共阳型)6个三极管:(6)PNP(8550)6个(用于驱动6个共阳型LED段数码管)。

(7)微型开关:3个(其中1个用于复位电路、其它用于键盘)。

(8)晶体振荡器(12MHz):1个(用于振荡电路)。

(9)电阻器:⑴ 3KΩ 1个(用于系统复位电路)。

⑵ 1KΩ 6个(用作PNP三极管基极电阻)。

⑶ 100Ω 7个(驱动器用作74LS244输出限流电阻)。

(10)电容器:⑴ 10μF1个(用于系统复位电路)。

⑵ 30 pF 2个(用于系统振荡电路)。

(11)其它:⑴万能电路板(10×15):1块⑵焊锡条: 2米⑶带插头、座的电源端子: 1条⑷各种颜色外皮的导线:各1米(12)工具:1.电烙铁:1把2.剪钳:1把3.镊子:1把4.万用表:1个(13)设备:编程器(MEP300或TOP851)6个4、软件方案:(1)使用全汇编编写(2)时钟基准时间由单片机内部定时中断来提供,定时时间应该乘以一个整数得到,且不宜太长或太短,最长不能超过16位定时器的最长定时时间,最短不能少于定时中断服务程序的执行时间。

带日历时钟的实时温度检测系统设计

带日历时钟的实时温度检测系统设计

0 引言 电子万 年历的设计就是建立在 单片机的基 础 上, 它是一种应用非常广泛的 1常计时工具, 3 带实时 1 3 历时钟 的温度检测系统的研究方法是通过单片机 编写 C语言程序去控制 D 1C 8 、液晶、按键和 S2 87
D 1C 8 S2 87是美 国 D L A A L S公 司推 出的一 种 高性能、 低功耗 的实时时钟芯片, 它能够 自动产生世 纪、 月 、 、 分、 等时间信息, S2 87时 年、 1 时、 秒 3 D 1C 8 钟芯片 自带有 18 2 B的 R M,其 中 l 个用来存储 A 1 时间信息。设定好闹钟时间后, 当时间到达时, 可以
t heDS1 C8 7co kc i , ipa o uea o t teL 2 8 lc hp ds lym d l d p s h CD, n mp rtr s a o t t eDS 8 0tmp rtr a dt e ea et t d p s 1 B2 u e h e eau e
曩 时的 温 测统 钟 钟实 度 系 计 带 时检 设 的 时 历 日
D s g f a R a — i e T m e a u e D t c i n S s e ih C ln a l c e i n o e l tm e p r t r e e t 0 y t m w t a e d r 系统的一个应用 , 本设计 由硬件和软件两部分组成 , 硬件由主控器、 时钟电 路、温度检测电路 、显示电路 、键 盘接 口5个模块 组成,主控模块 用 A 8 C 2 T 9 5 、时钟电路用 时钟芯 片 D 1C 8 、 S 2 8 7 显示模块 用 L D、 C 温度检测采用 D 1B 0温度传感器、 S8 2 键盘接 口电路用普通按键完成 ; 软件利 用 c语言编程实现, 单片机通过时钟芯片 D 1C 8 获取 时间数据 , S 8 2 S2 87 D 1B 0采集温度信号送给单片机处

万年历功能电子时钟的设计

万年历功能电子时钟的设计

毕业设计(论文)论文题目:电子万年历的设计与实现所属系部:电子工程系指导老师:刘晓春职称:助教学生姓名:邢军龙班级、学号: *******专业:航空电子修设备维修年月日毕业设计(论文)任务书题目:电子万年历的设计与实现任务与要求:1 准确计时,以数字形式显示当前年、月、日、星期、时间;2 具有定时、倒计时、秒表功能3 具有年、月、日、星期、时间的设置和调整功能;4 自行设计所需直流电源。

时间:年月日至年月日所属系部:电子工程系学生姓名:邢军龙学号:0735322专业:航空电子设备维修指导单位或教研室:陕西航空职业技术学院指导教师:刘晓春职称:助教年月日毕业设计(论文)进度计划表摘要单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。

单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。

它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。

而51系列单片机是各单片机中最为典型和最有代表性的一种。

这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。

本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。

系统由主控制器AT89C51、时钟电路DS1302、显示电路、按键电路、和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示。

关键词单片机农历查询万年历目录一、引言 (5)二、设计方案论证 (6)1方案论证与设计 (6)1.1控制部分的方案选择 (6)1.2显示部分的方案选择 (6)1.3系统基本方案选择和论证 (7)2单片机原理 (8)2.LED显示数码管 (8)三、系统硬件设计部分 (9)1主要单元电路的器件 (9)1.1单片机主控制模块 (9)1.2时钟电路模块 (11)1.3其他模块器件 (12)3显示部分设计 (14)3万年历优化算法 (15)3.1阳历算法 (16)3.2阴历算法 (16)4实现时钟,日历显示设计 (17)4.1 DS1302 的寄存器 (17)4.2 DS1302 实时显示时间的软硬件 (18)4.3 DS1302 与CPU 的连接 (18)5单片机系统及显示电路 (19)四、软件设计部分 (21)五、实验测试部分 (23)1硬件测试 (23)2软件测试 (24)3测试结果分析与结论 (24)3.1 测试结果分析 (24)3.2 测试结论 (25)4结论 (25)结束语 (27)谢辞 (28)参考文献 (29)附录一:总原理图 (30)附录二:系统程序清单 (31)电子万年历的设计与实现一、引言随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。

高性价比实时时钟日历芯片AT8563设计考虑

高性价比实时时钟日历芯片AT8563设计考虑

/高性价比实时时钟日历芯片AT8563设计考虑作者:徐维锋 武汉芯景科技有限公司AT8563是武汉芯景科技有限公司最新推出的CMOS 实时时钟/日历芯片。

它内置一个包括世纪/年/月/日/时/分/秒的计时器,在电路中起到钟表的作用。

系统可以设置和读取AT8563中存放的当前时间,从而对数据进行相应处理(例如计费、显示、记录等)。

AT8563通过先进的I 2C 总线接口与系统之间串行传送数据,比起采用并行总线的方案大大减少电路板上的布线数目,非常适合于复杂系统。

AT8563目前提供DIP-8、SOP-8、TSSOP-8、MSOP-8四种封装形式,可应用于移动电话类通讯产品、便携仪器、电信计费、考勤机、电脑主板、微机外设……等等一切与计时有关的电子产品中。

器件特性:● 宽工作电压范围:1.0~5.5V ● 低休眠电流典型值为0.25μA● 具有世纪标志,可工作于1900-2099年 ● I 2C 总线频率最高达400KHz● 时钟输出的频率可编程选择32.768KHz/1024Hz/32Hz/1Hz ● 内含报警和定时器● 具备低电压检测和上电复位失效功能AT8563的结构框图:中断输出Vss V DD串行数据图1,AT8563电路结构框图/AT8563的引脚排布及说明:典型应用电路:图2,AT8563典型应用电路1, AT8563振荡电路结构及原理/AT8563芯片中集成的晶振振荡电路采用Pierce 结构。

振荡电路的工作电流由振幅控制电路提供,而工作电流的大小由振幅控制电路检测振荡电路的输出振幅来决定。

电路的基本工作原理是:电路上电时,振荡输出为零,此时振幅控制电路输出比较大的电流,振荡电路迅速起振;振幅逐渐增大,振幅控制电路随之降低输出电流;当振幅达到设定值时,振幅控制电路的输出电流不再降低,电路维持在这个状态,输出振幅保持不变。

通过工作电流来控制振幅,一方面电路的工作点比较稳定,另一方面振幅受限后,非线性作用的影响降低,因此频率稳定性得到提高。

基于μPD78F0485单片机实验板的实时时钟程序设计与实现讲解

基于μPD78F0485单片机实验板的实时时钟程序设计与实现讲解

基于μPD78F0485单片机实验板的实时时钟程序设计与实现讲解实时时钟(Real-Time Clock,简称RTC)是一种能够实时记录时间的设备。

在嵌入式系统中,RTC广泛应用于各种需要时间标记的场景,比如日历、定时任务等等。

本文将基于μPD78F0485单片机实验板,讲解实时时钟程序的设计与实现。

一、硬件连接首先,我们需要正确连接硬件。

μPD78F0485单片机实验板上有一个RTC芯片DS1302,它能够实现实时时钟功能。

将μPD78F0485与DS1302芯片通过引脚连接起来即可。

具体的连接方式可以参照单片机实验板的电路图。

二、软件设计1.寄存器配置首先,我们需要配置单片机的相关寄存器,使其能够与RTC芯片进行通信。

具体操作如下:(1)配置I/O口:将单片机的SDA引脚和SCL引脚设置为输出模式。

(2)配置RTC芯片寄存器:使用I2C总线协议与RTC芯片通信,设置RTC芯片的相关寄存器,比如设置时间、日期、闹钟等。

2.时钟读取与显示接下来,我们需要编写代码读取RTC芯片的时钟数据,并将其显示出来。

具体操作如下:(1)使用I2C总线协议读取RTC芯片的时钟寄存器,包括秒、分、时、日、月、周、年等。

(2)将读取到的时钟数据存储在相应的变量中。

(3)将时钟数据通过数码管、LCD等显示设备进行显示。

3.时钟设置除了读取时钟数据外,我们还需要能够设置RTC芯片的时钟。

具体操作如下:(1)通过按键或者其他输入方式,获取用户设定的时间、日期等数据。

(2)使用I2C总线协议将用户设定的时钟数据写入到RTC芯片的相应寄存器中。

(3)将设定的时钟数据通过数码管、LCD等显示设备进行显示。

4.定时中断为了实时更新时钟数据,我们可以使用定时中断的方式。

具体操作如下:(1)配置定时器:设置定时器的工作模式、计数值等参数。

(2)启动定时器:使定时器开始工作。

(3)在定时中断中,读取RTC芯片的时钟数据,并更新显示。

5.闹钟功能RTC芯片通常也会具备闹钟功能,我们可以通过设置RTC芯片的闹钟寄存器,实现闹钟功能。

电子实时时钟万年日历系统-单片机课程设计(含电路图、流程图、PCB图、汇编语言)

电子实时时钟万年日历系统-单片机课程设计(含电路图、流程图、PCB图、汇编语言)

摘要围绕电子钟系统的设计与开发工作进行研究和实践,详细介绍了电子钟系统的整体结构、硬件设计、软件设计,系统方案以及其的开发和具体实现。

介绍一种基于在系统可编程技术和C51编译器配有集成开发的新型电子钟的设计方法,阐述了其工作原理和软硬件设计。

在硬件上,用KEIL公司的C51大规模集成芯片对其外围电路进行集成,用1片8051实现了几十片分离元件才能实现的功能,几乎将整个系统下载于同一芯片中,实现了所谓的片上系统,从而大大简化了系统结构,增强了系统的可靠性和性价比。

该电子钟特别适用于家庭、办公大楼、公共场所等。

关键词电子钟;单片机;硬件设计;软件设计ABSTRACTAround the electronic clock system design and development of the study and practice, details the electronic clock system overall, hardware design, software design, system solutions as well as the development and implementation. Introduction of a new technology based on in-system programming and C51 compiler equipped with an integrated development of new electronic clock design method, explains how it works and software and hardware design. In the hardware companies with KEIL C51 large-scale integrated circuit chip on its surrounding, to integrate 1 tablet 8051 implementation of scores of tablets separation components to implement functionality, almost the entire system for download on the same chip, implementation of the so-called SOC, thereby greatly simplifies system structure, enhances system reliability and high performance/price ratio. The electronic clock is particularly relevant for home, office buildings and public place, etc.Key words electronic clock; single-chip; hardware; software design目录1 系统总体设计方案 (4)1.1 设计课题任务 (4)1.2 功能要求说明 (4)1.3 总体方案介绍及工作原理 (4)2 硬件系统的设计 (6)2.1 系统各功能模块介绍 (6)2.2 系统电路图 (7)2.3 系统元器件清单 (7)3 软件系统的设计 (8)3.1设计使用单片机资源介绍 (8)3.2 软件系统各功能模块介绍 (8)3.3 软件系统程序流程框图 (9)3.4 软件系统的程序 (10)4 系统的仿真分析及结论 (11)4.1 系统设计的使用说明 (11)4.2 系统设计的仿真结果 (11)4.3 系统的误差分析 (12)4.4 设计体会 (12)4.5 教学建议 (13)参考文献 (14)致谢 (15)附录(1) (16)附录(2) (17)1 系统总体设计方案1.1 设计课题任务设计一个具有特定功能的电子钟。

PIC24系列单片机原理与开发 第12章 实时时钟日历

PIC24系列单片机原理与开发 第12章 实时时钟日历
(4) 报警寄存器的 MTHDY(月日)、WKDYHR(星期时)和 MINSEC(分秒)单元无地 址映射,只能通过它们的接口 ALRMVAL 寄存器来访问,并且用位域 ALRMPTR <1:0> 作为访问相应单元的指针。例如,设 ALRMPTR <1:0>=00,读 ALRMVAL 寄存器是 读的 ALMINSEC(报警分秒寄存器)单元。
PIC24 系列单片机原理与开发 by Zeng
2012-6-13
第 12 章 实时时钟日历
12.1 概述
PIC24F 系列芯片内集成有一个实时时钟日历(Real-Time Clock and Calendar, RTCC) 模块外设,它能够向 CPU 提供秒、分、时、日、月、年和星期等实时时间信息。这为那些需 要实时时钟的的嵌入式应用提供了方便 ,可省去外接 DS1310、PCF8563 等专用日历时钟芯片 的硬件开销。PIC24F 系列芯片的 RTCC 模块具有如下特性:
12.2 RTCC 模块的寄存器
RTCC 模块的寄存器分为三类:控制寄存器(RCFGCAL,PADCFG1,ALCFGRPT);实时时 间日历的值寄存器字 RTCVAL,通过 RTCVAL 访问模块的 YEAR(年)、MTHDY(月日)、WKDYHR (星期时)和 MINSEC(分秒)单元;报警值寄存器 ALRMVAL,通过 ALRMVAL 访问模块的报 警设定单元 ALMTHDY(月日)、ALWDHR(日时)和 ALMINSEC(分秒)。
3. 引脚配置控制寄存器 PADCFG1
表 12-3 所列为引脚配置寄存器 PADCFG1 各位的功能定义。
表12-3:引脚配置控制寄存器PADCFG1各位功能定义
U-0 未用
bit 15 bit 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理及应用课程设计任务书20 xx -20 xx 学年第 x 学期第 xx 周- xx 周题目实时日历时钟显示系统的设计内容及要求内容:实时日历时钟显示系统要求:设计一个实时日历时钟显示系统的程序。

用“年/月/日”,“时:分:秒”(都是两位)的形式连续显示系统时间进度安排课程设计内容时间分配方案论证1天分析、设计、调试、运行3天检查、整理、写设计报告、小结1天合计5天学生姓名: xx指导时间: xxxx 指导地点: xxxx任务下达任务完成考核方式 1.评阅√ 2.答辩√ 3.实际操作□ 4.其它□指导教师系(部)主任注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。

2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

此次微机原理课程设计要求设计一个实时日历时钟显示系统。

本程序利用DOS中断2AH号功能调用取系统年月日,再逐个显示各数据,利用2CH号功能调用取系统时间,逐个显示各数据。

用“时:分:秒”(都是两位)的形式连续显示系统时间,并利用计算机提供的软件调试工具对所编写程序进行调试,记录下整个调试分析的过程与运行结果。

任务安排:主程序:xx:主体程序和流程设计xx:日历调用显示系统xx:时间调用显示系统子程序:xx:显示两位数字的子程序一、课程名称 (2)二、课程内容及要求 (2)三、小组组成 (2)四、设计思路 (3)五、程序流程图及介绍 (4)六、调试 (5)七、总结 (7)八、参考资料 (9)附录 (9)一、课程名称:实时日历时钟显示系统的设计二、课程内容及要求课程内容:实时日历时钟显示系统要求:设计一个实时日历时钟显示系统的程序。

用“年/月/日”,“时:分:秒”(都是两位)的形式连续显示系统时间三、小组组成:成员:xx,xx,xx,xx任务安排:主程序:xx:主体程序和流程设计xx:日历系统xx:时间系统子程序:xx:显示两位数字的子程序四、设计思想汇编语言程序设计要求综合以前所学知识,根据设计具体要求分析问题,将问题分解成一个一个的步骤,每步用汇编语言中的指令性语句,按先后顺序表达,设计一个不仅要满足要求,能正常运行,实现指定功能的程序;还应满足结构化、简明、易读、易调试、易维护、执行速度快、占用存储空间尽量少的好程序。

(1)日历的显示:本程序主要使用DOS功能2AH号调用取系统日期(年、月、日)送屏幕显示。

出口参数:CX=年,DH=月,DL=日。

再通过子程序显示。

(2)时钟显示:本程序主要使用DOS功能2CH号调用取系统时间(时、分、秒、百分秒)送屏幕显示。

出口参数:CH=小时,CL=分钟,DH=秒,DL=百分秒。

再通过子程序显示。

(3)连续显示:加入一个循环,使程序不停刷新显示时间的变化,(4)子程序的说明,子程序的入口为:AL,输出一个两位数五、程序流程图及软件介绍1、下面是程序的流程图。

开始显示提示(9号功能调用)“THE DATA IS:”取系统日期(2AH号功能调用)年、月、日利用子程序,逐个显示年/月/日显示提示(9功能号调用)“THE TIME IS:”取系统时间(2CH号功能调用)时、分、秒、百分秒利用子程序,逐个显示时:分:秒2、程序利用2AH号功能调用取系统年月日, CX=年,DH=月,DL=日,然后把这些数据保存起来,再调用子程序,逐个显示各数据;然后利用2CH号功能调用取系统时间,CH=小时,CL=分钟,DH=秒,保存号各个数据,之后调用子程序,逐个显示各数据。

3、本程序是一个无限循环程序,显示完了时间后,又开始重新从系统取时间进行显示。

六、调试1)进入masm程序的安装目录,汇编源文件2)连接程序,并查看可生成执行文件A.exe3)关闭对话框,打开可执行问件A.exe,显示时间。

七、总结由于是第一次做课程设计,程序调试了好几次才成功,过程虽然辛苦,但完成课设后还是很有成就感的。

课设是一个把理论和实践相结合的过程,通过这次的课程设计,我学会了很多。

对于平时上课的知识,以前总以为自己学的很多,其实不是的。

上课所学的汇编知识,都只是一些基础,到真的要用汇编语言做点东西的时候,才发现很多知识不懂、不知道、要查阅很多的资料文献才能做成一个课程设计。

经过一周的课程设计,我觉得自己对于这门课程有了很大的了解和认识。

我们本次的课题是设计一个实时日历时钟显示系统,要求用“时:分:秒”的形式连续显示系统时间,并利用计算机提供的软件调试工具对所编写程序进行调试,记录下整个调试分析的过程与运行结果。

此次设计中,我们首先是调用系统的日期和时间,然后把这些数据显示出来,为了让这个时间能够连续显示,要再采用一个循环,不断地取系统日期和时间,进行刷新操作,以保证日期和时间能够实时更新和显示。

在设计的过程中,首先为了避免寄存器冲突的问题,在设计子程序时,应把所有用到的寄存器都入栈保存。

而且可以把寄存器当作变量来看待,有时候它存储的是数据变量(如把BP当作字符个数的记数器),而有时候它存储的是地址变量(如DI、SI);内存中的数据,按它们的结构关系,则可以把它们看待成数组,我们对数组,可以通过首地址来访问它们。

传递参数和结果的,一般可以用寄存器,也可以用一段内存空间来传递,特别是需要传递的数据较多的时候。

在设计子程序时,往往涉及到许多的循环,这时候就要注意把不该循环的变量要放在循环体外。

通过这次课程设计,我巩固所了学过的知识,能用汇编语言熟练地运用顺序、选择、循环三大结构,进一步掌握了各个指令的功能,特别是转向指令,掌握了子程序的定义及调用,以及正确地运用DEBUG指令。

在整个程序的编写中,调试占了很大部分的时间。

要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这对程序的调试是非常重要的。

总而言之,这次课程设计让我收获很大!八、参考文献1、郑初华.汇编语言、微机原理及接口技术(第3版).北京:电子工业出版社.2010.2、周明德.微机原理与接口技术实验指导与习题集.北京:人民邮电出版社.20023、丁新民.微机原理及基应用.北京:高等教育出版社.19964、刘乐善.微型计算机接口及应用.武汉:华中科技大学出版社.20005、朱定华.微机原理、汇编与接口技术学习指导.北京:清华大学出版社.20066、荆淑霞.微机原理与汇编语言程序设计.北京:水利水电出版社.2005附录完整程序源代码:;**************************程序开始DATA SEGMENTMSG1 DB 0DH,0AH,"THE DATA IS:$" ;定义提示文字MSG2 DB 0DH,0AH,"THE TIME IS:$" ;定义提示文字SEC DB 0 ;自定义参数FSEC DB 0MIN DB 0HOUR DB 0DAY DB 0MON DB 0YEAR DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AX;************************循环的起点AGAIN:MOV DH,0MOV DL,0MOV AH,02H ;设置光标的位置,DH=字符行号,;DL=字符列号,BH=页号MOV BH,0INT 10H;***********************年月日的显示MOV DX,OFFSET MSG1 ;显示提示“THE DATA IS:”MOV AH,09 ;9号功能调用INT 21HMOV AH,2AH ;取日期,CX=年,DH=月,DL=日INT 21HMOV DAY,DL ;数据保存到自定义参数里MOV MON,DHMOV AX,CX ;对年份数据(例如2010)进行处理MOV BX,100DIV BL ;无符号数除,商送AL=20,余数送AH=10CALL NUMBER ;子程序调用,显示年份的第一二个数字20;子程序NUMBER代码在最下面,子程序功;能是用来显示一个十进制两位数MOV YEAR,AH ;余数送入YEARMOV AL,YEAR ;子程序入口参数设置AL=10CALL NUMBER ;字程序调用,显示年份的第三四个数字10MOV DL,'/' ;‘/’间隔MOV AH,02INT 21HMOV AL,MON ;调用子程序,显示月CALL NUMBERMOV DL,'/'MOV AH,02INT 21HMOV AL,DAY ;调用子程序,显示日CALL NUMBER;*******************时间的显示MOV DX,OFFSET MSG2 ;显示提示“THE TIME IS:”MOV AH,09INT 21HMOV AH,2CH ;取时间,CH=小时,;CL=分钟,DH=秒,DL=百分秒INT 21HMOV HOUR,CH ;参数保存MOV MIN,CLMOV SEC,DHMOV FSEC,DLMOV AL,HOUR ;调用子程序,显示小时CALL NUMBERMOV DL,':'MOV AH,02INT 21HMOV AL,MIN ;调用子程序,显示分钟CALL NUMBERMOV DL,':'MOV AH,02INT 21HMOV AL,SEC ;调用子程序,显示秒CALL NUMBER;*********************跳转到AGAINJMP AGAINMOV AH,4CHINT 21H;*********************子程序,功能:用来显示一个十进制两位数,入口参数为AL中的值NUMBER PROC NEAR ;段内子程序PUSH AX ;保护现场PUSH DXPUSH BXXOR AH,AH ;AH清0AAM ;把AL分解为十位存于AH,个位存于ALMOV DH,AL ;暂存个位MOV DL,AH ;显示十位ADD DL,30HMOV AH,02INT 21HMOV DL,DH ;显示个位ADD DL,30HMOV AH,02INT 21HPOP BX ;恢复现场POP DXPOP AXRETNUMBER ENDPCODE ENDSEND START;**************************程序结束忽略此处..。

相关文档
最新文档