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

合集下载

《微机原理及接口》课程设计报告-简单的动画设计

《微机原理及接口》课程设计报告-简单的动画设计

一、设计任务1.程设计的目的更深入的了解汇编这门语言,并从中学到东西掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力。

提高我们对学习认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。

培养我们从资料文献、科学实验中获得知识的能力,提高我们从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。

培养我们勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。

学习汇编语言综合应用程序设计方法,提高汇编语言实际应用能力,充分了解计算机硬件和软件,完成理论到实践的推进过程。

2.课程设计要求(1)根据微机软、硬件条件,每人选定一个具有一定综合性的程序设计题目A对题目进行模块分析B 系统设计实用,功能全面C 按时按量完成任务(2)按时间上机完成调试任务3.设计任务在DOS环境中编程完成以下任务:(1)以滚动方式输出下车动态行驶图形(2)小车在公路上动态行驶,从屏幕左侧驶向屏幕右侧后,在到达屏幕右侧后,公路下降。

(3)段距离并改变颜色,然后小车继续由左向右行驶(4)当下降到屏幕底部时,再返回到屏幕顶部重复上述过程(5)直到有键按下时,程序运行结束(6)设计说明书:设计思想、参考程序的程序流程图和源程序4.设备IBM—PC微型计算机一台二、设计方案1、设计思想主程序思想:使用BIOS中断调中显示器控制用子程序,要求显示动态效果图像即为一辆小车在公路上动态行驶,到达屏幕右方时,公路下降并改变颜色,小车又从左向右行驶以此循环,直至有键按下时结束程序。

2、主程序流程框图3、源程序代码data segmentline dw 10 ;定义行变量color db 1 ;定义公路颜色color1 db 0 ;定义小车颜色corlum dw 2 ;定义列变量count1 dw 0count2 dw 0count3 dw 0 ;车体模型car_8 db 00000011b,11100000bdb 00000010b,01010000bdb 00000110b,01011000bdb 01111111b,11111110bdb 11111111b,11111111bdb 11111011b,11101111b2db 00001010b,00101000bdb 00000100b,00010000bdata endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,80mov ah,0fhint 10hmov ax,0004hint 10hmov ah,0bhmov bh,1 ;选择1号调色板mov bl,0int 10hll: mov al,color ;设置公路颜色inc alcmp al,3jbe tt2sub al,3tt: mov color1,al ;设置小车颜色cmp al,1jz tt3inc alcmp al,3jz tt2tt3: inc altt2: mov color,almov ax,line ;计算机行坐标add ax,10cmp ax,180jbe tt1sub ax,180tt1: mov line,axmov ah,0ch ;写像素mov dx,lineadd dx,8 ;计算公路坐标mov cx,0mov al,color ;设置公路颜色repet: mov bx,3push axint 10h ;画公路pop axinc cxcmp cx,319 ;未到屏幕最右转jnz repetmov ah,0ch ;画车模mov dx,line ;设置行坐标mov cx,corlum ;设置列坐标mov si,offset car_8 ;取车模首坐标mov count1,8 ;8行retry1: mov count2,2 ;每行2字节retry2: mov count3,8 ;每字节8位retry3: rol byte ptr[si],1mov al,0 ;此位为0,置背景颜色jnc nextmov al,color1 ;此位为1,置背景颜色next: push axpush cxint 10h ;画一个点pop cxpop axinc cx ;列加1dec count3jnz retry3 ;未画完8个点转inc si ;取下一个字节的车模信息dec count2jnz retry2 ;车模信息未转完inc dxmov cx,corlumdec count1jnz retry1 ;未画完8行转mov count1,320-18 ;设置移动总次数mov cx,corlumadd cx,15 ;小车最右点的列坐标送cxrepet1: push cx ;小车横向有16个点,外加1个空白点mov count2,16+1repet2: mov dx,line ;车模向右移动1 个像素位mov count3,8repet3: mov ah,0dhint 10h ;读当前点mov ah,0chpush cxinc cxint 10h ;写当前右边的点pop cxinc dx ;行坐标加1dec count3 ;车模向右移动1个像素位未完转jnz repet3dec cx ;修改列坐标dec count2 ;小车移动1个车体位未完转jnz repet2pop cxinc cx ;修改列坐标mov ah,1int 16hjnz exit ;有键按下,转退出dec count1jnz repet1mov dx,line ;清除公路和车模call clearsjmp ll ;无键按下,继续执行exit: mov ah,0 ;恢复文本显示方式mov al,2int 10hmov ah,4chint 21hclears proc nearpush axpush cxpush bxmov ax,0c00hmov bx,10cls0: mov cx,0cls1: int 10hinc cxcmp cx,320jnz cls1inc dxdec bxjnz cls0pop bxpop cxpop axretclears endpcode endsend start三.程序的调试与运行1、程序的调试程序的分析、代码的编写完成后,开始对代码进行编译和调试,我们采用DOS 环境对所编代码进行调式、编译。

《微机原理与接口技术》课设报告正文

《微机原理与接口技术》课设报告正文

目录摘要 (2)1 设计概述 (3)1.1设计任务及要求分析 (3)1.2方案比较及认证说明 (3)1.3系统原理阐述 (4)2 程序设计关键资料 (4)2.1 BIOS中断的显示输出管理(INT 10H) (4)2.1.1设置显示方式 (5)2.1.2文本方式 (5)2.1.3 置光标位置AH=02H (6)2.1,4 屏幕的上下移动AH=06H/07H (6)2.2 DOS功能调用(INT21H) (6)2.2.1调用方法 (7)2.2.2常用的系统功能调用(设计中使用) (7)3 程序流程图及代码分析 (7)3.1 主程序 (8)3.2显示姓名子程序 (9)3.3 延时子程序 (11)3.4 清屏子程序 (12)4 程序调试及结果分析 (14)4.1 程序调试及问题处理 (14)4.2 调试结果分析 (14)结束语 (16)参考资料 (17)附件:源程序清单及调试屏幕界面 (18)摘要本设计是编写汇编语言并在在Masm for windows的汇编软件环境之下使屏幕上显示我自己的名字“韦增泰”并使其从右向左循环移动。

其中应用到BIOS 中断中INT10的多个调用,方便程序编写。

本次课程设计的程序由一个主程序和若干个子程序(延时子程序、清屏子程序、显示姓名子程序)来完成设计任务所要求的功能。

并运行汇编软件进行调试。

课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,是培养在校工科大学生理论联系实际、独立自主解决设计实践中遇到的各种问题能力的一种好方法。

关键词:BIOS中断 INT10 汇编语言程序显示名字字样的程序设计1 设计概述1.1设计任务及要求分析对任务书进行分析可知,本课程设计的任务用汇编语言设计显示自己姓名“韦增泰”的程序,并且要求姓名在屏幕上从右往左移动且按 Q键退出程序。

课程设计的基本要求为了解设计任务需求,收集有关资料、查阅有关书籍,在掌握原理、理清思路、认真分析的前提下进行程序编写,同时进行认真调试。

《微机原理与接口技术》课程设计报告

《微机原理与接口技术》课程设计报告

《微机原理与接口技术》课程设计题目:开关控制霓虹灯专业班级:姓名:同组人:日期:2011年1月4日设计内容:通过一个可编程并行接口芯片8255A,用四个开关控制十六种霓虹灯的状态,每个状态中有8个灯(4个红灯,2个绿灯,2个红灯)并且每个状态都可循环。

霓虹灯变化规律:(1)S0:①②绿灯亮①②黄灯亮、①②红灯亮,循环;(2)S1:①②红灯亮、①②绿灯亮①②黄灯亮、③④红灯亮、①②绿灯亮①②黄灯亮、①②红灯亮、①②黄灯亮③④红灯亮,循环;(3)S2:8灯全亮、8灯全灭、①②红灯亮、①②红灯亮①②绿灯亮①②黄灯亮、①②③④红灯亮①②黄灯亮,循环;(4)S3:①黄灯亮、①绿灯亮、④红灯亮,循环;(5)S4:③④红灯亮、①②红灯亮、①②绿灯亮①②黄灯亮、8灯全亮,循环;(6)S5:8灯全亮、4红灯全亮、①④红灯亮,循环;(7)S6:②绿灯亮①②黄灯亮①红灯亮、②③④红灯亮,循环;(8)S7:①黄灯亮、②黄灯亮、①绿灯亮、②绿灯亮、①红灯亮、②红灯亮、③红灯亮、④红灯亮,循环;(9)S8:②黄灯亮②③④红灯亮、①②绿灯亮①黄灯亮①红灯亮,循环;(10)S9:①黄灯亮、①红灯亮、①黄灯亮、②黄灯亮、②红灯亮、④红灯亮、②绿灯亮、①绿灯亮,循环;(11)S10:在实验箱上从左到右依次亮灯,每到下一个灯前一个灯就会熄灭,当到最右边时再从右到左亮灯,每到下一个灯时前一个灯就会熄灭,循环;(12)S11:在实验箱上的一排灯中间的两盏灯最开始亮,之后向两边扩展亮,8灯全亮后再8灯全灭,循环;(13)S12:在实验箱上的一排灯开始最左边的灯亮,向右一个一个逐次增加亮灯,直到8灯全亮,循环;(14)S13: 在实验箱上的一排灯开始最左边的2个灯亮,向右两个两个逐次增加亮灯,直到8灯全亮,循环;(15)S14: 在实验箱上的一排灯开始最左边的2个灯亮,向右依次亮灯,每到下两个灯时前两个灯就会熄灭,循环;(16)S15: 在实验箱上的最右边三个灯亮,其中左边的一个亮灯向左推进,到最左边后停止不动;然后第二个亮灯向左推进,到达左边第二个灯时停止不动;之后第三个亮灯向左推进;当左边三灯全亮时按照相反的顺序向右推进,直到右边三灯再次全亮;循环。

《微机原理与接口技术》课程设计实验报告-交通灯控制功能设计

《微机原理与接口技术》课程设计实验报告-交通灯控制功能设计
7
微机课程设计——交通灯控制系统
中断子程序模块是通过扩充中断源实现的,主要是通过设置 8259 的工作模 式,开放 TR1 和 TR0 的中断,按上开关 K 后,TR0 就发生中断,在 TR0 中断没有 触发的情况下,从 OU1 口输出一个上升沿脉冲,TR1 就中断一次, 程序如下所示:
QUERY: MOV DX,MY8259_OCW3 MOV AL,0CH OUT DX,AL IN AL,DX ;读出查询字 ;判断中断是否已响应 ; 没有响应则继续查询 ; 向 8259 的 OCW3 发送查询命令
《微机原理与接口技术》 课程设计实验报告
题目:交通灯控制功能设计
指导老师:
专业:
班级:
目录
微机课程设计——交通灯控制系统
ห้องสมุดไป่ตู้
一、设计思想和实施方案论述,硬件原理图及分析 1.1、课程设计名称 1.2、课程设计要求 1.3、课程设计目的 二、设计思想和实施方案论述,硬件原理图及分析 2.1、设计思想和实施方案 2.2、硬件原理图 三、典型模块以及典型编程技巧分析 3.1、8086 典型模块分析 3.2、编程技巧分析 四、设计中遇到的问题及解决方法 五、程序清单和程序注释,相关流程图 5.1 程序清单和注释 5.2、实验室及流程图 六、收获与体会 七、参考文献
微机课程设计——交通灯控制系统
MOV OUT 器输出 1HZ 的方波
AL,2 DX,AL ;1.041667MHZ/2000/1000=1HZ, 即计数
数码管的显示是通过调用显示函数实现的, 通过设置 8255 的工作模式, 选择数码管的高位工作, 然后将计数的高位送到数码管, 再选择数码管的低位工 作,然后将计数的低位送到数码管,在 1s 钟内多次扫描就可以消除闪烁,从而 达到理想的计数效果,它的程序如下所示:

微机原理与接口技术课设报告

微机原理与接口技术课设报告

微机原理与接口技术课程设计报告2012年 12 月 15目录一、课程设计目的和意义 (3)二、设计任务 (3)三、设计思想 (3)四、设计原理 (3)1.8254 可编程间隔定时器 (4)2、8255可编程外围接口芯片 (6)3、音符与频率对照关系 (7)五、软件流程图 (8)六、硬件接线图 (9)七、心得体会 (10)八、代码 (10)一、课程设计目的和意义通过本次课程设计要掌握8254、8255芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。

同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。

二、设计任务利用微机原理试验箱,设计简易电子琴,要求至少可以弹出7个音节,弹出音节可在计算机屏幕和数码管显示。

三、设计思想本系统设计的电子时钟以8086微处理器作为CPU,用8254做定时计数器产生时钟频率,8255做可编程并行接口显示弹奏音节。

在此系统中,8254的功能是定时计数,接入8254的CLK信号为周期性时钟信号。

8254采用计数器0工作于方式0和方式3。

四、设计原理本程序的主要设计原理是键盘数字键1~7按下控制选择不同的频率,实现计时结果的数码管和计算机屏幕显示,按SPACE退出程序。

程序先判断按键是否合法(在1~7),合法则键盘数字键1~7分别对应不同的子程序,8254写入不同的计数值,产生不同的频率,输出到发声单元发声。

1.8254 可编程间隔定时器图1 8254初始化字由此,本设计中的8254的初始化为:MOV AL, 30H ;采用计数器0,方式0,MOV DX, MY8254_ModeOUT DX, ALMOV AL, 37H ;计数器0,方式3MOV DX, MY8254_ModeOUT DX, AL8254 是Intel 公司生产的可编程间隔定时器。

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

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

课程设计任务书学生姓名:专业班级:电子信息工程2班指导教师:工作单位:题目:电子报警器设计一、设计条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。

二、主要任务:(包括课程设计工作量及其技术要求以及说明书撰写等具要求)设想制作一个防盗器件。

具体要求:程序运行时扬声器发出警报声,使得8个LED指示灯不停光闪,光闪周期为2秒,14秒倒计时结束后液晶显示器显示相关警报信息。

警报信息出现后LED灯熄灭,程序按任意键退出后声不响光不闪。

根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。

设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计触动键盘中的数字键即8个LED不停光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。

在设计发声报警时利用了8253可编程定时记数器。

在设计发光报警时利用了8255芯片。

在程序设计中利用INT 10H实现在屏幕上显示相关的警报信息。

三、时间安排:指导教师签名:年月日基于微机原理电子警报器的设计摘要在当今高速发展的中,人们对自身所处的环境越来越关心,居家安全已成为当今小康之家优先考虑的。

当您上班家中无人,或者仅有老人孩子在家,或者您晚上在家熟睡,您必须确保家庭成员和财产的绝对安全。

众多住宅小区的安防防犯主要倚靠安装防盗窗、防盗门以及人工防犯。

这样不仅有碍美观,不符合防火的要求、而且不能有效地防止坏人的侵入。

随着生活水平的不断提高,人们的安全防范意识也在不断的增强,各种智能防盗报警器应运而生,并不断地向各个领域深入,报警器是一种为防止或预防某事件发生所造成的后果,以声音、电话提醒等形式来警示或提醒我们应当采取某种行动的电子产品。

随着科技的进步,家居安防中的机械式报警器越来越多地被先进的电子报警器代替,如防盗报警器、防火报警器、煤气天然气泄露报警器等。

并且电子报警器在安全智能家居监控报警系统起越来越重要的作用。

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

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

实验一 接收年、月、日信息显示 一、课程(软件)设计内容显示输入提示信息并响铃一次,然后接收键盘输入的月/日/年信息,并显示。

若输入月份日期不对,则显示错误提示并要求重新输入。

二、程序框图一三、程序及分析CRLF MACRO MOV AH, 02H MOV DL, 0DH INT 21H MOV AH, 02HYY开 始初始化,清错标志 显示提示信息,响铃一次 调用键读入子信息,读月 有出错标志吗?调用键读入子信息,读日 有出错标志吗?有出错标志吗?调用键读入子信息,读年显示年、月、日返回DOSYNYN入口保持现场是回车或空格否输入字在1~9之间否返回DOS 中读取得键输入值将ASCII 码转换为四位十六进制数,存于DI返回置出错标志YMOV DL, 0AHINT 21HENDMDA TA SEGMENTMESS DB '按顺序输入月,日,年,每输完一样按回车(MM/DD/YY)',0DH,0AH,'$' MESS1 DB '月份错误,重新输入',0DH,0AH,'$'MESS2 DB '日期错误,重新输入',0DH,0AH,'$'ERROR DB '输入错误,重新输入',0DH,0AH,'$'MARK DB ?REG DW ?DA TA ENDSSTACK SEGMENTSTA DW 32 DUP ( ?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS: CODE, DS: DA TA,ES: DA TA,SS: STACKSTART: MOV AX, DA TAMOV DS, AXMOV ES, AXMOV SP,TOP ;初始化HEAD: MOV MARK,0 ;清错误标志MOV AH, 09HMOV DX, OFFSET MESSINT 21H ;显示提示信息MOV AH, 02HMOV DL, 07HINT 21H ;响铃1次CALL GETNUMJE HEADPUSH DXCALL GETNUMCMP MARK, 01HJNE K1POP DXJMP HEADK1: PUSH DXCALL GETNUM ;接收键入的月值,日值及年值CMP MARK, 01HJNE K2POP DXPOP DXJMP HEADK2: MOV AX, DXCALL DISP ;显示年值NOPMOV AH, 02HMOV DL,'-' ;显示`-`INT 21HPOP DXPOP AXPUSH DXMOV REG, AXAND AX, 00FFHCMP AX, 0012HJBE W1MOV AH, 09HLEA DX, MESS1JMP STARTW1: MOV AX, REGCALL DISPPMOV AH, 02HMOV DL,'-'INT 21HPOP AXMOV REG, AXAND AX, 00FFHCMP AX, 31HJBE W2MOV AH, 09HLEA DX, MESS2INT 21HJMP STARTW2: MOV AX, REGCALL DISPP ;显示日值MOV AX, 4C00HINT 21H ;返回DOS DISPP PROC NEARMOV BL, ALMOV DL, BLMOV CL, 04ROL DL, CLAND DL, 0FHCALL DISPLMOV DL, BLAND DL, 0FHCALL DISPLDISPP ENDPDISPL PROC NEARADD DL, 30HCMP DL, 3AHJB DDDADD DL, 27HDDD: MOV AH, 02HINT 21HRETDISPL ENDPDISP PROC NEARPUSH BXPUSH CXPUSH DXPUSH AXMOV AL, AHCALL DISPPPOP AXCALL DISPPPOP DXPOP CXPOP BXRET ;显示子程序DISP ENDPGETNUM PROC NEARPUSH CXXOR DX, DXGGG: MOV AH, 01HCMP AL, 0DHJZ PPPCMP AL, 20HJZ PPPSUB AL, 30HCMP AL, 0JB KKKCMP AL, 0AHJB GETSJMP KKKGETS: MOV CL, 04SHL DX, CLXOR AH, AHADD DX, AXJMP GGGKKK: PUSH AXPUSH DXMOV AH, 09HMOV DX, OFFSET ERRORINT 21HMOV MARK, 01HPOP DXPOP AXPPP: PUSH DXMOV AH, 02HMOV DX, 07HINT 21HCRLFPOP DXRETGETNUM ENDP CODE ENDSEND START四、课程设计总结掌握响铃符方法,掌握年、月、日输入方法,借以观察实验的结果。

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

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

课程设计任务书学生姓名:专业班级:电子信息工程2班指导教师:工作单位:题目:电子报警器设计一、设计条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。

二、主要任务:(包括课程设计工作量及其技术要求以及说明书撰写等具要求)设想制作一个防盗器件。

具体要求:程序运行时扬声器发出警报声,使得8个LED指示灯不停光闪,光闪周期为2秒,14秒倒计时结束后液晶显示器显示相关警报信息。

警报信息出现后LED灯熄灭,程序按任意键退出后声不响光不闪。

根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。

设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计触动键盘中的数字键即8个LED不停光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。

在设计发声报警时利用了8253可编程定时记数器。

在设计发光报警时利用了8255芯片。

在程序设计中利用INT 10H实现在屏幕上显示相关的警报信息。

三、时间安排:指导教师签名:年月日基于微机原理电子警报器的设计摘要在当今高速发展的中,人们对自身所处的环境越来越关心,居家安全已成为当今小康之家优先考虑的。

当您上班家中无人,或者仅有老人孩子在家,或者您晚上在家熟睡,您必须确保家庭成员和财产的绝对安全。

众多住宅小区的安防防犯主要倚靠安装防盗窗、防盗门以及人工防犯。

这样不仅有碍美观,不符合防火的要求、而且不能有效地防止坏人的侵入。

随着生活水平的不断提高,人们的安全防范意识也在不断的增强,各种智能防盗报警器应运而生,并不断地向各个领域深入,报警器是一种为防止或预防某事件发生所造成的后果,以声音、电话提醒等形式来警示或提醒我们应当采取某种行动的电子产品。

随着科技的进步,家居安防中的机械式报警器越来越多地被先进的电子报警器代替,如防盗报警器、防火报警器、煤气天然气泄露报警器等。

并且电子报警器在安全智能家居监控报警系统起越来越重要的作用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

V .. . ..
微机原理与接口技术
课程设计报告
项目名称:十进制数计算器的设计与实现
专业名称:计算机科学与技术(交通信息工程)学生姓名:李俊(201324020311)
教师姓名:马荣贵
2016年1月1日
一、项目名称及要求 (3)
1项目名称 (3)
2项目要求 (3)
二、项目背景及设计目的 (3)
1项目背景 (3)
2项目目的 (3)
三、设计思路 (3)
1总体设计思路 (3)
2设计流程图 (3)
四、项目方案及原理图 (3)
1项目方案 (3)
2并行接口8255A (3)
3键盘输入模块 (3)
4LED数码管输出模块 (3)
5原理图设计 (3)
五、结果与分析 (3)
1实现现象 (3)
2现象分析 (3)
六、总结及体会 (3)
七、附录 (3)
1参考文献 (3)
2源代码 (3)
一、项目名称及要求
1 项目名称
十进制数计算器的设计与实现
2 项目要求
运用学过的《微机原理与接口技术》课程以及本学期的上机实验操作经验,根据题目设计要求进行软硬件系统的设计和实现,从而加深对本课程知识点的理解。

通过具体项目的实践,来提高学生的动手能力以及实时解决问题的能力,使学生综合能力得到显著提升。

本课题要求学生熟练运用并行接口8255A芯片、4*4键盘输入模块以及
LED数码管输出模块的工作原理以及相应元件驱动程序的编写。

要求通过4*4键盘输入,LED数码管显示来完成简单计算器的功能(加减乘除操作)
二、项目背景及设计目的
1 项目背景
大学课程设计是为了辅助学生加深对本课程的理论知识的理解和提高。

通过动手完成实际的项目设计及实现,减小理论与实践的距离,让同学对实际项目实现的流程有个大体的感受。

通过合作完成项目,提高同学的合作意识,以及模块化设计理念。

2 项目目的
通过十进制数计算器的设计与实现,了解proteus软件使用;
熟练掌握原理图的设计方法
知道各硬件的功能以及电路实现
三、设计思路
1 总体设计思路
4*4键盘输入模块:
键盘“0~9”对应数字0~9
键盘“A”对应符号“+”
键盘“B”对应符号“-”
键盘“C”对应符号“*”
键盘“D”对应符号“/”
键盘“E”对应符号“CE”
键盘“F”对应符号“=”
并行接口8255A:
A口用于LED数码管的段码输出
B口用于LED数码管的位码输出
C口用于4*4键盘的输入
LED数码管输出模块:
采用动态显示的方式,将并行接口8255A中A口中的段码显示2 设计流程图
四、项目方案及原理图
1 项目方案
先设计原理图,然后用PCB布线仿真,最后去实验室用实验器材实现设计2 并行接口8255A
并行接口8255A:
8255A是通用可编程并行接口芯片,是有40个引脚的双列直插式组件,其基本功能为:8255A接口芯片有3个8位并行输入/输出端口,可利用编程方法设置3个端口是作为输入端口还是输出端口;8255A能适应CPU与I/O 接口之间的多种数据传送方式的要求,如无条件传送、查询方式传送、中断方式传送。

与此相对应,8255A设置了方式0、方式1以及方式2;
8255A的C口比较特殊,除作为数据口之外,在工作方式1和方式2下,它的部分信号线被分配作为专用的联络应答信号。

8255A引脚图:
8255A的工作原理:
方式0:基本输入输出方式;
方式1:选通式输入/输出方式;
方式2:双向选通输入/输出方式。

8255的控制字:工作方式选择控制字,D7~D0控制位的含义见下图:
本实验中使8255端口C高四位(PC7-PC4)与键盘扫描行连接,低四位(PC0-PC3)与键盘扫描列连接,B口低四位(PB0-PB3)用于控制数码管位码,端口A输出段码信号用于控制数码管对键盘数值的显示。

3 键盘输入模块
4*4键盘:
矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。

在行线和列线的每一个交叉点上,设置一个按键。

这样键盘中按键的个数是4×4个。

这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。

4*4键盘的电路实现:
4 LED数码管输出模块
LED数码管:
8段数码显示管用于一般的状态或数字的显示
共阴极对应字符的段码表:
显示字形dp g f e d c b a 段码
0 0 0 1 1 1 1 1 1 3fh
1 0 0 0 0 0 1 1 0 06h
2 0 1 0 1 1 o 1 1 5bh
3 0 1 0 0 1 1 1 1 4fh
4 0 1 1 0 0 1 1 0 66h
5 0 1 1 0 1 1 0 1 6dh
5 原理图设计
五、结果与分析
1 实现现象
2 现象分析
由于LED显示是动态的,就没有以图片的方式展示,不过在电子版的报告
中,现象视频在附录文件中。

上述现象包含加减乘除以及混合运算的演示。

其中已经演示了包含高于两位十进制数、负数的运算。

六、总结及体会
这次实验真是一波三折,刚开始我的选题是8259的级联,我和我的小组成员已经将实验的流程以及具体实施方案规划好了。

但是由于临时的变动了选题,我们开始重新设计,利用课余时间陆陆续续的完成了整个设计流程。

到课设的第一天,我们开始连线,以及将驱动程序写入,但是测试的时候出现各种问题,比如说显示不正常,屏幕闪烁太频繁。

我们晚上回去思考,第二天重新调试,得到了预期的结果。

由于课设的时间还没有结束,我们又将其功能进行了扩展:可以实现多位计算器,可实现负数运算,可实现连续运算。

不足的地方在于,没有实现对不同级别运算的先后顺序的判断。

七、附录
1 参考文献
《微机原理与接口技术》,郭兰英等编著,清华大学出版社,2006年
《C++语言程序设计》(第四版),郑丽等编著,清华大学出版社,2010年《TPC-ZK产品说明》,清华大学器材部编写,清华大学出版社,2008年
2 源代码。

相关文档
最新文档