微机接口-电子时钟课程设计
微机原理课程设计报告(电子时钟)
1.设计目的培养和锻炼在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。
通过课程设计,要求熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。
掌握8255、8259、8253等芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法等,学会相关芯片实际应用及编程,系统中采用8086微处理器完成了电子秒表系统的独立设计。
同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。
2.设计内容设计一个可任意启动/停止的电子秒表,要求用6位LED数码显示,计时单位为1/100秒。
利用功能键进行启/停控制。
其功能为:上电后计时器清0,当第一次(或奇数次)按下启/停键时开始计数。
第2次(或偶数次)按下该键时停止计时,再一次按启/停键时清零后重新开始计时。
可用开关控制,也可用按键控制。
(开关控制☆)(按键控制★)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比较若不相等则将计数值装换为10进制后送8255控制端显示,如相等则计数程序加1之后产生溢出,跳转清零程序将计数清零,同时数码管清零。
二.使用各芯片的作用及工作原理1、定时器/计数器8253用系统8253定时器提供的55ms定时单位,设计秒表定时程序。
微机原理与接口技术课程设计报告电子钟
微机原理与接口技术课程设计报告——电子钟实验学院:计算机学院指导教师:***一实验任务及要求任务:1、掌握综合使用基本输入输出设备、通用接口芯片、专用接口芯片的方法;2、掌握实时处理程序的编制和调试方法。
要求设计一个定时显示装置,用实验仪左侧的六个LED数码管显示时间,时间显示格式为24小时制。
分秒值为59分55秒时开始报时,每秒钟蜂鸣器鸣叫一声,到整点报时停止。
用小键盘控制时钟的启停和时钟的设置,键的定义参见上图键值具体定义如下:G键(启停键)——程序启动后,按下该键时钟启动;再次按下该键,暂停计时,显示当前时间。
S键(设置键)——按下S键后,为时钟设置时、分、秒初始值。
二硬件连线键盘的控制、LED显示模块:采用74系列模块控制键盘的行信号Q_0、Q_1、Q_2、Q_3分别与开放的输入信号Q0、Q1、Q2、Q3相连,键盘的列信号P_0、P_1、P_2和开放的输出信号P0、P1、P2相连。
74芯片的片选信号CS1接地址译码信号340H, CS2接地址译码信号360H。
时间的精确定时:用8254定时器0产生25ms的中断信号;8254的片选CS连地址输出端320H,A0,A1分别连地址总线A2,A3,GATE0连+5V,CLK0连74LS393分频输出的47K输出端,OUT0连接到8259的IRQ0整点报时控制:由8255模块控制;PC0直接与蜂鸣器相连,CS_4连接到实验仪中部的地址输出端CS_4中断处理模块:由8259控制8259的片选CS-1连地址输出300H,INT1连总线输入INTR,8259模块的INT-A连总线的INTA,8259的SP/1连+5V, 8259的IRQ0连接到8254的OUT0。
三、程序流程图主程序初始化各阶段寄存器及相关变量初始化8254、8259、8255芯片设置中断向量、开放8259中断屏蔽开放处理器中断中断服务程序保护现场判断时间是否不小于59分55秒报时扫描键盘G 键?调用启停子程序S COUNT COUNT=40? ADDONE 子程序COUNT 清0显示时间,调用显示时间子程序结束中断(发EOI 命令)恢复现场中断返回四、实验源代码.486pDATA SEGMENT AT 0 USE16ORG 1000HHOUR DW ?Y YN YMIN DW ?SEC DW ?SLL DB ?COUNT DB ?DATA ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DATAORG 1500HBEG:JMP STARTTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,00H ;0~F 的共阴极七段译码表00H表示不显示任何东西KEYCOD DB 0EEH,0DEH,0BEH,0EDH,0DDH,0BDH,0EBH,0DBH,0BBH,0E7H,0D7H,0B7H ;行列编码值KEYV AL DB 0,1,2,3,4,5,6,7,8,9,0AH,0BH ;所有键的键面值PORT1 EQU 340H ;数码管段选端口PORT2 EQU 360H ;数码管位选端口,键盘矩阵的行列端口START: MOV EAX,60000000HMOV CR0,EAXMOV AX,DATAMOV DS,AXMOV HOUR,0203H ;小时分钟以及秒的初始化MOV MIN,0509HMOV SEC,0502HLEA BX,TABMOV SLL,0 ;开始暂停标志位置0MOV COUNT ,0 ;中断次数计数初始值为0;8255初始化,用于产生报时的脉冲MOV EAX,80808080H;控制字MOV DX,20CH ;后面的是4个8255的控制端口20C-20F (这个地址由实验台决定)OUT DX,EAX ;初始化8255,A、B、C口均为方式0输出MOV DX,20BHMOV AL,0FFHOUT DX,AL;8254初始化,用于产生周期为25ms的中断MOV AL,00110110B ;计数器0,先低后高,方式三,二进制MOV DX,32cH ;写往控制口OUT DX,ALMOV DX,320H ;计数器0写初值:47KHz*25msMOV AX,1175OUT DX,ALMOV AL,AHOUT DX,AL;8259初始化CLI :关中断MOV DX,300H ;ICW1MOV AL,00010011BOUT DX,ALMOV DX,308H ;ICW2MOV AL,08H ;IR0中断类型号为08HOUT DX,ALMOV AL,00000001B ;ICW4OUT DX,ALMOV AL,0FEH ;IR0开屏蔽OUT DX,ALXOR AX,AX ;装载中断向量MOV ES,AXMOV DI,08H*4MOV AX,OFFSET INTSRMOV ES:[DI],AXMOV AX,SEG INTSRMOV ES:[DI+2],AXSTI ;开中断JMP $INTSR PROC ;中断服务程序CMP MIN,0509H ;比较当前时间是否在59分55秒~00分00秒之间JL NEXT1CMP SEC,0505HJL NEXT1MOV DX,20BHMOV AL,00H ;蜂鸣器低有效,报时OUT DX,ALJMP NEXT2NEXT1: CMP MIN,0JNE NEXT3CMP SEC,0JNE NEXT3MOV DX,20BHMOV AL,00H ;蜂鸣器低有效,报时OUT DX,ALJMP NEXT2NEXT3: MOV DX,20BHMOV AL,0FFHOUT DX,ALNEXT2: CMP COUNT,20 ;用8255产生0.5ms的蜂鸣JLE NEXT4MOV DX,20BHMOV AL,0FFHOUT DX,ALNEXT4:CMP SLL,0JZ LOBCALL TSTARTLOB: CALL KEYCHECK ;检测有无键按下CMP AL,0AH ;启停键按下,调用启停程序JNZ NEXT5CALL TSTARTJMP NEXT6NEXT5: CMP AL,0BH ;设置键按下,调用设置时间程序JNZ NEXT6CALL SETTIMENEXT6: INC COUNT ;当COUNT直为40时,加一秒,之后置0 CMP COUNT,40 ;25ms*40=1sJB NEXT7CALL ADDONEMOV COUNT,0NEXT7: CALL SHOW ;显示时间MOV AL,20H ;发EOI命令,结束中断MOV DX,300HOUT DX,ALIRETINTSR ENDPTSTART PROC ;控制时间暂停和开始。
微机原理课程设计——电子时钟课程设计
电子时钟课程设计一:设计背景电子数字钟的应用十分广泛,通过计时精度很高的石英晶振(也可采用卫星传递的时钟标准信号),采用相应进制的计数器,转化为二进制数,经过译码和显示电路准确地将时间“时”“分”“秒”用数字的方式显示出来。
与传统的机械钟相比,它具有走时准确,显示直观,无机械传动,无需人的经常调整等优点。
它广泛用于电子表、车站、码头、广场等公共场所的大型远距离时间显示电子钟。
二:数字钟电路设计思路利用8253定时器和中断控制器8259实现中断计时时,可用8253的两个通道(通道0和通道1)串联产生1S计时脉冲。
每个1S计时脉冲产生一次中断请求,在中断服务程序完成中断计时并刷新时间显示。
利用8279键盘显示器实现当前时间的显示和时间的校准。
在主程序完成各可编程接口芯片(8253、8259、8279)的初始化、键盘扫描及时间校准。
在校表状态关中断,校表结束时开中断。
三:程序流程图三、电子表原理图:四:程序代码D8279 equ 200H C8279 equ 202H C8253 equ 20bH D82530 equ 208H D82531 equ 209H C82590 equ 210H C82591 equ 211H data segment HOUR db 00 MINUTE db 00SECOND db 008STAT db 00LEDdb 31H,06H,5bH,4fH,66H,6dH,7dH,27H,7fH,6fH,00H,00H DISBUF db 8 dup(0)data endsstack segment stackdw 100 dup(?)stack endscode segmentassume cs:code,ds:dataSTART: MOV AX,DATAMOV DS,AXCLIMOV AL,13HMOV DX,C82590OUT DX,ALMOV AL,8MOV DX,C82591OUT DX,ALMOV AL,1OUT DX,ALMOV AX,0MOV ES,AXLEA AX,INT0MOV AX,CSMOV ES:[4*8+2],AXMOV DX,C8253MOV AL,36HOUT DX,ALMOV DX,D82530MOV AX,10000OUT DX,ALMOV AL,AHOUT DX,ALMOV DX,C8253MOV AL,36HOUT DX,ALMOV DX,D82531MOV AX,100OUT DX,ALMOV AL,AHOUT DX,ALMOV DX,C8279MOV AL,00HOUT DX,ALMOV AL,34HOUT DX,ALMOV AL,0D2HOUT DX,ALMOV STAT,0MOV DX,C82591MOV AL,0FEHOUT DX,ALWAIT1: MOV DX,C8279 IN AL,DXMOV AH,ALAND AL,80HJNE WAIT1MOV AL,AHAND AL,0FHCMP AL,00HJE WAIT1MOV AL,40HOUT DX,ALCHK: MOV DX,D8279IN AL,DXCMP AL,33HJNE BBBMOV DX,C82591MOV AL,0FFHOUT DX,ALMOV AL,STATINC ALMOV STAT,ALCMP AL,1JNZ AA1MOV SI,OFFSET DISPBUFMOV CX,4MOV AL,00BB0: MOV [SI],ALINC SILOOP BB0CALL DISPJMP CHKAA1: CMP AL,2JNZ AA2MOV SI,OFFSET DISPBUFMOV AL,00MOV [SI],ALINC SIMOV [SI],ALADD SI,2MOV [SI],ALINC SIMOV [SI],ALCALL DISPJMP CHKAA2: CMP AL,3JNZ AA3MOV SI,OFFSET DISPBUF+2MOV CX,4MOV AL,00BB1: MOV [SI],ALINC SILOOP BB1CALL DISPJMP CHKAA3: MOV STAT,00MOV AL,0FEHMOV DX,C82591OUT DX,ALCALL FULLSFMCALL DISPJMP CHKBBB: CMP AL,3BHJE BBB0JMP CCCBB0: MOV AL,STATCMP AL,1JNZ BBB1MOV AL,HOURADD AL,1DAAMOV HOUR,ALCALL FULLSH1CALL DISPJMP BBBBBB1: MOV AL,STATCMP AL,2JNZ BBB3MOV AL,MINUTEADD AL,1DAAMOV MINUTE,ALCALL FULLFENCALL DISPJMP BBBBBB3: MOV AL,STATCMP AL,3JZ BBB4JMP DDDBBB4: MOV AL,SECONDADD AL,1DAAMOV SECOND,ALCALL FULLMIAOCALL DISPJMP BBBCCC: CMP AL,3AHJE CC0JMP DDDCC0: MOV AL,STATCMP AL,1JNZ CCC1MOV AL,HOURSUB AL,1DASMOV AL,HOURSUB AL,1ADD AL,1DAAMOV SECOND,ALCMP AL,60HJNZ FANHUIMOV SECOND,0MOV AL,MINUTEADD AL,1DAAMOV MINUTE,ALCMP AL,60HJNZ FANHUIMOV MINUTE,0MOV AL,HOURADD AL,1DAAMOV HOUR,ALCMP AL,24HJNZ FANHUIMOV HOUR,0CALL FULLSFMCALL DISPPOP SIPOP DIPOP BXPOP AXIRETFULL SFM PROC NEARLEA DI,DISBUFLEA BX,LEDLEA SI,SECONDMOV CX,3AA4:MOV AL,[SI]AND AL,0FHXLATMOV [DI],ALINC DIMOV AL,[SI]PUSH CXMOV CL,4SHR AL,CLAND AL,0FHXLATMOV [DI],ALINC DIPOP CXINC SILOOP AA4RETFULL SFM ENDPFULL SHI PROC NEARLEA SI,DISBUFMOV AL,0MOV CX,4CCC0: MOV [SI],ALINC SILOOP CCC0LEA BX,LEDMOV AL,HOURAND AL,0FHXLATMOV [SI],ALXLATMOV [SI],ALMOV AL,HOURMOV CL,4SHR AL,CLAND AL,0FHXLATINC SIMOV [SI],ALRETFULL SHI ENDPFULL FEN PROC NEARLEA SI,DISBUFMOV AL,0MOV [SI],ALINC SIMOV [SI],ALINC SILEA BX,LEDMOV AL,MINUTEAND AL,0FHXLATMOV [SI],ALMOV AL,MINUTEMOV CL,4SHR AL,CLAND AL,0FHXLATINC SIMOV [SI],ALRETFULL FEN ENDPFULL MIAO PROC NEARLEA SI,DISBUFLEA BX,LEDMOV AL,SECONDAND AL,0FHXLATMOV [SI],ALMOV AL,SECONDMOV CL,4SHR AL,CLAND AL,0FHXLATINC SIMOV [SI],ALMOV AL,0INC SIMOV [SI],ALINC SIMOV [SI],ALINC SIMOV [SI],ALINC SIMOV [SI],ALRETFULL MIAO ENDPDISP PROC NEARMOV CX,8MOV DX,D8279LEA SI,DISBUF DISIMOV AL,[SI]OUT DX,ALINC SILOOP DISIRETCODE ENDSEND START。
(完整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课时。
教学内容注重理论与实践相结合,逐步引导学生掌握电子时钟相关知识,培养实践能力和创新精神。
微机原理与接口课程设计 电子钟
一. 实验原理电子时钟主要由显示模块、对时模块和时钟运算模块三大部分组成。
其中对时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。
这样,才能循环记时。
显示时利用7段显示器显示六位十进制数据。
前两个显示小时,中间两个显示分钟,后两个显示秒。
时钟的运算是利用中断来实现的, 利用8253的模式三输出一定频率的方波作为触发中断的条件。
8253A 可编程定时/计数器的输入时钟为100KHz ,设定时/计数器0的计数初值为100,工作在方式3,即方波发生器,其输出的1KHz方波作定时/计数器2的时钟。
定时/计数器2的初值设为1000,工作在方式2,即每隔 1s输出负脉冲,取反后用作不可屏蔽中断的中断申请信号,在中断服务程序中计算时间,并通过74ls273并行输出到数码管显示。
电子时钟主要由 74ls273 锁存器、8253 定时/计数器、74ls244 反相器、LED 数码显示管和两个按键组成。
主要用 8086 的 NMI 的中断服务程序完成秒、分、时的运算即计时功能,两个开关的中断服务程序完成调时、调分功能。
8253 用来产生 1s 的脉冲信号作为 NMI 的中断请求信号。
74ls273 负责将内存里的时位和分位秒位值输出到数码管。
二.实验要求利用8253定时器设计一个电子钟,并定义一个启动键。
当按下该键时电子时钟从当前设定值开始走时。
三.实验程序.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; 不显示OUT 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] ;段码OUT 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,0 NEXTHOU:MOV DX,0600H IN 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,1LP2:LOOP LP2DEC BXJNZ LP1POP CXPOP BXRETDELAY ENDP.DATASEC DB 00HMIN DB 00HHOU DB 23HSITUATION DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH, 40HSIT_END=$END四.实验电路图五.学习心得在这次课程设计过程中,我们逐步养成了发现、提出、分析和解决实际问题的习惯;这不但锻炼提高了我们的实践能力,更是对我们实际工作能力的具体训练和考察过程。
微机课程设计电子钟
微机课程设计电子钟一、课程目标知识目标:1. 学生能理解电子钟的基本原理,掌握电子时钟系统的组成及其工作方式。
2. 学生能够运用所学的微机知识,设计并实现一个具有基本计时功能的电子钟。
3. 学生能够了解并描述常见电子时钟电路图,分析电路中各元件的作用。
技能目标:1. 学生能够运用编程软件,如Arduino或51单片机等,编写控制程序,驱动电子钟运行。
2. 学生通过实际动手操作,掌握电子元件的焊接和电路板的搭建,提高实践操作能力。
3. 学生能够通过小组合作,进行问题分析和解决方案的设计,提升团队协作和沟通能力。
情感态度价值观目标:1. 学生通过电子钟的设计与制作,培养创新思维和问题解决能力,增强自信心和成就感。
2. 学生在实践过程中,能够体会到学习的乐趣,培养对科学技术的兴趣和探索精神。
3. 学生通过小组合作,学会尊重他人意见,培养团队精神和责任感。
课程性质:本课程为实践性课程,强调理论联系实际,注重培养学生的动手操作能力和创新思维。
学生特点:学生为初中生,具有一定的微机基础,好奇心强,喜欢动手实践。
教学要求:教师应引导学生主动参与,注重启发式教学,鼓励学生提出问题、解决问题,关注学生的个体差异,促进每个学生的全面发展。
通过课程目标的分解,将学习成果具体化,便于教学设计和评估。
二、教学内容本课程教学内容紧密结合课程目标,以确保学生能够系统地掌握电子钟设计与制作相关知识。
1. 理论知识:- 电子时钟原理:介绍时钟信号、晶振、分频器等基本概念。
- 电路元件:学习并认识LED、电阻、电容、二极管、三极管等常见电子元件。
- 微控制器:了解Arduino或51单片机的基本结构、工作原理及编程方法。
2. 实践操作:- 电路设计:学习如何绘制电子钟电路图,选择合适的电子元件。
- 程序编写:根据电子钟功能需求,编写相应的控制程序。
- 电路搭建:动手焊接电路板,搭建电子钟硬件系统。
3. 教学大纲:- 第一阶段:电子时钟原理学习,认识电路元件。
微机接口电子钟课程设计报告
微机系统与接口课程设计院部名称信息技术学院专业电子信息工程班级学生姓名学号课程设计地点课程设计学时指导教师一、课程设计目的:通过课程设计, 进一步建立微机系统概念, 加深对系统理解和认识, 提高微机系统的应用水平;进一步学习和掌握汇编语言程序的编写方法和应用方法, 通过较大规模程序的编写, 提高汇编语言程序的水平;进一步熟悉接口, 熟悉并口芯片、中断控制芯片、定时计数芯片及数码管等常用接口芯片的编程使用方法。
二、课程设计要求和内容:1.设计要求利用8253可编程定时\计数器、8259中断控制器、8255可编程并行接口芯片和七段数码管设计一个电子时钟, 并编制一程序使得电子时钟能正常运行。
2.设计内容选用8253计数器2进行1s的定时, 其输出OUT1与8259的IRQ0相连, 当定时到1s时产生一个中断服务程序进行时、分、秒的计数, 并送入相应的存储单元;8255的A口接七段数码管的位选信号, B口接数码管的段选信号。
时、分、秒的数值通过对8255的编程可送到七段数码管上显示。
三、课程设计使用的设备和开发环境PC机(带Windows xp系统)串行线*2(分公口和母口两根)导线若干伟福仿真实验箱*1所需主要芯片: 8253*1 、8259*1 、 8255*1四、硬件电路设计:1) 8259芯片介绍中断控制器8259A 是专门为控制优先级中断而设计开发的芯片。
它将中断源优先排队、辨别中断源以及提供中断矢量的电路集于一片中。
因此无需附加任何电路, 只需对8259A 进行编程, 就可以管理8级中断, 并选择优先模式和中断请求方式, 即中断结构可以由用户编程来设定。
同时, 在不需要增加其他电路的情况下, 通过多片8259A 的级连, 能构成多达64级的矢量中断系统。
8259A的主要功能如下:①一片8259A可以接受并管理8级可屏蔽中断请求, 通过9片8259A级联可扩展至64级可屏蔽中断优先控制。
②对每一级中断都可以通过程序来屏蔽或允许③在中断响应周期, 8259A可为CPU提供相应的中断类型码。
课程设计电子时钟设计
课程设计电子时钟设计一、教学目标本课程旨在让学生掌握电子时钟的基本设计原理和技能,能够独立完成一个简单的电子时钟设计项目。
具体目标如下:1.了解电子时钟的基本构成和原理;2.掌握常用的电子元器件及其功能;3.学习电子时钟设计的常用方法和技巧。
4.能够使用基本的电子工具和设备;5.能够阅读和理解电子时钟的设计图纸;6.能够独立完成一个简单的电子时钟设计项目。
情感态度价值观目标:1.培养学生的创新意识和团队合作精神;2.培养学生对电子技术的兴趣和热情;3.培养学生对科学研究的严谨态度和责任感。
二、教学内容本课程的教学内容主要包括以下几个部分:1.电子时钟的基本原理和构成;2.常用电子元器件的功能和应用;3.电子时钟设计的常用方法和技巧;4.电子时钟设计实例讲解和分析。
第一周:电子时钟的基本原理和构成;第二周:常用电子元器件的功能和应用;第三周:电子时钟设计的常用方法和技巧;第四周:电子时钟设计实例讲解和分析。
三、教学方法本课程采用讲授法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:用于讲解电子时钟的基本原理、构成和设计方法;2.案例分析法:通过分析具体的电子时钟设计案例,让学生更好地理解和掌握设计技巧;3.实验法:让学生通过实际操作,独立完成一个简单的电子时钟设计项目。
四、教学资源本课程的教学资源主要包括以下几个部分:1.教材:《电子时钟设计入门》;2.参考书:电子时钟设计相关的专业书籍;3.多媒体资料:电子时钟设计的相关视频和图片;4.实验设备:电子工作台、示波器、信号发生器等。
以上教学资源将用于支持教学内容和教学方法的实施,丰富学生的学习体验。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。
1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估其对电子时钟设计的理解和掌握程度。
2.作业:布置相关的设计项目和练习题,要求学生在规定时间内完成,以检验其对电子时钟设计方法和技巧的掌握情况。
山东大学威海分校微机接口综合设计电子钟
微机原理与接口技术综合课程设计报告设计名称:电子钟专业:班级:姓名:学号:指导教师:目录一设计概述 (2)1.1设计题目: (2)1.2设计目的: (2)1.3设计要求: (2)二设计原理 (2)2.1设计原理 (2)2.2设计环境与器材 (2)2.3电路原理与元件芯片功能 (2)2.3.1 电路原理 (2)2.3.2 8255主要功能 (3)2.3.3 8259主要功能 (4)2.3.4 8254主要功能 (5)三系统设计 (8)3.1 硬件——实验接线图 (8)3.2 软件——主程序流程图 (9)四电子钟设计源程序 (10)五遇到的问题疑惑及解决的方法 (16)六总结与体会.................................... 错误!未定义书签。
一设计概述1.1设计题目:简单的电子时钟设计1.2设计目的《微型原理与接口设计》是一门实践性较强的课程,学生在学完该课程之后进行一次综合课程设计,可以让学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。
譬如培养学生查阅专业资料,工具书或参考书,了解有关工业标准,掌握现代设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。
通过综合设计,不但要培养和提高学生解决工程具体问题,动脑动手的技术工作能力,而且还要逐步建立科学正确的设计和科研思想,培养良好的设计习惯,牢固树立实事求是和严肃认真的工作态度。
具体要求如下:1、中断工作原理,定时计数原理,并行通信原理工作原理。
2、掌握8259芯片,8254芯片,8255芯片功能,结构。
3、掌握8259芯片,8254芯片,8255芯片的编程。
4、能运用所提到的芯片,设计系统并进行程序开发,满足用户需求。
1.3设计要求1、总体内容:设计一个电子时钟,可以在数码管上显示时间并计时。
2、接口设计:根据题目和所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过.3、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。
微机原理课程设计—电子时钟
时钟控制系统设计一、设计任务及其要求………………………………………………………二、方案比较及评估论证……………………………………………………三、系统工作原理……………………………………………………………四、硬件原理及其电路图……………………………………………………五、软件思想(含流程图和程序)…………………………………………六、调试记录及结果分析……………………………………………………七、参考资料…………………………………………………………………八、芯片资料…………………………………………………………………九、总结………………………………………………………………………一、设计任务及其要求(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做中断控制器产生中断。
微机接口技术课程设计--可预置电子时钟
微机原理与接口技术课程设计报告设计名称:可预置电子时钟专业:计算机科学与技术班级:姓名:指导教师:2012年 6 月 7 日一、课程设计目的和意义通过本次课程设计要掌握两种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。
同时并了解综合问题的程序设计掌握实时处理程序的编制和调制方法,掌握一般的设计步骤和流程,使我们以后做设计时逻辑更加清晰。
二、设计任务:1.电子时钟,具有十分、分、十秒和秒的计时功能,并可以在数码管上显示。
2.电子时钟具有启动键、停止键、复位键,而且可以随时通过键盘进行各位时间的设置。
三、设计思想:本系统设计的电子时钟以8088微处理器作为CPU,用8254做定时计数器产生时钟频率,8255做可编程并行接口显示时钟和键盘电路。
在此系统中,8254的功能是定时计数,接入8254的CLK信号为周期性时钟信号。
8254采用计数器0,工作于方式3,使8254的OUT0端输出周期性的负脉冲信号;8254还采用计数器0,工作于方式2,产生18432分频信号。
8255的功能是扫描键盘并使LED灯显示,工作于方式0,使A口B口输出,C口低四位输入。
四、设计内容:本程序的主要设计内容是用主程序完成键盘按键的扫描,实现计时结果的数码管显示,实现秒与分之间的转换。
通过判断键盘按键调用相应功能程序段以实现相应功能,即实现了启动、暂停、复位功能,以及通过键盘进行十分、分、十秒、秒时间的手动设置功能。
每百分之一秒对百分之一秒寄存器的内容加1,当加到100时,秒显示位加1,这样依次对个位秒、十位秒、个位分、十位分寄存器的内容加1,四个数码管动态显示分、秒的当前值。
五、硬件连线图XD7XD6XD5XD4XD3XD2XD1XD0 系XA3XA2XIOWXIORIOY0IOY1INTRCLK 统总线D7 PB0D6 PB1D5 PB2D4 PB3D3 PB4D2 PB5D1 PB6D0 8255 PB7单元A1 PA0A0 PA1PA2WR PA3RDCS PC0PC1PC2PC3D7D6D5D4D3D2 8254D1 单元D0A1A2WRRDCSOUT0CLK0ABCDE 键盘F 及数G 码管DP 显示单元X1X2X3X4Y1Y2Y3Y4六、芯片介绍:1.8254的初始化字本设计中的8254的初始化为:MOV DX,MY8254_MODE ;初始化8254工作方式MOV AL,36H ;计数器0,方式3OUT DX,ALMOV DX,MY8254_COUNT0 ;装入计数初值MOV AL,00H ;18432分频OUT DX,ALMOV AL,54HOUT DX,AL2.8255的初始化字本设计中的8255的初始化为:MOV DX,MY8255_MODE ;初始化8255工作方式MOV AL,81H ;方式0,A 口、B 口输出,C 口低4位输入 OUT DX,AL七、设计方案1、系统框图如下:系统框图2、主程序模块主控模块是核心模块,对8254、8255A 进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理,主要由软件实现。
电子时钟电子课程设计
电子时钟电子课程设计一、教学目标本课程旨在让学生了解电子时钟的工作原理,掌握基本的电子电路设计和实验技能,培养学生的创新意识和团队合作精神。
具体目标如下:1.知识目标:学生能够理解电子时钟的基本原理,包括时钟芯片、电路板设计、显示系统等。
2.技能目标:学生能够运用电子元件,如电阻、电容、二极管、晶体管等,设计并制作一个简单的电子时钟。
3.情感态度价值观目标:学生能够体验到科技制作的乐趣,增强对科学的兴趣和好奇心,培养团队合作和解决问题的能力。
二、教学内容本课程的教学内容主要包括电子时钟的工作原理、电路设计、实验操作和调试技巧。
具体安排如下:1.第一章:电子时钟概述,介绍电子时钟的原理和应用。
2.第二章:电路设计基础,讲解电子元件的功能和应用,以及电路图的绘制。
3.第三章:时钟芯片的使用,介绍时钟芯片的原理和编程方法。
4.第四章:电路板设计和制作,讲解电路板的设计原则和制作流程。
5.第五章:显示系统的设计,介绍各种显示器件的原理和应用。
6.第六章:实验操作和调试,讲解实验设备的使用方法和调试技巧。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
具体应用如下:1.讲授法:用于讲解电子时钟的基本原理和知识点。
2.讨论法:鼓励学生就电路设计和实验过程中遇到的问题进行讨论,培养团队合作精神。
3.案例分析法:分析典型的电子时钟设计案例,帮助学生掌握电路设计和调试技巧。
4.实验法:让学生动手制作电子时钟,提高其实际操作能力和创新能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:电子时钟设计指南,用于引导学生学习电子时钟的基本知识和技能。
2.参考书:电子电路设计手册,为学生提供更多的电路设计参考资料。
3.多媒体资料:包括电子时钟工作原理的视频、电路图演示等,帮助学生更好地理解电子时钟的原理和设计。
课程设计电子时钟设计
微机原理及其接口技术课程设计题目: 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.”状态、运行状态、调整状态。
微型计算机原理与接口技术课程设计报告具有记忆功能的电子时钟
一、题意分析及解决方案1、题意需求分析(1需要一个八位LED数码管显示器用于显示时间(分,秒;显示的初值在启动实验箱运行程序后输入;按任意键后时间开始走动,每隔一秒改变一次显示值(每60秒为一分钟,60分一小时,24小时后复位;能同时显示时分秒共六位;秒钟为60时,能自动复位到零,并使分钟加一;分钟为60时,能自动复位到零,并使小时加一;小时为24时时,自动复位到零。
LED数码管显示器循环显示时分秒的动态值(2如何让一个计时信息准确无误的显示出来,即选择什么样的芯片来显示时间(3如何让断电后再启动时,时钟能够按照断电前的时间继续计时,用什么芯片来完成,怎样完成?2、解决问题及思路(1硬件部分LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。
使用寿命较长,光电能转化效率高键盘(Keyboard是常用的输入设备,它是由一组开关矩阵组成,结构相对复杂,与8279A配套使用8255芯片是可编程的并行接口芯片,不需要附加外部电路便可和大多数并行传输数据的外部设备相连,数据的各位同时传送,使用十分方便(2软件部分计数器的初始时间设置:启动单片机并成功运行程序后在十六进制开关中输入初值。
错误输入时显示ERROR信息计时:首先将秒位计时加1,判断秒位是否为60,若不是,则直接显示时间;若是,则将秒位置为00,且分位加1;分位同上;小时到24,则将时位清零。
显示:8279A芯片内部有一个显示RAM和一个FIFO RAM,可以暂存从小键盘中读出的数据,同时可以将内存中的数据暂存到显示RAM中,简化了程序复杂度。
每次将各个位要显示的数据处理好后到换码表中找到对应值,初始化8279后将值送到数据口即实现显示的目的存储与读出:在开始执行程序之前做读出操作,将AT24C02内的数读出到8255中,从而再将其送入到8279中进行操作,这样就执行了读出操作;执行时间加1操作是通过8255将此时的数存入到AT24C02中。
基于微机原理电子时钟课程设计
基于微机原理电子时钟课程设计目录一、课程设计要求及目的 (3)二、开发环境及设备 (4)1、设计环境 (4)2、设计所用设备 (4)三、设计思想与原理 (4)1、设计思想 (4)2、设计原理 (5)1、内容 (5)2、要求 (5)3、设计环境 (5)4、设计所用设备 (5)三、设计所用芯片结构 (6)1、8259A芯片的内部结构及引脚 (6)2、8255芯片的内部结构及引脚 (7)3、8255端口地址 (8)4、8254芯片的内部结构及引脚 (8)5、8254引脚图如图3示,各引脚功能如下。
(9)四、具体模块设计 (10)1、概述 (10)2、主程序模块 (10)3、小键盘模块 (11)4、显示模块 (13)5、定时模块 (14)6、中断处理模块 (14)7、芯片引脚 (14)五、程序流程图 (16)1、主程序流程图如图6所示 (16)2、键盘扫描程序流程图:(KEY)如图7所示 (17)3、中断处理程序流程图如图8所示: (18)六、心得体会 (19)附录一:参考书目 (20)附录二相关程序 (20)一、课程设计要求及目的1、用8255的A口驱动六个七段数码管(LED)的字段,C口驱动六位七段数码管(LED)的为控制端,右侧两位显示分值,左侧两位显示秒值,2、数码管采用动态扫描方式,用8253做定时器(采用查询方式),每位显示的时间<5ms,扫描频率>50HZ。
3以5ms为基本时间单位,计数产生秒时间值,秒计数到60时对分计数,分计数到60时对时计数。
二、开发环境及设备1、设计环境PC机一台、windows XP系统、实验箱、导线若干。
2、设计所用设备8254定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。
8255并口:用做接口芯片,和小键盘相连。
8259中断控制器:用于产生中断。
LED:七个LED用于显示时:分:秒值。
小键盘:用于控制设置。
三、设计思想与原理1、设计思想本系统设计的电子时钟以8088微处理器作为CPU,用8254做定时计数器产生时钟频率,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。
数字钟_接口课设报告_8086微机原理与接口技术课程设计报告书
接口技术基础实验报告学院:计算机科学与技术学院班级:计091学号:0913022032:恒楼指导老师:顾晖时间:2012/6/16目录数字钟的设计 (3)1 设计需求分析与解决方案 (3)1.1 设计需求分析 (3)1.1.1 题目要求 (3)1.1.2 根据题目要求提出问题 (3)1.2 解决问题方法及思路 (3)1.2.1 硬件设计选择部分 (3)1.2.2 软件设计分析 (4)2 硬件设计 (5)2.1 选择芯片8255 (5)2.1.1 芯片8255 A在本设计中的功能作用 (5)2.1.2 芯片8255 A的功能分析 (5)2.1.3 8255 A 方式控制字 (5)2.1.4 8255 A与外设相连的逻辑图 (6)2.2 选择器件 LED (6)2.2.1 LED在本设计中的作用 (6)2.2.2 LED功能分析 (6)2.2.3 LED技术参数 (7)2.3 硬件设计思路及连线图 (7)2.3.1 硬件设计思路 (7)2.3.2 硬件接线原理图、连接图 (7)3 软件设计思路及程序控制流程框图 (8)3.1 软件设计思路 (8)3.2 程序流程图的相关说明 (9)3.3 程序控制流程框图 (9)3.4 程序清单(见附录) (11)4 实验环境 (11)5 上机调试过程 (11)5.1 硬件调试 (11)5.2 软件调试 (13)5.3 软、硬件联立调试 (13)5.4 调试结果 (13)6 实验运行结果、分析 (15)6.1 实验运行结果与分析 (15)6.2 问题讨论 (15)7 实验心得 (16)8 参考文献 (17)附录(源代码) (17)数字钟的设计一、设计需求分析与解决方案1.1 设计需求分析1.1.1 题目要求设计一个接口与七段LED显示器,显示一个计时时钟,显示初值为0,每隔一秒改变一次显示值,60s为一分钟,60min为一小时,LED显示器循环显示时、分、秒的动态值。
微机接口课程设计+电子时钟
一、设计部分1、设计目的(1)熟练掌握TND8086/8088教学系统的基本操作和调试程序的各种指令。
(2)熟悉编程及调试程序的方法。
(3)掌握8259中断控制器的工作原理和应用编程方法,练习编写中断程序的方法。
(4)掌握8255的各种工作方式及其应用编程。
(5)掌握8253定时/计数器的工作原理、工作方式及其应用编程。
(6)练习LED-KEYBOARD UNIT的使用方法和数码管的显示编程。
2、设计要求用微机原理实验箱提供的数码管和按键做,电子时钟具有二十四小时循环记时功能,走时要准,要有时钟对时功能并方便操作。
3、设计思路电子时钟主要由显示模块、对时模块和时钟运算模块三大部分组成。
其中对时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。
这样,才能循环记时。
二、实现部分1、设计分析显示模块:利用数码管的显示功能来设计。
数码管是由八个条形发光二极管组成的,这些发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。
通过在这八个发光二极管的阳极加+5 V或0 V的电压使不同的二极管发光,形成不同的字符和数字。
电子时钟用到的是0到9十个数字,他们所对应的字符表依次是3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。
该模块主要是将时钟运算模块和对时模块运算出来并存放在内存单元里的十六进制表示的时位和分位数据转化为十进制,并通过四个数码管显示出来。
该模块实现的硬件是TND86/88的LED-KEYBOARD UNIT。
时钟运算模块:该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟的内存单元里,以便显示模块即时地显示出来。
该模块可以细分为秒定时模块和运算模块。
秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现,可以选择TND86/88实验箱中的8253定时/计数器来提供,但又因为8253所能提供的信号的周期时毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理与接口技术》课程设计课题:电子表的设计与实现姓名:朱佩班级:11级通信一班学号:1116303040第一章设计部分1.1 设计目的1、熟练掌握TND86/88教学系统的基本操作和调试程序的各种指令。
2、熟悉编程及调试程序的方法。
3、掌握8259中断控制器的工作原理和应用编程方法,练习编写中断程序的方法。
4、掌握8255的各种工作方式及其应用编程。
5、掌握8253定时/计数器的工作原理、工作方式及其应用编程。
6、练习LED-KEYBOARD UNIT的使用方法和数码管的显示编程方法。
1.2 设计要求1、用微机原理实验箱提供的数码管和按键做。
2、电子表具有二十四小时循环记时功能,走时要准。
要有时钟对时功能并方便操作1.3 设计思路电子表主要由显示模块、对时模块和时钟运算模块三大部分组成。
其中对时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。
这样,才能循环记时。
第二章实现部分2.1 分析论证1、显示模块利用数码管的显示功能来设计。
数码管是由八个条形发光二极管组成的,这些发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。
通过在这八个发光二极管的阳极加+5 V或0 V的电压使不同的二极管发光,形成不同的字符和数字。
电子表用到的是0到9十个数字,他们所对应的字符表依次是3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。
该模块主要是将时钟运算模块和对时模块运算出来并存放在内存单元里的十六进制表示的时位和分位数据转化为十进制,并通过四个数码管显示出来。
该模块实现的硬件是TND86/88的LED-KEYBOARD UNIT。
2、时钟运算模块该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟的内存单元里,以便显示模块即时地显示出来。
该模块可以细分为秒定时模块和运算模块。
秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现,可以选择TND86/88实验箱中的8253定时/计数器来提供,但又因为8253所能提供的信号的周期时毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。
中断信号是8253的通道2工作方式为方式3时,产生一个40ms的脉冲信号。
运算模块负责时、分、秒的计算,该模块主要通过8259的IRQ7号中断来实现,首先将秒定时模块提供的中断信号为8259的IRQ7中断请求信号。
但由于每40ms一次中断请求。
所以在中断服务程序必须利用已申请内存单元count来统计中断请求的次数,只有当count的值为25时,才能让秒单元内的数值加1。
另外,在中断服务程序里,必须对秒、分和时的单元内的数值进行判断,当秒加到60时,分必须加1 、秒清零;当分加到60时,时加1、分清零。
当时加到24啊,直接清零。
3、对时模块该模块主要功能是修改时、分内存单元的数值。
在对时的时候,秒应停止不变,并且在对分进行调整的时,时单元内的数值不变。
由以上分析可见,对时、分的调整用两个优先级高于IRQ7的中断来完成。
因此,可以用8259的IRQ2中断来实现,两个中断源的中断请求信号只需直接接在两个按键即可起到对时作用。
2.2设计电路图电子表的完整电路图如下:2.3 原理说明电子表主要由8259A中断控制器、8253定时/计数器、8255A接口芯片、LED数码显示管和两个按键组成。
主要用8259A 的IRQ7的中断服务程序完成秒、分、时的运算即计时功能,IRQ6的中断服务程序完成调时、调分功能。
8253用来产生50ms 的脉冲信号作为IRQ7的中断请求信号。
按键KK1+和KK2+分别作为IRQ2和IRQ6的中断请求信号。
按键KK1+启动/关闭对时功能。
它决定是否屏蔽IRQ7和IRQ6中断源。
8255A 负责将内存里的时位和分位值输出到数码管2.4 元件功能说明8259A 的主要功能:(1)每片8259A 可管理8级优先级中断源,通过开关,最多可管理64级优先权的中断源。
(2)对任何一个级别的中断源都可单独进行屏蔽,使该级中断请求暂时被挂起,直到取消屏蔽时为止。
(3)能向CPU 提供可编程的标识码。
(4)具有多种中断优先权管理方式。
有完全嵌套方式、自动循环方式、特殊循环方式、特殊屏蔽方式和查询方式五种。
这些管理方式均可通过程序动态地进行变化。
在本设计中用到了这四种功能,电子表的灵活调时功能就是通过对级别的屏蔽或开启来实现的。
8255A 的主要功能:可编程外设接口芯片可由程序改变其功能,通用性强、使用灵活。
通过8255A ,CPU 可直接同外设相连接,其负责CPU 和外设之间的数据传送。
8253的主要功能:可编程定时器/计数器,其定时与计数功能可由程序灵活地设定,设定后与CPU 并行工作,不占用CPU 的时间。
通道2工作在3方式下,提供计算一秒的中断请求信号。
2.5 程序框图时、分转化为十进制,存到内存单元计算时、分的各位数值在TABLE 中对应编码 结束开始 依次在61H 段输出到LED 显显示模块程序图Yes Yes IRQ6中断M=M+1M=60M=0IRET中断服务程序IRQ6OFF=1? No OFF=2H=H+1 H=24? Yes H=0 YesNo NoNo2.6 调试结果分析将编写好的源程序输入,编译后出现很多错误,经过反复修改直到程序运行通过。
将生成的可执行程序装入TND86/88的内存里,在监控状态下运行程序,可是数码管显示的数字并不与理论计算值相符合,并且显示的数字不停地闪动,经过反复分析源程序发现问题出现在内存单元里时位和分位在转化为十进制时,存储转化的结果的地址空间的顺序弄混了。
数字闪动的原因应该出在显示子程序里,经过分析问题出在显示子程序里OFF=1?IRETOFF=0 屏蔽IRQ6中断,开IRQ2和IRQ7中断OFF=3?中断服务程序IRQ2IRQ2中断OFF=OFF+1OFF=2?NoNoNoYesOFF=0 屏蔽IRQ7中断,开IRQ2和IRQ6中断YesYesYes NoNoNoNoYes 中断服务程序IRQ7Yes YesIRQ7中断 COUNT=25?S=S+1 COUNT=0S=60?M=M+1 S=0 M=60?H=H+1 M=0H=24?H=0 IRETCOUNT=COUNT+1缺少延时程序。
编写延时子程序,并在显示子程序调用它;编译源程序,装入生成的可执行文件,并运行。
数码管显示的数字与理论值相符合,并能正常计时,但当按动KK1+键时,却不能启动对时功能,按动KK2+时,也不能调时、调分。
问题很可能出在两键控制的中断源上,检查源程序也找不出错误,当把IRQ5换成IRQ2后,在进行调试,结果成功。
2.7 程序清单STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDA TA SEGMENTH DW 000CHM DW 0000HS DW 0000HCOUNT DW 0000HOFF DW 0000HTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA START: MOV AX,DATAM OV DS,AXP USH DSMOV AL,81HO UT 63H,ALMOV AX,0000HMOV DS,AXMOV AX,OFFSET IRQ2ADD AX,2000HMOV SI,0028HMOV [SI],AXMOV AX,0000HMOV SI,002AHMOV [SI],AXMOV AX,OFFSET IRQ6ADD AX,2000HMOV SI,0038HMOV [SI],AXMOV AX,0000HMOV SI,003AHMOV [SI],AXMOV AX,OFFSET IRQ7ADD AX,2000HMOV SI,003CHMOV [SI],AXMOV AX,0000HMOV SI,003EHMOV [SI],AXMOV AL,0B6HOUT 43H,ALMOV AL,68HOUT 42H,ALMOV AL,0BAHOUT 42H,ALPOP DSMOV AL,7BHOUT 21H,AL BEGIN:CALL DISSTIJ MP BEGINIRQ7: INC COUNTCMP COUNT,25JNZ RETURNMOV AX,0MOV COUNT,AXMOV AX,SINC AXMOV S,AXCMP AX,003CHJNZ RETURNMOV AX,0MOV S,AXMOV BX,MINC BXMOV M,BXCMP BX,003CHJNZ RETURNMOV BX,0MOV M ,BXMOV DX,HINC DXMOV H,DXCMP DX,0018HJNZ RETURNMOV DX,0MOV H,DX RETURN:MOV AL,7BHOUT 21H,ALMOV AL,20HOUT 20H,ALIRETIRQ6: MOV AX,OFFCMP AX,0001HJNZ HRMOV BX,MINC BXMOV M,BXCMP BX,003CHJNZ R0MOV BX,0MOV M ,BXJMP R0HR: CMP AX,0002HJNZ R0MOV BX,HINC BXMOV H,BXCMP BX,0018HJNZ R0MOV BX,0MOV H ,BXR0: MOV AL,0BBHOUT 21H,ALMOV AL,20HOUT 20H,ALIRETIRQ2: INC OFFMOV BX,OFFCMP BX,0003HJZ R1CMP BX,0001HJZ R2CMP BX,0002HJZ R2R1: MOV BX,0000HMOV OFF,BXMOV AL,7BHOUT 21H,ALMOV AL,20HOUT 20H,ALIRETR2:MOV AL,0BBHOUT 21H,ALMOV AL,20HOUT 20H,ALIRETDIS: PUSH AXMOV SI,3000HMOV AX,MMOV BL,10DIV BLMOV [SI],AHMOV [SI+1],ALMOV AX,HMOV BL,10DIV BLMOV [SI+2],AHMOV [SI+3],AL M OV DL,0F7HM OV AL,DLAGAIN: OUT 60H,ALMOV AL,[SI]M OV BX,OFFSET TABLE A ND AX,00FFHA DD BX,AXM OV AL,[BX]O UT 61H,ALC ALL DALL YI NC SIM OV AL,DLT EST AL,01HJ Z OUTR OR AL,1M OV DL,ALJ MP AGAINOUT: POP AXR ETDALL Y: PUSH CXMOV CX,000FH T1: MOV AX,0020H T2: DEC AXJNZ T2LOOP T1POP CXRETCODE ENDSEND START 第三章电子表使用说明本电子表可以24小时循环计时,并且具有调时功能,操作方法如下:开机运行后,即显示初始时间12:00整。