微机基础原理课程教学设计电子时钟设计
微机原理课程设计电子闹钟
电子钟设计1任务要求1.1显示位置:屏幕中央.1.2日期显示格式"时:分:秒.1.312/24时制可调.1.4在显示屏上显示提示语“CURRENT TIME IS:”和当前时间.2工作原理1时钟起始时间的设置先调用DOS操作系统模块9,在显示屏上显示提示语“TIME SYSTEM IS:”,输入时制12或24后,显示“CURRENT TIME IS:”,再调用DOS操作系统模块10,提示要输入时钟的起始时间,输入时间的格式是“时:分:秒”。
输入的时间以字符串形式存放在已定义的存储器缓存区内,继而调用TRAN1转换子程序和MUL10乘10子程序,将存放在存储器缓存区内的ASCII字符转换为压缩BCD码,并将时、分、秒的值放在寄存器CH、DH、DL中。
2延时程序调用延时TIME延时中断服务程序,累加到存放秒值的寄存器DL中,并进行十进制调整。
在累加的过程中,不断地对时、分、秒值进行比较,秒不能等于60,分不能等于60,时不能等于24。
秒等于限制值时,则使秒值为0分值加1;分等于限制值时,则使分值为0时值加1;时等于限制值时,则使时值为0;时、分、秒值都不超过限制值时,就转显示屏输出。
3时间显示调用DOS操作系统模块9,可用来显示存储器内字符串。
由于显示的字符必须为ASCII码,因为要调用TRAN2转换子程序将寄存器CH、DH、DL内压缩BCD码字符串转换成ASCII字符串,字符串最后以字符“$”结束,并按时、分、秒的顺序送存储器缓冲区内。
调用DOS 操作系统模块9,(DS:DX)应指向字符串首址。
程序一旦进入运行,就将不间断地在显示屏显示时间,要想程序停止运行,可同时在键盘按下CTRL和BREAK二键。
4程序堆图5程序清单DATA SEGMENTBUFFER DB 10 ;设置输入字符串用缓冲区 DB ?DB 10 DUP(?)TS DB 'TIME SYSTEM IS:$'CT DB 'CURRENT TIME IS:$'PM DB 'PM $'AM DB 'AM $'KEEPIP DW 0KEEPCS DW 0SR DB ?HOUR DB ?DAT ENDSSTA SEGMENT PARA STACK 'STACK'STAPN DB 100 DUP(?)TOP EQU LENGTH STAPNSTA ENDSCOD SEGMENTSTART PROC FARASSUME CS:COD,DS:DAT,SS:STAMOV AX,DATAMOV DS,AXMOV AX,STAMOV SS,AXMOV AX,TOPMOV SP,AXMOV AH,35H ;设置1CH中断MOV AL,1CHINT 21H ;段地址放入ES,偏移地址放入BXMOV KEEPIP,BX ;保偏移地址存MOV KEEPCS,ES ;保存段地址PUSH DSMOV DX,OFFSET TIMEMOV AX,SEG TIMEMOV DS,AXMOV AL,1CHMOV AH,25H ;设置中断功能调用INT 21HPOP DSMOV DX,OFFSET TS ;DOS功能模块,显示字符串MOV AH,9INT 21HMOV AH,1 ;DOS功能模块,从键盘输入字符INT 21HMOV AH,1INT 21HMOV SR,ALMOV DL,0AH ;"换行"MOV AH,2INT 21HMOV DL,0DH ;"回车"MOV AH,2INT 21HMOV DX,OFFSET CT ;DOS功能模块,显示字符串,提示从键盘输入MOV AH,9INT 21HMOV DX,OFFSET BUFFERMOV AH,10 ;DOS功能模块,从键盘输入字符串到缓冲区INT 21HMOV BX,OFFSET BUFFER+2CALL TRAN1 ;将输入的ASCII码转换为BCD码INC BXINC BXCALL TRAN1INC BXINC BXCALL TRAN1MOV BX,OFFSET BUFFER+2MOV AL,[BX]CALL MUL10 ;将BCD码转换为压缩的BCD码MOV CH,ALINC BXINC BXMOV AL,[BX]CALL MUL10MOV DH,ALINC BXINC BXMOV AL,[BX]CALL MUL10MOV DL,ALAGAIN: PUSH CXMOV CX,18STI ;开中断W: CMP CX,0JNE WCLIPOP CXMOV AL,DLADD AL,1 ;"秒"加1DAAMOV DL,ALCMP AL,60H ;"秒"与60比较JNE DISPY ;小于60S,转显示程序MOV DL,0 ;等于60S, "秒"值为0,"分"+1MOV AL,DHADD AL,1DAAMOV DH,ALCMP AL,60H ;"分"于60比较JNE DISPYMOV DH,0MOV AL,CHADD AL,1DAAMOV CH,ALMOV AL, SRCMP AL,32HJNE NEXTJMP DISPYNEXT: MOV AL,CHMOV HOUR,CHCMP AL,24HJNE DISPYMOV CH,0DISPY: CALL IOCLRCALL IOSET1CALL STARCALL IOSET2CALL STARCALL IOSETMOV BX,OFFSET BUFFERMOV AL,SRCMP AL,32HJNE NEXT2CALL AD12MOV AL,HOURJMP NEXT1NEXT2: MOV AL,CH ;"时"值转换成ASCII码NEXT1: CALL TRAN2 ;将压缩BCD码转换成ASCII码MOV AL,':'MOV [BX],ALINC BXMOV AL,DH ;"分"值转换成ASCII码CALL TRAN2INC BXMOV AL,':'MOV [BX],ALINC BXMOV AL,DL ;"秒"值转换成ASCII码CALL TRAN2INC BXMOV AL,'$' ;显示字符串结束码MOV [BX],ALPUSH BXPUSH CXPUSH DXMOV DX,OFFSET BUFFERMOV AH,9 ;DOS功能模块,显示字符串INT 21HPOP DXPOP CXPOP BXJMP AGAINCLIPUSH DSMOV DX,KEEPIPMOV AX,KEEPCSMOV DS,AXMOV AH,25HMOV AL,1CHINT 21HPOP DSSTIRETSTART ENDPMUL10 PROC ;将BCD码转换为压缩的BCD码ADD AL,ALDAAMOV CL,ALADD AL,ALDAAADD AL,ALADD AL,CLDAAMOV CL,ALINC BXMOV AL,[BX]ADD AL,CLRETMUL10 ENDPTRAN1 PROC ;ASCII码转换成BCD码MOV AL,[BX]AND AL,0FHMOV [BX],ALINC BXMOV AL,[BX]AND AL,0FHMOV [BX],ALRETTRAN1 ENDPTRAN2 PROC ;将压缩BCD码转换成ASCII码MOV CL,ALSHR AL,1SHR AL,1SHR AL,1SHR AL,1OR AL,30HMOV [BX],ALINC BXMOV AL,CLAND AL,0FHOR AL,30HMOV [BX],ALRETTRAN2 ENDPIOCLR PROC ;调用BIOS,清除全屏幕PUSH CXPUSH DXPUSH BXPUSH AXMOV AX,0600HMOV BH,02SUB CX,CXMOV DX,184FHINT 10HPOP BXPOP DXPOP CXRETIOCLR ENDPTIME PROCDEC CXIRETTIME ENDP ;调用BIOS,设置屏幕光标在中央PUSH DXPUSH BXPUSH AXMOV AH,02SUB BH,BHMOV DX, 0C23HINT 10HPOP AXPOP BXPOP DXRETIOSET ENDPIOSET1 PROCPUSH AXPUSH BXPUSH DXMOV DX,0A1AHMOV BH,00MOV AH,02INT 10HPOP DXPOP BXPOP AXRETIOSET1 ENDPIOSET2 PROCPUSH AXPUSH BXPUSH DXMOV DX,0E1AHMOV BH,00MOV AH,02INT 10HPOP BXPOP AXRETIOSET2 ENDPSTAR PROCPUSH AXPUSH BXPUSH CXPUSH DXMOV AL,3DHMOV BH,0MOV BL,0CHCMP HOUR,24HJNZ XMOV HOUR,0HX: MOV CX,WORD PTR HOUR INT 10HPOP DXPOP CXPOP BXPOP AXRETSTAR ENDPAD12 PROCPUSH DXMOV HOUR,CH MOV AL,SRCMP AL,32HJNE ZHMOV AL,HOURCMP AL,24HJNE NEXT3MOV CH,0MOV HOUR,CHJMP S12NEXT3: CMP AL,12HJBE S12MOV DX,OFFSET PMMOV AH,9INT 21HMOV AL,HOURMOV DH,12HSUB AL,DHDASMOV HOUR,ALJMP ZHS12: CMP AL,12HJNE ZMOV DX,OFFSET PMMOV AH,9INT 21HJMP ZHZ: MOV DX,OFFSET AMMOV AH,9INT 21HZH: POP DXRETAD12 ENDPCOD ENDSEND STAR6设计时遇到的问题及解决方法在课程设计中遇到的最大的困难是如何利用软、硬件配合的方式产生中断,对中断向量表的装载还比较模糊,对中断的初始化、具体设置、中断返回还不是很清楚,程序设计一度陷入停滞状态,不知如何是好.于是我又重新翻阅了我们的学习课本,也就是电子工业出版社的《微机原理与接口技术(基于16位机)》,重点研究了第9章《中断》,通过对这一章的学习,我终于对中断有了详细的认识,在设计程序时也容易了很多。
课程设计电子时钟
课程设计电子时钟一、课程目标知识目标:1. 学生能够理解电子时钟的基本原理,掌握电子时钟的构成及各部分功能。
2. 学生能够运用所学知识,设计并制作一个简易的电子时钟。
3. 学生了解电子时钟在日常生活和科技领域中的应用。
技能目标:1. 学生能够运用所学知识,分析并解决电子时钟制作过程中遇到的问题。
2. 学生掌握基本的电路连接和调试方法,具备一定的动手操作能力。
3. 学生能够运用电子时钟的设计理念,进行创新设计和改进。
情感态度价值观目标:1. 培养学生对电子技术的兴趣和好奇心,激发学生的学习积极性。
2. 培养学生合作、探究、创新的精神,提高学生解决问题的能力。
3. 增强学生的环保意识,引导学生关注电子产品的节能和环保问题。
课程性质分析:本课程为电子技术学科的教学内容,旨在让学生了解电子时钟的基本原理和制作过程,提高学生的动手实践能力和创新能力。
学生特点分析:六年级学生具备一定的逻辑思维和动手能力,对新鲜事物充满好奇心,但需注意引导学生将理论知识与实际操作相结合。
教学要求:1. 注重理论与实践相结合,让学生在实际操作中掌握电子时钟的制作方法。
2. 创设有趣的学习情境,激发学生的学习兴趣和探究欲望。
3. 关注学生的个体差异,提供有针对性的指导,确保每个学生都能达到课程目标。
二、教学内容1. 电子时钟的基本原理与构成- 时钟芯片的工作原理- 电子时钟的电路构成及各部分功能2. 电子时钟的制作与调试- 元器件的识别与选用- 电路连接与焊接技巧- 电子时钟的调试与优化3. 电子时钟的应用与拓展- 电子时钟在日常生活和科技领域中的应用案例- 电子时钟的创新设计与改进方向教学大纲安排:第一课时:电子时钟的基本原理与构成- 介绍时钟芯片的工作原理- 分析电子时钟的电路构成及各部分功能第二课时:电子时钟的制作与调试- 讲解元器件的识别与选用方法- 演示电路连接与焊接技巧- 指导学生进行电子时钟的调试与优化第三课时:电子时钟的应用与拓展- 分享电子时钟在日常生活和科技领域中的应用案例- 引导学生进行电子时钟的创新设计与改进思考教材章节及内容:- 教材第十一章《数字电路及其应用》- 第三节:电子时钟的制作- 第四节:数字电路的应用与拓展教学内容进度安排:- 第一课时:完成电子时钟基本原理与构成的学习- 第二课时:完成电子时钟制作与调试的学习- 第三课时:进行电子时钟应用与拓展的讨论与分享三、教学方法1. 讲授法:- 通过生动的语言和形象比喻,讲解电子时钟的基本原理与构成,使学生易于理解。
微机原理课程设计电子闹钟
电子闹钟学院:姓名:学号:班级:一.系统的硬件设计和软件设计1.总体设计本系统采用单片机AT89S51作为本设计的核心控制元件,使得电路的可靠性比较高,功能也比较强大,利用7段共阴LED作为显示器件。
接入共阴LED显示器,可显示时,分钟,秒,单片机外围接有定时报警系统,定时时间到,扬声器发出报警声,提示预先设定时间到,从而控制电器的起停。
电路由下列部分组成:时钟电路、复位电路、控制电路、LED显示,报警电路,芯片选用AT89S51 单片机。
系统基本框图:2.硬件设计(1).单片机AT89C51AT89C51是一个低电压,高性能CMOS型 8位单片机,片内含4KB的可反复擦写的Flash只读程序存储器(ROM)和128 B的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。
AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
主要功能特性:兼容MCS-51指令系统可编程UARL通道两个16位可编程定时/计数器1个串行中断两个外部中断源共6个中断源可直接驱动LED51单片机引脚图()时钟电路单片机的时钟产生方法有两种内部时钟方式和外部时钟方式。
本系统中单片机采用内部时钟方式。
最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。
振荡晶体可在~之间。
电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在~之间取值。
单片机的时钟电路如图()数码管显示电路单片机中通常使用7段LED,LED是发光二极管显示器的缩写。
(完整word版)微机原理课程设计(电子时钟)(word文档良心出品)
电子时钟课程设计一:设计背景电子数字钟的应用十分广泛,通过计时精度很高的石英晶振(也可采用卫星传递的时钟标准信号),采用相应进制的计数器,转化为二进制数,经过译码和显示电路准确地将时间“时”“分”“秒”用数字的方式显示出来。
与传统的机械钟相比,它具有走时准确,显示直观,无机械传动,无需人的经常调整等优点。
它广泛用于电子表、车站、码头、广场等公共场所的大型远距离时间显示电子钟。
二:数字钟电路设计思路1.选用8253计数器2进行1s的定时,其输出OUT1与8259的IRQ0相连,当定时到1s时产生一个中断服务程序进行时、分、秒的计数,并送入相应的存储单元;8255的A口接七段数码管的位选信号,B口接数码管的段选信号。
时、分、秒的数值通过对8255的编程可送到七段数码管上显示。
2.此程序主要由四部分组成:第一部分为最主要的部分定义显示界面;第二部分为利用延时程序,并将调用的二进制表示的时间数转换成ASCII码,并将时间数存入内存区;第三部分将存在系统内存区的时间数用七段数码管显示出来;第四部分利用循环程序分别对秒个位、秒十位、分个位、分十位与相应的规定值进行比较,结合延时程序来实现电子钟数字的跳变,从而形成走时准确的电子钟。
该程序实现了准确显示秒和分,读数准确,走时精准。
此电子钟能准确的从0时0分0秒走时到23时59分59秒,然后能自动回复到0时0分0秒循环走时。
3.基本工作原理:系统设计的电子时钟主要由显示模块、时钟控制模块和时钟运算模块三大部分组成。
以8086微处理器作CPU,用8253做定时器产生时钟频率提供一个频率为10kHz的时钟信号,要求每隔10ms完成一次扫描键盘的工作。
在写入控制字与计数初值后,每到10ms定时器就启动工作,即当计数器减到1时,输出端OUT0输出一个CLK周期的低电平,向CPU申请中断,当达到100次时,则输出端OUT1输出1s,向CPU申请中断,由8255控制一个数码管显示,当计数到60s时,则输出端OUT2向CPU申请中断,由另一数码管显示1min,同理由数码管显示1h.CPU处理,使数码管的显示发生变化。
电子时钟的设计课程设计
电子时钟的设计课程设计一、课程目标知识目标:1. 学生能理解电子时钟的基本工作原理,掌握电子时钟的组成部分及功能。
2. 学生能够运用所学的电子元件,如LED数码管、时钟芯片等,设计并搭建一个简单的电子时钟。
3. 学生了解并掌握时间计算、时间显示转换等相关知识。
技能目标:1. 学生能够运用所学知识,进行电路设计、搭建和调试,提高动手实践能力。
2. 学生能够通过团队合作,共同解决问题,提高沟通协作能力。
3. 学生能够运用所学知识,对电子时钟进行创新设计和优化,培养创新思维和创新能力。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发学习热情,树立科学研究的自信心。
2. 学生在学习过程中,养成积极思考、勤于动手的好习惯,提高自主学习能力。
3. 学生通过团队协作,培养集体荣誉感和责任感,增强团队精神。
4. 学生能够关注电子时钟在生活中的应用,体会科技改变生活,培养社会责任感。
本课程针对初中年级学生,结合电子技术课程内容,注重实践性与创新性。
在教学过程中,关注学生的个体差异,鼓励学生积极参与,培养他们的实践能力、创新精神和团队合作意识。
通过本课程的学习,使学生在掌握电子时钟相关知识的基础上,能够将所学应用于实际生活,提高解决实际问题的能力。
二、教学内容1. 电子时钟基础知识:- 时钟芯片的原理与功能- LED数码管的结构与显示原理- 电阻、电容等基本电子元件的作用与选型2. 电子时钟设计与制作:- 电路原理图绘制与电路搭建- 时钟芯片的编程与调试- 电路焊接与电子时钟组装3. 电子时钟应用与优化:- 时间计算与显示功能实现- 电子时钟的创新设计与优化方案- 电子时钟在生活中的应用案例教学内容依据课程目标,结合教材第十五章“电子时钟的设计与应用”展开。
教学大纲分为三个阶段:第一阶段:电子时钟基础知识学习,为期2课时。
第二阶段:电子时钟设计与制作,为期4课时。
第三阶段:电子时钟应用与优化,为期2课时。
教学内容注重理论与实践相结合,逐步引导学生掌握电子时钟相关知识,培养实践能力和创新精神。
微机课程设计电子钟
微机课程设计电子钟一、课程目标知识目标:1. 学生能理解电子钟的基本原理,掌握电子时钟系统的组成及其工作方式。
2. 学生能够运用所学的微机知识,设计并实现一个具有基本计时功能的电子钟。
3. 学生能够了解并描述常见电子时钟电路图,分析电路中各元件的作用。
技能目标:1. 学生能够运用编程软件,如Arduino或51单片机等,编写控制程序,驱动电子钟运行。
2. 学生通过实际动手操作,掌握电子元件的焊接和电路板的搭建,提高实践操作能力。
3. 学生能够通过小组合作,进行问题分析和解决方案的设计,提升团队协作和沟通能力。
情感态度价值观目标:1. 学生通过电子钟的设计与制作,培养创新思维和问题解决能力,增强自信心和成就感。
2. 学生在实践过程中,能够体会到学习的乐趣,培养对科学技术的兴趣和探索精神。
3. 学生通过小组合作,学会尊重他人意见,培养团队精神和责任感。
课程性质:本课程为实践性课程,强调理论联系实际,注重培养学生的动手操作能力和创新思维。
学生特点:学生为初中生,具有一定的微机基础,好奇心强,喜欢动手实践。
教学要求:教师应引导学生主动参与,注重启发式教学,鼓励学生提出问题、解决问题,关注学生的个体差异,促进每个学生的全面发展。
通过课程目标的分解,将学习成果具体化,便于教学设计和评估。
二、教学内容本课程教学内容紧密结合课程目标,以确保学生能够系统地掌握电子钟设计与制作相关知识。
1. 理论知识:- 电子时钟原理:介绍时钟信号、晶振、分频器等基本概念。
- 电路元件:学习并认识LED、电阻、电容、二极管、三极管等常见电子元件。
- 微控制器:了解Arduino或51单片机的基本结构、工作原理及编程方法。
2. 实践操作:- 电路设计:学习如何绘制电子钟电路图,选择合适的电子元件。
- 程序编写:根据电子钟功能需求,编写相应的控制程序。
- 电路搭建:动手焊接电路板,搭建电子钟硬件系统。
3. 教学大纲:- 第一阶段:电子时钟原理学习,认识电路元件。
微机原理课程设计报告(电子时钟)
微机原理课程设计报告(电子时钟)微机原理课程设计报告1.设计目的培养和锻炼在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。
通过课程设计,要求熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。
掌握8255、8259、8253等芯片的使用方法和编程方法。
通过本课程设计,学习应用所学知识,进一步了解相关芯片的原理、内部结构和使用方法,学习相关芯片的实际应用和编程。
系统采用8086微处理器完成电子秒表系统的独立设计。
同时,要了解综合性问题的程序设计,掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后的逻辑更加清晰。
2.设计内容设计一款可以随意启动/停止的电子秒表。
要求使用6位LED数字显示屏,计时单位为1/100秒。
使用功能键进行启动/停止控制。
其功能是通电后将计时器清除为0,并在第一次(或奇数次)按下启动/停止键时开始计数。
第二次(或偶数次)按此键可停止计时。
再次按开始/停止键可重置和重新开始计时。
它可以通过开关或钥匙控制。
(开关控制☆) (按键控制)★)3.设计要求一、基本要求1)设计可以显示1~60秒的无存储功能的秒表,最小单位为毫秒。
2)通过键盘键控制秒表的重置、暂停、继续和退出。
数字0控件被清除,数字1控件继续并退出二.提高要求:1)秒表可分组存储、批量显示、倒计时等2)采用图像显示、界面美观、设置报警声等4.设计原理与硬件电路一、总体设计思路使用8253工作在方式0计数,对1/100s计数,并讲计数值写入bl中并与100比较若不相等,则将计数值装换为10进制后送8255控制端显示,如相等则1s计数程序加1之后并与59比较若不相等则将计数值装换为10进制后送8255控制端显示,如相等则1min计数程序加1之后并与59相比,如果不相等,则将计数值更改为十六进制,并发送至8255控制终端进行显示。
如果相等,计数程序将在加1后溢出,跳转到清零程序以清除计数,同时清除数码管。
微机原理课程设计——电子时钟设计51318
2010级微机原理课程设计实验报告设计题目:电子时钟设计班级:电信10102班分组名单:2012-6-28目录第一章设计部分1.1 设计目的 (1)1.2设计要求 (1)1.3设计思路 (1)第二章实现部分2.1、分析论证2.1.1显示模块 (1)2.1.2时钟运算模块 (1)2.1.3对时模块 (2)2.2、原理说明 (2)2.3、设计电路图 (2)2.3.18086最小工作方式 (2)2.3.2秒脉冲发生器 (3)2.3.3时、分调整电路 (3)2.3.4.显示电路 (4)2.4、元件功能说明2.4.1.8253的主要功能 (4)2.4.2.D触发器74ls273管脚排列图及功能表介绍 (5)2.4.3单向总线驱动器74ls244功能介绍 (5)2.5、程序清单 (6)2.6、调试过程遇到问题及解决方法 (9)第三章电子时钟使用说明3.1电子时钟按键说明第四章学习心得附录参考文献 (9)第一章设计部分1.1 设计目的学习掌握protues软件功能及其使用方法熟练掌握TND86/88教学系统的基本操作和调试程序的各种指令。
熟练掌握8086CPU的使用与编程调试程序的方法。
掌握8253定时/计数器的工作原理、工作方式及其应用编程。
练习7SEG-MPX8-CA-RED数码管的显示编程方法。
1.2、设计要求利用8253定时器设计一个具有时、分、秒显示的电子时钟,并定义一个启动键,当按下该键时时钟从当前设定值(可在显示缓冲区中予置)开始走时。
1.3、设计思路电子时钟主要由显示模块、对时模块和时钟运算模块三大部分组成。
其中对时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。
这样,才能循环记时。
显示时利用7段显示器显示六位十进制数据。
前两个显示小时,中间两个显示分钟,后两个显示秒。
时钟的运算是利用中断来实现的,利用8253的模式三输出一定频率的方波作为触发中断的条件。
课程设计电子时钟设计
课程设计电子时钟设计一、教学目标本课程旨在让学生掌握电子时钟的基本设计原理和技能,能够独立完成一个简单的电子时钟设计项目。
具体目标如下:1.了解电子时钟的基本构成和原理;2.掌握常用的电子元器件及其功能;3.学习电子时钟设计的常用方法和技巧。
4.能够使用基本的电子工具和设备;5.能够阅读和理解电子时钟的设计图纸;6.能够独立完成一个简单的电子时钟设计项目。
情感态度价值观目标:1.培养学生的创新意识和团队合作精神;2.培养学生对电子技术的兴趣和热情;3.培养学生对科学研究的严谨态度和责任感。
二、教学内容本课程的教学内容主要包括以下几个部分:1.电子时钟的基本原理和构成;2.常用电子元器件的功能和应用;3.电子时钟设计的常用方法和技巧;4.电子时钟设计实例讲解和分析。
第一周:电子时钟的基本原理和构成;第二周:常用电子元器件的功能和应用;第三周:电子时钟设计的常用方法和技巧;第四周:电子时钟设计实例讲解和分析。
三、教学方法本课程采用讲授法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:用于讲解电子时钟的基本原理、构成和设计方法;2.案例分析法:通过分析具体的电子时钟设计案例,让学生更好地理解和掌握设计技巧;3.实验法:让学生通过实际操作,独立完成一个简单的电子时钟设计项目。
四、教学资源本课程的教学资源主要包括以下几个部分:1.教材:《电子时钟设计入门》;2.参考书:电子时钟设计相关的专业书籍;3.多媒体资料:电子时钟设计的相关视频和图片;4.实验设备:电子工作台、示波器、信号发生器等。
以上教学资源将用于支持教学内容和教学方法的实施,丰富学生的学习体验。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。
1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估其对电子时钟设计的理解和掌握程度。
2.作业:布置相关的设计项目和练习题,要求学生在规定时间内完成,以检验其对电子时钟设计方法和技巧的掌握情况。
微机原理课程设计简单电子钟设计
A1
CLK0
OUT0
GATE0
图3.4 实验接线图
3.2 主程序流程图
主程序的流程图是对整个程序的逻辑的图象表示。首先是设置8254、8255、8259的各个端口地址。接着初始化各个芯片,开始计时,并通过8259中断控制时间的正确显示。在整个过程中都在检测是否有铵键响应。有则停止,没有则返回继续执行。
INC AX
MOV MSEC,AX
1、中断工作原理,定时计数原理,并行通信原理工作原理。
2、掌握8259芯片,8254芯片,8255芯片功能,结构。
3、掌握8259芯片,8254芯片,8255芯片的编程。
4、能运用所提到的芯片,设计系统并进行程序开发,满足用户需求。
1.3设计要求
1、总体内容:设计一电子时钟,能在数码管上显示时间并计时。
2、接口设计:根据题目和所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过.
3、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。
4、前期完成的实验有:8259A中断控制器实验,8254定时计数器实验,8255并行接口实验。
1.4电子时钟
电子时钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。传统的设计方法有两种,一是利用组合逻辑电路和时序电路等中小规模集成电路来设计;一是利用单片机编程技术来设计。这两种设计都存在硬件复杂,设计周期长,成本高等缺点。并且本学期通过对《微型计算机原理及应用》的学习,利用掌握的知识进行实践是必要的,以巩固基础知识,培养独立操作能力。而本次课程设计要实现的功能为:利用定时器从0开始进行计时,将计时的结果显示在数码管上。每隔1秒,秒钟计时一次,到60秒,分钟加1,到60分小时加1。根据需要,需选择的芯片有8254,8259,8255,系统时钟频率1.041667MHz;
电子时钟课程设计51
电子时钟课程设计51一、教学目标本课程旨在让学生了解和掌握电子时钟的工作原理和设计方法。
通过本课程的学习,学生将能够:1.知识目标:理解电子时钟的基本构成,包括时钟芯片、显示器、按键等;掌握电子时钟的编程方法,包括定时器、中断、I/O口控制等。
2.技能目标:能够独立完成电子时钟的电路设计,包括元器件的选择、电路连接等;能够使用编程语言进行电子时钟的编程,实现基本功能。
3.情感态度价值观目标:培养学生的创新意识和团队合作精神,提高学生对电子科技的兴趣和热情。
二、教学内容本课程的教学内容主要包括以下几个部分:1.电子时钟的基本构成和工作原理;2.电子时钟的编程方法,包括定时器、中断、I/O口控制等;3.电子时钟的电路设计,包括元器件的选择、电路连接等;4.电子时钟的实际应用案例分析。
三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括:1.讲授法:讲解电子时钟的基本原理和编程方法;2.讨论法:引导学生进行思考和讨论,提高学生的理解能力;3.案例分析法:分析电子时钟的实际应用案例,帮助学生了解电子时钟的应用场景;4.实验法:让学生动手设计电子时钟电路,提高学生的实践能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:电子时钟设计的相关教材,用于引导学生学习;2.参考书:提供电子时钟设计的详细资料,帮助学生深入理解;3.多媒体资料:包括电子时钟的设计视频、图片等,丰富学生的学习体验;4.实验设备:提供电子时钟设计所需的电路板、元器件等,让学生动手实践。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,占总评的30%;2.作业:评估学生完成的作业质量,包括电路设计、编程等,占总评的30%;3.考试:进行一次电子时钟设计相关的考试,评估学生的知识掌握程度,占总评的40%。
六、教学安排本课程的教学安排如下:1.教学进度:共10次课,每次课2小时;2.教学时间:每周六上午9:00-11:00;3.教学地点:学校实验室。
电子时钟课程设计绪论
电子时钟课程设计绪论一、教学目标本课程旨在让学生了解电子时钟的基本原理,掌握电子时钟的制作方法,培养学生的动手能力和创新能力。
具体目标如下:1.知识目标:学生能够了解电子时钟的组成部分,理解各部分的工作原理,掌握电子时钟的制作流程。
2.技能目标:学生能够独立完成电子时钟的制作,具备一定的电子电路调试能力。
3.情感态度价值观目标:学生通过制作电子时钟,培养对电子科技的兴趣,增强创新意识,提高团队协作能力。
二、教学内容本课程的教学内容主要包括电子时钟的原理、电子时钟的制作方法以及电子时钟的调试与优化。
具体安排如下:1.电子时钟的原理:介绍电子时钟的组成部分,如时钟芯片、分频器、显示器等,以及它们的工作原理。
2.电子时钟的制作方法:讲解电子时钟的制作流程,包括电路设计、焊接、调试等环节。
3.电子时钟的调试与优化:教授如何对电子时钟进行调试,使其精确显示时间,以及如何优化电路,提高时钟的性能。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
具体应用如下:1.讲授法:用于讲解电子时钟的原理和制作方法,使学生掌握基本知识。
2.讨论法:在课堂上学生进行讨论,培养学生的思考能力和团队协作精神。
3.案例分析法:分析实际案例,让学生了解电子时钟在现实生活中的应用,提高学生的实践能力。
4.实验法:安排实验室实践环节,让学生动手制作电子时钟,培养学生的实际操作能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的电子时钟制作教材,为学生提供系统的学习资料。
2.参考书:提供相关的电子科技书籍,方便学生深入研究电子时钟的相关知识。
3.多媒体资料:制作精美的课件、教学视频等,帮助学生更好地理解电子时钟的原理和制作方法。
4.实验设备:准备充足的实验设备,确保每个学生都能在实验室实践环节动手制作电子时钟。
电子时钟电子课程设计
电子时钟电子课程设计一、教学目标本课程旨在让学生了解电子时钟的工作原理,掌握基本的电子电路设计和实验技能,培养学生的创新意识和团队合作精神。
具体目标如下:1.知识目标:学生能够理解电子时钟的基本原理,包括时钟芯片、电路板设计、显示系统等。
2.技能目标:学生能够运用电子元件,如电阻、电容、二极管、晶体管等,设计并制作一个简单的电子时钟。
3.情感态度价值观目标:学生能够体验到科技制作的乐趣,增强对科学的兴趣和好奇心,培养团队合作和解决问题的能力。
二、教学内容本课程的教学内容主要包括电子时钟的工作原理、电路设计、实验操作和调试技巧。
具体安排如下:1.第一章:电子时钟概述,介绍电子时钟的原理和应用。
2.第二章:电路设计基础,讲解电子元件的功能和应用,以及电路图的绘制。
3.第三章:时钟芯片的使用,介绍时钟芯片的原理和编程方法。
4.第四章:电路板设计和制作,讲解电路板的设计原则和制作流程。
5.第五章:显示系统的设计,介绍各种显示器件的原理和应用。
6.第六章:实验操作和调试,讲解实验设备的使用方法和调试技巧。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
具体应用如下:1.讲授法:用于讲解电子时钟的基本原理和知识点。
2.讨论法:鼓励学生就电路设计和实验过程中遇到的问题进行讨论,培养团队合作精神。
3.案例分析法:分析典型的电子时钟设计案例,帮助学生掌握电路设计和调试技巧。
4.实验法:让学生动手制作电子时钟,提高其实际操作能力和创新能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:电子时钟设计指南,用于引导学生学习电子时钟的基本知识和技能。
2.参考书:电子电路设计手册,为学生提供更多的电路设计参考资料。
3.多媒体资料:包括电子时钟工作原理的视频、电路图演示等,帮助学生更好地理解电子时钟的原理和设计。
微机原理课程设计---电子时钟
一、课程设计的目的对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。
汇编语言程序设计课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。
培养学生综合运用所学知识独立完成汇编程序课题的能力。
使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。
提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。
培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
二、设计任务与要求(一)、课题名称和内容1.电子时钟在出现的提示信息中输入大写字母“D”,可在屏幕的中央以“年\月\日”的形式显示系统当前日期,;输入大写字母“T”,可在屏幕的中央以“时:分:秒”的形式显示系统当前时间;输入大写字母“Q”,可结束程序。
(二)、设计要求1.根据设计内容设计出硬件电路图并作详细的设计说明,并绘制出电路图。
2.画出程序流程框图,用汇编语言编写相应的控制程序。
3.进行系统的调试,完成加电仿真调试。
4.写出详细的设计报告。
三、总体方案设计1.主程序设计思想此动画程序要求结构化的显示系统时间和日期。
程序要求能多次执行以上两种操作并有退出选项。
则我们可以设计三个选项以供用户选择:D-DATE、T-TIME 和Q-QUIT退出程序。
三个选项分别可以用三个过程实现其功能。
用户在出现的提示信息中输入小写字母“D”,马上显示系统当前日期;输入小写字母“T”,马上显示系统当前时间;输入小写字母“ Q”,则退出程序。
电子时钟课程设计教程
电子时钟课程设计教程一、课程目标知识目标:1. 学生能理解电子时钟的基本原理,掌握电子时钟的组成、功能及使用方法。
2. 学生能够运用所学知识,分析并设计简单的电子时钟电路。
3. 学生了解电子时钟在日常生活和时间管理中的重要性。
技能目标:1. 学生能够独立完成电子时钟的组装和调试,提高动手实践能力。
2. 学生通过小组合作,培养团队协作能力和问题解决能力。
3. 学生能够运用所学知识,对电子时钟进行创新设计和优化。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发学习热情,形成积极探索的精神。
2. 学生认识到科技发展对生活的影响,增强社会责任感和创新意识。
3. 学生通过课程学习,培养时间观念,提高自我管理和自律能力。
课程性质:本课程为电子技术实践课程,注重理论联系实际,培养学生的动手能力和创新能力。
学生特点:五年级学生具备一定的逻辑思维能力和动手能力,对新鲜事物充满好奇,但需引导和激发。
教学要求:结合学生特点,以实践为主,注重启发式教学,引导学生主动探究,培养创新精神和团队协作能力。
通过课程目标的分解和实施,确保学生达到预期学习成果。
二、教学内容本课程教学内容分为四个部分:第一部分:电子时钟基础知识1. 介绍电子时钟的组成、原理及发展历程。
2. 学习电子时钟的核心元件:时钟芯片、晶体振荡器、显示屏等。
第二部分:电子时钟电路设计与组装1. 分析电子时钟电路原理图,理解电路各部分功能。
2. 学习并掌握电子时钟的组装方法,包括焊接、调试等步骤。
3. 选用合适的材料和工具,进行电子时钟的组装实践。
第三部分:电子时钟程序设计1. 学习时钟芯片编程基础知识,掌握时钟芯片的设置与调试。
2. 设计简单的电子时钟程序,实现时间显示、闹钟等功能。
第四部分:创新设计与展示1. 鼓励学生进行电子时钟的创新设计,优化功能、外观等方面。
2. 学生展示自己的设计成果,分享设计经验,互相学习。
教学内容依据教材相关章节进行组织,确保科学性和系统性。
微机原理课程设计-电子时钟
一、设计的目的要求学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
该系统的要求利用8253定时器设计一个具有时、分、秒显示的电子时钟,并定义一个启动键,当按下该键时时钟从当前设定值(可在显示缓冲区中予置)开始走时。
二、系统的主要功能该系统是一个简单的利用8253定时器、8255可并行通信接口和中断控制器8259设计的电子时钟系统,在该系统中设有一个启动键,启动键未按下时,显示初始化界面“HELLO”;当按下启动键时,8253定时器开始计时(8253的初值为10000,接1MHz的脉冲,即当8253计满100时正好是1S),当计时计满100时,8259便产生一次中断,在LED显示器便显示系统预先设计好的初始值“02.59.55”便开始从秒位开始加1,当加到10S时,10s位加1,加到60S 时分位加1,同时秒位清零。
该系统主要接口部件有:可并行通信接口8255一片,计数器/定时器8253一片,中断控制器8259一片,七段LED数码管显示器6个以及译码电路等。
其中各个部件的初始化如下:1、可并行通信接口8255的控制字是方式选择控制字,A口工作在方式0(即基本输入输出方式)下,并且为输出状态,B口工作在方式0下,为输出口,C口为输出口,其初始化为:8255控制口地址为20bhA端口地址为208hB端口地址为209hC端口地址为20ahmov dx,20bhmov al,10000001bout dx,al2、做为计数器的计数器/定时器8253,在设置好计数初值(即定时常数)后,便开始减1计数,为0时,输出一个信号;控制字设置:BCD为设置为计数值为二进制格式,模式选择为模式2(即为分频器,当控制字写入后,输出段OUT变为高电平作为初始状态,当计数初值写入初值寄存器后,下一个时钟脉冲时,计数初值被写到计数执行部件,然后计数执行部件做减1计数,减到1时,输出端OUT变为低电平;完成一次计数过程后,输出端OUT又变为高电平,开始一个新的计数过程,由此可以周而复始的进行下去),读写指示位为先写低8位字节,在读写高8位字节,计数器选择计数器0。
电子时钟课程设计51
电子时钟课程设计51一、课程目标知识目标:1. 学生能够理解电子时钟的基本原理,掌握电子时钟的组成和功能。
2. 学生能够描述电子时钟中数字显示技术的基本原理,如LED、LCD显示。
3. 学生能够解释电子时钟中时间计算和校准的方法。
技能目标:1. 学生能够运用所学知识,设计简单的电子时钟电路,并进行组装和调试。
2. 学生能够运用编程语言,编写简单的电子时钟程序,实现时间显示和校准功能。
3. 学生能够通过实际操作,培养动手能力和问题解决能力。
情感态度价值观目标:1. 学生能够培养对电子技术的兴趣,提高对科学探究的热情。
2. 学生能够认识到电子时钟在生活中的广泛应用,增强学以致用的意识。
3. 学生能够养成团队协作、沟通交流的良好习惯,培养合作精神。
分析课程性质、学生特点和教学要求:本课程为电子技术相关课程,结合学生所在年级的知识深度,注重理论联系实际,提高学生的动手实践能力。
课程针对的学生群体具有一定物理基础和编程能力,对电子技术有一定了解。
教学要求注重培养学生的创新能力、问题解决能力和团队协作能力。
二、教学内容1. 电子时钟原理及组成- 介绍电子时钟的基本工作原理,包括时钟振荡器、分频器、计数器、显示器等组成部分。
- 分析电子时钟中晶振的作用,探讨如何实现精确的时间计数。
2. 数字显示技术- 介绍LED和LCD显示技术的基本原理,对比分析两种显示技术的优缺点。
- 学习数字显示电路的设计,掌握如何驱动LED和LCD显示数字。
3. 时间计算与校准- 学习电子时钟中时间计算的方法,如秒、分、时的计算。
- 探讨电子时钟校准的原理和方法,了解实时时钟芯片(RTC)的应用。
4. 电子时钟电路设计与组装- 制定电子时钟电路设计方案,选择合适的元器件。
- 学习电路图的绘制,进行电路组装和调试。
5. 电子时钟编程- 使用编程语言(如C语言)编写电子时钟程序,实现时间显示和校准功能。
- 学习如何在微控制器上运行程序,实现电子时钟的实时显示。
微机原理课程设计电子时钟的设计
《微机原理》课程设计——电子时钟的设计(2005-6-24) 山东科技大学机电学院js02-2 20号一.课程设计题目:电子钟1.设计目的:了解定时/计数器和中断的使用。
2.设计所需设备:PC机。
3.设计任务:编写程序,在PC机上显示时间。
二.程序内容:第一部分:定义显示界面。
第二部分:调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区。
第三部分:将存在系统内存区的时间数用显示字符串的形式显示出来。
第四部分:获取键盘的按键值,判断键值并退出系统。
三.程序设计原理:首先在数据段开辟一显示缓冲区,用来存储系统时间。
调用DOS中断,返回系统时间,并将来返回的二进制时间转换成ASCII码,方便时间显示时的调用。
分别将来小时数、分钟数、秒数存入显示缓冲区,并最终存入一结束字符号’$’。
调用DOS字符串显示功能将时间显示出来。
并调用屏幕I/O中断,定位光标的开始位置,结合着将时间显示在我们预先定义好的位置上。
由于获取了的系统时间不会自动刷新,所以我们要设计成刷新的方式来不断获取系统的时间,这样就形成了会跳动的电子钟了。
时间显示的刷新要配合延时程序进行,为了得到良好的显示效果,延时程序要尽量接近1秒,但又不能超过一秒,所以本程序调用了一段较精确的时间延迟程序,屏幕显示延迟一段时间后再跳回到初始位置,再显示,由此循环下去。
程序的最后还设计一了个按“ESC”键就退出的功能,采取了判断键值的方法。
为了显示的美观,还设计一个字符图界面,通过显示字符串的方法显示出来。
本程序具有很强的扩展功能,我们可以在此基础上进行一些输入、输出扩展,显示的扩展,比如可以做成计时器,并设计一个精美的运动的图形界面,时间到了会自动调用PC喇叭发出报警声等等。
但是由于时间的原因,所以只做了核心的部分,这不得不说是一个遗憾。
本程序使用了未来汇编,与VISUAL ASM开发平台。
四.程序设计心得:本程序虽然只花了一天的时间,但是也收获颇多。
微机原理课程设计—电子时钟
时钟控制系统设计一、设计任务及其要求………………………………………………………二、方案比较及评估论证……………………………………………………三、系统工作原理……………………………………………………………四、硬件原理及其电路图……………………………………………………五、软件思想(含流程图和程序)…………………………………………六、调试记录及结果分析……………………………………………………七、参考资料…………………………………………………………………八、芯片资料…………………………………………………………………九、总结………………………………………………………………………一、设计任务及其要求(1)设计一个时钟,可以显示时分秒,年月日,并可以调整。
(2)利用PC系列微机现有的硬件和软件资源,编写程序,使在CRT屏幕上显示XXXX 年XX月:XX日:XX时:XX分:XX秒,并且每秒钟更新一次显示。
(3)编写程序,利用主机内的8253/8254-2的计数器0产生10ms的对称方波输出,该输出送至IRQ0使8259A每10ms产生一次中断,100次中断后秒量+1,然后调整年,月,日,时,分,秒并显示在屏幕上。
程序从按下任意键考试显示数据区中存放的时间值,运行中按下空格键则停止运行返回DOS。
(4)调整程序,直至运行正常。
二、方案比较及评估论证方案一:三、系统工作原理首先在数据段开辟一显示缓冲区,用来存储系统时间。
调用DOS中断,返回系统时间,并将来返回的二进制时间转换成ASCII码,方便时间显示时的调用。
分别将来小时数、分钟数、秒数存入显示缓冲区,并最终存入一结束字符号’$’。
调用DOS字符串显示功能将时间显示出来。
并利用8259A的IR0中断,定位光标的开始位置,结合着将时间显示在我们预先定义好的位置上。
三、硬件原理及其电路图本系统设计的电子时钟以8088微处理器作为CPU,用8253做定时计数器产生时钟频率,8259做中断控制器产生中断。
微机原理课设---指针式的屏显电子钟
微机原理与接口技术(B)课程设计设计题目:指针式的屏显电子钟专业软件工程班级软件122学生指导教师起始时间2015-06-29——2015-07-032015 年春季学期设计任务题目:指示针的屏显电子钟1)在屏幕上显示一个适当大小的椭圆形界面,椭圆形轨道上,均匀的分布着60个“点”,代表1秒~60秒的位置,凡是5倍数的“点”,应当比其他的“点”稍大。
2)以椭圆的中心为轴,画一条线代表“秒针”,采用定时中断的方式,每过一秒钟,秒钟移动一个位置,同时系统发出“嘀——嗒”的声音,如果相应的“点”能改变颜色,则动感更强。
3)定时源可以使用系统的定时源。
按下“Esc”键之后,结束演示。
个人分工:曹晗:设计API函数框架的调用和代码的编写,设计表盘上画点的算法,以及代码编写。
翟李欣:设计系统总体的流程图,编写计算圆点坐标以及程序中的画线函数。
评语(教师填写)目录一、实验目的 (3)二、实验内容及要求 (3)三、课设基本思想 (3)四、系统程序流程图 (5)五、个人分工 (6)1.分工一 (6)2.分工二 (11)六、程序源代码 (16)七、实验结果 (32)八、心得体会 (33)九、参考文献 (34)一、实验目的1)学习系统驻留的方法。
2)了解BIOS中时间参数的调用方法。
3)了解屏幕画图的方法对于本次应用的科目微机原理与接口技术来说,因为需要应用Win32 汇编语言技术来编写代码实现功能,所以要掌握这门语言。
并且要用到Windows API 接口的许多函数,所以要掌握一部分函数的调用方法及实现的功能。
检验和提高汇编语言程序设计能力,和微机原理与接口技术应用方面的分析问题与解决问题的能力,掌握32位汇编语言,完成软件的设计要求、编码和测试等。
二、实验内容及要求1)在屏幕上显示一个适当大小的椭圆形界面,椭圆形轨道上,均匀的分布着60个“点”,代表1秒~60秒的位置,凡是5倍数的“点”,应当比其他的“点”稍大。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010级微机原理课程设计实验报告设计题目:电子时钟设计班级:电信10102班分组名单:2012-6-28目录第一章设计部分1.1 设计目的 (1)1.2设计要求 (1)1.3设计思路 (1)第二章实现部分2.1、分析论证2.1.1显示模块 (1)2.1.2时钟运算模块 (1)2.1.3对时模块 (2)2.2、原理说明 (2)2.3、设计电路图 (2)2.3.18086最小工作方式 (2)2.3.2秒脉冲发生器 (3)2.3.3时、分调整电路 (3)2.3.4.显示电路 (4)2.4、元件功能说明2.4.1.8253的主要功能 (4)2.4.2.D触发器74ls273管脚排列图及功能表介绍 (5)2.4.3单向总线驱动器74ls244功能介绍 (5)2.5、程序清单 (6)2.6、调试过程遇到问题及解决方法 (9)第三章电子时钟使用说明3.1电子时钟按键说明第四章学习心得附录参考文献 (9)第一章设计部分1.1 设计目的学习掌握protues软件功能及其使用方法熟练掌握TND86/88教学系统的基本操作和调试程序的各种指令。
熟练掌握8086CPU的使用与编程调试程序的方法。
掌握8253定时/计数器的工作原理、工作方式及其应用编程。
练习7SEG-MPX8-CA-RED数码管的显示编程方法。
1.2、设计要求利用8253定时器设计一个具有时、分、秒显示的电子时钟,并定义一个启动键,当按下该键时时钟从当前设定值(可在显示缓冲区中予置)开始走时。
1.3、设计思路电子时钟主要由显示模块、对时模块和时钟运算模块三大部分组成。
其中对时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。
这样,才能循环记时。
显示时利用7段显示器显示六位十进制数据。
前两个显示小时,中间两个显示分钟,后两个显示秒。
时钟的运算是利用中断来实现的,利用8253的模式三输出一定频率的方波作为触发中断的条件。
8253A可编程定时/计数器的输入时钟为100KHz,设定时/计数器0的计数初值为100,工作在方式3,即方波发生器,其输出的1KHz方波作定时/计数器2的时钟。
定时/计数器2的初值设为1000,工作在方式2,即每隔1s输出负脉冲,取反后用作不可屏蔽中断的中断申请信号,在中断服务程序中计算时间,并通过74ls273并行输出到数码管显示。
第二章实现部分2.1、分析论证2.1.1、显示模块利用数码管的显示功能来设计。
数码管是由八个条形发光二极管组成的,这些发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。
通过在这八个发光二极管的阳极加+5 V或0 V的电压使不同的二极管发光,形成不同的字符和数字。
电子时钟用到的是0到9十个数字,他们所对应的字符表依次是3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。
该模块显示时先将保存在数据单元的当前时间包括小时和分钟读取出来,把十六进制数字转化成十进制用四个字节分别存放小时和分钟,并把这四个数值通过74ls273端口输出给数码管显示。
2.1.2、时钟运算模块该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟的内存单元里,以便显示模块即时地显示出来。
该模块可以细分为秒定时模块和运算模块。
秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现,选择的是8253定时/计数器,但又因为8253所能提供的信号的周期时毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。
中断信号是8253的计数器2工作方式为方式2时,同过设置计数器2的初值来产生一个1s的脉冲信号。
运算模块负责时、分、秒的计算,该模块主要通过8086的NMI信号中断来实现,首先将秒定时模块提供的中断信号为8086的NMI中断请求信号。
但由于每1s一次中断请求。
所以在中断服务程序必须利用已申请内存单元count来统计中断请求的次数,只有当count 的值为1000时,才能让秒单元内的数值加1。
另外,在中断服务程序里,必须对秒、分和时的单元内的数值进行判断,当秒加到60时,分必须加1 、秒清零;当分加到60时,时加1、分清零。
当时加到24啊,直接清零。
2.1.3、对时模块该模块主要功能是修改小时、分钟内存单元的数值。
在对时的时候,秒继续走时,并且在对分进行调整的时,时单元内的数值不变。
由以上分析可见,对时、分的调整用两个优先级高于NMI 的中断来完成。
两个中断源的中断请求信号只需直接接在两个按键即可起到对时作用。
2.2、原理说明电子时钟主要由74ls273锁存器、8253定时/计数器、74ls244反相器、LED数码显示管和两个按键组成。
主要用8086的NMI的中断服务程序完成秒、分、时的运算即计时功能,两个开关的中断服务程序完成调时、调分功能。
8253用来产生1s的脉冲信号作为NMI的中断请求信号。
74ls273负责将内存里的时位和分位秒位值输出到数码管。
2.3、设计电路图电子时钟的完整电路图如下:2.3.1.8086最小工作方式2.3.2秒脉冲发生器2.3.3时、分调整电路2.3.4.显示电路2.4、元件功能说明2.4.1、8253的主要功能:可编程定时器/计数器,其定时与计数功能可由程序灵活地设定,设定后与CPU并行工作,不占用CPU的时间。
计数器2工作在模式3方式下,提供计算一秒的中断请求信号。
2.4.2、D触发器74ls273管脚排列图及功能表介绍74LS273是一种带清除功能的8D触发器,1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作数据锁存器,地址锁存器。
2.4.3、单向总线驱动器74ls244功能介绍74LS244是8路3态单向缓冲驱动,也叫做总线驱动门电路或线驱动。
简单地说,它有8个输入端,8个输出端,可以增加信号的驱动能力.为单向驱动。
A为输入,Y为输出,高电平有效。
2.5、程序清单-/.MODEL SMALL.8086.STACK.CODE.STARTUPNMI_INIT:PUSH ES;nmi不可屏蔽中断向量表初始化XOR AX,AXMOV ES,AXMOV AL,02HXOR AH,AHSHL AX,1SHL AX,1MOV SI,AX ;相当于cs,ip入栈MOV AX,OFFSET NMI_SERVICE;调用中断处理程序MOV ES:[SI],AXINC SIINC SIMOV BX,CS ;?MOV ES:[SI],BXPOP ES;定时器初始化MOV AL,00110111BMOV DX,0406HOUT DX,ALMOV DX,0400HMOV AX,0100HOUT DX,ALMOV AL,AHOUT DX,ALMOV AL,10110101BMOV DX,0406HOUT DX,ALMOV DX,0404HMOV AX,1000HOUT DX,ALMOV AL,AHOUT DX,ALLOOP0: ;主任务CALL KEYCALL DISPJMP LOOP0NMI_SERVICE: ;中断服务程序PUSH AXMOV AL,SECADD AL,1DAAMOV SEC,ALCMP SEC,60HJB EXITMOV SEC,0MOV AL,MINADD AL,1DAAMOV MIN,ALCMP MIN,60HJB EXITMOV MIN,0MOV AL,HOUADD AL,1DAAMOV HOU,ALCMP HOU,24JB EXITMOV HOU,0EXIT:POP AXIRETDISP PROC NEARMOV AL,0FFH ;不显示MOV DX,0201HOUT DX,ALMOV BL,SECAND BX,000FHMOV SI,BXMOV AL,SITUATION[SI] ;段码MOV DX,0200HOUT DX,ALMOV AL,0FEH ;秒个位MOV DX,0201HOUT DX,ALCALL DELAYMOV AL,0FFH ;不显示MOV DX,0201HOUT DX,ALMOV BL,SECAND BX,00F0HMOV CL,4SHR BX,CLMOV SI,BXMOV AL,SITUATION[SI] ; 段码MOV DX,0200HOUT DX,ALMOV AL,0FDH ; 秒十位MOV DX,0201HOUT DX,ALCALL DELAYMOV AL,0FFH ;不显示MOV DX,0201HOUT DX,ALMOV AL,40H ;段码MOV DX,0200HOUT DX,ALMOV AL,0FBH ;秒个位MOV DX,0201HOUT DX,ALCALL DELAYMOV AL,0FFH ;不显示MOV DX,0201HOUT DX,ALMOV BL,MINAND BX,000FHMOV SI,BXMOV AL,SITUATION[SI] ;段码MOV DX,0200HOUT DX,ALMOV AL,0F7H ;分个位MOV DX,0201HOUT DX,ALCALL DELAYMOV AL,0FFH ; 不显示MOV DX,0201HOUT DX,ALMOV BL,MINAND BX,00F0HMOV CL,4SHR BX,CLMOV SI,BXMOV AL,SITUATION[SI] ; 段码MOV DX,0200HOUT DX,ALMOV AL,0EFH ;分十位MOV DX,0201HOUT DX,ALCALL DELAYMOV AL,0FFH ;不显示MOV DX,0201HOUT DX,ALMOV AL,40H ; 段码MOV DX,0200HOUT DX,ALMOV AL,0DFH ;秒个位MOV DX,0201HOUT DX,ALCALL DELAYMOV AL,0FFH ;不显示MOV DX,0201HOUT DX,ALMOV BL,HOUAND BX,000FHMOV SI,BXMOV AL,SITUATION[SI] ; 段码MOV DX,0200HOUT DX,ALMOV AL,0BFH ;时个位MOV DX,0201HOUT DX,ALCALL DELAYMOV AL,0FFH ; 不显示MOV DX,0201HOUT DX,ALMOV BL,HOUAND BX,00F0HMOV CL,4SHR BX,CLMOV SI,BXMOV AL,SITUATION[SI] ;段码MOV DX,0200HOUT DX,ALMOV AL,07FH ; 时十位MOV DX,0201HOUT DX,ALCALL DELAYRETDISP ENDPKEY PROC NEARMOV DX,0600HIN AL,DXTEST AL,01HJNZ NEXTHOUCALL DISP ;消抖CALL DISPCALL DISPMOV DX,0600HIN AL,DXTEST AL,01HJNZ NEXTHOUMOV AL,MINADD AL,1 ;分调整DAAMOV MIN,ALCMP MIN,60HJB NEXTHOUMOV MIN,0NEXTHOU:MOV DX,0600HIN AL,DXTEST AL,02HJNZ EXITKEYCALL DISP ;消抖CALL DISPCALL DISPMOV DX,0600HIN AL,DXTEST AL,02HJNZ EXITKEYMOV AL,HOUADD AL,1DAA ;时调整MOV HOU,ALCMP HOU,24HJB NEXTHOUMOV HOU,0EXITKEY:RETKEY ENDPDELAY PROC NEAR ;定时子程序PUSH BXPUSH CXMOV BX,1LP1:MOV CX,469LP2:LOOP LP2DEC BXJNZ LP1POP CXPOP BXRETDELAY ENDP.DATASEC DB 00HMIN DB 00H HOU DB 23HSITUATIONDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH, 40HSIT_END=$END-/2.6、调试过程遇到问题及解决方法将编写好的源程序输入,编译后出现很多问题,经过反复修改程序终于运行通过。