微机原理课程设计(电子密码锁)(通用9篇)
微机原理课程设计(电子密码锁) 篇1
电子时钟课程设计
一:设计背景
电子数字钟的应用十分广泛,通过计时精度很高的石英晶振(也可采用卫星传递的时钟标准信号),采用相应进制的计数器,转化为二进制数,经过译码和显示电路准确地将时间“时”“分”“秒”用数字的方式显示出来。与传统的机械钟相比,它具有走时准确,显示直观,无机械传动,无需人的经常调整等优点。它广泛用于电子表、车站、码头、广场等公共场所的大型远距离时间显示电子钟。
二:数字钟电路设计思路
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处理,使数码管的显示发生变化。
电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,并依次对秒、分、小时寄存器的内容加一,六个数码管动态显示时、分、秒的当前值。最大记时23:59:59超过这个时间时分秒位都清零从00:00:00重新开始。8253芯片介绍
8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz)8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制 字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数 器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。
8255芯片介绍 8255特性:
①一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.②具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I /O3种模式;B组只能设置为基本I/O或闪控式I/O两种模
8255芯片
8253芯片
式,而这些操作模式完全由控制寄存器的控制字决定.8255引脚功能:
RESET:复位输入线 , CS:芯片选择信号线 , RD:读信号线 , WR:写入信号 , D0~D7:三态双向数据总线 ,PA0~PA7:端口A输入输出线 ,PB0~PB7:端口B输入输出线, PC0~PC7:端口C输入输出线, A0,A1:地址选择线 三:程序流程图
三、电
子
表
原
理
图
:
四:程序代码
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 00 SECOND
db 008 STAT
db 00 LED
db 31H,06H,5bH,4fH,66H,6dH,7dH,27H,7fH,6fH,00H,00H DISBUF db 8 dup(0)data ends stack segment stack
dw 100 dup(?)stack ends code segment
assume cs:code,ds:data START:
MOV AX,DATA
MOV DS,AX
CLI
MOV AL,13H
MOV DX,C82590
OUT DX,AL
MOV AL,8
MOV DX,C82591
OUT DX,AL
MOV AL,1
OUT DX,AL
MOV AX,0
MOV ES,AX
LEA AX,INT0
MOV AX,CS
MOV ES:[4*8+2],AX
MOV DX,C8253
MOV AL,36H
OUT DX,AL
MOV DX,D82530
MOV AX,10000
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV DX,C8253
MOV AL,36H
OUT DX,AL
MOV DX,D82531
MOV AX,100
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV DX,C8279
MOV AL,00H
OUT DX,AL
MOV AL,34H
OUT DX,AL
MOV AL,0D2H
OUT DX,AL
MOV STAT,0
MOV DX,C82591
MOV AL,0FEH
OUT DX,AL
WAIT1:
MOV DX,C8279
IN AL,DX
MOV AH,AL
AND AL,80H
JNE WAIT1
MOV AL,AH
AND AL,0FH
CMP AL,00H
JE WAIT1
MOV AL,40H
OUT DX,AL CHK: MOV DX,D8279
IN AL,DX
CMP AL,33H
JNE BBB
MOV DX,C82591
MOV AL,0FFH
OUT DX,AL
MOV AL,STAT
INC AL
MOV STAT,AL
CMP AL,1
JNZ AA1
MOV SI,OFFSET DISPBUF
MOV CX,4
MOV AL,00 BB0: MOV [SI],AL
INC SI
LOOP BB0
CALL DISP
JMP CHK AA1: CMP AL,2
JNZ AA2
MOV SI,OFFSET DISPBUF
MOV AL,00
MOV [SI],AL
INC SI
MOV [SI],AL
ADD SI,2
MOV [SI],AL
INC SI
MOV [SI],AL
CALL DISP
JMP CHK AA2: CMP AL,3
JNZ AA3
MOV SI,OFFSET DISPBUF+2
MOV CX,4
MOV AL,00 BB1: MOV [SI],AL
INC SI
LOOP BB1
CALL DISP
JMP CHK AA3: MOV STAT,00
MOV AL,0FEH
MOV DX,C82591
OUT DX,AL
CALL FULLSFM
CALL DISP
JMP CHK BBB: CMP AL,3BH
JE BBB0
JMP CCC BB0: MOV AL,STAT
CMP AL,1
JNZ BBB1
MOV AL,HOUR
ADD AL,1
DAA
MOV HOUR,AL
CALL FULLSH1
CALL DISP
JMP BBB BBB1: MOV AL,STAT
CMP AL,2
JNZ BBB3
MOV AL,MINUTE
ADD AL,1
DAA
MOV MINUTE,AL
CALL FULLFEN
CALL DISP
JMP BBB BBB3:
MOV AL,STAT
CMP AL,3
JZ
BBB4
JMP
DDD BBB4:
MOV AL,SECOND
ADD AL,1
DAA
MOV SECOND,AL
CALL FULLMIAO
CALL DISP
JMP BBB
CCC:
CMP AL,3AH
JE CC0
JMP DDD CC0:
MOV AL,STAT
CMP AL,1
JNZ CCC1
MOV AL,HOUR
SUB AL,1
DAS
MOV AL,HOUR
SUB AL,1
ADD AL,1
DAA
MOV SECOND,AL
CMP AL,60H
JNZ FANHUI
MOV SECOND,0
MOV AL,MINUTE
ADD AL,1
DAA
MOV MINUTE,AL
CMP AL,60H
JNZ FANHUI
MOV MINUTE,0
MOV AL,HOUR
ADD AL,1
DAA
MOV HOUR,AL
CMP AL,24H
JNZ FANHUI
MOV HOUR,0
CALL FULLSFM
CALL DISP
POP SI
POP DI
POP BX
POP AX
IRET FULL
SFM PROC NEAR
LEA DI,DISBUF
LEA BX,LED
LEA SI,SECOND
MOV CX,3 AA4:
MOV AL,[SI]
AND AL,0FH
XLAT
MOV [DI],AL
INC DI
MOV AL,[SI]
PUSH CX
MOV CL,4
SHR AL,CL
AND AL,0FH
XLAT
MOV [DI],AL
INC DI
POP CX
INC SI
LOOP AA4
RET FULL
SFM ENDP FULL
SHI PROC NEAR
LEA SI,DISBUF
MOV AL,0
MOV CX,4 CCC0:
MOV [SI],AL
INC SI
LOOP CCC0
LEA BX,LED
MOV AL,HOUR
AND AL,0FH
XLAT
MOV [SI],AL
XLAT
MOV [SI],AL
MOV AL,HOUR
MOV CL,4
SHR
AL,CL
AND AL,0FH
XLAT
INC
SI
MOV
[SI],AL
RET FULL
SHI ENDP FULL
FEN PROC NEAR
LEA SI,DISBUF
MOV AL,0
MOV [SI],AL
INC SI
MOV [SI],AL
INC SI
LEA BX,LED
MOV
AL,MINUTE
AND AL,0FH
XLAT
MOV
[SI],AL
MOV AL,MINUTE
MOV
CL,4
SHR AL,CL
AND AL,0FH
XLAT
INC SI
MOV
[SI],AL
RET FULL
FEN ENDP FULL
MIAO PROC NEAR
LEA SI,DISBUF
LEA BX,LED
MOV AL,SECOND
AND AL,0FH
XLAT
MOV [SI],AL
MOV AL,SECOND
MOV CL,4
SHR AL,CL
AND AL,0FH
XLAT
INC SI
MOV [SI],AL
MOV AL,0
INC SI
MOV [SI],AL
INC SI
MOV [SI],AL
INC SI
MOV [SI],AL
INC SI
MOV [SI],AL
RET FULL MIAO ENDP DISP
PROC NEAR
MOV CX,8
MOV DX,D8279
LEA SI,DISBUF DISI
MOV AL,[SI]
OUT DX,AL
INC SI
LOOP DISI
RET CODE ENDS
END START
微机原理课程设计(电子密码锁) 篇2
“微机原理”课程是我校工学院机电信息类专业本科生一门必修的专业基础平台课, 它在专业的人才培养方案中起着承前启后的作用, 为《单片机原理与应用》、《DSP原理及其应用》、《嵌入式系统原理与应用》、《计算机控制技术》、《可编程控制器应用》、《PLC原理与应用》等后续课程的学习打下重要的基础。通过该体系课程的学习, 主要培养学生的应用与创新实践能力。
作为一门实践性和工程性很强的技术基础课, 本课程不仅要重视理论教学, 还应注意实践技能的培养和训练。过去, 微机原理实验基本上就做一些基础性实验项目, 部分学生就按实验指导书的实验步骤做完实验, 根本不理解实验内容, 实验效果不明显。本课程组通过这两年的课程建设, 探讨出一套行之有效的实践教学方法, 把实验过程分为几个层次, 逐层深入。首先学生在较好完成验证性实验的基础上, 再引入综合设计性实验, 指导老师只提供基本的设计思想和设计方法, 不提供具体的、详细的电路与程序, 学生自己查阅有关资料, 自定设计方案, 自行设计、编制调试程序, 观察实验现象, 分析实验结果, 写出实验报告。学生通过综合设计性实验这一环节, 建立了系统控制的概念, 可以更加了解本课程在专业培养中的核心地位, 对后续课程的学习有很好的辐射作用。
1、实验原理
本文讨论的综合设计性实验为交通灯控制实验, 实验时数为6学时, 其目的是实现交通灯定时控制, 并实现数码管显示。本实验采用8086CPU芯片作为控制器, 其控制对象是该系统配置的数码管和红绿灯, 利用系统中的可编程定时器8253和可编程中断控制器8259实现定时和中断, 并利用并行I/O接口芯片8255实现数码管显示。系统框图如图1。
2、芯片设置
8255具有A、B、C三个8位并行接口和一个控制口, 其工作方式包括:方式0 (基本输入/输出) 、方式1 (选通输入/输出) 和方式2 (双向选通输入/输出) 。本实验用A口分别与4个红灯与4个绿灯相连, A口工作在方式0;用B口的与数码管相连, 显示红绿灯时间。B口工作在方式0, 且为输出, 其方式选择控制字为80 H (10000000B) , D7=1为方式选择控制字特征位, D6 D5=00设定A口工作于方式0 (基本输入/输出) , D4=0设定A口为输出端口, D3=0设定B口工作于方式0 (基本输入/输出) , D2=0设定B口为输出端口。此方式选择控制字必须在初始化时写入8255的控制口;8253计数定时器有3个计数定时通道, 可以工作于6种方式, 由于8253定时时间的限制, 用两个通道级连的方式进行定时设置, 工作于方式3;8259中断控制器主要提供定时中断信号, 控制较简单。
学生要根据不同的控制要求编写软件, 最终实现控制要求。图1是系统的实验流程图。主程序中进行系统初始化, 循环等待, 等待定时中断, 然后进行数码管和红绿灯的定时刷新。
3、定时中断流程
结合实验室试验箱条件, 有些硬件连线已固定, 不能更改, 例如各芯片的地址译码电路已确定, 初始化主要包括中断向量表、8255、8253、8259芯片的初始化, 还有数码管和灯状态的初始化。
3、结束语
通过交通灯控制实验, 使学生能够掌握可编程并行I/O接口芯片8255、计数定时芯片8253、中断控制芯片8259等芯片的使用, 掌握各I/O接口芯片之间以及与CPU的硬件连接。结合软件的编写和系统调试, 首先巩固了《微机原理与应用》课程所学知识, 而且也让学生建立起了微型计算机系统的概念, 培养了学生的综合应用能力, 为后续课程的学习打下基础。
摘要:微机原理与接口技术课程是一门实践性和工程性很强的技术基础课, 课程实验是其重要组成部分。本文以交通灯控制实验为例, 结合《微机原理与接口技术》硬件接口与软件知识, 主要培养学生的应用与创新实践能力。
关键词:微机原理,交通灯控制,设计性实验
参考文献
[1]周荷琴, 吴秀清.微型计算机原理与接口技术 (第四版) [M].合肥:中国科学技术大学出版社.2007.12
[2]陈甦欣.《微机原理及应用》课程综合性实验初探[J].中国科技信息.2006.18.
[3]左韬, 熊庆国.微机原理实践教学方法研究[J].科技信息.2007.34.
电子密码锁设计原理分析 篇3
关键词:电子密码锁 555单稳态电路 JK触发器
一、引言
随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。传统的机械锁由于其构造简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。
本课题是以74LS112双JK触发器构成的数字逻辑电路控制方案。
二、设计原理分析
电路组成包括密码锁电路和备用电源,笔者主要就密码锁电路进行分析设计。
密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路。
1.密码锁电路分析
键盘输入、密码修改、密码检测、开锁及执行电路如图1所示。
图1 键盘输入、密码修改电路
开关K1~K9是用户的输入密码的键盘,用户可以通过开关输入密码,开关两端的电容是为了提高开关速度,电路先自动将IC1~IC4清零,由报警电路送来的清零信号经C25送到T11基极,使T11导通,其集电极输出低电平,送往IC1~IC4,实现清零。
密码修改电路由双刀双掷开关S1~S4组成,它利用开关切换的原理实现密码的修改。例如要设定密码为1458,可以拨动开关S1向左,S2向右,S3向左,S4向右,即可实现密码的修改,由于输入的密码要经过S1~S4的选择,也就实现了密码的校验。该电路有16组的密码可供修改。
由两块74LS112(包含IC1~IC4)组成密码检测电路。由于IC1处于计数状态,当用户按下第一个正确的密码后,CLK端出现了一个负的下降沿,IC1计数,Q端输出为高电平,用户依次按下有效的密码,IC2~IC3也依次输出高电平,送入与门IC5,使其输出开锁的高电平信号送往555的2脚,执行电路动作,实现开锁。
密码检测电路如图2所示。
图2
执行电路是由一块555单稳态电路,以及由T10、T11组成的达林顿管构成。若555的2脚输入一高电平,则3脚输出高电平,使T10导通,T11导通,电磁阀开启,实现开门,同时T10集电极上接的DS(绿色发光二极管)发亮,表示开门,20秒后,555电路状态翻转,电磁阀停止工作,以节电。其中电磁阀并联的电容C24是为了提高电磁阀的力矩。开锁及执行电路如图3所示。
图3
2.报警电路
报警电路实现的功能是:当输入密码的时间超过40秒,电路报警80秒,防止他人恶意开锁。电路包含两大部分,2分钟延时和40秒延时电路。其工作原理是当用户开始输入密码时,电路开始2分钟计时,超出40秒,电路开始80秒的报警。当达到了80秒的报警时间,停止报警。
3.报警次数检测及锁定电路
若用户操作连续失误超过3次,电路将锁定5分钟。当电路报警的次数超过3次, 74161构成的3位计数器产生进位,使74161重新计数。将信号送往由555组成的锁定电路的第二引脚,将键盘电路锁定。
4.备用电源电路
为了防止停电情况的发生,该电路可后备UPS电源,它包括市电供电电路,停电检测电路,电子开关切换电路,蓄电池充电电路和蓄电池组成。220V市电通过变压器降压成12V的交流电,再经过整流桥整流,7805稳压到5V送往电子切换电路。
三、总结与体会
以上所介绍的电子密码锁电路,经过多次修改和整理,已是一个比较满意的设计,可以满足人们的基本要求。笔者主要就电子密码锁的键盘输入、密码修改、密码检测、开锁及执行电路做了详细说明。报警电路、报警次数检测及锁定电路、备用电源电路只是做了简单的介绍。电子密码锁电路中也存在一些问题,譬如:电路的密码不能遗忘,一旦遗忘,就很难打开,这一问题可以通过增加电路解决,但由于过于复杂,该设计未涉及;用开关作74LS112的CLK脉冲,不是很稳定,可以调换其他高速开关或计数脉冲;电路密码只有16种可供修改,但由于他人不知道密码的位数,而且还要求在规定的时间内按一定的顺序开锁,所以他人开锁的概率很小;电路中未加显示电路,但可通过其他数字模块实现这一功能。
参考文献:
[1]康华光.电子技术基础(第四版)[M].北京:高等教育出版社,1998.
[2]梁宗善.新型集成块应用[M].武汉:华中理工大出版社,2004.
微机原理课程设计题目 篇4
微机原理课程设计说明:
1.要求使用 A4 纸打印,必须有封面和目录。封面内容有课设题目、班级、学号、姓名、指导教师、日期等内容。设计题目可以任选 一个。
2.课设内容一般应包含如下部分: ① 课设目的、内容;
② 问题分析、设计思路及原因;
③ 电路设计及功能说明,硬件原理图(包括接口芯片简介); ④ 软件部分的程序流程图,算法和使用的编程技巧; ⑤ 汇编源程序清单,对关键的语句(段)要给出简洁的注释; ⑥ 设计过程中的主要难点(自己遇到的)及解决思路和办法; ⑦ 课设结果及分析; ⑧ 收获、体会和建议。题目1 字符串动画显示
设计内容要求:
1、菜单 内容包括:①输入字符串;②字符串动画显示;③退出.2、输入字符串 选择该项后,可以输入一个字符串.该字符串即为动画显示时所显示的字符串.3、字符串动画显示 所显示字符串在一矩形框内从无到有,从右至左移动,完全从框内移出后,又从右至左 移动,直到有任意键按下,停止字符串动画显示返回到主菜单.4、在主菜单中选择退出项,则结束程序返回 DOS.题目2 密码校验程序
设计内容要求:
1、菜单 内容包括:①输入密码(字符串);②密码校验;③退出.2、输入字符串 选择该项后,可以输入一个字符串.该字符串作为密码校验中的已知密码.3、密码校验 输入字符串,若所输入的字符串与密码不一致则提示:Password error!,并重新提示 输入密码,当错误输入三次时退出软件返回 DOS.若所输入的字符串与密码一致则提示: Password correct!,并返回主菜单.4、在主菜单中选择退出项,则结束程序返回 DOS.题目3 加法练习程序 设计内容要求: 随机给出百位数以内的加法算式,并提示输入答案,若正确给出正确提示,若错误给出 错误提示,并提示输入答案;按 R 键继续下一题,按 Q 键返回 DOS.题目4 数字时钟程序
设计内容要求: 在屏幕上显示一数字时钟,能够实现时间的校准,能够实现定时,即当定时时间到后计 算机的 BP 喇叭给出提示.题目5 字符排序及显示
设计内容要求:
1、菜单 内容包括:①输入字符串;②排序字符串;③显示字符串;④显示排序后字符串;⑤ 退出.2、输入字符串 选择该项后,可以输入一个字符串.该字符串作为原始数据保存在一个存储区.3、排序字符串 对输入字符串进行排序,存入另外一个存储区.并显示排序花费时间.4、可以显示源字符串及排序后的字符串,按照列显示,从上到下显示.5、在主菜单中选择退出项,则结束程序返回 DOS.题目6 家用电热淋浴器控制器的设计
设计内容及要求:
1、打开电源后,先设定水温,水温分为八档(30C~100C,10C 为一档)。
2、按下启动键后,开始测量水温并采用数码管显示,控制电热管加热。
3、上下限水位报警(声光报警)。
4、提倡创新。
具体设计任务:
1、选用 8088CPU 和适当的存储器芯片、接口芯片完成相应的功能。
2、画出详细的硬件连接图。
3、画出各程序的详细框图。
4、给出 RAM 地址分配表及接口电路的端口地址。
5、给出设计思路。
6、给出程序所有清单并加上必要的注释。
7、完成设计说明书。题目7 模拟电压采集电路设计
利用《微型计算机原理》课程中所学的主要可编程接口芯片74LS138、8253、8255A、ADC0809和中断控制器8259设计一个模拟电压采集电路。
设计内容及要求:
o
o
o采用ADC0809设计一个单通道模拟电压采集电路,要求对所接通道变化的模拟电压值进行采集,采集来的数字量送至数码管 LED 指示,采集完100个数据后停止采集过程。
具体设计任务:
1、选用 8088CPU 和适当的存储器芯片、接口芯片完成相应的功能。
2、画出详细的硬件连接图。
3、画出各程序的详细框图。
4、给出 RAM 地址分配表及接口电路的端口地址。
5、给出设计思路。
6、给出程序所有清单并加上必要的注释。
7、完成设计说明书。题目8 多功能密码锁
密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时显示00字样。当输入密码错误时,发出错误警告声音,同时显示FF字样。当六次误码输入的条件下,产生报警电平报警。还可以实现对密码的修改,修改成功后,蜂鸣器发出确认音。
设计任务:
1、选用 8086 和适当的存储器及接口芯片完成相应的功能。
2、用 LED 显示器显示电子锁的当前状态。
3、画出详细的硬件连接图。
4、给出程序设计思路、画出软件流程图。
5、给出地址分配表。
6、给出所有程序清单并加上必要注释。
7、完成设计说明书(列出参考文献,所用器件型号)题目9 汽车倒车测距仪
设计内容及要求:
1、设计一个微机控制的汽车倒车测距仪,能测量并显示车辆后部障碍物离 车辆的距离,同时用间歇的“嘟嘟”声发出警报,“嘟嘟”声间隙随障碍物距离缩短而缩短,驾驶员不但可以直接观察到检测的距离,还可以凭听觉判断车后障碍物离车辆距离的远近;
① 开机后先显示“———”,并有开机指示灯。
② CPU 发射超声波 1ms,然后显示 60ms;即 1ms+60ms 为一个工作周 期,等待回波,在次周期内完成一次探测。③ 根据距离远近发出报警声并显示距离。障碍物距离小于 1m,距离值 变化 5cm 更换显示,否则不更换;距离在 1m 以上,新值与原显示值 之差大于 10cm 更换,否则不更换。
④ 用三 LED 位数码管显示障碍物距离。
2、硬件电路原理图和软件框图;
3、编写控制程序,写出设计任务书(总结报告)。题目10 求 N!。
设计内容及要求:
从键盘接收一个数字,计算其阶乘,并显示出来。题目11 求 N-M 连续数据的和,并将和显示出来。题目12 根据键盘输入的一个数字显示相应的数据螺旋方阵。
如输入 4,则显示: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 共需要显示 4^2=16 个数字。
要求:
1、根据键盘输入的数字(3-20),显示相应的数据方阵。
2、画出设计思路流程图,编写相应程序。
题目13 在屏幕上开一个窗口显示自已的名字(汉字)。题目14 通过键盘输入字母,然后显示相应的图形。
要求:输入 L,之后再输入两个点的坐标值,显示一段直线; 输入 R,再输入两个点的坐标值,显示一个矩形框。
题目15 在屏幕上接收一串带数字、字母及其它字符的字符串,然后统计其中数字、字母 的个数,并显示出来。
题目16 编写一个汇编程序,将键盘输入的小写字母用大写显示出来.若输入的是非字符,显示NON CHAR。
题目17 编程序实现十进制数转换成十六进制数。
从键盘输入一个十进制数,转换成十六进制数,显示出来。要求:需要检测输入一个规范的十进制数。题目18 编程序实现十六进制数转换成十进制数。从键盘输入一个十六进制数,转换成十进制数,显示出来。要求:需要检测输入一个规范的十六进制数。
题目19 简易信息检索系统。
在数据区定义 msg0-msg9 共十条信息,然后从键盘接收 0-9 的数字,显示相应的信息。题目20 人名排序程序。
从键盘接收十个人名,人名由四个字母构成。按字母上升次序显示所输入的人名,每一个人名占一行。
题目21 在显示屏中央开一个窗口显示自已的名字(以拼音显示)。
要求:窗口的大小(行列的象素数,可由用户输入两个数字调整)题目22 编程显示学校行知广场雕像。
题目23 用字符组成汽车图形,在屏幕显示从左向右开动的汽车。题目24 交通灯控制系统(在实验系统上实现)
在A道和B道的十字路口,A、B道各有两组交通指示灯,每组有红、黄绿三个灯。A 道的同色灯连在一起,B道的同色灯连在一起。对各组的交通灯进行控制,以保证车辆在各道上通畅运行。
A、B组的交通灯工作过程为:
1、初始状态为A、B道都是红灯亮。当控制系统启动后,A道的绿灯亮,B道的红灯 亮。
2、当延时25秒后,A、B 道的黄灯同时变亮,且延时5秒。
3、延时后,B 道转为绿灯,A 道转为红灯,且延时 25 秒。25 秒后,转为 A、B 道的黄灯亮,延时 5 秒后,回到第一步,以次重复进行,不断循环。
4、当遇到道路障通,或紧急情况时,A、B道全为红灯。
用七段数码块显示器显示绿灯延时时间。用相应的发光二极管来代替交通灯,用发光二极管的亮灭显示交通灯的工作情况。系统有启动按钮和停止按钮,按启动按钮后,系统从第一步开始循环,按停止按钮 后,无论在那一步,应回到初始状态。
画出详细的硬件连接图。附控制程序。
题目25 通过串口实现双机通信(在实验系统上实现)
在发送机一方通过实验箱的小键盘输入一串字母,并在接收一方显示所接收到的字母。在实验系统上实现。要求至少传送 8 个不同的字母,画出详细的硬件连接图。附控制程序。题目26 通过串口实现单机自发自收功能(在实验系统上实现)通过实验箱的小键盘输入一串数字或字母,并在 CRT 显示器上显示所接收到的内容。在实验系统上实现。要求至少传送 26 个不同的字母和 8 个不同的数字,画出详细的硬件连接图。附控制程序。题目27 波形发生器(在实验系统上实现)
波形发生器是一种常用的信号源,广泛应用于电子电路、自动控制系统和教学实验等领域。目前使用的波形发生器大部分是用分立元件组成,体积大,可靠性差,准确度低。要求用 8086CPU 及相关外围芯片构成的波形发生器,它可产生方波、三角 波、梯形波、锯齿波、正弦波和脉冲信号等多种波形,波形的周期可由程序改变,并可根据需要选择单极型输出或双极型输出。要求:生成方波信号、生成三角波信号、生成锯齿波信号(每种信号生成可由一名学生选做)。题目28 抢答器控制模拟程序
设计任务:用汇编语言模拟设计一抢答器工作的程序。抢答开始后,显示各抢答输入的 时间,并将最快抢答标识为红色,且闪烁。
基本要求: 具有8个抢答输入(由8个开关代替,其它按键不起作用);显示抢答剩余时间(初始10秒);显示抢答成功者(显示数字);抢答成功后,有声音提示;时间分辨率小于10ms;
设计报告:写出主要设计思路,工作原理;画出硬件接线图;调试出现的问题及解决方法;提交程序清单。
题目29 计算字符长度
提示输入字符串;输入任意字符串string,点击Enter结束输入;输出字符串string的长度;点击Enter程序退出。
题目30 字符串大写字母转换为小写
提示输入字符串;输入任意字符串string,点击Enter结束输入;将字符串string中的大写字母转换为小写字母输出;点击Enter程序退出。题目31 字符串小写字母转换为大写
提示输入字符串; 输入任意字符串string,点击Enter结束输入;将字符串string中的小写字母转换为大写字母输出;点击Enter程序退出。题目32 计算字符串中某个字符出现次数
提示输入字符串;输入任意字符串string,点击Enter结束输入;提示输入字符;输入任意字符ch,点击Enter结束输入输出字符串string中字符ch的出现次数点击Enter程序退出。题目33 去除字符串中的某个字符 提示输入字符串;输入任意字符串string,点击Enter结束输入;提示输入字符;输入任意字符ch,点击Enter结束输入将字符串中字符ch去除,输出变化后的字符串string2点击Enter程序退出。题目34 从字符串中截取指定长度的字符子串
提示输入字符串;输入任意字符串string,点击Enter结束输入;提示输入数字;输入任意数字int,点击Enter结束输入;截取string的前int位输出;点击Enter程序退出。题目35 将字符串补齐为某个特定长度
提示输入字符串;输入任意字符串string,点击Enter结束输入;提示输入数字;输入任意数字int,点击Enter结束输入;提示输入字符;输入任意字符ch,点击Enter结束输入如果字符串string长度大于int,则截取string的前int位输出;如果字符串string长度小于int,则在string后面添加字符ch,直至使字符串长度等于int;如果字符串string长度等于int,则直接输出字符串。点击Enter程序退出。题目36 字符游戏
随机显示字符ch,等待用户输入,如果输入字符与ch一致,则随机显示下一个字符ch2;否则显示“输入错误”;如此循环;输入Enter结束。题目37 查找字符串中给定字符首次出现的位置
要求:字符串给定; 从键盘输入单个字符,Enter 键结束并显示该字符所处的位置。题目38 编密码
按一下规律编码:字母A变为E,a变为e,即变成其后的第4个字母,W变为A,Y变为C,Z变为D,非字母不变。如输入“China”变为“Glmre”。
要求:提示输入一字符串;键盘输入,Enter键结束输入,并换行显示结果。题目39 计算字符串长度
从键盘输入一行字符,计算出该字符串的长度。
要求:提示输入一行字符串;键盘输入字符串,Enter键结束输入,并换行显示计算结果。题目40 字符串反序排列
要求:提示输入一行字符串;键盘输入字符串,Enter键结束输入,并换行显示结果。题目41 字符串比较
比较两个输入的字符串是否完全相同,是则显示YES,否则显示NO。要求:提示输入字符串1; 输入字符串1,Enter键结束输入并换行; 提示输入字符串2;输入字符串2,Enter 键结束输入并换行; 显示判断结果。题目42 数组排序
数据段里有一个 N 个字的数组A,利用冒泡排序法对数组进行从大到小的排序,并输出结果。要求:读出数据段中存放的数组A;换行显示排序后的数组A。题目43 统计字符数
从键盘输入一行字符,统计字母、空格、数字、其他字符的个数,并显示。要求:提示输入一行字符串; 键盘输入字符串,Enter键结束输入,并换行显示结果。题目44 模拟幸运抽号
要求:程序运行时,在屏幕上随即跳动一组一组十位数字的号码,敲空格键时停止,得到一组幸运号码。
题目45 程序设计
设计一个程序,让计算机屏幕输出40个自然数来,使得其中任意两个数之差均不相等。题目46 查表
将键盘输入的数字月份查表后显示出相应英文字母的缩写形式。
要求:提示输入一个月份数字N;从键盘输入数字,Enter键结束输入,并换行显示查表结果。题目47 数值比较
提示输入数字1;输入任意数字int1,点击Enter结束输入; 提示输入数字2;输入任意数字int2,点击Enter结束输入。
如果int1大于int2,则输出“int1> int2”;如果int1等于int2,则输出“int1=int2”;如果int1小于int2,则输出“int1< int2”;点击 Enter 程序退出。题目48 数值求和
提示输入数字,输入任意数字int,点击Enter结束输入,输出“1+2+3+„+int”的值; 点击 Enter 程序退出。题目49 整数除法
提示输入被除数;输入被除数int1,点击 Enter 结束输入; 提示输入除数;输入除数int2,点击Enter结束输入; 输出商和余数;点击Enter程序退出。题目50 二进制转换
提示输入数字; 输入任意数字int1,点击Enter结束输入,输出 int1 的二进制代码; 点击 Enter 程序退出。题目51 质数判断
提示输入数字;输入任意数字int1,点击Enter结束输入;如果int1是质数,则输出“int1 is aprime number”;如果int1不是质数,则输出“int1 is not aprime number”; 点击Enter程序退出。题目52 闰年判断
提示输入年份; 输入四位数字 int1,点击 Enter 结束输入; 如果 int1 表示的年份是闰年,则输出“int1 years is a leap year” 如果 int1 表示的年份不是闰年,则输出“int1 years is not a leap year” ; 点击 Enter 程序退出。题目53 编写程序求函数值
有一函数 x(x<1)y= 2x-1(1≤x<10)3x-11(x≥10)编写程序,实现输入 x 值,输出 y 值。题目54 把 100-200 之间不能被 3 整除的数输出
要求:提示数据范围为 100-200; Enter 键换行显示结果。题目55 用循环程序,显示乘法表
要求输入 0-10 之间的数值 a,显示1到 a 值的乘法表。题目56 三角形判断
输入 a,b,c 三边后,判断是否能构成三角形,如能构成三角形,输出三角形的周长,否则输出“ERROR”。要求:提示输入三角形三边长度 a b c; 键盘输入,中间空格隔开; Enter 键结束输入z2,并换行显示判断结果。
题目57 要求用户从键盘输入一个不超过 5 位的整数,计算并输出该数的各位之和
要求:提示输入一十进制数; 键盘输入,Enter 键结束输入,并换行显示结果。题目58 计算并打印杨辉三角形
要求打印到第 N 行,N 由键盘输入。要求:提示输入一整数 N; 键盘输入,Enter 键结束输入,并换行显示结果。题目59 成绩转换
给出一个百分制成绩,要求输出成绩等级 A、B、C、D、E。90 分以上为 A,80-89 分为 B,70-79 分为 C,60-69 分为 D,60 分一下为 E。要求:提示输入一分数 score; 键盘输入,Enter 键结束输入,并换行显示结果。题目60 成绩统计 输入 10 个学生的成绩按后,依次在界面上显示:及格人数 x 个,不及格人数 y 个。要求:提示输入 10 学生成绩 score,成绩之间空格隔开,键盘送入; 换行输出“10 学生成绩分别为„„” 换行显示结果:及格人数 x 个,不及格人数 y。题目61 求 2 个正整数 N1 和 N2 的最小公倍数
要求:提示输入两十进制正整数; 键盘输入,两整数之间空格隔开,Enter 键结束输入,并换行显示结果。
题目62 求 2 个正整数 N1 和 N2 的最大公约数
要求:提示输入两十进制正整数; 键盘输入,两整数之间空格隔开,Enter 键结束输入,并换行显示结果。
题目63 打印回文数
如果一个数从左边和从右边读都是相同的数,就称它为回文数,例如 383。求出 500 以内的回文数并输出显示。要求:提示数据范围为 0-500; Enter 键,换行显示结果。题目64 计算平方根
从键盘输入一个正整数,计算其平方根并输出。要求:提示输入一整数; 键盘输入,Enter 键结束输入,并换行显示结果。
题目65 屏幕输出 10 到 200 之间的孪生素数对。
孪生素数对指两值相差 2 的一对素数,如 11 与 13。题目66 输出满足条件的数
屏幕输出 1000 以内同时满足如下条件的数:个位数与十位数之和除以 10 所得的余数等于百位数字。
题目67 温度转换
将用户输入的华氏温度转换为摄氏温度。要求:提示输入一整数; 键盘输入,Enter 键结束输入,并换行显示结果。
题目68 打印输出所有水仙花数
水仙花数:三位数,各个位数的立方和为数字本身。要求:提示“Enter 键输出所有水仙花”; Enter 键,换行显示结果。题目69 输出完数 一个数如果恰好等于它的因子之和,这个数就成为“完数“。例如 6 的因子为 1,2,3,且 6=1+2+3,因此 6 为完数。编程找出 10000 以内所有完数并输出。要求:提示“Enter 键输出 10000 以内所有完数”; Enter 键,换行显示结果。题目70 输出满足条件的数
求具有 abcd=(ab+cd)性质的 4 位数并输出。例如 3025=(30+25)。要求:Enter 键,输出所有结果。
题目71 输出两个数的平方差
求出两个数的平方差,若是负数,要输出负号。要求:由键盘输入两整数 a、b,中间空格隔开; Enter 键结束输入,并换行显示结果。题目72 输出满足条件的数
从键盘输入一个以 Enter 结束的十进制数字串(不超过 20 个),按 ASCII 码值的降序显示这个数字串 ASCII 码值最大和最小的两个数字。题目73 图形输出
编写一用箭头键控制光标移动的程序。
要求:箭头控制移动,ALT+箭头控制移动并画线。题目74 图形输出
显示输出一白色矩形,背景为黑色。要求:提示白色矩形输出实例; Enter 键显示结果,ESC 键退出程序。
题目75 图形输出
用“*”画菱形框。要求: “*”为红色,菱形框画在屏幕中间。题目76 图形输出
用“*”显示出自己名字中的一个字。要求: “*”为白色,字体显示在屏幕中间。题目77 图形输出
显示输出一圆形。要求:圆形边线为白色,圆形区域为蓝色,居中显示,大小不限。题目78 图形输出
显示输出一五角星图形。要求:图形边线为红色,背景颜色自定,居中显示,大小适中。题目79 图形输出
在屏幕上显示一个表格,表格边框,背景等颜色自定。要求:表格不同于以上题目的图形,且在屏幕中间显示。2
2题目80 8 个 LED 灯循环闪烁
微机原理课程设计跑马灯 篇5
运用8086最小模式和8255等芯片设计出一个跑马灯电路,要求至少有5中花式,在ISIS 7 Professional软件中运行。
设计电路图如图所示:
源代码
DATA SEGMENT DATA ENDS CODE SEGMENT
ASSUME CS:CODE ,DS:DATA
START :MOV AX,DATA
MOV DS,AX
MOV AL,10010000B
OUT 96H,AL
A0:
IN AL,90H
NOT AL
MOV BL,AL
OUT 92H,AL
CMP AL,1
JNZ A3
A2:
MOV DL,AL
;第一个开关实现从上至下的流水
OUT 92H,AL
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
MOV CX,50000
A1:
LOOP A1
MOV AL,DL
ROL AL,1
JMP A2
A3:
CMP AL,2
JNZ A6
MOV AL,80H
A5:
MOV DL,AL
OUT 92H,AL
MOV CX,50000
A4:
LOOP A4
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
;实现第二个开关从下至上的流水
MOV AL,DL
ROR AL,1
JMP A5
A6:
CMP AL,4
;第三个开关实现相隔的两个灯自上而下流水
JNZ A9
MOV AL, 05H
A8:
MOV DL,AL
OUT 92H,AL
MOV CX,20000
A7:
LOOP A7
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
MOV AL,DL
ROL AL,1
JMP A8
A9:
CMP AL,8
;第四个开关实现相隔的两个灯从下而上流水
JNZ A12
MOV AL,0A0H
A11: MOV DL,AL
OUT 92H,AL
MOV CX,20000
A10: LOOP A10
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
MOV AL,DL
ROR AL,1
JMP A11
A12:
CMP AL,10H
JNZ A17 A16:
MOV AL,18H;第五个开关实现从中间向两边流水
A14:
MOV DL,AL
OUT 92H,AL
MOV CX,20000 A13:
LOOP A13
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
MOV AL,DL
CMP AL,81H
JZ A16
AND AL,0F0H
MOV CX,0
MOV CH,AL
ROL CH,1
MOV AL,DL
AND AL,0FH
MOV CL,AL
ROR CL,1
ADD CH,CL
MOV AL,CH
JMP A14 A17:
CMP AL,20H;第六个开关实现从两边向中间流水
JNZ A0 A19:
MOV AL,81H A20:
MOV DL,AL
OUT 92H,AL
MOV CX,20000 A18:
LOOP A18
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
MOV AL,DL
CMP AL,18H
JZ A19
AND AL,0F0H
MOV CX,0
MOV CH,AL
ROR CH,1
MOV AL,DL
AND AL,0FH
MOV CL,AL
ROL CL,1
ADD CH,CL
MOV AL,CH
JMP A20
RET
CODE ENDS
微机原理课程设计(电子密码锁) 篇6
(1)利用8253定时,8259中断及8255输出实现交通灯模拟控制。
(2)实现能自动控制和手动控制。(3)实现能随时可以调整自动模式的绿灯和红灯时间
设计目的
电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于
计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。设计内容
交通灯控制系统
利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。要求能实现自动控制和手动应急控制。
具体要求如下:
1)在一个十字路口的一条主干道和一条支干道分别装上一套红、绿、黄三种信号灯。
2)在一般情况下,主干道上的绿灯常亮,而支干道总是红灯。
3)当检测到支干道上来车时,主干道的绿灯转为黄灯,持续4S后,又变为 红灯,同时支干道由红灯变为绿灯。
4)支干道绿灯亮后,或者检测到主干道上来了三辆车,或者虽未来三辆车,但绿灯已经持续了25秒,则支干道立即变为黄灯,同时主干道由红灯变为绿灯。设计要求
在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路
软件设计
1、采用模块化程序结构设计软件,可将整个软件分成若干功能模块。
2、画出程序流程图。
3、根据流程图,编写源程序。
4、在Proteus环境下,仿真调试程序 设计原理与硬件电路
要完成本实验,首先必须了解交通路灯的亮灭规律。本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将L1(绿)、L2(黄)、L3(红)做为南北方向的指示灯,将L4(绿)、L5(黄)、L6(红)做为东西方向的指示灯。而交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。各发光二极管的阳极通过保护电阻接到+5V的电
源上,阴极接到输入端上,因此使其点亮应使相应输入端为低电平。在以上的叙述基础上,本实验添加了东西方向S2、南北方向S3紧急切换按钮各一个,当紧急按钮按下时,相应方向紧急切换为绿灯,以便特种车辆通行。另外,本实验以低电平触发中断申请,表示有特种车通过。
本实验中断处理程序的应用,最主要的地方是如何保护进入中断前的状态,使得中断程序执行完毕后能回到交通灯中断前的状态。要保护的地方,除了累加器ACC、标志寄存器PSW外,还要注意:一是主程序中的延时程序和中断处理程序中的延时程序不能混用,本实验给出的程序中,主程序延时用的是
R5、R6、R7,中断延时用的是R3、R4和新的R5。第二,主程序中每执行一步经74LS273的端口输出数据的操作时,应先将所输出的数据保存到一个单元中。因为进入中断程序后也要执行往74LS273端口输出数据的操作,中断返回时如果没有恢复中断前74LS273端口锁存器的数据,则显示往往出错,回不到中断前的状态。还要注意一点,主程序中往端口输出数据操作要先保存再输出,例如有如下操作:
MOV A,#0F0H(0)MOVX @R1,A(1)MOV SAVE,A(2)
程序如果正好执行到(1)时发生中断,则转入中断程序,假设中断程序返回主程序前需要执行一句MOV A,SAVE指令,由于主程序中没有执行(2),故SAVE中的内容实际上是前一次放入的而不是(0)语句中给出的0F0H,显示出错,将(1)、(2)两句顺序颠倒一下则没有问题。发生中断时确定方向的绿灯亮10秒,然后返回中断前的状态。
程序及硬件系统调试情况
程序运行结果: 东西路右拐和南北路左拐绿灯点亮5秒,直通到均为红灯 5秒后,黄灯亮3秒钟。此时南北方向仍维持红灯点亮。东西方向直通,为绿灯,南北 方向红灯 黄灯再亮三秒之后,东西路左拐和南北路右拐绿灯点亮 南北方向的黄灯亮3秒钟后,南北方向直通,延时5秒 闭合A口开关,四个路口全红灯,表明紧急状态。
设计总结与体会
经过这两周的课程设计, 做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲以及交通有哪些规则.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只
微机原理课程实验教学方法探讨 篇7
微机原理课程是普通高等学校计算机及电气信息类专业的一门重要的专业基础课程,涉及知识内容涵盖了CPU结构、汇编语言与接口技术等。该课程概念抽象,实践性很强[1]。实验教学在对学生理解汇编指令、掌握汇编语言程序设计和典型接口的应用上起着不可替代的作用。
目前高校微机原理课程实验主要采用在实验室使用固定实验平台方式。该方式主要存在两方面的问题:1)实验平台硬件电路已经固定,学生实验时仅需进行部件间的少量连线,缺乏深层次的电路原理设计;2) 实验室的教学资源比较紧张,实验设备受限,开放时间固定,导致学生不能非常方便的安排实验。
为了充分提高学生在微机原理课程实验中的自主性,切实提高实验效果,本文探讨了分别基于FPGA平台和Proteus平台进行实验教学的相关内容。
2 基于FPGA平台的实验教学方法
FPGA器件具有开发周期短、编程灵活、可靠性高等优点[2],片内有丰富的逻辑单元资源,可以满足设计复杂电路的需要。通过使用硬件描述语言VHDL或Verilog HDL进行编程,可在一片FPGA内配置实现各种功能的微机接口模块IP核,且能方便的扩展支持新型微机接口的设计。基于FPGA平台的实验教学较好的促使学生将理论知识与动手实验联系起来,有效的提高了学生的创新能力。
2.1 FPGA实验平台硬件设计
实验平台硬件部分采用模块化设计,主要包括FPGA核心板和实验扩展板两大模块。基于FPGA的实验平台硬件框图如图1所示。
本设计中 核心板选 用Altera公司的FPGA芯片EP3C10E144作为主芯片。该芯片包含有10320个逻辑单元,414Kbits的RAM,2个PLL,23个专用乘法器,可供用户使用的I/O有94个,资源丰富,可满足大容量、低成本需求的电子设计。选用4MB RAM的串行FLASH芯片EPCS,不仅作为配置芯片足够大,还可作为系统的外部程序存储器。
外围设备扩展板配置扩展模块提供了丰富的外围设备及各种常用外部设备,具体包括数码管、拨码开关、LED、LCD、蜂鸣器、RS232串口、红外遥控模块、A/D与D/A转换电路模块、实时时钟DS1302、温度传感器DS18B20、步进电机、直流电机及测速模块以及VAG接口等。
2.2 FPGA平台实验过程
针对实验要求,移植8086软核和相应接口芯片软核来搭建8086实验系统,并采用图形化界面进行芯片间的互连。8086最小系统软核可采用以HT-LAB所推出的开源8086核CPU86为基础,针对自身环境进行移植[3]。8086软核的外围接口主要由数据线、时钟线和基本的控制线构成。在8086软核的基础上扩展8255 I/O口核、8253定时器核、8250 UART串行通信核、8237DMA控制核和8259中断控制核等即可构建8086片上系统。
由于8086和接口芯片软核的移植需要熟练掌握EDA技术,考虑到学生知识体系的不完整, 学生在完全自学的前提下想非常熟练的掌握接口片IP核的VHDL语言设计难度相当大[4],因此8086最小系统软核的设计由教师预先提供,并给出相关接口芯片的IP核参考设计,由学生结合实验平台的原理图和实验要求设计完整的实验系统,逐步引导学生独立完成实验系统的搭建。例如针对8255A并行IO口扩展实验,该实验具体要求使用8255A作为接口,由PA口采集一个开关的状态,然后由PB口输出信号给数码管显示。要求开关闭合时数码管显示数字,断开时数码管熄灭。该实验在8086最小系统软核的基础上,仅需扩展8255A芯片软核,并连接好相应的开关与数码管引脚。参考的设计原理如图2所示。
实验系统建立好后,根据具体实验要求编写应用程序。将编写好的程序在8086编译器上编译生成.hex文件,并嵌入到8086系统的IP软核的RAM存储器模块中。最后将编译生成的FPGA配置文件.sof下载到FPGA,完成实验系统的验证。
3 基于Proteus平台的实验教学方法
3.1 实验教学内容
Proteus是由英国Labcenter公司开发的EDA工具软件,可以仿真、分析各种模拟器件和集成电路,支持许多型号的单片机仿真。从Proteus 7.5 SP3版本开始,支持8086微处理器与8255、8253、8259和8251等接口芯片的仿真功能[5]。
Proteus平台几乎支持微机原理课程的全部教学内容[6]。基于Proteus仿真的典型单元实验项目设计如图l所示,在此基础上可进一步设计出综合型课题。
3.2 Proteus平台实验过程
以下结合2.2节中的8255并行IO口扩展实验为例,介绍基于Proteus虚拟平台的实验过程。
1)电路设计
按照实验要求,进行功能分析和地址分析后可以在Proteus软件中绘出仿真电路图,其中地址锁存器使用74HC373,地址译码电路采用74HC138,具体电路如图3所示。
2)程序设计与调试
实验程序主要通过读取8255A端口PA7的数据,判断开关状态,向PB端口输出相应的字符显示码。调试时,将程序文件加载到8086模型中,即在Proteus软件界面中双击8086模块,设置8086模型的Program File项为生成的com文件,点击运行键,仿真电路即开始运行。仿真过程中,打开Proteus的各种调试窗口:观察窗口,存储器窗口,寄存器窗口,源代码窗口和变量窗口,可直观实时的显示出8255A和8086内部寄存器以及存储器单元等的内容。
4 结论
近两年来的实践表明,基于FPGA实验平台和Proteus平台的微机原理实验教学方法,充分激发了学生的学习主动性和创造力,促使学生对微机技术的掌握和应用程度有较大的提高,且对后续设计开发能力和创新能力的培养起了较大的促进作用。基于FPGA实验平台和Proteus平台的实验教学方法可扩展到其他微机系列课程实验中,诸如单片机原理、ARM系统原理等。
摘要:《微机原理》是普通高校电子信息类专业的一门重要专业基础课。针对课程所采用的传统实验方式中存在的问题,探讨了基于FPGA平台和Proteus平台的微机原理课程实验教学方法,结合实例介绍了相应的实验过程。通过近几年的实践表明,基于FPGA实验平台和Proteus平台的微机原理实验教学方法,充分利用了EDA技术和虚拟仿真技术的优势,有效提高了学生的微机系统软硬件开发的综合能力。
微机原理课程设计(电子密码锁) 篇8
一、引言
计算机基础教育是面向非计算机类各专业学生的计算机教育。与其它传统的基础课如数学、物理、化学、外语等一样,计算机基础教育已成为大学本科生基础教学的重要组成部分。计算机基础教育大致可分为三个层次:计算机文化基础、计算机技术基础和计算机应用基础。计算机文化基础课程是为了培养人们的计算机认识,课程不主要讲解计算机基础知识和基本操作技能。计算机技术基础课程则是为学生后续课程学习、毕业设计以及计算机应用开发打下一个较为全面的基础,课程主要讲解计算机中软件、硬件的基础知识。计算机应用基础课程则是针对当前计算机的主要应用领域,讲述一些必要的知识、方法和技能,以解决实际问题。
《微机原理与应用》和《单片机原理与接口技术》课程是机械类各专业所开设的课程,分别属于计算机技术基础和计算机应用基础层次。本文讨论了有关机械类《微机原理与应用》和《单片机原理与接口技术》课程的教学方法和教学手段。
二、机械类微机原理与应用和单片机原理及接口技术课程的教学特点
(一)课程内容简介不
《微机原理与应用》课程内容主要包括:计算机的基础知识(计算机的发展概述、计算机中的数、无符号二进制数的算术运算和逻辑运算、带符号二进制数的表示及运算、二进制编码)、8086/8088微型计算机基础知识(微型计算机基本结构、8086/8088微处理器、8088的外部引脚及其功能、8086/8088的功能结构、8086/8088的存储器组织、8086/8088的工作时序)、8088/8086的指令系统、汇编语言程序设计、中断技术等。课程详细地讲述8088/8086微处理器的编程结构及8088/8086的汇编语言编程技巧。微机原理与应用课程为以后从事机电控制技术以及微机的应用打下一个较为全面的基础。《单片机原理与接口技术》课程内容主要包括:MCS-51系列单片机的硬件结构、组成原理、寻址方式、指令系统、扩展技术、中断系统机制、定时器、计数器、串行通信接口技术等。课程详细地讲述MCS-51系列单片机汇编语言的编程技巧,重点阐明单片机的扩展方法及组成单片机应用系统的设计技术。单片机原理及接口技术课程为以后从事自动控制、智能仪器仪表、机电一体化技术以及各类单片机的应用打下一个较为全面的基础。可以说《单片机原理及接口技术》课程是提高单片机应用设计能力,适应科学技术和经济发展的重要保证。
(二)课程内容教学特点
随着21世纪科学技术高速发展,新能源、新技术不断出现,尤其是信息处理和控制技术的飞速发展,使得传统的机械产品正逐渐向高度自动化机械产品转换。可以说纯机械产品已逐渐被机电系统所取代,机电系统是机械设备和电气动力相组合的系统,而目前所有的机电系统都是基于计算机控制技术来实现的,所开发的机电产品的控制系统都是以计算机控制技术为基础的,控制系统的发展方向是智能和柔性。由此可知,《微机原理与应用》和《单片机原理与接口技术》课程是掌握高新科学技术的基础。
从《微机原理与应用》和《单片机原理与接口技术》课程内容可以看出,两门课程具有很多的共性知识,其重复面较大。这主要表现在以下几个方面: 第一是两门课程均为技术基础类课程,其先修课均为电子技术基础课,可以说两门课均为复杂同步时序逻辑电路的应用,应归属于电子技术应用范畴,所以学好电子技术基础课将有助于这两门课程的学习。第二是两门课程体现着强烈的概念性、抽象性和原理性,两门课程均强调硬件结构加上软件的执行构成的微机原理。
第三,两门课程同时也是实践性很强的课程,有一定的实用技能,在学习过程中应充分注重理论与实践相结合,软件与硬件相结合,只有这样才能学到真正的知识。
微机原理实验报告 篇9
实验报告
COURSE PAPER 8255控制开关状态显示
学院 :机电工程与自动化学院
一、实验目的;
(本课程设计是在完成《微机原理与接口技术使用教程》知识后进行的一次综合性训练。通过本课程设计,既可以巩固对所学知识的理解和掌握,又可以培养解决实际问题的本领,也能够提高运用文字图表表达设计思想和对Proteus与Emu8086应用的能力。
二、实验要求;
(1)功能要求:设定8255的PA口为开关量输入,PB口为开关量输出,要求能随时将PA口的开关状态通过PB口的数码管显示出来,如开关为0000,则数码管显示为0;若开关为1111,则数码管显示为F。
(2)具体参数:将8255A的端口A设置为方式0并作为输入口,读取开关量,PB口设置为方式0作为输出口。并设定A、B、C口和控制口的地址为60H、62H、64H、66H。LED为共阴极连接方式。
(3)用Proteus画出实现上述功能的8086和8255及LED相关连接的硬件电路,编写相关程序,结合emu8086,完成仿真调试,给出硬件电路图、程序代码和仿真结果图。
三、实验说明;
利用前期实验建立组态控制 组态软件的操作界面和主要功能; 混料罐工程或交通灯工程工程组态
四、实验步骤;(1)硬件设计
8255A的四个端口地址为60H、62H、64H、66H。其二进制码分别为0110 0000H、0110 0010H、0110 0100H、0110 0110H。则可以判断,8255A的A0与A1端口应该与8086的A1和A2端口对应。8086的A7、A4、A3、A0为0,A6、A5为1时,8255A接受指令。为完成上述操作,可以使用138译码器。8255A的A端口作为输入口,连接四位开关;B端口作为输出口,连接一个共阴极的LED显示管。
(2)硬件电路图
(3)汇编语言设计 assume cs:code code segment start: MOV DX,066H MOV AL,90H OUT DX,AL
AA: MOV BX, OFFSET TABL MOV DX,060H IN AL,DX AND AL,0FH XLAT MOV DX,062H OUT DX,AL JMP AA
TABL: DB 3FH,06H,5BH,4FH DB 66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH DB 39H,5EH,79H,71H
code ends end start(4)实验结果
五、实验心得;
【微机原理课程设计(电子密码锁)】推荐阅读:
微机原理课程设计报07-02
微机原理红绿灯课程设计报告08-09
微机原理课程09-01
微机原理_多路抢答器设计论文10-25
微机原理论文11-25
微机原理接口实验06-13
微机原理试题答案07-14
微机原理及接口技术08-23
微机原理综合实验题09-06
微机原理及应用考试11-25