微机原理课程设计报告(电子秒表)
- 格式:doc
- 大小:276.10 KB
- 文档页数:14
沈阳航空航天大学课程设计报告课程设计名称:微机系统综合课程设计课程设计题目:电子秒表院(系):计算机学院专业:计算机科学与技术班级: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键盘/显示芯片在数码管上进行显示,将秒表的计时过程、时钟的当前时间显示在数码管上。
湖南文理学院芙蓉学院微机原理课程设计报告课程名称:电子秒表专业班级:计科1001班学生学号: 10170119 学生姓名:李资鑫指导教师:杨红杰完成时间: 2013年上学期第15周目录目录第1章总体设计方案 (1)1.1课程设计的内容和要求 (1)1.2课程设计原理 (1)1.3课程设计思路 (2)1.4设计环境 (2)第2章详细设计方案 (3)2.1实现方法 (3)2.2模块的设计与实现 (4)2.2.1主程序模块 (4)2.2.2初始化模块 (5)2.2.3时钟模块 (6)2.2.4秒表模块 (6)2.3程序连线图 (8)第3章调试及结果分析 (9)3.1调试步骤及方法 (9)3.1.1程序的语法错误 (9)3.1.2时钟模块调试过程 (9)3.1.3秒表模块调试过程 (11)3.2实验结果 (11)参考文献 (13)附录(源程序) (14)第1章总体设计方案1.1课程设计的内容和要求一、课程设计内容:设计一个带时间显示的电子秒表,具体内容如下:1.电子秒表的初始状态为零,分别显示分、秒、毫秒;2.设计一个按钮,按第一次开始计时,按第二次计时暂停,显示当前记录的时间,按第三次计时停止,回到初始态;3.有时间显示的功能,当不用电子秒表的功能时,显示当先的时间,分别为时、分、秒形式。
二、课程设计要求:1.独立完成课程设计任务;2.通过老师当场验收;3.交出完整的课程设计报告。
1.2课程设计原理题目要求实现电子秒表功能和显示当前时间的功能。
这两部分的共同点是都需要实现时间显示和时间运行功能。
除此之外,电子秒表还需要有开始计时和停止计时功能。
因此电子秒表是本次课程设计的主要部分。
在本次设计中主要使用了8255A并行接口芯片,8253定时/计数器,8259A 中断控制器,8279键盘/显示芯片。
具体原理和功能如下:1.利用8255A芯片实现时钟和秒表之间的切换。
将其连接到一个开关上,读取开关的电位,以此来判断是时钟模式还是秒表模式。
电子秒表课程设计报告————————————————————————————————作者:————————————————————————————————日期:电子秒表课程设计报告目录一、设计要求 (2)二、设计的目的与作用 (2)三、设计的具体体现 (2)1. 电子秒表的基本组成 (3)2.电子秒表的工作原理 (3)3.电子秒表的原理图 (4)4. 单元电路设计 (4)5.设计仿真与PCB制版 (12)四、心得体会 (17)五、附录 (18)六、参考文献 (20)一、设计要求1.以0.1秒为最小单位进行显示。
2.秒表可显示0.1~60秒的量程。
3.该秒表具有清零、开始计时、停止计时功能。
二、设计的目的与作用1.培养我们运用有关课程的基础理论和技能解决实际问题,并进一步提高专业基本技能、创新能力。
通过课程设计,学习到设计写作方法,能用文字、图形和现代设计写作方法系统地、正确地表达课程设计和研究成果。
2. 熟悉555方波振荡器的应用。
3.熟悉计数器的级联及计数、译码、显示电路的整体配合。
4.建立分频的基本概念。
三、设计的具体体现1.电子秒表的基本组成电子秒表电路的基本组成框图如图所示,它主要由基本RS触发器、多谐振荡器、计数器和数码显示器4个部分组成。
电子秒表电路的基本组成(方框图)如下:图(1)电子秒表基本组成方框图2.电子秒表的工作原理 由555定时器构成多谐振荡器,用来产生50Hz 的矩形波。
第Ⅰ块计数器作5分频使用,将555输来的50Hz 的脉冲变为0.1秒的计数脉冲,在输出端Qd 取得,作为第2块计数器的始终输入,第2、第3块计数器QA 与CP2相连,都已接成8421码十进制计数电路 ,第4块接成六进制形式,其输出端与译码显示器的相应输入端连接,可显示0.1-0.9s,1-9s,10-60s.3.电子秒表的原理图基本RS 多谐单稳态计译码图(2)原理图4.单元电路设计(1)由NE555P组成的多谐振荡器(多谐振荡器)ne555是一种应用特别广泛作用很大的的集成电路,属于小规模集成电路,在很多电子产品中都有应用。
微机原理秒表时钟课程设计一、课程目标知识目标: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号功能实现彩色输出。
利用系统执行指令的时钟周期,编写延时程序,通过调用延时程序实现一秒的计时。
电子秒表课程设计报告电子信息工程专业10级学生单片机原理课程设计任务书电子秒表的设计一、设计要求设计一个电子秒表,与通用秒表功能类似,有启动,暂停、复位等键。
计时长长度为300秒,需显示百分秒。
二、设计方案分析1.方案设计数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。
本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。
本系统采用C51系列单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。
其中软件系统采用汇编语言编写程序,硬件系统利用*****强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。
本设计利用*****2单片机的定时器/计数器定时和计数的原理,使其能精确计时。
利用中断系统使其能实现开始暂停的功能。
根据要求知道秒表设计主要实现的功能是计时和显示。
因此设置了两个按键和LCD显示时间,两个按键分别是开始、停止和复位按键。
利用这两个建来实现秒表的全部功能,而LCD则能显示最多4.59.99秒的计时。
电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。
硬件电路图按照图1.1进行设计。
图1.1 数字秒表硬件电路基本原理图本设计中,数码管显示的数据存放在内存单元31H-33H中。
其中31H存放分钟变量,32H存放秒钟变量,33H存放10ms计数值,即存放毫秒位数据,每一地址单元内均为十进制BCD码。
由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。
显示时,先取出31H-33H 某一地址中的数据,然后查得对应的显示位,并从P1口输出,就能显示该地址单元的数据值。
计时通过INT1中断完成,定时溢出中断周期为1ms,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到4.59.99秒重新复位。
微机原理课程设计电子秒表一、课程目标知识目标: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) 具有两位数码显示。
分别显示1/10秒和秒计数。
(2) 有两个按键分别控制启动(开始计时)/停止和清零。
功能表如下:三、概述:要完成题目要求的电子秒表功能,系统应具有如下几部分电路: 1、定时电路;题目要求最小计时单位为1/10秒,即100ms 。
这部分电路必须能准确的产生周期为100ms (频率为10Hz )的时钟信号。
2、计时电路:题目要求系统具有两位显示器,分别显示秒和1/10秒信号。
所以本系统应具有两个十进制计数器,分别对定时信号进行计数,以产生1/10秒和秒计数。
系统计数范围从0.0~9.9秒。
3、显示译码驱动电路:将计数器的计数结果(BCD 码)通过译码器译成七段显示码并驱动LED 数码管显示出来。
4、控制电路:根据题目要求,本电子秒表应具有两个按键。
其中一个控制秒表的启/停,本按键应有自锁功能,按一次启动计时,再按一次停止计时。
另一个按键控制清“0”,本按键不需自锁,按下时系统清“0”;放开时系统回复正常计时功能。
系统电路结构框图如图1所示。
图1 系统结构框图四、电路设计方案:1、定时电路:系统的定时电路要求产生周期为100ms的时钟信号。
在此我们用555定时器来实现。
定时器是电子秒表的核心,其作用是产生一个标准频率10赫兹的脉冲信号。
振荡频率的精度和稳定度决定了秒表的质量(如图2),图3为脉冲信号宽度图2 555定时器器图3 脉冲信号2、计时电路:本电路需要两位十进制加法计数器,对定时电路的时钟信号进行计数。
可用两片74LS160实现。
74LS160是同步十进制加法计数器,其功能表如下:应用两片74LS160组合级联可构成100进制计数器。
其级联方式可分为串行进位方式和并行进位方式两种。
微机原理与应用课程设计目录一、设计任务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(设置光标位置子程序)通过设置光标子程序,来设置显示的区域。
电子秒表课程设计报告摘要一、课程目标知识目标:1. 学生能理解电子秒表的基本原理,掌握其计时功能和使用方法。
2. 学生能掌握电子秒表的时间单位换算,如秒、分、小时,并能够进行简单的计时计算。
3. 学生了解电子秒表在日常生活和科学实验中的应用。
技能目标:1. 学生能够熟练操作电子秒表,进行准确计时。
2. 学生能够运用电子秒表进行简单的实验数据收集和分析。
3. 学生能够通过实际操作,提高动手能力和问题解决能力。
情感态度价值观目标:1. 学生培养对时间观念的重视,增强时间管理意识。
2. 学生在实验过程中,培养合作精神和团队意识,提高沟通能力。
3. 学生通过对电子秒表的学习,激发对科学技术的兴趣,培养探索精神和创新意识。
课程性质:本课程为初中物理实验课,结合实际操作,让学生在实践中掌握知识,提高技能。
学生特点:初中学生具备一定的物理知识基础,好奇心强,喜欢动手操作,但注意力容易分散。
教学要求:教师应注重理论与实践相结合,引导学生主动参与,关注学生的个体差异,鼓励学生提问和思考,提高学生的实践能力和科学素养。
通过课程目标的分解,确保学生达到预期的学习成果,为后续教学设计和评估提供依据。
二、教学内容本课程依据课程目标,结合教材内容,设计以下教学大纲:1. 电子秒表原理介绍- 计时器的发展历史- 电子秒表的构成和工作原理- 电子秒表与机械秒表的优缺点对比2. 电子秒表的使用方法- 电子秒表的按键功能介绍- 计时、暂停、复位等基本操作- 使用电子秒表进行实际计时操作练习3. 时间单位换算- 秒、分、小时之间的换算关系- 实际案例计算,如运动计时、实验数据记录等4. 电子秒表的应用- 日常生活中的应用,如烹饪、运动等- 科学实验中的应用,如物体自由落体实验、化学反应速率测试等5. 实践活动设计- 小组合作,设计并实施简单的计时实验- 数据收集、处理和分析,锻炼学生的实验操作能力教学内容安排和进度:第一课时:电子秒表原理介绍、使用方法学习第二课时:时间单位换算、电子秒表的应用第三课时:实践活动设计、实验操作及数据分析和讨论本教学内容紧密围绕课程目标,确保内容的科学性和系统性,注重培养学生的实践能力和科学素养。
单片微型计算机原理与接口技术课程设计报告班级:姓名:学号:指导老师:日期:一、课程题目:秒表二、课程要求:1.可启动、暂停、继续和复位。
〔〕倒计时时,从设定时间开始4.通过键设定时间,可设定正计时的结束时间和倒计时的开始时间,当到达设定时间或倒计时到0时报警,数码管闪烁最后的时间,同时上传本机地址06H。
5.本机地址为03H,当接到上位机发的03H时,那么回发03H当接到上位机发的AAH时,那么将当前显示的秒值发给上位机三、硬件系统设计说明及原理图1、原理图图中,到所定时间即停止〕,与P3.2相接的按钮为暂停\继续按钮, 与P3.3相接的按钮为复位按钮。
2、幅员:四、软件流程图及软件清单:软件清单:ORG 0000H JMP MAIN ORG 0003H JMP L1ORG 000BH JMP L2 ORG 0013H JMP L3 ORG 0023H JMP CHUKOUMAIN:MOV TMOD,#21H /设置定时计数方式MOV SCON,#40H /设置串口工作方式MOV TH1,#0FAHMOV TL1,#0FAH /设置波特率 MOV IP,#10HSETB EA /开CPU 总中断SETB EX0 /开中断T0中断SETB IT0 /设置T0工作方式SETB EX1 /开中断T1中断 SETB IT1 /设置T1工作方式SETB ES /开串口中断 MOV PCON,#00H /波特率不倍低高判增MOV R1,#05HMOV R3,#00HMOV R4,#00HMOV R6,#00HGG:MOV P1,#07FHLCALL BBLCALL CCLCALL DDLCALL DELAYMOV R0,66HLCALL CC1LCALL DD1LCALL DELAYMOV R0,65HLCALL CC2LCALL DDLCALL DELAYMOV R0,64HLCALL CC3LCALL DDLCALL DELAYJNB P1.2,GG1INC R4LCALL XIANGG1:JNB P1.3,GG2INC R6LCALL XIANGG2:MOV 60H,R4MOV 61H,R6MOV R5,60HMOV R7,61HINC R5INC R7JNB P1.0,GG/置数HH: JB P1.1,HH1MOV R4,#00MOV R6,#00SETB ET0SETB TR0 HH2:JB P1.1,HH1LCALL BBLCALL CCLCALL DDLCALL DELAYMOV R0,66HLCALL CC1LCALL DD1LCALL DELAYMOV R0,65HLCALL CC2LCALL DDLCALL DELAYMOV R0,64HLCALL CC3LCALL DDLCALL DELAYJNB RI,HH2JMP CHUKOUJMP HH2/ 正计时HH1:LCALL FFLCALL CCLCALL DDLCALL DELAYMOV R0,66HLCALL CC1LCALL DD1LCALL DELAYMOV R0,65HLCALL CC2LCALL DDLCALL DELAYMOV R0,64HLCALL CC3LCALL DDLCALL DELAYJNB RI,HH2JMP CHUKOUJMP HH2/倒计时BB:CJNE R4,#99,EEINC R6MOV R4,#00HCJNE R6,#99,EECJNE R4,#99,EELJMP JIESHU1/ 正计时结束判断FF:CJNE R6,#00,FF1CJNE R4,#00,EELJMP JIESHU2/ 倒计时结束判断FF1:CJNE R4,#00,EEDEC R6MOV R4,#99EE:MOV A,R6MOV B,#10DIV ABMOV 64H,AMOV 65H,BMOV A,R4MOV B,#10DIV ABMOV 66H,AMOV 67H,BMOV R0,67HRET/取各位数字CC:MOV A,#0EHMOV P2,ARETCC1:MOV A,#0DHMOV P2,ARETCC2:MOV A,#0BHMOV P2,ARETCC3:MOV A,#07HMOV P2,ARET/ 取数码管的各位地址DD:MOV DPTR,#TABMOV A,R0MOVC A,@A+DPTRMOV P0,ARET/取无小数点的各位显示数字DD1:MOV DPTR,#TAB1MOV A,R0MOVC A,@A+DPTRMOV P0,ARET/ 取有小数点的各位显示数字XIAN:MOV TH0,#3CHMOV TL0,#0B0HSETB TR0JNB TF0,$CLR TF0DJNZ R1,XIANMOV R1,#05HRETDELAY: MOV R2,#1000DELAY1:DJNZ R2,DELAY1RET/各位数字显示延时L1:CJNE R3,#00H,AACLR ET0CLR TR0INC R3RETI/ 暂停中断L2:MOV TH0,#3CHMOV TL0,#0B0HJB P1.1,IIINC R4JNB P1.4,L21DJNZ R5,L21DJNZ R7,L22JMP JIESHUL22:MOV R5,#99L21:RETIII:DEC R4RETI/定时显示的最小时间单位AA:SETB ET0SETB TR0MOV R3,#00HRETI/ 继续中断L3:MOV R4,60HMOV R6,61HCLR ET0CLR TR0RETI/复位中断CHUKOU:MOV A,SBUFCLR RICJNE A,#03H,FASMOV SBUF,ACLR TIFAS:CJNE A,#0AAH,QZMOV A,R4MOV SBUF,AMOV A,R6MOV SBUF,ACLR TIQZ: RETI/ 串口中断TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH, 6FHTAB1:DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH, 87H,0FFH,0EFHL4:MOV R4,60HMOV R6,61HLCALL EELCALL CCLCALL DDLCALL DELAYMOV R0,66HLCALL CC1LCALL DD1LCALL DELAYMOV R0,65HLCALL CC2LCALL DDLCALL DELAYMOV R0,64HLCALL CC3LCALL DDLCALL DELAYJMP L4/正计时结束时所显示数字L5:MOV A,#00HMOV P2,AMOV A,#6FHMOV P0,AJMP L5/正计时计满时所显示数字L6:MOV A,#00HMOV P2,AMOV A,#3FHMOV P0,AJMP L6/倒计时结束时所显示数字END五、个人感想、体会:通过此次做单片机的课程设计,使我了解了使用汇编语言时应该注意的一些根本领项。
微机原理课程设计报告--秒表设计课程设计报告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.设计课题任务及指标1.通过本设计的选题、方案论证、设计计算、安装调试、资料整理、撰写“设计报告”等环节, 初步掌握电子工程设计方法和组织实施的基本技能, 深化、扩展并综合运用课堂上所学的电子电路分析设计方法以及集成电路知识完成小系统的电路设计。
2.利用基本脉冲发生器及计数、译码、显示等单元电路设计数字秒表。
3.在实验装置上或者利用仿真软件完成数字秒表的线路连接和调试。
功能要求:基本要求: 计时从1s至99s;有置数、复位功能;能用开关灵活启动和停止秒表。
扩展功能: 有倒计时功能;能计时从0.1s至9.9s。
2.系统设计方案论证所作为数字式秒表, 所以必须有数字显示。
按设计要求, 须用数码管来做显示器。
题目要求最大记数值为99秒, 那则需要两个数码管。
要求计数分辨率为1秒, 那么则需要相应频率的信号发生器。
选择信号发生器时, 有两种方案:一种是用晶体震荡器, 另一种方案是采用集成电路555定时器与电阻和电容组成的多谐振荡器。
由于熟悉程度, 本组采用集成电路555定时器与电阻和电容组成的多谐振荡器。
秒表功能中要求有复位功能、能用开关灵活启动和停止秒表, 则控制电路的方案也有两种:方案一, 用74ls08和74ls32及一个3控拨码开关;方案二, 用2个单刀双掷开关及多个单刀开关。
为了能够灵活的控制秒表, 我们选用方案一。
计数部分使用两个74LS192十进制计数器, 这种计数器能够简捷的进行顺逆计时, 为了方便简单译码显示电路采用了74ls48与共阴极七段数码管。
系统框图:图1 流程图4.单元电路设计4.1电源与总控开关图2 电源与总控开关电源由干电池提供;R1为保护电阻;S1为电路总控开关。
4.2脉冲发生器(由555构成的多些振荡器)图3 脉冲发生电路图图4 NE555管脚图由于频率f=1.43/(R1+2R2)C=1Hz, (1)产生1Hz频率,所以, 电容C1=0.33u, 电阻R2=100KΩ, R3=2.2MΩ。
微机原理课程设计计时秒表一、课程目标知识目标:1. 理解微机原理中计时器的基本工作原理和编程方法;2. 掌握利用微机实现计时秒表功能的相关知识点,如中断处理、定时器计数器的使用;3. 了解微机系统中的时钟概念及其在计时中的应用。
技能目标:1. 能够运用所学知识,设计并编写一个具有启动、停止、计时应答等基本功能的计时秒表程序;2. 培养学生的实际操作能力,通过编程实践掌握微机原理的应用;3. 提高学生分析问题、解决问题的能力,学会调试程序并优化计时精度。
情感态度价值观目标:1. 培养学生对微机原理课程的兴趣,激发学习热情;2. 增强学生的团队合作意识,培养在项目实践中的沟通协调能力;3. 培养学生严谨、求实的科学态度,认识到科技发展对生活的影响。
课程性质:本课程为微机原理课程设计的一部分,侧重于理论与实践相结合,以项目为导向,培养学生的实际操作能力和创新精神。
学生特点:学生已具备一定的微机原理知识基础,具有较强的学习能力和动手能力,但实际编程经验尚不足。
教学要求:结合学生特点,注重实践操作,循序渐进地引导学生掌握计时秒表的设计与实现,强调知识的实用性,提高学生的综合运用能力。
通过课程目标的具体分解,确保学生能够达到预期的学习成果,并为后续教学设计和评估提供明确依据。
二、教学内容本课程教学内容主要包括以下几部分:1. 计时器原理回顾:复习微机原理中定时器/计数器的工作原理,特别关注Intel 8051微控制器中的定时器结构和使用方法。
- 教材章节:第三章“微控制器的基本结构与工作原理”,第四节“定时器/计数器”。
2. 中断处理机制:讲解中断的概念、中断处理过程,以及如何利用中断实现计时功能。
- 教材章节:第四章“中断系统”,第一节“中断的基本概念”,第二节“中断处理过程”。
3. 计时秒表的编程设计:教授如何编写程序,实现计时秒表功能,包括启动、停止、计时应答等。
- 教材章节:第六章“微控制器编程与应用”,第三节“定时器编程”。
一、设计目的培养和锻炼在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。
通过课程设计,要求熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。
掌握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定时单位,设计秒表定时程序。
有关系统定时方法:PC机系统中的8253定时器0工作于方式3,外部提供一个时钟作为CLK 信号,频率:f=1.1931816MHz。
定时器0输出方波的频率:fout=1.1931816/65536=18.2Hz。
输出方波的周期Tout=1/18.2=54.945ms。
8253A每隔55ms引起一次中断,作为定时信号。
可用55945ms作基本计时单位。
用BIOS调用INT 1AH可以取得该定时单位。
例:1秒=18.2 (计时单位)8253的引脚图及硬件连接图如下图示:《8253引脚图》硬件连接图当A1A0分别为00 01 10 11时分别选中三个通道和控制字寄存器在8088系统中,8088的A1A0分别与8 253的A1A0相连在8086系统中,通常将8253的8位数据线与8086的低8位相连,即使用偶地址,所以8086的A2A1分别与8253的A1A0相连。
计数器(0 ~ 2)即三个计数器/定时器通道。
每个通道包括:8位控制字寄存器、16位计数初值寄存器、减一计数器和输出锁存器。
作定时器用:其CLK端上的输入脉冲应是标准的、精确的;作计数器用:对其CLK端上的脉冲计数,脉冲宽度可以不等。
采用减一计数器,为0时,从OUT端上输出一个脉冲定时时间 = 时钟脉冲周期X预置的计数初值。
控制功能表WR A1A0功能CSRD0 1 0 0 0 写计数器00 1 0 0 1 写计数器10 1 0 1 0 写计数器20 1 0 1 1 写控制字寄存器0 0 1 0 0 读计数器00 0 1 0 1 读计数器10 0 1 1 0 读计数器20 0 1 1 1 无操作1 X X X X 禁止使用0 1 1 X X 无操作每个通道:CLK 计数脉冲或标准脉冲输入端GATE 允许端,当GATE=1时允许计数UT 计数值为0时输出一个脉冲由于8253的读/写操作对系统时钟没有特殊的要求,因此它几乎可以应用与由任何一种微处理器组成的系统中,可作为可编程的方波频率发生器、分频器、实时时钟、事件计数器和单脉冲发生器等。
8253是一片具有三个独立的16位计数器通道的可编程定时器/计数器芯片。
每个通道都可以编程设定3种工作方式之一种;8253由以下几个部分组成:(1)数据总线缓冲器(8位、三态、双向);(2) 读/写控制逻辑;CS:片选信号,低电平有效;RD:读信号,低电平有效;WR:写信号,低电平有效A1A0:端口选择信号(3) 三个通道( 0 ~ 2),由A0,A1控制选择;(4) 一个控制寄存器;内部结构及引脚图:2)用可编程并行接口芯片8255的PA口以及PB口实现数码管输出,PC口实现按键实现数据显示输出8255 可编程外围接口芯片是 Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。
CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。
用+5V 单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。
8255 工作方式控制字和C口按位置位/ 复位控制字格式如图所示:3. 锁存器27374LS273是8位数据/地址锁存器,他是一种带清除功能的8D触发器,下面介绍一下他的管脚图功能表等资料。
(1).1脚是复位CLR,低电平有效,当1脚是低电平时,输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出0,即全部复位;(2).当1脚为高电平时,11(CLK)脚是锁存控制端,并且是上升沿触发锁存,当11脚有一个上升沿,立即锁存输入脚3、4、7、8、13、14、17、18的电平状态,并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上.74ls273管脚功能:1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。
4. 数据收发器245当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)*DIR=“1”,信号由 A 向B 传输;(发送)当/CE为高电平时,A、B均为高阻态5、译码器74ls15474ls154为4—16线制译码器其引脚图如下图所示6. 7段数码管数码管要正常显示,就要来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
静态显示驱动静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
动态显示驱动数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。
开 始等于1S不等等于59不等等于59不等等于231S 计数60S 计数60min 计数24h 计数BVD 处 理产 生 溢 出清 空BCD 码调整指令10进制显示a1 equ 0000hb1 equ 0002hc1 equ 0004hctr1 equ 0006h ;8255各端口地址a2 equ 0200h ;8253计数器0端口地址ctr2 equ 0206h ;8253控制端口地址a3 equ 0100hdata segment; keynum db 0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH,0EBH, 0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77Htab db 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H ,7CH,39H,5EH,79H,71Hbuf db 0,0,0,0buf1 db 0,0,0,0,0,0,0,0buf2 db 0,0;前为第一开关次数buf3 db 80 dup(?)data endscode segment 'code'assume ds:data,cs:codestart: mov ax,datamov ds,ax;设中断入口地址设置mov ax,0mov es,axmov di,08mov ax,offset intr_keycldstoswmov ax,seg intr_keystoswmov ax,datamov es,ax;8255写入控制字mov al,10001001b ;A口B口输出显示,C口高四位低四位输入mov dx,ctr1out dx,aln3: call jishujmp n3n2: lea si,buf2mov bh,00hmov bl,1h[si]lea di,buf3add di,bxadd bl,8mov 1h[si],bllea si,buf1cldmov cx,8rep movsbn4: call disjmp n4n5: lea si,buf2mov bh,00h微机原理课程设计报告mov bl,1h[si]cmp bl,0jz n1lea di,buf1sub bl,8mov 1h[si],bllea si,buf3add si,bxcldmov cx,8rep movsbn6: call disjmp n6n1: call qinlinjmp n1;jmp startjishu proc near ;计数子程序 lea si,bufmov bl,[si]cmp bl,100jnz s6s1: mov bl,0mov [si],blmov ah,1h[si]cmp ah,59jz s2inc ahmov 1h[si],ahjmp s6s2: mov ah,0mov 1h[si],ahmov ah,2h[si]inc ahmov 2h[si],ahjmp s6s6:call chumov cx,3s5:call disloop s5call delay1sinc byte ptr[si]retjishu endpchu proc ;rukou al ;数处理子程序 push sipush bxmov bl,4lea di,buf1lea si,bufnext:lodsbmov ah,00mov cl,10div clxchg ah,alstosbmov al,ahstosbdec bl微机原理课程设计报告 jnz nextpop bxpop siretchu endpdis proc near ;显示buf1中的值push bxpush cxlea bx,tablea di,buf1mov cx,8mov ah,7Fhloop1: mov al,[di]xlat ;换码mov dx,a1out dx,almov dx,b1mov al,ahout dx,almov bh,1call delaycall qplea bx,tabror ah,1inc diloop loop1pop cxpop bxretdis endp delay1s proc near ;8253延时子程序 push dxpush axmov dx,ctr2 ;8253 控制mov al,00110000bout dx,al ;8253计数器0控制字方式0 out端作为中断请求信号mov dx,a2mov al,01hout dx,almov al,00hout dx,almov dx,a3M1: in al,dxtest al,01hjz M1pop axpop dxretdelay1s endpqp proc near ;清频子程序mov al,0ffhmov dx,b1out dx,alretqp endpdelay PROC NEAR ;内部延时之程序PUSH bx微机原理课程设计报告PUSH CXwait0: MOV CX,06hwait1: LOOP wait1DEC bhJNZ wait0POP CXPOP bxRETdelay ENDPintr_key proc near ;中断服务子程序 call keytest al,2hjz n1test al,4hjz n5lea di,buf2mov bh,[di]inc bhmov [di],bhtest bh,1hjnz n2jmp n3iretintr_key endpqinlin proc ;键盘清零子程序 mov ax,0 lea di,bufmov cx,14cldrep stosbcall disqinlin endpkey proc ;读取键盘程序 mov dx,c1in al,dxretkey endpcode endsend start七、程序及硬件系统调试情况按下暂停键实现暂停功能继续计数后按下清零键实现清零功能八、设计心得经过这次课程设计,我觉得我有了很大的收获,:1.我大大地锻炼了自己搞科研的能力,作为我们大学生,尤其是工科的大学生,对于科研能力,能够自主开发课题,项目有着很高的要求,而我们很多大学生动手研发的能力还不是很强。