微机原理课设-电子秒表
- 格式:doc
- 大小:150.00 KB
- 文档页数:39
电子技术秒表课程设计一、课程目标知识目标:1. 学生能理解并掌握电子秒表的基本原理,包括计时电路、控制电路和显示电路的组成及功能。
2. 学生能够运用所学知识,分析并设计简单的电子秒表电路。
3. 学生了解电子秒表中涉及的电子元器件,如晶体管、电容、电阻等,并掌握其作用及使用方法。
技能目标:1. 学生能够运用protel或其他电路设计软件绘制电子秒表的原理图和PCB 图。
2. 学生能够根据电路图,正确搭建和调试电子秒表电路,实现计时、清零、启动等功能。
3. 学生能够通过小组合作,共同解决问题,提高团队协作能力和沟通能力。
情感态度价值观目标:1. 学生培养对电子技术的兴趣和热情,激发创新意识和探索精神。
2. 学生通过实践操作,体会电子技术的实用性和趣味性,增强学习自信心。
3. 学生在课程学习中,树立正确的价值观,认识到技术对生活的改变和影响。
本课程针对高中年级学生,结合电子技术课程内容,注重理论与实践相结合,提高学生的动手操作能力和实际应用能力。
课程目标具体、可衡量,旨在帮助学生全面掌握电子秒表的相关知识,为后续深入学习电子技术打下坚实基础。
二、教学内容本章节教学内容主要包括以下三个方面:1. 电子秒表基本原理:- 计时电路原理,包括振荡器、分频器、计数器等组成部分;- 控制电路原理,包括启动、停止、清零等功能实现;- 显示电路原理,涉及LED数码管、LCD显示屏等显示器件。
2. 电子元器件及其应用:- 晶体管、电容、电阻等基本元器件的作用及使用方法;- 集成电路、门电路等在电子秒表中的应用;- 电池、电源模块为电子秒表提供稳定电源。
3. 实践操作与电路设计:- 使用protel软件绘制电子秒表原理图和PCB图;- 根据原理图,搭建和调试电子秒表电路,实现计时、清零、启动等功能;- 小组合作,共同解决电路设计及调试过程中遇到的问题。
教学内容依据课程目标,参照教材相关章节进行组织。
具体安排如下:- 第一周:电子秒表基本原理学习,了解各部分电路功能;- 第二周:电子元器件学习,掌握其在电路中的应用;- 第三周:实践操作,绘制原理图、PCB图,搭建电路;- 第四周:电路调试与优化,小组合作解决问题。
沈阳航空航天大学课程设计报告课程设计名称:微机系统综合课程设计课程设计题目:电子秒表院(系):计算机学院专业:计算机科学与技术班级:04010101学号:2010040101024姓名:指导教师:訾学博完成日期:2013年7月5日目录第1章总体设计方案 (1)1.1课程设计的内容和要求 (1)1.2设计原理 (1)1.3设计思路 (2)1.4实验环境 (3)第2章详细设计方案 (4)2.1主程序设计 (4)2.2功能模块的设计与实现 (5)2.3程序连线图 (7)第3章结果测试及分析 (9)3.1结果测试 (9)3.2结果分析 (9)参考文献 (10)附录 (11)第1章总体设计方案1.1 课程设计的内容和要求一、课程设计内容:设计一个带时间显示的电子秒表,具体内容如下:1.电子秒表的初始状态为零,分别显示分、秒、毫秒;2.设计一个按钮,按第一次开始计时,按第二次计时暂停,显示当前记录的时间,按第三次计时停止,回到初始态;3.有时间显示的功能,当不用电子秒表的功能时,显示当先的时间,分别为时、分、秒形式。
二、课程设计要求:1.独立完成课程设计任务;2.通过老师当场验收;3.交出完整的课程设计报告。
1.2 设计原理根据课程设计任务书的内容与要求,要设计一个带时间显示的电子秒表,设计一个按钮带有计时开始、计时暂停、计时清零功能,还要可以进行时钟显示。
在本次设计中主要使用了8253定时/计数器芯片、8259A中断控制芯片以及8279键盘/显示芯片来完成电子秒表的计时过程和时钟显示过程的模拟。
程序开始时扫描键盘判断是否按键,如有则读出相应的控制键,来决定做什么操作,例如开始计时、暂停计时、停止计时、时钟显示等等。
利用8253定时/计数器芯片实现分频功能,使其产生100HZ(10毫秒)的方波,使计时周期为10ms;利用8259A中断控制芯片产生中断响应,通过8253控制8259每10毫秒产生一次中断,使秒表加1,实现计时功能;利用8279键盘/显示芯片在数码管上进行显示,将秒表的计时过程、时钟的当前时间显示在数码管上。
电子秒表设计课程设计一、课程目标知识目标:1. 学生能理解电子秒表的基本原理和功能,掌握计时器的工作流程。
2. 学生能够运用所学的电子元件和电路知识,设计并搭建一个简易的电子秒表。
3. 学生能够解释电子秒表中涉及的时间单位,如秒、分、时,并掌握它们之间的换算关系。
技能目标:1. 学生能够运用问题解决和团队合作的能力,完成电子秒表的电路设计和组装。
2. 学生通过实际操作,提升动手能力和实验技能,能够准确使用工具进行电子电路的搭建。
3. 学生能够通过编写简单程序或使用相关软件,实现对电子秒表的编程和功能调试。
情感态度价值观目标:1. 学生培养对电子技术和创新实践的热爱,增强对科学探究的兴趣。
2. 学生在学习过程中,发展耐心、细心和责任感,认识到精确计时在科学研究和技术发展中的重要性。
3. 学生通过小组合作,培养团队协作精神,尊重他人意见,学会共同解决问题。
课程性质:本课程是一门实践性与理论性相结合的综合性课程,旨在通过实际操作,使学生理解电子计时器的原理和应用。
学生特点:考虑到学生年级特点,他们已经具备一定的物理知识和动手能力,但需进一步培养创新思维和实际应用技巧。
教学要求:教学中应注重理论与实践的结合,鼓励学生主动探索,注重培养学生解决实际问题的能力和科学探究精神。
通过具体的学习成果,将课程目标转化为可观察、可评估的指标,为教学设计和评估提供依据。
二、教学内容本课程教学内容主要包括以下几部分:1. 电子秒表原理介绍:讲解计时器的基本工作原理,如振荡器、计数器、时钟脉冲等,关联课本第三章关于数字电路的内容。
2. 电子元件认知:学习常用电子元件如电阻、电容、二极管、三极管等,并了解它们在电子秒表中的作用,对应课本第二章电子元件的知识点。
3. 电路设计与搭建:根据电子秒表的功能需求,设计电路图,选用合适的电子元件进行电路搭建,结合课本第四章的电路设计原理。
4. 程序编写与调试:学习编写简单的程序或使用相关软件,实现对电子秒表的编程和功能调试,关联课本第五章关于微控制器的基础知识。
微机原理秒表时钟课程设计一、课程目标知识目标:1. 学生能理解微机原理中秒表时钟的基本工作原理,掌握其硬件组成和软件编程方法。
2. 学生能够掌握秒表时钟的设计思路,了解其功能模块的划分和实现。
3. 学生能够了解微机原理在实际应用中的重要性,认识到秒表时钟在日常生活和工程领域的应用价值。
技能目标:1. 学生能够运用所学知识,设计并实现一个简单的秒表时钟程序,具备基本的编程能力。
2. 学生能够通过分析问题、解决问题,培养创新思维和动手实践能力。
3. 学生能够熟练使用相关硬件设备,提高实际操作能力。
情感态度价值观目标:1. 学生通过本课程的学习,培养对微机原理的兴趣,激发学习热情,形成积极的学习态度。
2. 学生能够认识到团队合作的重要性,学会与他人协作,培养团队精神和沟通能力。
3. 学生能够在实际操作过程中,培养耐心、细心和责任心,养成良好的学习习惯。
课程性质:本课程为实践性课程,注重理论联系实际,培养学生的动手能力和创新意识。
学生特点:本年级学生已具备一定的微机原理基础知识,具有较强的学习能力和求知欲,喜欢动手实践。
教学要求:结合学生特点,以实际操作为主线,注重培养学生的编程能力和团队协作能力,提高学生的实际应用能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的达成。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容本课程教学内容主要包括以下几部分:1. 微机原理基础知识回顾:引导学生复习已学过的微机原理基础知识,如微处理器、存储器、输入输出接口等,为后续学习秒表时钟设计打下基础。
相关教材章节:第一章 微机原理概述2. 秒表时钟硬件组成:讲解秒表时钟的硬件组成,包括时钟芯片、微处理器、显示模块等,分析各部分的功能和相互关系。
相关教材章节:第三章 微机接口技术3. 秒表时钟软件编程:介绍秒表时钟的软件编程方法,包括编程语言选择、程序结构设计、功能模块划分等。
相关教材章节:第五章 嵌入式系统编程4. 实践操作:安排学生进行实际操作,设计并实现一个简单的秒表时钟程序,培养学生的动手能力和编程技巧。
微机原理电子秒表课程设计电子秒表设计报告设计要求:用89C51,外接晶振,复位电路,二个数码管,二个按键,做一个电 子秒表,具体要求为用按键起停电子表,可用按键设计倒计时时间 (如10S, 20S, 60S),并启动倒计时功能。
能用按键选择以上两功能 之一。
实现原理:利用12M 晶振的一个机器周期为 1微秒,经过循环产生1秒时 间延迟,扫描单片机中所存放的时间的值 (可正记时,也可倒计时), 并经过输出显示在数码管上。
电路图:PO.O — P0.7对应了两个接数码管的A,B,C,D,E,F,G 和小数点位P2.6接显示个位数的数码管的 3、8引角,P2.7则接十位数的。
P3. &F3. VITIL1C1C王晶掘P3.6、P3.7分别接按键 流程框图:ZZE : |Y|初疏<_按键2圣否按下?”>灌气計时. ADC "丸?程序代码:A_BIT EQU 20H ;数码管个位数存放内存位置 B_BIT EQU 21H ;数码管十位数存放内存位置 TEMP EQU 22H ;计数器数值存放内存位置ZEE功能:初箱化¥ J 功能2 IF杖结化 按键1是否按下?〉 按谴z 星否按下?^按堤1是否按下?;显示題序 * ~计贬开始 「 伽1是否初?;开机初始化MOV P3,#0FFH; 对P3 口初始化,设置为高电平,用于按键输入MOV P0,#0FFH; 使显示时间数码管熄灭;等待按键输入;根据按键的输入判断执行什么功能;按键1 按下则执行功能1START:JB P3.6,$;循环判断开始按钮K1是否按下?ACALL DELAY10; 延时10 毫秒触点消抖JB P3.6,START1;如果是干扰就返回JNB P3.6,$;等待按键松开LJMP GN15按键 2 按下则执行功能2START1: JB P3.7,$;循环判断开始按钮K2是否按下?ACALL DELAY10; 延时10 毫秒触点消抖JB P3.7,START;如果是干扰就返回JNB P3.7,$LJMP GN2;数码管显示秒表时间的程序GN1: ; 先初始化MOV P3,#0FFH; 对P3 口初始化,设置为高电平,用于按键输入MOV P0,#0FFH; 使显示时间数码管熄灭MOV A,#0MOV TEMP,AGOON1: MOV R2,#2JS1: MOV R3,#250TIME1: MOV A,TEMP ; 将TEMP 中的十六进制数转换成10 进制MOV B,#10 ;10 进制/10=10 进制DIV ABMOV B_BIT,A ; 十位在AMOV A_BIT,B ; 个位在BMOV DPTR,#NUMTAB ; 指定查表启始地址MOV R0,#4DPL1: MOV R1,#250 ;DPLOP1: MOV A,A_BIT ; 取个位数MOVC A,@A+DPTR ; 查个位数的7 段代码MOV P0,A ; 送出个位的7 段代码MOV P0,A ; 送出个位的7 段代码CLR P2.7 ; 开个位显示ACALL DELY1; 显示1 毫秒SETB P2.7; 关闭个位显示,防止鬼影MOV A,B_BIT ; 取十位数MOVC A,@A+DPTR ; 查十位数的7 段代码MOV P0,A ; 送出十位的7 段代码CLR P2.6 ; 开十位显示ACALL DELY1; 显示1 毫秒SETB P2.6; 关闭十位显示,防止鬼影; 插入一段判断定时过程中是否有按键输入的程序段C1: JB P3.6,B1ACALL DELAY10; 延时10 毫秒消抖JB P3.6,C1JNB P3.6,$; 等待按键松开ZT1: MOV P3,#0FFH;对P3 口初始化,设置为高电平,用于按键输入JB P3.6,$;循环判断开始按钮K1是否按下?ACALL DELAY10; 延时10 毫秒触点消抖JB P3.6,ZT1;如果是干扰就返回JNB P3.6,$;等待按键松开B1: JB P3.7,LOOP1ACALL DELAY10; 延时10 毫秒消抖JB P3.7,B1JNB P3.7,$;等待按键松开AJMP OVERLOOP1: DJNZ R3,TIME1 ;2 毫秒循环执行250次,时间约0.5秒DJNZ R2,JS1 ;循环执行2次,时间为1 秒钟INC TEMP; 满一秒钟对时间加1MOV A,TEMPCLR CSUBB A,#60JNZ GOON1; 判断TEMP 的数值是否为60?不为60循环ACALL OVERRETGN2: MOV A,#14H ; 设定倒计时的时间20SMOV TEMP,A;数码管显示倒计时时间的程序; 初始化MOV P3,#0FFH; 对P3 口初始化,设置为高电平,用于按键输入MOV P0,#14H; 使显示时间为设定的倒计时时间GOON2: MOV R2,#2JS2: MOV R3,#250TIME2: MOV A,TEMP ; 将TEMP 中的十六进制数转换成10 进制MOV B,#10 ;10 进制/10=10 进制DIV ABMOV B_BIT,A ; 十位在AMOV A_BIT,B ; 个位在BMOV DPTR,#NUMTAB ; 指定查表启始地址MOV R0,#4DPL2: MOV R1,#250 ;DPLOP2: MOV A,A_BIT ; 取个位数MOVC A,@A+DPTR ; 查个位数的7 段代码MOV P0,A ; 送出个位的7 段代码MOV P0,A ; 送出个位的7 段代码CLR P2.7 ; 开个位显示ACALL DELY1; 显示1 毫秒SETB P2.7; 关闭个位显示,防止鬼影MOV A,B_BIT ; 取十位数MOVC A,@A+DPTR ; 查十位数的7 段代码MOV P0,A ; 送出十位的7 段代码CLR P2.6 ; 开十位显示ACALL DELY1; 显示1 毫秒SETB P2.6; 关闭十位显示,防止鬼影; 插入一段判断定时过程中是否有按键输入的程序段C2: JB P3.6,B2ACALL DELAY10; 延时10 毫秒消抖JB P3.6,C2JNB P3.6,$; 等待按键松开ZT2: MOV P3,#0FFH;对P3 口初始化,设置为高电平,用于按键输入JB P3.6,$;循环判断开始按钮K1是否按下?ACALL DELAY10; 延时10 毫秒触点消抖JB P3.6,ZT2;如果是干扰就返回JNB P3.6,$;等待按键松开B2: JB P3.7,LOOP2ACALL DELAY10; 延时10 毫秒消抖JB P3.7,B1JNB P3.7,$;等待按键松开AJMP OVERLOOP2: DJNZ R3,TIME2 ;2 毫秒循环执行250 次,时间约0.5秒DJNZ R2,JS2 ;循环执行2次,时间为1 秒钟DEC TEMP; 满一秒钟对时间加1MOV A,TEMPJNZ GOON2; 判断TEMP 的数值是否为0?不为0 循环ACALL OVERRET;结束定时OVER: AJMP START; 退到开机初始化状态;1 毫秒延时子程序DELY1: MOV R4,#2D1:MOV R5,#248DJNZ R5,$DJNZ R4,D1RET;10 毫秒延时子程序DELAY10: MOV R4,#20D2:MOV R5,#248DJNZ R5,$DJNZ R4,D2RET;实验板上的两位一体的数码管0〜9各数字的显示代码NUMTAB:DB 30H,0FCH,0A2H,0A4H,06CH,25H,21H,0BCH,20H,24HEND。
微机原理课程设计报告(电⼦秒表)⼀、设计⽬的培养和锻炼在学习完本门课后综合应⽤所学理论知识,解决实际⼯程设计和应⽤问题的能⼒。
通过课程设计,要求熟悉和掌握微机系统的软件、硬件设计的⽅法、设计步骤,得到微机开发应⽤⽅⾯的初步训练。
掌握8255、8259、8253等芯⽚使⽤⽅法和编程⽅法,通过本次课程设计,学以致⽤,进⼀步理解所学的相关芯⽚的原理、内部结构、使⽤⽅法等,学会相关芯⽚实际应⽤及编程,系统中采⽤8086微处理器完成了电⼦秒表系统的独⽴设计。
同时并了解综合问题的程序设计掌握实时处理程序的编制和调试⽅法,掌握⼀般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。
⼆、设计内容设计⼀个可任意启动/停⽌的电⼦秒表,要求⽤6位LED数码显⽰,计时单位为1/100秒。
利⽤功能键进⾏启/停控制。
其功能为:上电后计时器清0,当第⼀次(或奇数次)按下启/停键时开始计数。
第2次(或偶数次)按下该键时停⽌计时,再⼀次按启/停键时清零后重新开始计时。
可⽤开关控制,也可⽤按键控制三、设计要求1、基本要求:1)设计可以显⽰1~60秒的⽆存储功能的秒表,最⼩单位为毫秒。
2)通过键盘按键控制秒表清零、暂停、继续,退出等。
其中数字0控制清零,数字1控制继续和退出。
2、提⾼要求:1)秒表可以分组存储、批量显⽰、倒计时等。
2)采⽤图像显⽰,界⾯精美,设置报警声等四、设计原理与硬件电路1、整体设计思想使⽤8253⼯作在⽅式0计数,对1/100S计数,并讲计数值写⼊bl中并与100⽐较若不相等,则将计数值装换为10进制后送8255控制端显⽰,如相等则1S计数程序加1之后并与59⽐较若不相等则将计数值装换为10进制后送8255控制端显⽰,如相等则1min计数程序加1之后并与59⽐较若不相等则将计数值装换为10进制后送8255控制端显⽰,如相等则计数程序加1之后产⽣溢出,跳转清零程序将计数清零,同时数码管清零。
2、使⽤各芯⽚的作⽤及⼯作原理1)定时器/计数器8253⽤系统8253定时器提供的55ms定时单位,设计秒表定时程序。
目录一、设计内容与要求 -----------------------------------------21.1 设计要求1.2 附加功能二、设计原理 -----------------------------------------------22.1 原理概述2.2 延时原理2.3 字符及字符串显示原理2.4 压缩BCD码转为ASCII原理2.5 动态扫描键盘原理2.6 整分报时原理2.7 记忆功能原理三、程序流程图 ---------------------------------------------43.1 主程序流程图3.2 各子程序流程图四、源程序及运行结果----------------------------------------- 7五、程序调试 -----------------------------------------------7六、心得体会 -----------------------------------------------8七、参考资料 ----------------------------------------------10八、附录(源程序代码)---------------------------------------10一、设计内容与要求1.1设计要求1. 具有秒和百分之一秒计时并显示于图案中央2. 具有启/停、复位功能1.2附加功能1. 具有记忆功能,可实现分别记时功能2.具有正分报时功能二、设计原理2.1 原理概述通过调用INT 21H的8号功能实现控制字符的输入, 2号功能实现字符的输出,9号功能实现字符串的输出。
通过调用INT 10H 的2号功能实现光标定位,AH=0H号功能设置显示方式、AH=7H号功能实现向下滚屏、AH=13H号功能实现彩色输出。
利用系统执行指令的时钟周期,编写延时程序,通过调用延时程序实现一秒的计时。
微机原理课程设计电子秒表一、课程目标知识目标:1. 理解微机原理的基本概念,掌握电子秒表的基本工作原理;2. 学会使用微机编程实现电子秒表的计时功能;3. 掌握电子秒表中涉及的时间计算和显示方法。
技能目标:1. 能够运用微机原理设计简单的电子秒表程序;2. 能够对电子秒表进行调试和故障排查;3. 培养学生动手实践能力和团队协作能力。
情感态度价值观目标:1. 激发学生对微机原理和电子制作的兴趣,培养创新意识;2. 培养学生严谨的科学态度和良好的学习习惯;3. 增强学生的自信心,培养克服困难的意志品质。
课程性质:本课程为实践性课程,以学生动手实践为主,结合理论知识,培养学生的实际操作能力和创新能力。
学生特点:学生处于高中年级,具备一定的电子和编程基础,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,引导学生主动参与,提高学生的实践能力和综合素质。
在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。
通过本课程的学习,使学生能够独立完成电子秒表的设计与制作,为后续相关课程打下坚实基础。
二、教学内容1. 理论知识:- 微机原理概述:介绍微机的基本组成、工作原理和特点;- 电子秒表原理:讲解电子秒表的计时原理、硬件组成和软件设计方法;- 编程语言:复习C语言基础知识,强调在微机编程中的应用。
2. 实践操作:- 硬件设计:指导学生设计电子秒表的硬件电路,包括时钟芯片、显示模块等;- 软件编程:教授学生使用C语言编写电子秒表的程序,实现计时、显示等功能;- 调试与优化:教授学生如何对电子秒表进行调试和优化,提高计时的准确性。
3. 教学大纲:- 第一周:微机原理概述,电子秒表原理学习;- 第二周:C语言基础知识复习,硬件设计指导和实践;- 第三周:软件编程教学与实践;- 第四周:调试与优化,总结与评价。
4. 教材章节:- 第一章:微机原理概述;- 第二章:C语言基础知识;- 第三章:电子秒表的硬件设计与软件编程;- 第四章:电子秒表的调试与优化。
目录中文摘要ﻩ错误!未定义书签。
方案论证.................................................... 错误!未定义书签。
总体设计方案............................................ 错误!未定义书签。
硬件系统设计....................................... 错误!未定义书签。
软件系统设计....................................... 错误!未定义书签。
硬件系统原理图ﻩ错误!未定义书签。
程序清单.................................................... 错误!未定义书签。
总结体会.................................................... 错误!未定义书签。
参考文献.................................................... 错误!未定义书签。
中文摘要微机原理与接口技术是一门实践性很强的电子信息工程专业的技术基础课程。
因此,微机接口课程设计是一项实践性很强的实训环节,结合运用所学的汇编语言及8086微处理芯片设计一个电子秒表,通过实践能够加深对汇编语言的理解以及对8086微处理器、8253可编程定时器、8259A可编程中断控制器、8255A可编程并行I/O接口芯片等的基本功能的认识。
本实验利用8253可编程定时器等芯片的定时和记数的原理,结合实验箱上的集成电路芯片8086、LED数码管以及实验箱上的按键来设计秒表。
将软、硬件有机地结合起来,要求实现计时单位为1/100秒,利用功能键进行启/停控制,上电后计时器清0,当第一次按下KEY1启/停键时开始计数,按一下KEY2键清零,重新开始计时,在系统能够正确地进行计时,使5位LED数码管能够正确地显示时间。
微机原理与应用课程设计目录一、设计任务1、计时秒表,具有分、秒和百分之一秒的计时功能。
2、可以在屏幕中央显示计时结果,屏幕显示彩色图案和文字。
3、秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。
二、设计原理1、HALT(启动子程序)2、DIS(宏定义——苹果显示程序)3、DISS(宏定义——字符串的输出)4、CLOUR(字体颜色设置程序)5、IOSET(设置光标位置子程序)6、GO(初始化显示子程序)7、TIME(延时子程序)8、TRAN(压缩BCD码转ASCII码程序)9、复位、停止等功能的实现三、流程图a)主程序流程图b)压缩BCD转ASCII码子程序流程图c)延时子程序流程图四、程序段五、程序调试六、程序运行结果七、心得体会八、参考文献一、设计任务:1.计时秒表,具有分、秒和百分之一秒的计时功能,并可以在屏幕中央显示计时结果。
2.屏幕显示彩色图案和文字。
3.秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。
二、设计原理:本程序的主要设计原理是用主程序完成百分之一秒与秒之间的转换,显示计时结果,实现暂停,暂停再启动,复位,复位再启动的功能,并通过调用一些附加程序,缩减主程序的长度,提高运行效率和精度,现将用到的所有附加程序的原理及其在运行过程中所起到的作用汇总如下:1.DIS(宏定义——苹果显示程序)通过宏调用,实现苹果图案的显示。
在宏定义里,设置一个形参变量,作为移动光标的位置,在下面调用宏中,给予变量X不同的实参,输出苹果图案。
2.DISS(宏定义——字符串的输出)原理同上。
3.CLOUR(字体颜色设置程序)通过字体颜色设置程序,实现屏显字体颜色的改变。
当改变BX值时,字体颜色会改变。
4.HALT(启动子程序)通过启动子程序,实现计时的开始,当从键盘输入一个字符时,判断是否等于S,如果不等,则在循环执行启动子程序中动态等待,直到输入的字符为S 时,计时开始。
5.IOSET(设置光标位置子程序)通过设置光标子程序,来设置显示的区域。
微机课程设计用8086/8088CPU设计一个多功能时钟。
要求实现,日常使用时正确显示的是时、分、秒;根据需要,还可以作为秒表使用;还可以显示日期。
目录一、设计内容要求二、设计思想三、程序流程图(1)时间显示部分(2)日期显示部分(3)数字显示部分四、实验连线图(1)总体线路图(2)8284应用电路(3)74LS138片选部分(4)8255与七段数码管搭配部分电路图(5)8259功能选择部分(6)数据存储部分(7)计数电路(8)CPU的部分连接部分五、连线描述六、按键功能介绍七、心得体会八、参考文献一、设计内容与要求1、设计目的:1) 进一步建立微机系统概念、加深对系统理解和认识,提高微机系统的应用水平。
2) 进一步学习和掌握汇编语言程序的编写和应用的方法,通过较大规模程序的编写,提高汇编语言程序的水平和学习程序调试方法。
3) 进一步熟悉接口、熟悉键盘控制和七段数码管及其他芯片的使用。
2、设计任务:用8086/8088CPU设计一个多功能时钟。
要求实现,日常使用时正确显示的是时、分、秒;根据需要,还可以作为秒表使用;还可以显示日期。
二、设计思想1. 先在数据段开辟存储单元,用来存放时、分、秒、年、月、日等的信息。
这些存储单元分别对应时、分、秒,日期的年、月、日的十位和个位。
调用子程序的清屏部分。
2. 在主程序中分别对8259、8255、8259、8253进行初始化编程。
根据系统功能要求,设置操作字与方式控制字。
3. 8255的A口工作在方式0输出,B口工作在方式0输出,为基本的输入输出方式。
这部分与七段数码管搭配,显示结果。
4. 在中断服务程序中对中断次数进行统计。
当时钟在日常状态和切换到秒表功能时,当产生1次中断时,将秒的个位加1,判断是否到10,如到了则十位加1,个位清零;再判断十位是否到6,如到了则十位清零,分的个位加1,同理对分、时做相应的处理。
该电子钟为12进制的。
当电子表切换到日期功能时,先判断是否是闰年,然后判断是否是二月,最后判断是单月份还是双月份,然后根据闰年366天,闰年2月29天,不是闰年28天,当月份31天,双月份30天进行进位。
电子秒表电路课程设计一、课程目标知识目标:1. 学生能理解电子秒表电路的基本原理,掌握计时器的工作流程及各部分功能。
2. 学生能描述电子秒表电路中主要元件的作用,如晶振、计数器、时钟发生器等。
3. 学生能解释电子秒表中时间计算的方法,包括时、分、秒的显示及转换。
技能目标:1. 学生能运用所学知识,设计简单的电子秒表电路,并进行组装和调试。
2. 学生能通过实际操作,学会使用测试仪器检测电路中的问题,培养解决问题的能力。
3. 学生能运用电路设计软件进行电路图绘制,提高实际操作技能。
情感态度价值观目标:1. 学生在课程学习中,培养对电子技术的兴趣,激发创新意识。
2. 学生在小组合作中,学会沟通与协作,增强团队精神。
3. 学生在电路设计和制作过程中,培养耐心、细致的工作态度,树立安全意识。
本课程针对高年级学生,结合电子技术学科特点,注重理论知识与实践操作的相结合。
课程目标旨在帮助学生掌握电子秒表电路的基本原理和设计方法,提高实际操作能力,同时培养良好的情感态度和价值观。
通过具体的学习成果分解,为教学设计和评估提供明确依据。
二、教学内容本章节教学内容主要包括以下几部分:1. 电子秒表电路原理:介绍电子秒表的基本工作原理,如计时器的计数过程、时钟信号的产生与分配,以及各部分功能模块的作用。
2. 主要元件介绍:详细讲解晶振、计数器(如CD4510、CD4026等)、时钟发生器等主要元件的类型、功能及在电子秒表中的应用。
3. 电路设计与分析:指导学生根据电子秒表的原理,运用所学知识设计电路图,分析电路中各部分之间的联系和影响。
4. 电路组装与调试:教授学生如何进行电子秒表电路的组装、焊接,以及调试过程中需要注意的问题。
5. 故障检测与排除:培养学生运用测试仪器,如万用表、示波器等,对电路进行检测,找出问题并进行排除的能力。
6. 电路设计软件应用:介绍电路设计软件的使用方法,如Multisim、Protel 等,指导学生进行电路图绘制和仿真。
企业管理微机原理电子秒表课程设计微机原理电子秒表是一种电子设备,用于计量时间的精确度。
在企业管理中,秒表经常被用于各种时间管理任务,例如计算生产线的速度、测量员工完成任务所需的时间,以及评估生产效率等。
本文将介绍一个企业管理中使用微机原理电子秒表的课程设计。
一、需求分析在企业管理中,对时间的精确计量是非常重要的。
通过使用微机原理电子秒表,可以获得更加准确和可靠的数据,帮助企业进行合理的时间管理、提高生产效率。
因此,我们需要设计一个功能强大且易于操作的微机原理电子秒表。
二、设计目标1.精确计量:秒表应能够以最高的精确度计量时间,并具备稳定的性能。
2.多功能:秒表应提供多种计量功能,例如计时、计数、速度测量等。
3.易于操作:秒表应具备直观的界面设计和简单的操作方式,使操作人员能够快速上手。
4.数据记录:秒表应能够记录计量的数据,并具备数据存储和导出功能。
三、硬件设计1.控制单元:选择一颗高性能的微处理器作为秒表的控制单元,以实现秒表的各种功能。
2.显示单元:采用液晶显示屏作为秒表的显示单元,显示计时、计数和速度等数据。
3.按键部分:设计简单且易于使用的按键,用于启动和停止计时、计数等操作。
4.外壳设计:选择适合企业使用的外壳材料和结构设计,以确保秒表的耐用性和便携性。
四、软件设计1.初始化程序:秒表应具有初始化程序,用于设置计时单位、显示格式等参数。
2.计时功能:秒表应具备计时功能,并能够实时显示计时结果。
3.计数功能:秒表应具备计数功能,用于记录特定事件的发生次数。
4.速度测量功能:秒表应能够测量特定事件的速度,并实时显示速度结果。
5.数据存储和导出功能:秒表应能够将计量的数据存储在内部存储器中,并能够通过USB接口将数据导出至电脑进行分析和处理。
五、测试与验证设计完成后,需要对秒表进行测试与验证,以确保其在各种情况下都能正常工作,并符合设计目标。
测试的内容包括计时准确性、速度测量准确性、按键操作的可靠性等。
微机原理课程设计报告--秒表设计课程设计报告2013?7>2014 年度第一学期课程: 微机原理及应用题目: 秒表设计院系: 自动化系班级:学号:学生姓名: Acceler 指导教师:设计周数:一周成绩:日期:2014年 1 月 10一、课程设计目的与要求通过对微机系统分析和具体设计,使学生加深对所学课程的理解。
掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。
培养学生分析问题、解决问题的能力。
培养学生对微型计算机应用系统的基本设计能力。
提高学生的实践动手能力和创新能力课程设计正文(一)设计题目:秒表设计:利用实验箱上的小键盘,自定义各按键为启动计时,数据清零,停止并显示。
利用六个数码管显示分、秒、毫秒。
8253产生10ms定时中断,在中断服务子程序中显示秒表计时。
附加部分:加入记录功能,可通过按键记录多次时间,然后在停止计时后,通过键盘上的0,1,2……等按键再把记录的时间取出并显示,达到实际秒表的分别计时功能。
(二)总体设计方案:1. 自定义小键盘中的三个按键分别为启动键、清零键、分别计时键、停止显示键(我们依次选择了MON、LAST、NEXT、RES这三个按键)。
2利用8253产生的10ms的方波来触发8259产生中断,对秒表进行增1操作3动态扫描键盘,判断按键情况,并利用蜂鸣器模拟按键声音4根据按键情况确定要显示的内容, 然后对六位数码管进行扫描显示(三)系统的功能作用:实验箱启动后,六位数码管全部显示为0,如果不对键盘进行操作将始终保持这个状态普通计时功能:按下MON(启动键),数码管开始从零开始显示计时,从左到右依次显示每两位之间用八段数码管的小数点了隔开来作为分、秒、毫秒的区分,按下停止键RES,计时结束,显示停止时的时间。
分记功能:在计时过程中按下分别计时按键NEXT,将按下瞬间的显示值存储起来(最多可取16次),再停止计时后,可通过按下0、1、2等按键依次读出第1次、第2次、第3次按键时记录下的时间,并在数码管上显示,达到实际秒表的分别计时功能。
微机原理课程设计计时秒表一、课程目标知识目标:1. 理解微机原理中计时器的基本工作原理和编程方法;2. 掌握利用微机实现计时秒表功能的相关知识点,如中断处理、定时器计数器的使用;3. 了解微机系统中的时钟概念及其在计时中的应用。
技能目标:1. 能够运用所学知识,设计并编写一个具有启动、停止、计时应答等基本功能的计时秒表程序;2. 培养学生的实际操作能力,通过编程实践掌握微机原理的应用;3. 提高学生分析问题、解决问题的能力,学会调试程序并优化计时精度。
情感态度价值观目标:1. 培养学生对微机原理课程的兴趣,激发学习热情;2. 增强学生的团队合作意识,培养在项目实践中的沟通协调能力;3. 培养学生严谨、求实的科学态度,认识到科技发展对生活的影响。
课程性质:本课程为微机原理课程设计的一部分,侧重于理论与实践相结合,以项目为导向,培养学生的实际操作能力和创新精神。
学生特点:学生已具备一定的微机原理知识基础,具有较强的学习能力和动手能力,但实际编程经验尚不足。
教学要求:结合学生特点,注重实践操作,循序渐进地引导学生掌握计时秒表的设计与实现,强调知识的实用性,提高学生的综合运用能力。
通过课程目标的具体分解,确保学生能够达到预期的学习成果,并为后续教学设计和评估提供明确依据。
二、教学内容本课程教学内容主要包括以下几部分:1. 计时器原理回顾:复习微机原理中定时器/计数器的工作原理,特别关注Intel 8051微控制器中的定时器结构和使用方法。
- 教材章节:第三章“微控制器的基本结构与工作原理”,第四节“定时器/计数器”。
2. 中断处理机制:讲解中断的概念、中断处理过程,以及如何利用中断实现计时功能。
- 教材章节:第四章“中断系统”,第一节“中断的基本概念”,第二节“中断处理过程”。
3. 计时秒表的编程设计:教授如何编写程序,实现计时秒表功能,包括启动、停止、计时应答等。
- 教材章节:第六章“微控制器编程与应用”,第三节“定时器编程”。
微机原理课程设计报告书设计项目:电子秒表院系:山东大学电气工程学院班级:08级2班姓名:韩德帅200808190055冯岩200808190045指导教师:秦安文设计日期:2010年12月目录一、设计任务-------------------------------------------------------------3二、相关功能的介绍----------------------------------------------------3三、设计原理-------------------------------------------------------------31. 原理概述2. 延时程序3. 光标定位子程序原理4. 清屏原理5. 字符及字符串显示原理6. 压缩BCD转为ASCII码原理7. 动态扫描键盘原理四、程序流程图----------------------------------------------------------41.主程序流程图2.各子程序流程图五、程序代码-------------------------------------------------------------5六、程序运行结果------------------------------------------------------14七、程序调试中的问题及解决方法---------------------------------15八、心得收获------------------------------------------------------------15九、参考资料------------------------------------------------------------16一、设计任务1.具有秒和0.1秒计时,并显示在屏幕中央2.具有启(Start)、停(End)功能3.具有暂停(End)、继续(Continue)功能4.具有复位(Restart)功能5.能同时实现多个时间分别计数(M)6.具有记忆功能二、相关功能的介绍该秒表计数功能的实现是通过调用延时程序实现的(为纯软件实现,不能达到准确计数)。
湖南文理学院芙蓉学院微机原理课程设计报告课程名称:电子秒表专业班级:学生学号:学生姓名:指导教师:完成时间:目录第1章总体设计方案 01.1课程设计的内容和要求 01.2课程设计原理 01.3课程设计思路 (1)1.4设计环境 (2)第2章详细设计方案 (3)2.1实现方法 (3)2.2模块的设计与实现 (5)2.2.1主程序模块 (5)2.2.2初始化模块 (6)2.2.3时钟模块 (6)2.2.4秒表模块 (7)2.3程序连线图 (9)第3章调试及结果分析 (10)3.1调试步骤及方法 (10)3.1.1程序的语法错误 (10)3.1.2时钟模块调试过程 (10)3.1.3秒表模块调试过程 (12)3.2实验结果 (13)参考文献 (15)附录(源程序) (17)第1章总体设计方案1.1 课程设计的内容和要求一、课程设计内容:设计一个带时间显示的电子秒表,具体内容如下:1.电子秒表的初始状态为零,分别显示分、秒、毫秒;2.设计一个按钮,按第一次开始计时,按第二次计时暂停,显示当前记录的时间,按第三次计时停止,回到初始态;3.有时间显示的功能,当不用电子秒表的功能时,显示当先的时间,分别为时、分、秒形式。
二、课程设计要求:1.独立完成课程设计任务;2.通过老师当场验收;3.交出完整的课程设计报告。
1.2 课程设计原理题目要求实现电子秒表功能和显示当前时间的功能。
这两部分的共同点是都需要实现时间显示和时间运行功能。
除此之外,电子秒表还需要有开始计时和停止计时功能。
因此电子秒表是本次课程设计的主要部分。
在本次设计中主要使用了8255A并行接口芯片,8253定时/计数器,8259A 中断控制器,8279键盘/显示芯片。
具体原理和功能如下:1.利用8255A芯片实现时钟和秒表之间的切换。
将其连接到一个开关上,读取开关的电位,以此来判断是时钟模式还是秒表模式。
2.利用8253芯片计时。
用8253的分频功能使其产生周期为1s和1ms的方波,分别为时钟和秒表计时。
3.利用8259A芯片接收中断。
中断分为三种类型,分别是一秒一次的时钟计时中断,一毫秒一次的秒表计时中断和控制秒表开始和停止的中断。
4.利用8279芯片在数码管上显示当前时间或秒表时间。
1.3 课程设计思路由于要求实现时钟和秒表两种功能。
因此需要设计时钟和秒表两个模式。
时钟模式下,以秒为计时单位,计时功能和显示当前时间功能。
秒表模式下,以毫秒为计时单位,有开始、停止和显示计时结果的功能。
首先,将8255A芯片的PC0接口连接到开关。
读C端口的值。
判断是0还是1。
0代表时钟模式,1代表秒表模式。
然后,根据判断结果调用相应模式下的显示功能。
这样不停地读8255A芯片,然后判断,最后显示。
构成一个死循环。
若在这个过程中有中断,则会执行中断服务程序。
时间中断由8253芯片产生,周期分别为1s和1ms。
时钟的最大时间为23时59分59秒,超过后从零开始重新计时。
秒表最大时间为59分59秒999毫秒。
当计数大于这个值时,秒表不再更新。
对秒表的控制中断由一个手动脉冲产生。
将按键次数保存在名为pad的内存空间中。
pad只能有0、1、2三个值,分别代表清零、开始计时和停止计时。
8259芯片接收中断,并调用相应模式下的中断服务程序。
在时钟模式下,直接将时间加一秒。
在秒表模式下,或清零(重新开始,pad=0),或将时间加一毫秒(开始计时,pad=1),或不做任何处理(停止计时,pad=2)。
要实现以上分析的功能,可以设计4个模块。
模块名和作用见表1.1。
表1.1 模块划分及功能描述1.4 设计环境硬件环境:AEDK实验箱软件环境:LCT88EA应用软件、WindowXP操作系统、PC机第2章 详细设计方案2.1 实现方法1. 内存分配程序中所需定义的内存单元含义如下:timer0:存放当前时钟的值,共6个字节。
时、分、秒各占两个字节; timer1:存放秒表的计数值,共7个字节。
分和秒各占两个字节,毫秒占三个字节;pad :存放秒表的按键次数,共1个字节。
可以有三种取值,0代表清零,1代表开始计时,2代表停止计时。
当计数值大于2时,变为0重新开始计数; tab :存放0~9在数码管上显示的编码,共10个字节。
2. 按键设置秒表有一个按钮,接手动脉冲和8259A 芯片的中断引脚。
每次按键,pad 都做相应改变。
按第一次开始计时(pad=1),按第二次计时暂停(pad=2),显示当前记录的时间,按第三次计时停止(pad=0),回到初始态。
3. 时钟频率选择CPU 的频率为HZ 5103.072 。
用8253芯片产生方波。
计数器1的1CLK 接CPU 时钟脉冲,计数初值为307,使0OUT 产生周期为1ms 的方波。
计数器0的0CLK 接1OUT ,计数初值为1000,使0OUT 产生周期为1s 的方波。
4. 中断设置8259A 芯片的中断引脚0IR 、1IR 、2IR 分别接8253芯片的0OUT 、1OUT 和手动脉冲。
5.显示设置显示功能由8279芯片和数码管实现。
显示分为两种情况。
时钟模式下的显示规则是(时-分-秒),即(00-00-00)。
秒表模式下的显示规则是(分-秒.毫秒),即(00-00.000)。
6.端口地址分配本次课程设计共使用了4种芯片,他们的端口号设置如表2.1所示。
表2.1 端口地址分配表7.子程序子程序名称和功能如表2.2所示。
表2.2 子函数表2.2 模块的设计与实现2.2.1主程序模块主程序的主要功能是初始化各芯片,模式选择以及调用显示函数。
在初始化结束后,程序进入死循环,不断检测8255A芯片C端口的状态,CUP随时响应中断,更新时钟状态,把应显示的结果送入time0和time1中,以备显示。
主程序的流程如图2.1。
图2.1 主程序流程图2.2.2初始化模块初始化模块主要用于初始化各芯片,设定芯片工作方式,以及装入中断向量等。
各芯片初始化情况如表2.3所示。
表2.3 芯片的初始化2.2.3时钟模块时钟模块主要是为了实现时钟的计时和显示功能。
时钟的计时功能由int_timer0子程序实现,属于中断服务程序。
显示功能由display0程序实现,由主程序调用。
1.int_timer0这个中断服务程序的中断类型号为30H。
8253芯片产生周期为1s的方波,当其上升沿到达8259A芯片的IR引脚后,进入中断服务程序int_timer0。
进入int_timer0后,首先从内存中读出前一秒的时间的最后一位,即time0的最后一位,然后加1。
若有进位,则把当前这一位置零,然后读出前一位再加一,再判断是否有进位。
以此类推,直到没有进位或者达到计数最大值为止。
把修改后的时间存回内存中,以备显示。
2.display0这是时钟模式的显示程序。
在时钟模式下会反复被主程序调用。
首先设置8279A芯片的显示方式。
然后读取time0的最后一位,用XLAT命令查tab表,将得到的结果输出到8279A芯片,然后在数码管上显示。
每显示两位数字,就在中间显示一条横线以分隔时分秒。
2.2.4秒表模块与时钟模式类似,秒表模式也需要计时和显示功能。
除此之外,秒表模式还需要有按键控制功能用于开始、暂停计时和清零。
计时功能由int_timer1实现,属于中断服务程序。
显示功能由display1子程序实现。
按键功能由int_pad实现,属于中断服务程序。
1.int_timer1这个中断服务程序的中断类型号为31H。
8253芯片产生周期为1ms的方波,当其上升沿到达8259芯片的IR引脚后,进入中断服务程序int_timer1。
1进入int_timer1后,首先从内存pad中读出按键次数。
若pad中的值为2,说明现在秒表处于停止状态,计时停止,不将秒表的计时值刷新,所以直接中断返回。
若pad中的值为1,说明秒表正在计时,应将秒表的计时值加1ms。
加1的方法与时钟加1的方法类似。
先读出time1的最低位,加1后判断进位。
最后中断返回。
若pad中的值为0,说明秒表要重新开始计时,需要将秒表清零。
即把time0中的每一位都改为零。
最后中断返回。
2.display1这是秒表模式的显示程序,在秒表模式下会反复被主程序调用。
显示方法与display1类似。
不同的是,秒表的显示格式是00-00.000,即在显示秒的最后一位时,需要加一个小数点。
实现的方法是,先将这一位查表转化为可在数码管上的编码,由于数码管是否显示小数点是由编码的最高位指示的,所以只需将编码和80H进行或运算即可添加小数点。
最后将结果输出到数码管显示。
3.int_pad这个中断服务程序的中断类型号为32H。
当手动脉冲被按下的时候,进入这个中断服务程序。
将pad中的值加1。
pad中的初始值为0,当加到3时,将其变为0。
2.3 程序连线图图2.2 程序连线图第3章调试及结果分析3.1 调试步骤及方法由于程序比较大,要整体调试会非常困难,不容易找出哪里有问题。
所以必须分而治之,将程序拆分开来调试。
由于整个程序被化分为了几个模块,所以,调试可以按模块来进行。
我将调试分为时钟模块和秒表模块。
因为时钟模块相对简单,所以先调试时钟模块,后调试秒表模块。
3.1.1程序的语法错误由于对汇编语言还不熟悉,所以出现了较多的语法错误。
主要错误有以下一些。
程序格式错误。
例如,子程序最后应写RET。
寄存器寻址方式错误。
例如,在装中断向量的时候,应该是寄存器间接寻址,要加中括号。
跳转错误。
跳转的最大值不能超过一定的限度。
而且跳转的标号不能重复。
写地址错。
例如,在向某个端口送数据的时候,不能直接写地址,而必须将端口地址放入寄存器DX中,再送数据。
3.1.2时钟模块调试过程时钟模块又分为显示模块和计数模块。
先调试显示模块,再调试计数模块。
1.显示模块调试中的问题及解决方案问题1:数码管没有任何反应问题分析:在初始化8279时,数码管就应该被清除显示,即会不显示任何东西,但是先在数码管上的数并没有被清除,说明了可能是8279工作错误。
检查程序后发现,8279的控制端口是231H,但是正确的应该为232H。
解决方案:将控制端口号改为232H。
问题2:数码管显示乱码问题分析:8279在初始化时已经清除了显示,但是还是显示乱码,说明是后送入的数有错。
解决方案:检查程序后发现,在初始化各芯片的时候没有关中断和开中断,8259A可能错误的响应的中断。
问题3:显示顺序颠倒问题分析:由于设置的是从左到右的八位显示,所以应该是送显示数的顺序不对。
解决方案:将display0中的送显顺序颠倒。
2.计数模块调试中的问题及解决方案问题1:数码管显示结果一直为初始值问题分析:可能的原因是8253芯片没有产生方波或是8259A芯片没有响应中断。