微机原理课程设计-数字时钟
微机原理课程设计
设计题目:电子时钟
班级:08电信系机电五班
姓名及学号:薛鹏(***********)
目录
一、摘要
二、引言
三、电子时钟的设计:
1.设计目的
2.设计任务
3.电路原理图
四、程序设计
(1)设计思路
(2)设计流程图
(3) 源代码
五、软件调试
六、设计总结和心得体会
摘要:石英表和电子表的区别
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。单片机微型计算机是微型计算机的一个
重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器
、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。
一、引言
单片机是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。它是一种集计数和多中接口于一体的微控制器,被广泛应用在智能产品和工业自动化中。
现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。
8086是Inter系列的16位微处理器,芯片上有2.9万个晶体管,采用HMOS工艺制造,用单一的+5V电源,时钟频率为5MHz~10MHz。它有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据。
8086/8088内部结构图
1. 数据寄存器
数据寄存器为图中最上边所示的4个寄存器AX,BX,CX,DX。这些寄存器用以暂时保存计算过程中所得到的操作数及结果。他能处理16位数,也能处理8位数,当处理8位数时,这4个16位寄存器作为8个8为寄存器AH,AL,BH,BL,CH,CL,DH,DL来使用。
这4个数据寄存器除了作为通用寄存器以外,还有各自的专门用途:
AX做累加器用,是算术运算的主要寄存器。AX还用在字乘和字除法中,此外,所有的I/O 指令都是以AX为中心与外部设备进行信息传送;
BX在计算寄存器地址时,常用做基值寄存器;
CX再串操作指令及循环中用做计数器;
DX在字乘法,字除法运算中,将DX,AX组合成一个双字长数,DX用来存放高16位数。另外,在间接的I/O指令中,DX用来指定I/O端口地址
2. 指针寄存器及变址寄存器
指针寄存器包括堆栈寄存器SP和基数指针寄存器BP,变值寄存器包括源变址寄存器SI 和目的变值寄存器DI。这4个寄存器都是16位寄存器,这些寄存器在运算过程中也可以用来存放操作数(只能以字为
单位),但经常的用途是在段内寻址时提供偏移地址,SP,BP一般与段寄存器SS联用,以确定堆栈寄存器中某一单元的地址,SP用以指示栈顶的偏移地址,而BP可作为堆栈区中的一个基地址,用以确定在堆栈中的操作数地址。SI,DI一般与段寄存器DS联用,以确定数据段中某一存储单元的地址,SI,DI具有自动增量和自动减量的功能,这一点使在串操作指令中用做变址非常方便,SI作为隐含的源变址DS联用,DI作为隐含的目的变址和ES连用,从而达到在数据段和附加段中寻址的目的
3. 段寄存器
有4个段地址寄存器:
CS16位代码段寄存器
DS16位数据段寄存器
SS16位堆栈段寄存器
ES16为附加段寄存器
4. 控制寄存器
IP是指令指针寄存器,是一个16位寄存器,用来存放代码段中的偏移地址。与CS连用才能确定下一条指令的地址,根据这一地址,控制器从指定的存储器中,取出下一条要执行的指令,并修改IP,以便指向下一条要执行的指令。
5.编程结构
总线接口部分负责与存储器,外设端口传送数据。具体讲,总线接口部分从内存中取出指令送到指令队列时,CPU执行指令时,所需的操作数也由总线接口部分从指定的内存单元或外设端口取来,传送给执行部分去执行,反过来,执行部分的操作结果也通过总线接口传送到指定的内存单元或外设端口中去。
总线接口部件由下面4部分组成:4个段寄存器,指令指针寄存器IP,20位的地址加法器及6个字节的指令队列。
对总线接口部分需说明的一点是,8086的指令队列为6个字节,而8088的指令队列为4个字节。不管是8086,还是8088,都会在执行指令的同时,从内存中取出下面一条或几条指令,取来的指令依次放在指令队列中,按顺序放,并按顺序到EU中去执行。执行部分EU的功能负责指令的执行。
执行部件包括:4个数据寄存器,2个指针寄存器,2个变值寄存器,1个状态标志寄存器和一个算术逻辑单元。
6. 存储器组织
1. 存储单元的地址和内容
2. 在计算机中用以存储信息的基本单位是一个二进制位,每8个组成一个字节
二课程设计的意义
课程设计是培养和锻炼学生综合应用所学理论知识解决实际问题能力,它具有动手、动脑,理论联系实际的特点,是培养理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。
微机原理及应用是一门实践性较强的课程,让学生在学完该课程之后,进行一次课程设计,使学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。
三电子时钟的设计
1、设计目的:
(1)理解掌握定时/计数器和中断的使用方法。
(2)掌握微机常用的输入输出方式及接口技术。
(3)掌握一定的汇编语言知识,培养自己的动手操作能力。
(4)学习程序设计的基本思路和方法。
2、设计任务:
(1)用汇编语言编写程序,使其能实现在PC机上用电子时钟时、分、秒的格式显示时间的功能。
(2)能用键盘输入的方法修改电子时钟的时间。
3、电路原理图
四程序设计
(1) 设计思路
先在数据段开一段显示缓冲区,用来存储系统时间,调用子程序的清屏部分。调用DOS中断,得到系统当前时间,并将其二进制转换成ASCII码。再分别将小时数、分钟数、秒数存入显示缓冲区,在修改时间的时候调用键盘输入输出程序实现时钟的修改功能,然后存入结束字符‘$’。调用DOS 字符串显示
功能将时间显示在显示器上,调用屏幕的I/O中断,定位光标的开始位置,将时间显示在预先定义好的位置。
把程序设计成用刷新的方式来不断获取系统的时间,这样就有了会一秒一秒走动的电子时钟。在此过程需要用到延时程序,所以我们把延时程序单独做成一个子程序,然后在需要的时候调用它,使得时间的显示程序更加精炼。此外我们还参考设计了一个比较精确的延时程序,使时间显示更加准确。
(2) 设计流程图

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。