北京交通大学微机原理与接口技术课程设计频率计(测频测周切换)

北京交通大学微机原理与接口技术课程设计频率计(测频测周切换)
北京交通大学微机原理与接口技术课程设计频率计(测频测周切换)

电气工程学院

微机原理与接口技术课程设计

频率计

姓名:

学号:

班级:电气10

指导教师:徐建军

设计时间: 2013.3

说明:百度上有很多关于交大电气频率计的课设报告,但是测频测周切换这种形式,10级开始考察,这种模式通过汇编语言实现有一定的难度。由于12级再次考察了这种形式,因此把这份报告分享给学弟学妹们,希望能给你们带来一些启发。另外,程序基本直接粘贴运行的成功概率是非常低的,

因为实验板每块都有细微差别。需要你们自己思考领会。本报告完成的内容并不完整,且有很多需要改进,思考的地方。还是希望大家都多思考,多总结,慢慢尝试,总会实现,祝学弟学妹们顺利!

最后,非常感谢给予本人巨大帮助的09级学长学姐们!本文参考了部分学长学姐的思路。

微机原理与接口技术课程设计成绩评定表姓名学号

课程设计题目:频率计

课程设计答辩或提问记录:

成绩评定依据:

课程设计预习报告及方案设计情况(30%):

课程设计考勤情况(15%):

课程设计调试情况(30%):

课程设计总结报告与答辩情况(25%):

最终评定成绩(以优、良、中、及格、不及格评定)

指导教师签字:

年月日

微机原理与接口技术课程设计任务书

学生姓名:指导教师:徐建军

一、课程设计题目:频率计

二、课程设计要求

1. 根据具体设计课题的技术指标和给定条件,独立进行方案论证和电路设计,要求概念清楚、方案合理、方法正确、步骤完整;

2. 查阅有关参考资料和手册,并能正确选择有关元器件和参数,对设计方案进行仿真;

3. 完成预习报告,报告中要有设计方案,设计电路图,还要有仿真结果;

4. 进实验室进行电路调试,边调试边修正方案;

5. 撰写课程设计报告——最终的电路图、调试过程中遇到的问题和解决问题的方法。

三、进度安排

1.时间安排

序号内容学时安排(天)

1 方案论证和系统设计 1

2 完成电路仿真,写预习报告 1

3 电路调试 2

4 写设计总结报告与答辩 1

合计 5

设计调试地点:电气楼410

2.执行要求

微机原理与接口技术课程成绩优秀的可以自拟题目,其余的同学都是指定题目。每组不得超过2人,要求学生在教师的指导下,独力完成所设计的详细电路(包括计算和器件选型)。严禁抄袭,严禁两篇设计报告雷同。

目录

摘要 (1)

Abstract (1)

第一章系统方案设计 (2)

一、实验简介: (2)

1、设计思路: (2)

2、程序流程图: (5)

3、主要元器件介绍: (7)

第二章仿真 (9)

第三章调试 (10)

第五章心得体会与建议 (15)

参考文献 (16)

附录1:元器件清单 (16)

摘要

频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量

仪器。在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。本设计所要介

绍的是以单片机89C51为核心设计了一种频率计。在本文的设计采用单片机内部

的定时器/计数器对脉宽的机器周期数进行计数,从而求得被测信号的频率值, 最后通过静态显示电路显示数值由于单片机内部振荡频率很高, 所以一个机器

周期的量化误差相当小, 可以有效地提高低频信号的测量准确性。

关键词:单片机、频率计、测频、测周

Abstract

The frequency meter which is known as a frequency counter, is a specialized test signal frequency measurement electronic measuring instruments. In the Electrical Technology, frequency is one of the basic parameters. What is more ,it is connected with measuring means and measuring result of many electrical parameters, so frequency measuring

is more important. The design is a frequency counter whose nucleus is singlechip89C51.It uses the timer or counter of single chip which countes the machine cycle of impulse width, and we will get the frequency results of measured signal. At last, by static displaying circuit and results. The hunting frequency of single chip is so high, that the error of machine cycle is slow, so it can improve the measuring veracity of low frequency

in effect.

Key words : Single chip, Frequency counter, Frequency Measuring, Cycle Measuring.

第一章系统方案设计

一、实验简介:

本实验是通过使用一块有89C51单片机控制的系统,采用单片机的定时器和计数器,来测量10Hz-150kHz的方波频率,把频率与周期按5秒一切换分时显示在6位数码管。

1、设计思路:

通过对实验板的接线检查,我们大致得出了其接线简图。

该图由两片74LS245、一片555、一片74HC14、若干上拉电阻以及一个六位共阴数码管组成。

分析:

首先,由于本次课程设计要求不仅要能够显示信号的频率,而且经过5s时间,还要转换为周期显示。因此,我们先想到的是先实现测频,再进一步考虑周期的显示。

以下是我们的预备方案:

1. 先分别编写测频与测周的程序,在中断T1中通过设置标志位,每隔5s 进行一次切换,实现本次课设的要求。

2. 考虑到方案1可能难以实现预期,我们计划了方案2。该方法只进行测频,然后通过周期T=1/频率F,编写倒数转换程序,实现每隔5s将频率切换为周期显示。

测频基本方案:

使用定时器T0,T1,其中T0计脉冲数,T1定时1s。

设置定时器 T1 工作在定时方式1,定时1s。采用定时50ms,共定时20次,即可完成1秒的定时功能,经定时器初值计算:

T1初值为65536-50000=15536(十进制),转化为十六进制数即为3CB0,所以设定T1的定时初值为3CB0H。

设置定时器 T0 工作在计数方式1,执行计数,设置定时器T0 工作在计数方式1,对输入脉冲进行计数,溢出产生中断。将定时器T1中断定义为优先。在中断处理程序里对中断次数进行计数。计时到达1s后,将中断次数和计数器

里的计数值取出进行综合数据处理,处理后的数据送显示。

测周基本方案:

设置中断,测出两个触发脉冲的间隔时间。

频率(Hz)与周期(us)的数值转换程序:

参考《单片机原理及其接口技术》P162-164,例 4.22。原题实现的功能为:设32位的被除数已放在R5,R4,R3,R2中,16位除数放在R7R6中,编写程序使商存于R3R2中,余数存于R5R4中。

所以,利用这段程序,我将十进制数1000000(即十六进制的F4240)除以频率(Hz),即得到周期(us)。程序如下:

EXCHANGE:

SETB RS0

MOV R5,#0

MOV R4,#0FH

MOV R3,#42H

MOV R2,#40H

MOV R7,TH0

MOV R6,TL0

MOV A,R6

JNZ START

MOV A,R7

JZ ERR

START: MOV A,R4

CLR C

SUBB A,R6

MOV A,R5

SUBB A,R7

JNC LOOP4

MOV B,#16

LOOP1:CLR C

MOV A,R2

RLC A

MOV R2,A

MOV A,R3

RLC A

MOV R3,A

MOV A,R4

RLC A

MOV R4,A

XCH A,R5

RLC A

XCH A,R5

MOV PSW.5,C

CLR C

SUBB A,R6

MOV R1,A

MOV A,R5

SUBB A,R7

JB PSW.5,LOOP2

JC LOOP3

LOOP2:MOV R5,A MOV A,R1

MOV R4,A

INC R2

LOOP3:DJNZ B,LOOP1 CLR PSW.5

DONE:

MOV 20H,R3

MOV 21H,R2

CLR RS0

MOV R7,20H

MOV R6,21H

SJMP BCD

LOOP4:SETB PSW.5

SJMP DONE

ERR:SJMP DONE

2、程序流程图:

方案1:

开始

开始计时

判断是否达到5S

测频方法测周方法

一秒到停止计数计两个脉冲的时间间隔

消除定时器运行控制位

存储数据

调用二进制转换十进制程序

调用数字分离程序

调用显示子程序

方案2:

开始

开始计时

测频显示频率

判断定时器是否达到5s

是否

启动频率周期转换

存储数据

调用二进制转换十进制程序

调用数字分离程序

调用显示子程序

3、主要元器件介绍:

74HC14

整形电路

74LS14作为555振荡信号的整形电路,将信号整形后再把信号输出给到

AT89S52单片机的T0 和INT0管脚上。

74LS245

驱动电路。

第1脚DIR,为输入输出端口转换用,

DIR=“1”高电平时信号由“A”端输入“B”端输

出,DIR=“0”低电平时信号由“B”端输入“A”端

输出。

第2~9脚“A”信号输入输出端,

A1=B1~A8=B8,A1与B1是一组,如果

DIR=“1”G=“0”则A1输入B1输出,其它类同。

如果DIR=“0”G=“0”则B1输入A1输出,其它

类同。

第11~18脚“B”信号输入输出端,功能与

“A”端一样,不在描述。

第19脚G,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B 端才被启用,该脚也就是起到开关的作用。

第10脚GND,电源地。

第20脚VCC,电源正极。

NE555

1 (接地) -地线(或共同接地) ,通常被连接到电路共同接地。

2 (触发点) -这个脚位是触发NE555使其启动它的时间周期。触发信号上缘电压须大于2/

3 VCC,下缘须低于1/3 VCC 。

3 (输出) -当时间周期开始555的输

出输出脚位,移至比电源电压少1.7伏

的高电位。周期的结束输出回到O伏左

右的低电位。于高电位时的最大输出电

流大约200 mA 。

4 (重置) -一个低逻辑电位送至这个脚位时会重置定时器和使输出回到一个低电位。它通常被接到正电源或忽略不用。

5 (控制) -这个接脚准许由外部电压改变触发和闸限电压。当计时器经营在稳定或振荡的运作方式下,这输入能用来改变或调整输出频率。

6 (重置锁定) - Pin 6重置锁定并使输出呈低态。当这个接脚的电压从1/3 VCC 电压以下移至2/3 VCC以上时启动这个动作。

7 (放电) -这个接脚和主要的输出接脚有相同的电流输出能力,当输出为ON 时为LOW,对地为低阻抗,当输出为OFF时为HIGH,对地为高阻抗。

8 (V +) -这是555个计时器IC的正电源电压端。供应电压的范围是+4.5伏特(最小值)至+16伏特(最大值)。

我们通过PROTUES绘制了仿真电路图。

经过反复调试,我最终决定使用方案2,并成功实现了预期目标。我的最终程序如下:

ORG 0000H

lJMP MAIN

ORG 000BH

AJMP T0INT

ORG 001BH

LJMP T1INT

ORG 0030H

MAIN:

MOV SP,#70H

MOV TMOD,#15H ;T0计数、T1定时

MOV TH0,#00H

MOV TL0,#00H ;T0清零

MOV TH1,#03EH

MOV TL1,#090H ;T1定时约100ms

MOV TCON,#50H ;开计数、定时

MOV IE,#10001010B ;开中断

MOV R2,#0AH

MOV 20H,#5

LOOP: LCALL DISPLAY

SJMP LOOP

DISPLAY: MOV R0,#60H

MOV R1,#6

MOV R3,#0DFH ;字位控制初值

NEXT: MOV A,#0FEH

MOV P0,A

MOV A,R3

MOV P0,A ;字位码送P0口

MOV A,@R0

MOV DPTR,#TAB

MOVC A,@A+DPTR ;

MOV P2,A ;字型送P2口

LCALL DELAY

MOV A,R3

RR A

MOV R3,A

INC R0

DJNZ R1,NEXT

RET

T0INT:

CLR TR1 ;关T1定时

MOV TH1,#03CH

MOV TL1,#0B0H ;T1定时100ms

SETB TR1

RETI

T1INT:

MOV TH1,#03CH

MOV TL1,#0A0H

DJNZ R2,NEXT1

MOV R2,#0AH

MOV R7,TH0

MOV R6,TL0 ;将计数结果送入R7、R6中

DJNZ 20H,NEX

MOV 20H,#2

CPL1: CPL ACC.0

NEX: JB ACC.0,EXCHANGE

JMP EXCHANGE

EXCHANGE: LJMP EXCHANGE1 ;频率、周期转换程序EXCHANGE1:

SETB RS0

MOV R5,#0

MOV R4,#0FH

MOV R3,#42H

MOV R2,#40H

MOV R7,TH0

MOV R6,TL0

MOV A,R6

JNZ START

MOV A,R7

JZ ERR

START: MOV A,R4

CLR C

SUBB A,R6

MOV A,R5

SUBB A,R7

JNC LOOP4

MOV B,#16

LOOP1:CLR C

MOV A,R2

RLC A

MOV R2,A

MOV A,R3

RLC A

MOV R3,A

MOV A,R4

RLC A

MOV R4,A

XCH A,R5

RLC A

XCH A,R5

MOV PSW.5,C

CLR C

SUBB A,R6

MOV R1,A

MOV A,R5

SUBB A,R7

JB PSW.5,LOOP2

JC LOOP3

LOOP2:MOV R5,A

MOV A,R1

MOV R4,A

INC R2

LOOP3:DJNZ B,LOOP1

CLR PSW.5

DONE:

MOV 20H,R3

MOV 21H,R2

CLR RS0

MOV R7,20H

MOV R6,21H

SJMP BCD

LOOP4:SETB PSW.5

SJMP DONE

ERR:SJMP DONE

NEXT1: RETI

BCD: MOV 30H,#00H ;BCD转换程序MOV 31H,#00H

MOV 32H,#00H

MOV 33H,#00H

MOV 34H,#00H

MOV 35H,#00H

MOV R3,#10H

MOV A,R7

CLR C

NEXT2: RLC A

MOV R7,A

MOV A,30H

ADDC A,30H

DA A

MOV 30H,A

MOV A,31H

ADDC A,31H

DA A

MOV 31H,A

MOV A,32H

ADDC A,32H

DA A

MOV 32H,A

MOV A,R7

DJNZ R3,NEXT2

MOV A,R6

CLR C

MOV R3,#08H NEXT3: RLC A

MOV R6,A

MOV A,34H

ADDC A,34H

DA A

MOV 34H,A

MOV A,35H

ADDC A,35H

DA A

MOV 35H,A

MOV A,R6

DJNZ R3,NEXT3

CLR C

MOV A,34H

ADDC A,30H

DA A

MOV 30H,A

MOV A,35H

ADDC A,31H

DA A

MOV 31H,A

MOV A,32H

ADDC A,#00H

DA A

MOV 32H,A

MOV A,32H

ANL A,#0FH

MOV 61H,A

MOV A,32H

ANL A,#0F0H

SWAP A

MOV 60H,A

MOV A,31H

ANL A,#0F0H

SWAP A

MOV 62H,A

MOV A,31H

ANL A,#0FH

MOV 63H,A

MOV A,30H

ANL A,#0F0H

SWAP A

MOV 64H,A

MOV A,30H

ANL A,#0FH

MOV 65H,A

MOV TH0,#00H

MOV TL0,#00H

RETI

DELAY: MOV 90H,#200

LOOP5: DJNZ 90H,LOOP5

RET ;延时TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

END

第四章结论

经过调试,确定最终程序并经过老师审核,我们组成功实现了本次课程设计的预期要求:测量10Hz-150kHz的方波频率,把频率与周期按5秒一切换分时显示在6位数码管上。

第五章心得体会与建议

这次的微机课设,我们选择的是频率计这一题目,虽然是个老题,却较以往有了更高的要求。

在刚拿到这个题目的时候,我就开始琢磨如何实现预期的效果。首先想到的自然是先实现测频,再通过在定时器中设置5s的标记来切换为周期显示。但就是这么小小的一个目标,没想到竟然花了我整整一周的时间。

一开始,我怎么也没想到如何实现5s的切换,也没拿定主意应该采用上述的方案1还是方案2,在这个过程中我纠结了很久,也和我的同学进行了讨论。最终,我发现自己遇到的最严重问题是思路还不够清晰。于是,经过徐老师的指点,我认真思考了自己编写的程序结构,重新修改了我的程序框图,并且决定使用方案2来实现。终于在验收的最后一天成功实现了预期要求,顺利实现验收。

微机原理课程设计报告交通灯

WORD格式微机原理课程设计 设计题目交通灯的设计 实验课程名称微机原理 姓名王培培 学号080309069 专业09自动化班级2 指导教师张朝龙 开课学期2011至2012学年上学期

一、实验设计方案 实验名称:交通灯的设计实验时间:2011/12/23 小组合作:是□否?小组成员:无 1、实验目的: 分析实际的十字路口交通灯的亮灭过程,用实验箱上的8255实现交通灯的控制。(红,黄,绿三色灯) 2、实验设备及材料: 微机原理和接口技术实验室的实验箱和电脑设备等。 3、理论依据: 此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。 如硬件连接图所示(在后),红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255 的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4(南东北西)路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的 三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK,2 OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30s定时到。OUT2产生 1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本 输入输出方式,红绿灯的转换由软件编程实现。

4、实验方法步骤及注意事项: ○1设计思路 红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1 控制。 设8253各口地址分别为:设8253基地址即通道0地址为04A0H,通道1为04A2H,通道2 为04A4H,命令控制口为04A6H。 黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时 间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。 由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方 式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方 式,理论设计输出周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1s,因此 通道0的计数初值为10000=2710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以 通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H 既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测 到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态 反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态 变化,计9次状态变化可完成5次闪烁。 三个通道的门控信号都未用,均接+5V即可。 ○ 2硬件原理及电路图 由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的A1、A 0 线分别与 8086CPU的A2、A线相连,而将8086的 1 A 0 线作为选通信号。如果是按8255A内部地址来看, 则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),

微机原理课程设计电压报警器实验报告

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: xxx

目录 1.设计目的 (2) 2.设计内容 (2) 3.设计要求 (2) 4.设计原理 (3) 5.硬件电路图 (3) 6.程序代码 (5) 7.程序及硬件系统调试情况 (19) 8.设计总结与体会 (19)

一、设计目的 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 二、设计内容 设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

微机原理课程设计

微机原理课程设计

前言 加热器数字控制系统的设计与功能的实现要求学生在学习完微机原理及应用这门课的基础上,在对芯片类知识以及汇编语言有一定基础的前提下进行的一个非常体现学生综合能力的一个设计。要想很好的完成这个题目,必须对芯片的功能有很详细的了解,同时也要求学生的汇编语言基础要扎实。计算机技术的飞速发展,使的计算机知识和应用技能已成为人类知识经济的重要组成部分。《微型计算机原理》正是掌握计算机结构和工作原理的入门课程,它偏重于实际应用的课程,要求学生在学好理论知识的基础上,培养定的实践动手操作能力,学生将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。微机原理课程设计是对《微型计算机原理》课程理论教学和实验教学的综合和总结。 通过该课程设计,可以使学生对微机原理及应用这门课有更深刻的了解与认识,同时在做课程设计的过程中也锻炼了学生将书本上的知识应用到具体实践上的能力。不仅回顾了上课老师所讲的知识,同时也培养了自身的创新能力,自主设计能力,纠错能力,加强了学生动手的能力。

目录 1.前言 (2) 2.课程设计题目 (4) 3.设计任务分析 (5) 4.总体设计思路 (6) 5.硬件设计 (7) 6.软件设计 (11) 7.小结 (13) 8.参考文献 (14) 9.设计图纸 (15) 10.程序清单 (16)

课程设计题目:数字控制系统在加热器中的应用 一、课程设计的目的意义 通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练:(1)调查研究、分析问题的能力; (2)使用设计手册、技术规范的能力; (3)查阅中外文献的能力; (4)制定设计方案的能力; (5)计算机应用的能力; (6)设计计算和绘图的能力; (7)技术经济指标的分析能力; (8)语言文字表达的能力。 二、课程设计任务介绍 当把物品放入加热器中,首先要启动加热器和电机工作,设定加热时间为5分钟,为使物品均匀加热,每隔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的初值来产生

微机原理课程设计报告

微机原理课程设计报告 课程设计是每一个大学生在大学生涯中都不可或缺的, 它使我们在实践中了巩固了所学的知识、在实践中锻炼自己的动手能力,本文就来分享一篇微机原理课程设计报告,希望对大家能有所帮助! 微机原理课程设计报告(一)以前从没有学过关于 汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。 我们在这个过程中有很多自己的感受,我想很多同学都 会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就感。 我想微机原理课程设计和其他课程设计有共同的地方, 那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。 微机原理与接口技术是一门很有趣的课程,任何一个计 算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。 学习该门课程知识时,其思维方法也和其它课程不同,

2014年微机原理课程设计题目-汇总 (1)

1.根据键盘输入的一个数字显示相应的数据螺旋方阵。如输入4,则显示。 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 共需要显示4^2=16个数字。 要求:①根据键盘输入的数字(3-20),显示相应的数据方阵。 ② 画出设计思路流程图,编写相应程序。 2.显示日期或时间。要求:有提示信息,输入字母“r”,可显示系统当前日期;输入字母“s”,可 显示系统当前时间;输入字母“q”,退出程序。 3.字符游戏 随机显示字符ch,等待用户输入 如果输入字符与ch一致,则随机显示下一个字符ch2;否则显示“输入错误”; 如此循环; 输入Enter结束 点击Enter程序退出; 4.从键盘上输入7名裁判的评分(0-10,整数),扣除一个最高分,扣除一个最低分,计算出其它五 个分数的平均值(保留一位小数),并在显示其上输出 “The final score is:”和最终结果。 5.为短跑比赛设计一个确定成绩次序的程序,要求能够输入8个队员编号,成绩;输出最终的排名 次序编号及成绩。(成绩时间格式--秒数:百分秒数,如12:15) 6.为评委设计一个显示选手通过的指示器,以电脑显示屏作为指示屏。当从键盘输入0时,显示屏 上呈现“×”图形,表示选手被淘汰;当从键盘输入1时,显示屏上呈现“√”图形,表示选手通过。 7.试设计一个道路收费系统,将车型分为大型车、中型车、小型车,每种车型分别有各自的单公里 收费标准,如下表所示,在收费时,将车型和公里数输入系统,就可自动生成收费额,(公里数取整。收费额以元为单位,保留一位小数)。 序号 车型 单公里收费(单位:0.1元) 1 大型车 5 2 中型车 3 3 小型车 1 8.通过实验箱TDN实现8个LED灯循环闪烁。 要求:首先是1、3、5、7号LED灯以此亮1秒钟,当第7号LED灯亮后,这四个灯同时闪烁5下; 然后,2、4、6、8号灯依次亮1秒钟,当第8号灯亮后,这四个灯同时闪烁5下。 9.为男子25米手枪速射决赛设计一个排名程序。决赛有6名运动员参加,每人每轮次打5枪,每枪 打中靶子的中心区就计一分,打不中就记0分。四轮比赛之后,先将成绩最低的选手淘汰(即为

微机原理课程设计报告

微型计算机技术课程设计 指导教师: 班级: 姓名: 学号: 班内序号: 课设日期: _________________________

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (3) 五、设计思路..................... 错误!未定义书签。 六、设计步骤(含流程图和代码) ..... 错误!未定义书签。 七、课程设计小结 (36)

一、课程设计题目:点阵显示系统电路及程序设计 利用《汇编语言与微型计算机技术》课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。 二、设计目的 1.通过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。 2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。 三、设计内容 1.点阵显示系统启动后的初始状态 在计算机显示器上出现菜单: dot matrix display system 1.←left shift display 2.↑up shift display 3.s stop 4.Esc Exit 2.点阵显示系统运行状态 按计算机光标←键,点阵逐列向左移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标↑键,点阵逐行向上移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标s键,点阵停止移动并显示当前字符。 3.结束程序运行状态 按计算机Esc键,结束点阵显示系统运行状态并显示“停”。 四.设计所需器材与工具 1.一块实验面包板(内含时钟信号1MHz或2MHz)。 2.可编程芯片8253、8255、74LS245、74LS138各一片,16×16点阵显示器件一片。

微机原理课程设计

、 微机原理课程设计 —数据采集系统(查询法) # (

一、课设目的 进一步掌握微机原理只是,了解危机在实时采集过程中的应用,学习、掌握编程和程序调试方法。 , 二、课设内容 用查询法,将ADC 0809通道0外接0~5V电压,转换成数字量后,在七段LED数码管上,以小数点后两位(几十毫伏)的精度,显示其模拟电压的十进值;0809~道0的数字量以线性控制方式送DAC0832输出,当通道O的电压为5V时,0832的OUT为0v,当通道O的电压为0时,0832的OUT为2.5V;此模拟电压再送到ADC0809通道1,转换后的数字量在CRT上以十六进制显示;通道0的数字量经74LS574输出到八位LED上,且以一定的要求,点亮LED指示灯。调整电位器,用示波器或三用表观察0832的变化,观察七段LED数码管数值的变化,观察LED灯的变化, ADC 0809的CLK脉冲,由定时器8254的OUT0提供;ADC 0809的EOC信号,用8255的PC0检测;74LS574外接的LED灯变化如下:若电压值小于0.5V,则最低位(DO)’LED灯亮,若电压值大于4.5V,则最高位LED灯亮,若电压值在0.5V~4.5V,则八位LED灯由低向高变化亮,且高位LED灯亮时低位灯全亮。 要有较好的人机对话界面;控制程序的运行。 三、硬件设计 1、电原理框图 见附件1 2、电原理框图工作过程的简要说明 【 (1)、ADC 0809的INO采集电位器0—5V电压,INl采集0832输出的模拟量。(2)、DAC 0832将ADC 0809的INO数字量后重新转换成模拟量输出。 (3)、8255用于检测ADC 0809转换是否,为七段LED数码管显示提供显示驱动信息。 (4)、七段LED数码管显示ADC 0809的INO的值。 (5)、74LS574驱动八位发光二极管,使它们按要求点亮:来指示当前采样值的范围。 (6)、8254提供ADC 0809的采样时钟脉冲。 (7)、74LSl38译码器为各芯片提供地址信息。 四、软件设计 【 首先进行程序初始化显示提示信息,判断是否有键按下,按下1则继续往下执行,按下2则退出。首先对8254进行初始化选择工作方式及赋初值,然后启动0809的IN0,接着初始化8255,并检测PA7的状态检测转换是否,否继续检测

微机原理课程设计报告-数字时钟的实现(附代码)

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术x班学号: 姓名:

一、设计题目及要求: 【课题6】数字时钟 1.通过8253 定时器作产生秒脉冲定时中断。在中断服务程序中实现秒、分、小时的进位(24小时制)。 2.在七段数码管上显示当前的时分秒(例如,12 点10 分40 秒显示为121040)。 3.按“C”可设置时钟的时间当前值(对准时间)。 二、设计思想: 总体思想: 1、功能概述: 实验箱连线: 本实验建立在Dais实验箱基础上完成的基本连线及程序如下: 138译码器: A,B,C,D,分别连接A2,A3,A4,GS; y0连接8253的CS片选信号; y1连接8259的CS片选信号; 8253连线: 分频信号T2接8253的CLK0; 8253的OUT0接8259的IR7; 8253的gate信号接+5V; 8259连线: 8259的数据线接入数据总线;

本程序包括显示模块,键盘扫描模块,时间计数模块,设置模块等几个模块, (1)程序运行后,LED显示000000初始值,并且开始计数 (2)按C键进行设置初始时间,考虑到第一个数只能是0,1,2,当第一个数显示2时第二个数只能显示0~4,同理下面各位应满足时钟数值的合理的取值; (3)在手动输入初始值时,按D键进行回退1位修改已设置值,连续按D键可以全部进行删除修改。 2、主程序设计 主程序中完成通过调用子程序完成对8253及8259的初始化,对8259进行中断设置。主要在显示子程序和键盘子处理程序之间不断循环,8253每一秒给8259一个刺激,当8259接受到刺激后会给CPU一个中断请求,CPU会转去执行中断子程序,而中断子程序设置成时间计数加,即完成电子表的整体设计。详细流程图见图三-1。 3、LED显示子程序设计 本程序显示部分用了6个共阳极LED作为显示管,显示程序要做到每送一次段码就送一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到右使6个LED依次显示出相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。 4、键盘扫描子程序设计 本程序需要用键盘对时间的初始值进行设置,因此对键盘扫描的子程序需要满足的功能如下: 判断是否是C键,若不是就返回至主程序,若是C键就开始对时间初始值进行设置,同时因注意到第一个值不可以超过2,第一个数是2时第二数不能超过4,余下的同理要满足时间数值的取值范围呢,若不是合法输入不予反应继续等待输入。当遇到输入数值错误时可以按下D键进行删除一位重新设置;当6位初始值全部设置成功后,电子表将自动开始走表。 5、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

汇编与微机原理课程设计报告

微机接口课程设计报告 (题目:模拟自动门) 指导老师郭兰英 班级2015240204

目录 一概述 (1) 1.1 课程设计名称 (1) 1.2 课程设计要求 (1) 1.3 课程设计目的 (1) 二设计思想 (1) 三实施方案 (2) 3.1 获得传感器和“门”的状态 (2) 3.2 驱动步进电机和点阵模块 (2) 3.3 实现硬件延时 (3) 四硬件原理 (3) 4.1 中断控制器8259 (4) 4.2并行接口8255 (4) 4.3 定时/计数器8254 (5) 4.4 点阵LED显示屏 (5) 4.5 步进电机 (6) 4.6 红外距离传感器 (7) 五软件流程 (8) 六程序运行结果及分析 (11) 6.1 开门状态 (11) 6.2 关门状态 (12) 6.3 关门操作进行时中断到开门操作 (14)

6.4特殊状态 (15) 七个人感想 (16) 八附录 (18)

一、概述 1.1课程设计名称 模拟自动门 1.2课程设计要求 1)用汇编语言编程完成硬件接口功能设计。 2)硬件电路基于80x86微机接口。 3)程序功能包含:步进电机转动、点阵显示开关门、传感器检测是否有人、8254延时。 4)传感器检测有人时开门,门全开后延时几秒关门,若关门时检测到有人,立刻开门。 1.3课程设计目的 通过本课程设计,让学生对微机系统有一个较面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。要求同学分组完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,编写设计程序及程序流程图。 二、设计思想 本程序主要功能是模拟商场等公共场所的自动门,实现有物体靠近并被传感器检测到时发生一系列变化的效果,模拟实现开门关门的功能。 为了尽量模拟真实场景下的自动门状态变化,本程序主要可以实现以下功能: 1、当传感器可检测范围内检测到物体,并且“门”为“关”的状态,立即“打开门”,即用一系列的硬件动作模拟自动门打开的动作和状态。 2、当“门”完全打开后一段时间后,传感器范围内检测不到物体时,立即“关闭门”, 用一系列的硬件动作模拟自动门关闭的动作和状态。

武科大微机原理课程设计

一、设计题目 键控数据采集及数值显示电路设计 二、设计任务 按不同的数字键(0、1、2、3、4、5、6、7)采集0809相应数据通道的模拟量,并在LED 数码管上显示值。设定输入模拟量在0—5V范围内,显示值在0—255范围内。 三、设计要求 1.画出连接线路图或功能模块引脚连接图。 2.采用8088CPU作主控制器,0809作A/D转换器,采用直接地址译码方法,给各芯片分配地址,选取芯片中必须包含有8255。 3.采用3个共阴极型LED动态显示,只需显示0—255范围内的值。 四、设计思想及需要用的主要芯片 1、设计思想 首先通过编程对8255初始化,然后通过8255对ADC0809转换器初始化,通过0~7号按键(在这里0~7号按键用开关实现,有按键的过程中会有抖动,所以需要加入一个74LS244芯片,用于缓冲),经8088微处理器处理后选择ADC0809的模拟通道,将0~5V内的模拟量通过选择的模拟通道传递给模数转换器,通过转换器把模拟量转换为0~255之间的数字量,将数字量通过可编程并行接口8255(在这里端口A作为数据输入端,端口B作为数据输出端,端口C作为控制端),送给LED数码管显示。 2.主要芯片及其功能 ADC0809与系统的接口包括两个输出口和一个输入口,第一个输出口用于控制芯片内部的模拟通道选择,CPU输出的通道地址从ADC0809的引脚ADDA、ADDB、ADDC输入,并利用ALE信号触发锁存;第二个输出口是哑元,用以触发ADC0809的引脚START启动转换。当转换结束后,ADC0809的引脚EOC会产生一个高电平的状态信号,该信号用于检测,也可用于申请中断。随后,CPU可以从ADC0809的引脚D0-D7输入转换后的数据。其芯片引脚图如下 8255是并行通信接口芯片,其基本功能是以并行的方式在系统总线与I/O设备之间传送

微机课程设计心得体会范文

微机原理与系统设计作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点,围绕微型计算机原理和应用主题,以下是整理的微机课程设计心得体会范文。 微机课程设计心得体会范文一 微机原理与系统设计作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点,围绕微型计算机原理和应用主题,以CPU为主线,系统介绍微型计算机的基本知识,基本组成,体系结构和工作模式,从而使学生能较清楚地了解微机的结构与工作流程,建立起系统的概念。 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。 其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在赵老师的辛勤指导下,终于游逆而解。同时,在赵老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 微机课程设计心得体会范文二 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不

微机原理课程设计实验报告DOC

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 课程名称: 学年学期: 指导教师: 年月

课程设计成绩评定表 学生姓名学号成绩 专业班级起止时间2011.12.24—2012.11.28 设计题目字符串动画显示 指 导 教 师 评 语 指导教师: 年月日

目录 一、课程设计的目的 (1) 二、设计题目 (1) 三、设计内容要求 (2) 四、设计成员及分工 (2) 五、课程设计的主要步骤 (2) 六、课程设计原理及方案 (3) 七、实现方法 (3) 八、实施结果 (8) 九、总结 (8) 十、体会感受 (8)

一、课程设计的目的 课程设计是以自己动手动脑,亲手设计与调试的。它将基本技能训练、基本工艺知识和创新启蒙有机结合,培养我们的实践和创新能力。课程设计的意义,不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力。作为信息时代的大学生,基本的动手能力是一切工作和创造的基础和必要条件。 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 《微机原理及应用》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。 通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书等表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。 通过设计过程,要求学生熟悉和掌握微机系统的软件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件调试、查阅资料、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练的熟练掌握微机系统的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的软件调试方法和步骤,熟悉微机系统的软件开发工具的使用方法。 二、设计题目

微机原理课程设计

微机原理与应用课程设计

目录 一、设计任务 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(设置光标位置子程序) 通过设置光标子程序,来设置显示的区域。一般整个屏幕可显示25行,80列,屏幕左上角字符位置为0行0列,右下脚字符为24行79列,对应十六进制为:左上脚为(0,0),右下脚为(18,4F)。入口信息为:(AH)=2 要设置光标;(BH)=0 页号;(DH,DL)=00要置光标于0行0列。DX赋值为0D27H,光标置位于屏幕中央。 6.GO(初始化显示子程序) 通过将在数据段定义的BUFFER数组的首址赋给BX,将待显示初值字符串00:00存入数组中的相应位置,当每次复位以后,重新调用该子程序,将程序的执行结果修正为00:00,并显示于屏幕上,从而实现了程序的初值设定和复位功能。 7.TIME(延时子程序) 计算机每执行一条指令,虽然很快,但是需要一些时间,因此在本程序中可以通过延时程序,让计算机去执行一些无关的程序,来达到时钟秒与百分之一秒转换时的时间延迟。每条指令执行时间的长短,是以计算机的时钟周期为基本单位的,因此不同的计算机可以通过修改延时程序数值来使其达到准确计时。 8.TRAN(压缩BCD码转ASCII码程序)

学微机原理课程设计心得体会范文

学微机原理课程设计心得体会范文 "微机原理与系统设计"作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点。接下来就跟着小编的脚步一起去看一下关于吧。 篇1 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。 其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。 通过这次课程设计使我懂得了理论与实际相结合是很

重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在赵老师的辛勤指导下,终于游逆而解。同时,在赵老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 篇2 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。 我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就

8086.8088微机原理课程设计

8086/8088微机原理课程设计 1、课程设计说明 “微机原理与接口技术课程设计”主要是测试学生的8086/8088系统输入输出技术应用能力、数字电路应用能力和程序设计能力。 设计题目中综合了《数字逻辑》、《微机原理与接口技术》和《程序设计基础》等课程中的相关知识点。特别是电气工程系各专业学习了《模拟电子》、《传感器技术》、《单片机技术》等课程,给题目的扩展和实际应用提供了基础。本课程的课程设计实际上是一个综合性应用的设计和制作。 这里只给出了部分课程设计的题目,主要和接口电路有关,每个题目的实现方式和扩展空间都很大,指导教师可根据学生的具体情况决定设计题目的内容和设计量。纯汇编语言软件的设计未在这里列出。 欢迎学生自拟题目,经指导教师审核其难易程度和确定所用器材,优先选用。 2、课程设计计分办法 课程设计的计分由课设题目(60)、课设报告(20)、考勤(20)三部分组成。 一、题目的选择 设计题目分为星级制(★),根据选择题目的难易程度确定成绩,以百分制计算,按比例计入总成绩。要根据个人情况合理选择题目,不可多组选择同一题目。 1、无星为最简题目,做完多个题目仅记分为及格(69分及以下)。 2、1星(★)为简单题目,做完1个题目记分为良(70~89分)。 3、2星(★★)为较难题目,做完1个题目记分优(90~100分)。 4、星级题目多做可提高分值。 5、课设一般为分组实施,主要设计者记原星级分值,辅助者减1星。 6.、未完成设计者视设计程度减星计分。 7、无星题目可单人完成,但不选题目者记0分。 二、报告要求 课设报告应按规定格式书写,并按时上交。报告原则上要求手工书写,如要打印必须是独立版本,遇雷同课设报告均不计入总成绩。 三、考勤 考勤。点名一次未到扣5分,5次以上记0分。

微机原理课程设计交通灯

一、课程设计题目 交通灯控制 二、课程设计目的 ●综合运用《微机原理与应用》课程知识,利用集成电路设计实 现一些中小规模电子电路或者完成一定功能的程序,以复习巩 固课堂所学的理论知识,提高程序设计能力及实现系统、绘制 系统电路图的能力,为实际应用奠定一定的基础。 ●掌握8255A方式0的使用与编程方法 ●PC机及配套的接口电路实验装置 ●IC芯片:8255A应用和8253 三、课程设计容 ●采用8255A设计交通灯控制的接口方案 ●采用8253设计延时电路 ●插接电路 ●编写控制程序 四、课程设计过程 1、设计原理 ●8255 8255是Intel公司生产的可编程并行I/O接口芯片,有3 个8位并行I/O口。具有3个通道3种工作方式的可编程 并行接口芯片(40引脚)。其部与引脚图如图所示:

8255有三个端口A、B、C端口,3种不同的工作方式,在其控制字的作用下使某一个端口工作于某一种工作状态下。 8253 intel8253是NMOS工艺制成的可编程计数器/定时器,其部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同,如图所示:

每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立,采用减1计数方式。控制字如图所示: 在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。在这里我们主要采用方式0:计数结

束产生中断 (由低电平变为高电平)。其波形图如图所示: a. 写CW后:OUT=0,直到计数到0 b. 写N后:下1个CLK脉冲下降沿开始计数 c. 计数过程中,可重写N,重写N后,同b. d. GATE的作用:GATE=1计数、=0暂停计数 e. 计数到0:OUT=1,直到再写CW或N 2、方案设计 考虑普通十字路口,交通灯的控制可分东西向和南北向两 组,每组可用红、黄、绿三个灯进行交通管理,所以本方 案要点是至少对六个交通灯进行控制。由于灯光控制只需 要开、关两个状态,所以可以采用开关量实施控制。开关

西电微机原理实验报告

微机系统实验报告 班级:031214 学号:03121370 姓名:孔玲玲 地点:E-II-312 时间:第二批

实验一汇编语言编程实验 一、实验目的 (1)掌握汇编语言的编程方法 (2)掌握DOS功能调用的使用方法 (3)掌握汇编语言程序的调试运行过程 二、实验设备 PC机一台。 三、实验内容 (1)将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能 调用完成必要提示信息的显示。 (2) 在屏幕上显示自己的学号姓名信息。 (3)循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到 输入“Q”或“q”时结束。 (4)自主设计输入显示信息,完成编程与调试,演示实验结果。 考核方式:完成实验内容(1)(2)(3)通过, 完成实验内容(4)优秀。 实验中使用的DOS功能调用:INT 21H 表3-1-1 显示实验中可使用DOS功能调用 AH 值功能调用参数结果 1 键盘输入并回显AL=输出字符 2 显示单个字符(带Ctrl+Break检查) DL=输出字符光标在字符后面 6 显示单个字符(无Ctrl+Break检查) DL=输出字符光标在字符后面 8 从键盘上读一个字符AL=字符的ASCII码 9 显示字符串DS:DX=串地址,‘$’为结束字符光标跟在串后面 4CH 返回DOS系统AL=返回码

四、实验步骤 (1)运行QTHPCI软件,根据实验内容编写程序,参考程序流程如图3-1-1所示。 (2)使用“项目”菜单中的“编译”或“编译连接”命令对实验程序进行编译、连接。 (3)“调试”菜单中的“进行调试”命令进入Debug调试,观察调试过程中数据传输指令执行后各寄存器及数据区的内容。按F9连续运行。 (4)更改数据区的数据,考察程序的正确性。 五、实验程序 DATA SEGMENT BUFFER DB '03121370konglingling:',0AH,0DH,'$' BUFFER2 DB 'aAbBcC','$' BUFFER3 DB 0AH,0DH,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START: MOV AX,DA TA MOV DS,AX mov ah,09h mov DX,OFFSET BUFFER int 21h

相关文档
最新文档