汇编语言实时时钟程序设计

合集下载

时钟计时器设计报告

时钟计时器设计报告

单片机原理及应用课程设计报告书题目:时钟计时器的设计姓名:李如发学号:073321032专业:电气工程及其自动化指导老师:徐武雄设计时间:2010年 6 月目录1. 引言, (1)1.1. 设计意义 (1)1.2. 系统功能要求 (1)1.3. 本组成员所做的工作 (1)2. 方案设计 (1)3. 硬件设计 (2)4. 软件设计 (4)5. 系统调试 (7)6. 设计总结 (7)7. 附录A;源程序 (8)8. 附录B;作品实物图片 (12)9. 参考文献 (12)时钟计时器的设计1.引言1.1. 设计意义时钟计时器在现在应用场合非常的广泛,近年来,随着科学技术的进步和时代的发展,人们对时钟的功能和精度提出了越来越高的要求,各种时钟的设计也越来越重要。

秒表/时钟计时器是在一种计时器上实现两种基本功能的一种器件。

它广泛应用于各种场所,同时,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化,而受到广大消费者的喜爱引言近年来随着计算机技术的飞速发展,计算机也正式形成了通用计算机系统和嵌入式计算机系统二个分支。

单片机作为最典型的嵌入式系统,由于其微小的体积和极低的成本,广泛应用于家用电器、仪器仪表、工业控制单元以及通信产品中,成为现代电子系统中最重要的智能化工具。

同时数模电技术、微电子技术也快速发展使得大量集成芯片出现,从而实现很多简单功能代替了原来的模拟电路。

这样利用单片机、集成芯片和电子电路就可以很方便的进行设计,其中最典型、现在应用也很多的就是电子产品的设计。

本设计就是利用单片机技术将秒表和时钟两种计时器的功能集中到一种计时装置上,从而实现计时器功能的集成化,使其使用起来更加方便。

本设计的一大特点就是在硬件设计中采用实时时钟芯片来实现计时,大大简化了硬件电路,从而使设计更加简便易行。

1.2. 系统功能要求时钟计时器要求用单片机及6位数码管显示时,分,秒,以24《小》时计时方式运行,能整点提醒(但蜂鸣器,次数代表整点时间),使用按键开关可实现时,分调整,秒表|时钟功能转换,省电(关闭显示)及定时设定提醒(蜂鸣器)的歌功能。

单片机(汇编语言)秒表课程设计设计

单片机(汇编语言)秒表课程设计设计

题目名称:秒表电路设计姓名:班级:学号:指导教师:日期:2016年7月13日《单片机原理及接口技术课程设计》教学大纲课程代码:课程名称:单片机原理及接口技术课程设计周数: 2 学分:1.0学分一、课程设计的性质、任务与目的单片机原理及接口技术课程设计是在学生学习完理论课和实验课的基础上开设的,通过完成一个涉及MCS-51或其他系列单片机多种资源应用并具有综合功能的设计与编程应用,使学生能够将课堂上学到的理论知识与实际应用结合起来,同时在软件编程、仿真调试及相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的设计开发工作打下一定的基础。

本课程设计的主要目的如下:1、增进对单片机的感性认识,加深对单片机理论知识的理解,掌握单片机内部功能模块(如定时/计数器、中断、片内外存贮器、I/O口、串行口等)的应用;2、掌握单片机应用系统的软硬件设计过程及实现方法,为以后设计和实现单片机应用系统打下良好基础;3、提高综合应用所学理论知识独立分析和解决实际问题的能力。

二、本课程设计的基本理论本课程设计的基本理论是单片机原理及接口技术的基本理论,主要包括单片机的硬件结构原理、指令系统、汇编语言、中断系统、定时/计数器、串行接口、I/O接口等。

在学习掌握单片机原理及接口技术课程的前提下,利用实验室提供的单片机实验条件或基于仿真软件,采用汇编语言或C51编程,设计实现一个具体的单片机应用系统项目,熟悉单片机系统设计开发的完整过程。

三、课程设计的方式与基本要求课程设计的方式:每个班级学生按2~3人分为一组,以组为单位进行课程设计(也可一人独立进行),课程设计的题目从教师给定的题目中选取,也可以是指导教师审核通过的学生自选题目。

基本要求:每组选定题目后,按题目要求,首先进行方案论证,通过查阅资料、集体讨论,确定设计方案;然后进行具体的硬件和软件设计;完成设计后,进行硬件/软件调试;最后撰写课程设计报告。

汇编语言程序设计

汇编语言程序设计

第4章 汇编语言程序设计
例4.4 显示两位压缩BCD码值(00~99) ,要求不显示前导0。 本例一方面要排除前导0的情况,另一方面 对于全0情况又必须显示一个0,所以形 成了两个双分支结构的程序。
第4章 汇编语言程序设计 DATA SEGMENT BCD DB 04H ; 给出一个BCD码数据 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA BEGIN: MOV AX, DATA MOV DS, AX MOV DL,BCD ;取BCD码 TEST DL,0FFH ;如果这个BCD码是0,则显示为0 JZ ZERO TEST DL,0F0H ;如果这个BCD码高位是0,不显示 JZ ONE MOV CL,4 ;BCD码高位右移为低位 SHR DL,CL OR DL,30H ;转换为ASCII码 MOV AH,2 ;显示 INT 21H
第4章 汇编语言程序设计 ADC MOV MOV MUL ADD DX,0 W+4,DX AX,A B+2 W+2,AX ;部分积2的高16位与进位相加 ;结果保存到从W+4开始的内存单元 ;取被乘数的低16位 ;与乘数的高16位相乘,得到部分积3 ;部分积3的低16位与W+2开始的内存单元相加 ;结果保存在从W+2开始的内存单元 ;部分积3的高16位与W+4开始的内存单元及 ;进位相加,结果保存在从W+4开始的内存单元 ;把进位值保存在从W+6开始的内存单元 ;取被乘数的高16位 ;与乘数的高16位相乘,得到部分积4 ;部分积4的低16位与W+4开始的内存单元相加 ;结果保存在从W+4开始的内存单元 ;部分积4的高16位与W+6开始的内存单元及 ;进位相加,结果保存在从W+6开始的内存单元

毕业设计(论文)-基于单片机多功能电子时钟的设计与仿真(含程序仿真)[管理资料]

毕业设计(论文)-基于单片机多功能电子时钟的设计与仿真(含程序仿真)[管理资料]

程序仿真等全套设计,联系153893706第1章绪论二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。

第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。

第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。

第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步……我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。

商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。

本设计为软件,硬件相结合的一组设计。

在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。

基本的要了解一些主要器件的基本功能和作用。

除了采用集成化的时钟芯片外,还有采用MCU的方案,利用AT89系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制LED数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。

AT89C52是由ATMEL公司推出的一种小型单片机。

95年出现在中国市场。

其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,可以很快被中国广大用户接受。

本文介绍了基于AT89C52单片机设计的电子万年历。

选题背景及研究的目的与意义设计的目的电子钟已成为人们日常生活中必不可少的物品,广泛用于个人家庭以及车站码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。

计算机接口技术课件 第三章 MCS-51单片机汇编语言与程序设计基础

计算机接口技术课件 第三章 MCS-51单片机汇编语言与程序设计基础

例2:编制一段程序,要求在端口线 :编制一段程序,要求在端口线P1.0,P1.1上分别产生周期为 , 上分别产生周期为 200us和400us的方波.设单片机的外接频率为 的方波. 和 的方波 设单片机的外接频率为12MHz. . 分析:利用定时器产生方波,将定时器设置成为工作方式 , 分析:利用定时器产生方波,将定时器设置成为工作方式3,将寄 存器T0定时 定时100us,T1定时 定时200us,达到定时时间后引起中断,在中 存器 定时 , 定时 ,达到定时时间后引起中断, 断服务程序中各自将P1.0和P1.1引脚取反. 引脚取反. 断服务程序中各自将 和 引脚取反 定时器预设值的设置: 定时器预设值的设置: 单片机的晶体振荡频率为12MHz,计时器的计时频率为1MHz,机 单片机的晶体振荡频率为 ,计时器的计时频率为 , 器周期为1us. 定时 定时100us,因此寄存器 需要计数 需要计数100次 器周期为 . T0定时 ,因此寄存器T0需要计数 次 ,其预 置值为64H+1=9CH. T1定时 定时200us,因此寄存器 需要计数 需要计数200次 置值为 . 定时 ,因此寄存器T1需要计数 次 其预置值为C8H+1=38H. ,其预置值为 . 定时器T0,T1的工作方式设置: 的工作方式设置: 定时器 的工作方式设置 T0采用工作方式 ,因此 采用工作方式3,因此TMOD寄存器的值设置为 寄存器的值设置为#22H. 采用工作方式 寄存器的值设置为 . 定时器T0,T1的控制设置: 的控制设置: 定时器 的控制设置 打开T0, ;要求TCON寄存器的值设置为 寄存器的值设置为#50H. 打开 ,T1;要求 寄存器的值设置为 .
定义存储区域的大小. 6. DS —定义存储区域的大小. 定义存储区域的大小 例: ORG 0350H DS 3

学习龙芯汇编语言程序设计

学习龙芯汇编语言程序设计
汇编语言应该看成是对高级别语言的功能的完善和扩充。
第四篇,在 C 语言中嵌入汇编。
在 C 语言中直接使用机器指令。
第五篇,介绍一些指令(一般的指令直接看手册,只介绍需要注意的)
联机分时系统
六十年代末七十年代初最热的技术之一是联机分时系统。在这之前,程序员要使用计算机一 般是使用穿孔卡片或穿孔纸带,然后是排队,轮到后,独自占用。往往编译出错,便要把计 算机让给别人用,修改后,再排队,重复上面的过程。随着计算机的内存不断增大和速度不 断提高,技术人员就研究出了让多个用户分享一台计算机的办法。不但程序员获益(编辑, 编译,运行,好象独占一台电脑),商业用户也可以用来远程访问联机的数据库,这让计算 机的应用大为扩展,象银行异地处理业务,飞机订票管理这样的应用也可以实现了。专业厂 家的系统都很昂贵,而且和专有的硬件结合在一起,一般用户无法很便宜地获得。这些分时 系统有的使用字符终端,有的使用电传打字机(出于成本考虑,比终端便宜)。
在 UNIX 开发出来后,由于可移植,各种新开发的,更便宜的硬件上也能提供联机分时服务 了。
后来分时技术不断改进,现在已经有了基于网络的远程登陆,比如论坛大侠 lyxmoo 在拿到 龙芯盒子之后,慷慨提供 SSH 服务,让没有盒子的朋友们也能体验一下使用龙芯的感受。
以前提供分时服务的计算机,属于大型机(速度约每秒一百万次)。
通用寄存器$31还是处理器硬件约定的 JAL 指令的链接寄存器。(JALR 可以使用任何一个 通用寄存器)。通用寄存器$0,它的值恒为零。
由于 MIPS 采用将比较运算的结果放入任意一个指定的通用寄存器,所以龙芯没有整数比较 运算结果的标志寄存器(浮点运算使用状态寄存器的一个状态位)。
指令说明:
move 目的寄存器,源寄存器,表示把源寄存器的值传送至“目的寄存器”

单片机课程设计--电子秒表与闹钟的设计

单片机课程设计--电子秒表与闹钟的设计

目录摘要 (Ⅰ)1 电子秒表与闹钟系统概述 (1)1.1 课程设计基本要求 (1)1.2 系统实现功能 (1)1.3 系统应用价值展望 (2)2 仿真软件Proteus和Keil简介 (3)2.1 Proteus简介 (3)2.2 Keil简介 (3)3 系统工作原理分析 (4)3.1AT89C2051模块 (4)3.2 显示驱动模块 (6)3.3 数码管显示模块 (8)4 程序流程图设计 (9)5 Proteus仿真原理图 (12)6 课程设计体会 (14)参考文献 (15)附:源程序代码 (16)摘要随着科学技术的不断发展 , 人们对时间计量的要求越来越高。

在当今社会,电子时钟已经得到相当广泛的应用,产品多样,发展更是多元化。

本作品是以STC89C51单片机作为主控芯片,使用12MHZ的晶振,使用专用时钟日历芯片DS12C887产生时间信息,时间精确。

软件部分以C语言为主体,用1602LCD 液晶屏显示输出信息,输出信息量多,更直观、人性化。

该时钟可实现人机交互,可通过提供的键盘对其进行调整。

系统具有以下功能:年、月、日、时、分、秒显示;12小时/24小时模式切换,在12小时模式中,用AM和PM区分上午和下午;秒表功能;整点闹铃和报时功能,且闹钟可设置多组。

本次设计的电子时钟系统由单片机最小系统,1602LCD液晶屏,时钟芯片,调整按键,蜂鸣器,电源五大部分组成。

关键词:定时器中断闹钟电子时钟1 电子秒表与闹钟系统概述1.1 课程设计基本要求(1) 用并行口设计一个具有显示功能的秒表,显示准确的北京时间(时、分、秒),可用24小时制式;(2) 有时间校准功能;(3) 允许通过转换功能键转换显示时间,用定时器实现一个电子闹钟,能设定和修改定时的时间,并能到时响铃通知;(4) 所有按键需要通过串口自发自收来调校各种功能。

1.2 系统实现功能本系统是基于单片机AT89S52制作的数字电子钟。

根据实验要求,在完成实验所要求的基本功能外,扩展了几个功能。

基于C51单片机的数字时钟课程设计(C语言带闹钟)

基于C51单片机的数字时钟课程设计(C语言带闹钟)

单片机技术课程设计数字电子钟学院:班级:姓名:学号:教师:摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。

所以设计一个简易数字电子钟很有必要。

本电子钟采用AT89C52单片机为核心,使用12MHz 晶振与单片机AT89C52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。

该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEY5键,进行相应的操作就可实现校时、定时、复位功能。

具有时间显示、整点报时、校正等功能。

走时准确、显示直观、运行稳定等优点。

具有极高的推广应用价值。

关键词:电子钟 AT89C52 硬件设计软件设计目录NO TABLE OF CONTENTS ENTRIES FOUND.一、数字电子钟设计任务、功能要求说明及方案介绍1.1 设计课题设计任务设计一个具有特定功能的电子钟。

具有时间显示,并有时间设定,时间调整功能。

1.2 设计课题的功能要求说明设计一个具有特定功能的电子钟。

该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。

1.3 设计课的设计总体方案介绍及工作原理说明本电子钟主要由单片机、键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1所示:图1-1总体设计方案图本电子钟的所有的软件、参数均存放在AT89C52的Flash ROM和内部RAM 中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。

键盘采用动态扫描方式。

利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

基于52单片机电子时钟的设计论文(纯汇编语言编写)

基于52单片机电子时钟的设计论文(纯汇编语言编写)

编号单片机课程设计(2013 级)题目:基于52单片机电子时钟的设计学院:物理与机电工程学院专业:电子信息科学与技术作者姓名:陈✘✘党✘✘杜✘✘指导教师:张✘✘职称:教授完成日期:2016 年7 月 2 日二〇一六年七月基于52单片机电子时钟的设计摘要本次设计的多功能时钟系统采用STC89C52单片机为核心器件,利用其定时器/计数器定时和记数的原理,结合液晶显示电路、时钟芯片DS1302电路、电源电路以及按键电路来设计计时器。

将软硬件有机地结合起来,使得系统能够实现液晶显示,显示有年、月、日、时、分、秒以及星期,还可以设置闹钟和整点报时。

其中软件系统采用单片机汇编语言编写程序,包括显示程序、闹钟程序、中断、延时程序,按键消抖程序等,并在keil中调试运行,硬件系统利用PROTEUS 强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。

关键词:STC89C52芯片;时钟芯片DS1302;单片机汇编语言;液晶显示电路1 设计任务及要求分析1.1 设计任务:基于单片机的电子时钟设计1.2 要求:1.2.1 用LCD液晶作为显示设备1.2.2 可以分别设定小时、分钟和秒,复位后时间为 00 00 001.2.3 能实现日期的设置年、月、日1.3 扩展要求:如闹钟功能、显示星期、整点音乐报时等2 系统方案2.1 系统整体方案的论证电路原理设计是基于小系统板包括电源电路、复位电路、按键电路、DS1302时钟电路、液晶显示驱动电路、输出控制电路。

电源部分是用电池来提供的3v-5v,晶体振荡器采用的是12MHz的石英晶体振荡器。

整个系统用单片机为中央控制器,由单片机执行采集时钟芯片的时间信号并通过显示模块来输出信号及相关的控制功能。

时钟芯片产生时钟信号,利用单片机的I/O口传给单片机;并通过I/O口实现LCD的显示。

系统设有4个独立式按键可以对时间年、月、日和星期进行调整,还可以设置闹钟。

具体如图2.1所示:图2.1 系统整体框图3硬件设计与实现3.1单片机最小系统STC89C52是一款非常适合单片机初学者学习的单片机,它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。

带定时功能的闹铃时钟设计 (3)

带定时功能的闹铃时钟设计 (3)

课程设计任务书带定时功能的闹铃时钟设计摘要:本设计是根据单片机带定时功能的闹铃时钟设计。

单片机是在一块半导体芯片上集成了CPU、存储器以及输入和输出接口电路的微型计算机,其集成度高、功能强、通用性好,并且市场利润率高。

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

本次设计的定时闹钟在硬件方面,采用了AT89S52芯片,用4位共阳极数码管来进行显示,LED用P1口进行驱动,采用的是动态扫描,能够比较准确的显示时间。

电源电路主要是由变压器、桥堆、电容、稳压管2W10D、电阻、发光二极管等元件构成,由电容和晶振等构成时钟电路,一个开关和电容电阻接上电源构成了复位电路,然后通过S1、S2、S3和S4四个功能按键可以进行对时间的调整和定时,定时时间到后蜂鸣器发出响声。

在软件方面采用汇编语言编程,整个系统能完成时间的显示、调时和定时、复位等功能,并通过仿真后得到正确的结果。

关键词:电源电路定时闹钟时钟电路AT89S52目录1.设计背景 (1)2.设计方案 (2)2.1定时闹钟的系统设计 (2)2.2定时闹钟的硬件和软件 (2)2.3时钟设计方案 (3)2.4数码管显示方案 (3)3. 方案实施 (4)3.1单片机的功能 (4)3.2电路模块 (6)3.3电路原理图 (10)3.4程序设计 (10)3.5系统仿真 (10)4. 结果与结论 (11)4.1设计结果 (11)4.2结论 (11)5. 收获与致谢 (12)6. 参考文献 (13)7. 附件 (14)附件1电路图 (14)附件2程序原代码 (14)附件3流程图 (23)附件4实物图 (25)附件5元件清单 (25)1.设计背景单片机就是在一块半导体硅片上集成了中央处理器(CPU),存储器(RAM,ROM),并行I/O口,串行I/O口,定时器/计数器,中断系统,系统时钟电路及系统总线的微型计算机。

其集成度高,功能强,通用性好,因此受到人们的广泛关注和信赖。

计算机组成原理与汇编语言程序设计课后习题及解答(详解)

计算机组成原理与汇编语言程序设计课后习题及解答(详解)

计算机组成原理与汇编语言程序设计课后习题及解答徐洁,俸远祯电子工业出版社第1章习题一1.什么是程序存储工作方式?答:计算机的工作方式——存储程序工作方式。

即事先编写程序,再由计算机把这些信息存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。

2.采用数字化方法表示信息有哪些优点?用数字化方法表示信息的优点:(1)抗干扰能力强, 可靠性高。

(2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。

(3)数字化的信息可以存储、信息传送也比较容易实现。

(4)可表示的信息类型与范围及其广泛,几乎没有限制。

(5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成了计算机硬件设计的基础。

3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。

4.数字计算机的主要特点是什么?1. (1)能在程序控制下自动连续地工作;(2|)运算速度快;(3)运算精度高;(4)具有很强的信息存储能力;(5)通用性强,应用领域及其广泛。

5.衡量计算机性能的基本指标有哪些?答:衡量计算机性能的基本指标:(1)基本字长——参加一次运算的数的位数;(2)数据通路宽度——数据总线一次能并行传送的位数;(3)运算速度——可用①CPU的时钟频率与主频,②每秒平均执行指令数,③典型四则运算的时间来表示。

(4)主存储器容量——可用字节数或单元数(字数)×位数来表示。

(6)配备的外围设备及其性能。

(7)系统软件配置。

7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。

系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。

例如WINDOWS98操作系统,C 语言编译程序等,数据库管理系统。

8.对源程序的处理有哪两种基本方式?对源程序的处理通常有两种处理方式:解释方式和编译方式。

第2章习题二1.将二进制数(101010.01)2 转换为十进制数及BCD码。

解:(101010.01)2 = (42.25)10 = (01000010.00100101)BCD2.将八进制数(37.2)8转换为十进制数及BCD码.解:(37.2)8 = (31.25)10 =(00110001.00100101)BCD3.将十六进制数(AC.E)转换为十进制数及BCD码.解: (AC.E)16 =(172.875)10 = (000101110010.100001110101)BCD4.将十进制数(75.34)10转换为8位二进制数及八进制数、十六进制数。

6502汇编语言程序设计(2版)之程序设计part1

6502汇编语言程序设计(2版)之程序设计part1
___________________________________________________________________________________
(一)
一. CPU 对命令的执行
6502是普通的8位CPU.它需要外接其他器件(如:SRAM、EPROM、定时/计数器、I/O接口器件等)才能工作,它地址线为16,直接寻址能力为64K($0000--$FFFF)之间. 数据线为8,一次只能完成8位数据(0--255)的处理. CPU通过地址线联系到要操作的内存单元,然后读取该单元的操作码,通过预设好了的操作码所代表的操作,CPU对其进行相应命令执行. 例如对命令 ASL 的执行,假设程序计数(PC)=$7000 , ($7000)=$0A .
[]中的内容为可选项
标号 标号标识了一条指令的位置,可以使用标号作为访问该指令的地址,标号的格式应遵循下面规则:
.必须从第一列开始或者以: 结束
. 不能用操作代码或伪指令的名字命名
. 标号长度为1~28个字符(视各汇编而定)
ror
jmp MULCH02
MULCH08:
rts
例3.
;无符号整型数除法
;($A2|$A1)/($A4|$A3)=$A2|$A1).........($A6|$A5)
;结果 , 商:($A2|$A1) 余数:($A6|$A5)
;说明: C=0有效, C=1 无效(除数为0)
3. $0200--$0700(cheapchange注:综合上下文,应为0200--07FF) 公共内存区 (1.5K字节)
4. $0800--$1FFF $0000 -- $0700的镜像. 连做了3次镜像(6K字节)

多功能电子时钟

多功能电子时钟

摘要随着科学技术的不断发展,电子时钟已经成为一种普遍的工艺了。

日常生活中到处可见。

电子时钟的设计有很多种,普遍的电子时钟是基于单片机用汇编语言做成的扩展。

ARM功能也一样且更精确。

本文是详细介绍基于ARM上做成的电子时钟。

这个电子时钟的硬件是用LPC2103板, 8个按键和8个数码管组成的键盘显示板,还有LED灯当成闹铃使用。

此时钟还可以当成秒表使用。

这是一个基于ARM实现多功能的电子时钟。

关键词:ARM;数码显示管;按键;LED灯;目录前言3第一章概述 4 电子时钟概述 4第二章工作原理 5 系统框图 5时钟的工作原理与功能 5第三章硬件电路设计 6 键盘显示板的电路设计 6数码管的电路设计 8键盘电路设计 8蜂鸣器电路的设计 8的电路设计 9第四章软件设计 11 软件设计 11第五章调试过程 18 调试过程 18总结 18附录 18参考文献 20 谢辞 20前言时钟是人们生活中必不可少的一种工具,更是更是在人类生产,生活,学习等多个领域得到广泛的应用。

然而随着时间的推移,尤其是在现在科技的发达,生活水平高,什么都讲究效率的年代。

人们不仅对时钟的精度要求高,而且对时钟的功能的要求也越来越多。

时钟已不仅仅是一种用来显示时间的工具,而是在很多实际应用中它还需要能够实更多的其他功能。

比如日历显示功能,秒表功能,闹钟功能,温度或湿度的测量电压测量等。

时钟数字化给人们的生活带来了极大的方便,而且也大大地扩展了钟表原先的保湿功能。

诸如定时自动报警,按时自动闹铃,定时广播,各种定时电气的自动启用等。

这些功能都是一钟表数字化为基础的。

可以说设计多功能数字时钟的意义已不不只在于数字时钟本身,更大的意义在于多功能数字时钟在许多实时控制系统中的应用。

在很多实际应用中,只要对数字时钟的程序和硬件电路加以一定的修改,便可以得到实施控制的实用系统,从而应用到实际工作与生产中去。

因此,研究数字时钟及扩大其应用,有着非常现实的意义。

基于C51单片机的数字时钟课程设计(C语言,带闹钟).

基于C51单片机的数字时钟课程设计(C语言,带闹钟).

单片机技术课程设计数字电子钟学院:班级:姓名:学号:教师:摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。

所以设计一个简易数字电子钟很有必要。

本电子钟采用AT89C52单片机为核心,使用12MHz 晶振与单片机AT89C52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。

该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEY5键,进行相应的操作就可实现校时、定时、复位功能。

具有时间显示、整点报时、校正等功能。

走时准确、显示直观、运行稳定等优点。

具有极高的推广应用价值。

关键词:电子钟 AT89C52 硬件设计软件设计目录一、数字电子钟设计任务、功能要求说明及方案介绍 (4)1.1 设计课题设计任务 (4)1.2 设计课题的功能要求说明 (4)1.3 设计课的设计总体方案介绍及工作原理说明 (4)二、设计课题的硬件系统的设计 (5)2.1硬件系统各模块功能简要介绍 (5)2.1.1 AT89C52简介 (5)2.1.2 按键电路 (6)三、设计课题的软件系统的设计 (6)3.1 使用单片机资源的情况 (6)3.2 软件系统个模块功能简要介绍 (7)3.3 软件系统程序流程框图 (7)3.4 软件系统程序清单 (7)四、设计课题的设计结论、仿真结果、误差分析 (9)4.1 设计结论及使用说明 (9)4.2 仿真结果 (10)结束语 (12)参考文献 (12)附录 (13)附录A:程序清单 (13)一、数字电子钟设计任务、功能要求说明及方案介绍1.1 设计课题设计任务设计一个具有特定功能的电子钟。

具有时间显示,并有时间设定,时间调整功能。

1.2 设计课题的功能要求说明设计一个具有特定功能的电子钟。

该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。

计时器汇编语言程序设计

计时器汇编语言程序设计

目录1设计要求 (1)1.1初始条件 (1)1.2设计任务 (1)2总体方案论证 (2)2.1方案一 (2)2.2方案二 (2)2.3方案论证 (2)3程序流程图 (3)3.1主程序流程图 (3)3.2中断服务子程序流程图 (3)4.程序设计步骤 (6)4.1界面设置 (6)4.2检验键盘状态 (6)4.3中断子程序 (7)4.4判断计时进位 (8)4.5暂停与继续计时 (9)5程序调试说明与分析 (10)5.1初始界面 (10)5.2按下S键开始计时界面 (10)5.3按下P键暂停计时界面 (10)5.4按下G键继续计时界面 (11)5.5按下C键清零界面 (11)5.6按下ESC键退出 (12)6心得体会 (12)参考文献 (14)附件(程序清单) (15)计时器汇编语言程序设计1设计要求1.1初始条件➢采用16位微处理器8086 CPU以及86系列微型计算机的指令系统;➢软件设计平台为多功能微型计算机实验软件MFS中的微机原理实验集成环境MF2KP。

1.2设计任务➢设计汇编语言程序,实现计时功能,具体功能要求如下:(1)设计一个计时器界面,形式为:时:分:秒;(2)单击“S”或“s”键开始计时,单击“P”或“p”停止计时,单击“G”或“g”键继续计时,单击“C”或“c”键清0;(3)单击”ESC”键退出程序。

(2)单击”ESC”键退出程序。

根据功能要求绘制程序流程图、编写完整的汇编语言程序并上机调试。

2总体方案论证2.1方案一利用8155芯片设计一个具有时、分、秒显示的电子时钟,启动按键,数码管从初始设置的时间开始显示。

从设计要求可知,需要键盘扫描部分,时间控制部分,初始值设置部分,数码管显示部分,延时部分。

时间走动部分的实现:各个时钟的个位部分逢十进一,秒和分钟的十位部分是逢六进一。

当时的十位达到2时,个位为4时,程序跳到清零部分,程序从零开始计时。

数码管显示部分的功能是实现时、分、秒的显示,可以用六个数码管从左至右一次显示时间,采用分配存储单元的形式,地址从低到高分别显示秒、分、时。

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

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

一、题目:电子实时时钟/万年日历系统二、功能要求: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位定时器的最长定时时间,最短不能少于定时中断服务程序的执行时间。

课程设计电子时钟设计

课程设计电子时钟设计

微机原理及其接口技术课程设计题目: 8086电子时钟设计前言课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动乎、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。

《微机接口技术》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。

所以通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。

时钟就是一种对时间进行累计的工具,即计时。

计时的本质就是计数,只不过这里的“数”的单位是时间单位,如果把一小片一小片计时单位累计起来,就可获得一段时间。

因此,使用计数器对时钟脉冲进行计数,就是时钟实现的基本原理;再用LED数码管显示出来,并设计出几个按键用于对时钟进行调整,这样,一个完整的时钟就设计完成了。

本次课程设计要求利用8253定时器设计一个具有时、分、秒显示的电子时钟,并定义一个启动键,当按下该键的时候,时钟从当前的设定值(可以在缓冲区中设置)开始走时。

同时,再定义三个按键,分别对时、分、秒进行校正。

目录目录---------------------------------------------------- 21、电子时钟功能介绍------------------------------------- 32、电子时钟系统总体方案设计----------------------------- 42.1方案比较------------------------------------------ 42.2方案选择------------------------------------------ 43、电子时钟的工作原理----------------------------------- 53.1实现时钟计时的基本方法---------------------------- 53.2电子钟的时间显示---------------------------------- 54、硬件设计---------------------------------------------- 64.1硬件设计电路图------------------------------------ 64.1.1主电路模块----------------------------------- 64.1.2 LED显示模块--------------------------------- 64.1.3按键模块------------------------------------- 64.1.4总体电路图----------------------------------- 64.2硬件设计所用芯片介绍------------------------------ 64.2.2 8253芯片的内部结构及引脚-------------------- 84.2.3 8255A芯片的内部结构及引脚------------------- 95、软件设计--------------------------------------------- 105.1电子时钟部分程序流程框图------------------------- 105.1.1主程序流程框图--------------------------------- 105.1.2键扫子程序流程框图----------------------------- 105.1.3中断处理程序流程框图--------------------------- 105.2电子时钟总体程序--------------------------------- 106、总结与体会------------------------------------------- 10参考文献----------------------------------------------- 11附录1-------------------------------------------------- 12附录2-------------------------------------------------- 121、电子时钟功能介绍可调整运行的电子钟具有三种工作状态:"P.”状态、运行状态、调整状态。

电子实时时钟万年日历系统-单片机课程设计(含电路图、流程图、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 设计课题任务设计一个具有特定功能的电子钟。

第三章MCS-51指令系统及汇编语言程序设计

第三章MCS-51指令系统及汇编语言程序设计

指 令 系 统 的 寻 址 方 式
MCS-51指令系统及一般说明 MCS-51指令系统及一般说明
在介绍指令之前, 在介绍指令之前 , 先对指令中使用的一些符号意义进行简单 的说明。 的说明。 direct---直接地址, ---直接地址 ① direct---直接地址,即8位的内部数据存储器单元或特殊 功能寄存器的地址。 功能寄存器的地址。 #data--包含在指令中的8位常数。 --包含在指令中的 ② #data--包含在指令中的8位常数。 #datal6--包含在指令中的16位常数 包含在指令中的16位常数。 ③ #datal6--包含在指令中的16位常数。 rel-- 位的带符号的偏移量。用于SJMP --8 SJMP及所有的条件转移 ④ rel--8位的带符号的偏移量。用于SJMP及所有的条件转移 指令中。 指令中 。 偏移量按相对于下一条指令的第一个字节地址与跳转 后指令第一个字节地址之差计算, 范围内取值。 后指令第一个字节地址之差计算,在-128~+127范围内取值。 128 +127范围内取值 DPTR--数据指针,可用作16位的地址寄存器。 --数据指针 16位的地址寄存器 ⑤ DPTR--数据指针,可用作16位的地址寄存器。
指 令 系 统 的 寻 址 方 式
寄存器间接寻址
寄存器间接寻址方式可用于访问内部RAM 或外部数据存储器 寄存器间接寻址方式可用于访问内部 RAM或外部数据存储器 。 RAM 或外部数据存储器。 这种寻址方式是由指令指定某一寄存器的内容作为操作数的 地址。 地址。 其中(Ri)=40H (Ri)=40 例如 MOV A,@Ri ;(i=0或1),其中(Ri)=40H 这条指令表示从Ri中找到源操作数所在单元的地址, Ri中找到源操作数所在单元的地址 这条指令表示从Ri中找到源操作数所在单元的地址,把该地 址中的内容传送给A 即把内部RAM 40H单元的内容送到累加器A RAM中 址中的内容传送给A。即把内部RAM中40H单元的内容送到累加器A 中。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计说明书姓名:学号:院系:专业:题目:实时时钟程序设计指导教师:职称:课程设计说明书院系:专业:姓名:学号:课程设计题目:实时时钟程序设计起迄日期:课程设计地点:指导教师:系主任:课程设计任务书课程设计任务书目录第一章课题设计目的内容及要求 (6)1.1 目的..................... (6)1.2 内容 (6)1.3 要求 (6)第二章程序流程图设计 (2)2.1主流程图设计 (2)2.2子流程图设计........................... 错误!未定义书签。

第三章程序段落的说明 (8)3.1光标的设立和隐藏 (8)3.2调用系统的时间 (5)3.3判断是否有键盘的输入 (6)第四章程序调试说明、结果记录与分析 (7)4.1程序调试的过程 (7)4.2调试结果 (7)4.3分析结果 (8)第五章总结与体会 (8)参考文献 (8)附录 (9)1.程序流程图 (9)2.程序清单 (11)第一章课题设计目得内容及要求1.1 目得1)培养学生文献检索的能力,特别是如何利用Internet检索需要的文献资料。

2)培养学生综合分析问题、发现问题和解决问题的能力。

3)培养学生运用知识的能力和工程设计的能力。

4)提高学生课程设计报告撰写水平。

1.2 内容设计一个根据所学汇编语言课程的知识,熟练8086汇编语言的编程原理,和程序设计思想,编写一个实时时钟程序进一步提高综合运用知识的能力。

1.3 要求每隔一秒显示系统时钟;可以重复输入,有退出键功能。

第二章程序流程图设计2.1主流程图设计由方案设计分析可知,此次设计比较简单,先初始化程序,然后设立光标,在光标移动时,不断地取时,取分,取秒,并不断的循环。

在循环的过程中,当按下ESC键时退出程序;当按下其它键时,程序继续运行,并显示时间界面,再按下ESC键时,程序又将退出。

流程图设计:当初始化后,设定一个光标用来显示时间的时、分、秒,并将光标隐藏。

流程图有两个分支,表示有两个判断,当时分秒取完后,判断是否在键盘上有输入,如果没有输入,则返回到光标定位,若有输入判断是否为ESC键的ASC码,如果是则退出程序,程序结束,过程比较明了,流程图分支不多,但功能能够很好的实现。

流程图如1所示图1 主程序设计流程图2.2子流程图设计可知,在时间的获取时,需要时、分、秒分别获取,显示时使用的是相应的ASCII码。

加上分隔符“:”,共同组成完整时钟显示,我们对子程序做流程图,如图2所示。

图2 子程序流程图第三章程序段落的说明3.1 光标的设立和隐藏光标的不停移动,使时间能不停地显示时间的时分秒,并使其显示界面不消失,并随着系统时间的变化而同步变化,隐藏光标使界面看起来更美观。

程序如下:mov dh,0ah ;行数mov dl,35 ;列数mov bh,0 ;页数mov ah,2int 10h ;确定光标的位置,使其居在中间mov cx,2000hmov ah,01hint 10h ;隐藏光标3.2调用系统的时间获取系统的时间,用程序将系统的时间调用,使显示的时间和系统的时间同步变化,其中时间的时分秒显示都是需要先转换成相应的ASCII码,再显示在屏幕上。

获取系统时间:mov ah,02int 1ah ;系统时间调用push cxpush dx ;现场保护时的获取:xor dl,dl ;dl清零mov dl,ch ;cx高四位给dlmov cl,4shr dl,cl ;最终dl中为ch的高四位add dl,30h ;转换成ASCII码mov ah,02hint 21h ;光标处显示时的第一位mov dl,chadd dl,0fhadd dl,30h ;转换成ASCII码mov ah, 02int 21h ;光标处显示时的第二位mov dl,":"mov ah,02int 21h ;光标处显示“:”分的获取:pop dxpop cx ;出栈,恢复现场push dx ;置光标位置xor dl,dlmov dl,clmov dh,clmov cl,4shr dl,cladd dl,30h ;转化成相应的ASCII码mov ah,02int 21h ;光标处显示分的第一位mov cl,dhand cl,0fhadd cl,30h ;转化成相应的ASCII码mov dl,clmov ah,02int 21h ;光标处显示分的第二位mov dl,':'mov ah,02int 21h ;光标处显示“:”秒的获取:pop dx ;出栈,恢复现场mov bl,dhmov cl,4shr dh,cladd dh,30h ;转化成相应的ASCII码mov dl,dhmov ah,02int 21h ;光标处显示秒的第一位mov cl,bland cl,0fhadd cl,30h ;转化成相应的ASCII码mov dl,clmov ah,02int 21h ;光标处显示秒的第二位3.3 判断是否有键盘输入判断是否有输入,当有字符时判断是否为ESC,若是则退出程序,如果不是程序继续运行。

程序段:a1: mov ah,0bh ;调用DOS 功能0BH 检测键盘是否有输入int 21hcmp al,00h ;检测是否有输入jne a2 ;有则跳到a2jmp go ;没有则回到goa2: mov ah, 08hint 21hcmp al,1bh ;判断是否为ESCje exit ;是则退出jmp go ;不是则跳到goexit:mov ah,4chint 21h ;退出程序第四章程序调试说明、结果记录与分析4.1 程序调试的过程程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。

这是保证计算机信息系统正确性的必不可少的步骤。

编完计算机程序,得调试所写程序是否正确,是否能满足所要求的功能。

写好程序后,对DOS系统界面调用功能指令不太熟悉,界面出来后时间显示在右上角,并且光标不能消失,最后经过查询,运用了10号中断,最后把光标隐藏了,并使时间显示在界面的中间位置。

在判断是否在键盘上有输入时,开始不会用键盘扫描功能,没有调试出来,经过向同学请教最后调用DOS功能0bh,并用08h来判断是否是ESC输入,最终实现了退出功能。

4.2调试结果运行程序,时间显示界面,如图3所示:图3 进入后的运行界面单击其他键时的显示界面,如图4所示,与图3相同。

单击ESC键时,界面消失,退出程序。

图4 单击其它键时的显示界面4.3分析结果可知运行程序后,能达到设计要求,即进入后能显示时间在屏幕的中央位置,单击ESC外的键时,程序继续,时间继续显示,单击ESC时,退出程序,程序设计成功。

第五章总结与体会参考文献[1] 沈美明,温冬禅.IBM PC汇编语言程序设计.清华大学出版社,第二版[2] 刘丽莉.汇编语言程序设计.北京大学出版社,2010附录Array1.程序流程图主程序设计流程图子程序流程图2.程序清单datas segmentdatas endsstacks segment ;此处输入堆栈段代码stacks endscodes segmentassume cs:codes,ds:datas,ss:stacksstart: mov ax,datasmov ds,axgo: mov dh,0ah ;行数mov dl,35 ;列数mov bh,0 ;页数mov ah,2int 10h ;确定光标的位置,使其居在中间mov cx,2000hmov ah,01hint 10h ;隐藏光标xor dl,dl ;dl清零mov dl,ch ;cx高四位给dlmov cl,4shr dl,cl ;最终dl中为ch的高四位add dl,30h ;转换成ASCII码mov ah,02hint 21h ;光标处显示时的第一位mov dl,chadd dl,0fhadd dl,30h ;转换成ASCII码mov ah, 02int 21h ;光标处显示时的第二位mov dl,":"mov ah,02int 21h ;光标处显示“:”pop dxpop cx ;出栈,恢复现场push dx ;置光标位置xor dl,dlmov dl,clmov dh,clmov cl,4shr dl,cladd dl,30h ;转化成相应的ASCII码mov ah,02int 21h ;光标处显示分的第一位mov cl,dhand cl,0fhadd cl,30h ;转化成相应的ASCII码mov dl,clmov ah,02int 21h ;光标处显示分的第二位mov dl,':'mov ah,02int 21h ;光标处显示“:”pop dx ;出栈,恢复现场mov bl,dhmov cl,4shr dh,cladd dh,30h ;转化成相应的ASCII码mov dl,dhmov ah,02int 21h ;光标处显示秒的第一位mov cl,bland cl,0fhadd cl,30h ;转化成相应的ASCII码mov dl,clmov ah,02int 21h ;光标处显示秒的第二位a1: mov ah,0bh ;调用dos 功能0bh 检测键盘是否有输入int 21hcmp al,00hjne a2 ;如果有输入,则跳转到a2jmp go ;如果没有输入,则跳转到goa2: mov ah, 08hint 21h ;调用dos 功能08h 判断键盘输入的字母cmp al,1bh ;判断键盘输入是否为escje exit ;如果是则跳转到exitjmp go ;重新跳回开头exit: mov ah,4ch ;结束dos以及跳出语句int 21hcodes endsend start。

相关文档
最新文档