中南大学微机原理课程设计报告.docx
- 格式:docx
- 大小:429.32 KB
- 文档页数:35
中南大学微机原理课程设计报告一、课程设计目的通过本次课程设计要掌握8088,8255,0809,0832,8279 等多种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。
同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。
二、课程设计任务本次课设选题为“模拟电压采集,直流电机控制”。
根据我自己对这个课题的理解,我认为这个课题应该实现以下的要求:基本要求:1、对模拟电压进行采集转换为数字信号,并实时显示。
2、用转换的到的数字信号再经数模转换,对直流电机进行控制。
拓展要求:1、通过发光二极管作为信号指示灯,实时的指示直流电机的工作状态是否正常。
2、建立报警电路,对电机非正常工作情况以及反转工作情况下进行报警。
三、设计思想与原理1、设计思想本次课设选题为“模拟电压采集,直流电机控制”,基本分为两大部分:模拟量采集的模数转换部分,以及电机控制中的数模转换部分。
而为了让模拟量的采集结果更加明显可察,将加入数码管显示模块,实时显示模拟量采集的大小情况。
与此同时,在选题基础上添加了直流电机工作状态指示灯电路和报警电路。
2、设计原理根据试验箱相关配置,取电位器0~5V 可调电压为模拟量输出模块,可线性调节输出。
取芯片ADC 0809 对采集到的模拟信号进行模数转换,将0~5V 的电压信号转为00~FF 的数字信号,并通过8279 键盘扫描输出模块进行相应的显示输出。
得到转换后的数字量之后,使用DAC0832 数模转换芯片进行数模转换,并将所得模拟量输出到直流电机控制端,进行电机驱动。
对于添加的模块,主要通过8255 芯片来实现,取8255 的PA0 口作为输出端口,连接试验箱上的开关量输入显示区的发光二极管。
对A口分别赋值01H (直流电机正向非正常工作)、02H(直流电机正常工作)、04H(直流电机反向非正常工作)并输入给开关量输入显示区的发光二极管,驱动前三个二极管在电机的三种工作状态下分别发光,从而实现指示灯电路。
中南大学微机原理课程设计报告——信号发生器功能程序设计目录第一章设计题目、要求及目的 (3)1.设计题目要求 (3)2.设计目的 (3)第二章总体设计方案 (3)1.设计思想 (3)2.设计方案 (4)3.总体设计流程图 (5)第三章硬件设计 (5)1.硬件环境要求 (5)2.所用芯片及其功能说明 (6)3.硬件接线图 (9)第四章程序设计 (10)1.流程图 (10)2.典型程序模块及典型编程技巧分析··133.课程设计中遇到的问题及解决方法··144.程序清单和程序注释 (15)第五章收获与体会 (33)第六章参考文献 (33)第一章设计题目、要求及目的1.设计题目及要求设计题目:信号功能发生器设计设计要求:(1)、编程语言为C语言和汇编语言;(2)、硬件电路基于80x86微机的接口电路;(3)、程序功能要求:小键盘给定、数码管(屏幕)显示,并产生对应信号波形(D/A)输出(信号波形包括正弦波、三角波、方波、锯齿波)、输出信号波形幅度、频率可调。
(注意:按键数量应尽量少)。
2.设计目的(1)、熟练掌握汇编语言和C语言,并用它们实现对硬件的操作,实现设计要求。
(2)、学会调试程序,可以通过编译(masm)、链接(link)、运行(run)可以看到汇编程序的运行结果,更多的是要通过Debug来调试以发现程序的逻辑问题,熟练运用Debug可以解决很多问题,如Debug的T命令可以查看单步运行的结果。
(3)、对硬件加深了解,特别是此实验要用到的8255及小键盘等(4)、本课程设计,要求对微机系统有一个较全面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。
第二章总体设计方案1.设计思想该课题要求实现信号功能发生器,首先通过小键盘给定一个按键,并将此信息送入计算机中,由计算机内部根据此信息去实现特定的功能,比如产生正弦波。
中南大学课题名称:微机原理与接口技术课程实验报告学院:信息科学与工程学院班级:学号:姓名:目录实验一、 8255A 可编程并行口实验 (1)一、实验目的 (1)二、实验原理 (1)三、实验线路连接 (1)五、实验步骤 (2)实验二、8253A 定时/计数器实验 (4)一、实验目的 (4)二、预备知识 (4)三、实验原理 (4)四、实验步骤 (5)实验三、8259单级中断控制器 (6)一、实验目的 (6)二、实验内容 (6)三、实验线路连接 (7)四、实验软件清单 (7)五、实验步骤 (7)实验四、存储器接口实验 (14)二、实验内容 (14)三、实验原理 (14)四、实验程序 (14)五、实验总结 (15)实验一、 8255A 可编程并行口实验一、实验目的1、掌握并行接口芯片 8255A 和微机接口的连接方法。
2、掌握并行接口芯片 8255A 的工作方式及其编程方法。
二、实验原理如实验原理图5-8所示,PC口8位接8个开关K1~ K8,PB口8位接8个发光二极管,从PC口读入8位开关量送PB口显示。
拨动K1~ K8,PB口上接的8个发光二极管L1~ L8对应显示K1~ K8的状态。
三、实验线路连接(1) 8255A芯片PC0~ PC7插孔依次接K1~ K8。
(2) 8255A芯片PB0~PB7插孔依次接L1 ~ L8。
(3) 8255A的CS插孔CS-8255接译码输出Y7插孔。
四、实验软件清单见随机光盘,文件名为H8255-1.ASM五、实验步骤1、按图5-8连好线路。
2、运行实验程序。
在DVCC-8086JHN显示"8255-1",同时拨动K1~K8,L1~L8会跟着亮灭。
实验代码CODE SEGMENTASSUME CS:CODESECOPORT EQU 0051HSEDAPORT EQU 0050HDATA EQU 0500HSTART: MOV DX,SECOPORTIN AL,DXTEST AL,01HJZ STARTMOV AL,55HMOV DX,SEDAPORTOUT DX,ALJMP STARTCODE ENDSEND START改后CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073HIOCPT EQU 0072HIOBPT EQU 0071HSTART: MOV CX,8FFFHDELAY0: LOOP DELAY0MOV AL,89HMOV DX,IOCONPTOUT DX,ALNOPNOPNOPIOLED1: MOV DX,IOCPTIN AL,DXMOV BL,ALADD AL,BLDEC ALMOV DX,IOBPTOUT DX,ALMOV CX,8FFFH DELAY: LOOP DELAYJMP IOLED1CODE ENDSEND START实验二、8253A 定时/计数器实验一、实验目的1、学习 8253A 可编程定时/计数器与 8088CPU 的接口方法。
微机原理课程设计设计报告一、设计目的1、对微机原理课程中所学的理论知识进行进一步巩固和加深。
2、学会查阅相关手册与资料,培养独立分析与解决问题的能力。
3、学会使用屏幕编辑程序—MASM对汇编程序的编写,调试和运行。
4、了解对系统中DOS和BIOS的使用,弄懂汇编程序的上机过程以及如何运用DEBUG软件进行汇编程序的调试。
二、设计内容本次为期一周的课程设计,主要编写调试了5个程序,题目如下:1、字符串匹配设计为掌握提示信息的设置方法及读取键入信息的方法。
编写程序实现两个字符串比较。
如相同,则显示“MATCH”,否则,则显示“NO MATCH”。
2、从键盘上输出数据并显示为掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理。
编写程序,将键盘接收到的四位十六进制数据转换为等值的二进制数,再显示在终端上。
3、字符和数据的显示设计为掌握字符和数据的显示方法,编写程序,先显示信息:INPUT STRING,THE END FLAG IS$,再接收字符。
如为0-9,则计数器加1,并显示数据;如为非数字,则直接显示,但不计数4、学生成绩名次表设计为进一步熟悉排序方法。
编写程序,将0-100之间的30个成绩存入首址为1000H的存储区中。
1000H+i表示学号为i的学生成绩。
编写程序使得在2000H 开始的区域排除名次表。
2000H+i为学号i的学生的名次。
三、具体设计程序设计一:字符串匹配设计为掌握提示信息的设置方法及读取键入信息的方法。
编写程序实现两个字符串比较。
如相同,则显示“MATCH”,否则,则显示“NO MATCH”。
流程图程序DATA SEGMENTDAT1 DB 'INPUT STRING1:','$' ;$保持当前地址DAT2 DB 'INPUT STRING2:','$'DAT3 DB 'MATCH!',0AH,0DH,'$' ;0DH为回车ASCII码,0AH为换行ASCII码DAT4 DB 'NOT MATCH!',0AH,0DH,'$'STRING1 DB 50 ;最长长度DB ? ;实际长度DB 50 DUP(?) ;存储空间STRING2 DB 50DB ?DB 50 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATA ;数据段设置MOV DS,AXMOV ES,AXMOV AH,09H ;字符串显示,显示DAT1,显示DS:DX MOV DX,OFFSET DAT1INT 21HMOV AH,0AH ;字符串缓冲输入,接收输入字符串MOV DX,OFFSET STRING1INT 21HMOV DL,0AH ;输出换行MOV AH,02HINT 21HMOV AH,09HMOV DX,OFFSET DAT2 ;显示DAT2INT 21HMOV AH,0AHMOV DX,OFFSET STRING2INT 21HMOV DL,0AH ;输出换行MOV AH,02HINT 21HLEA SI,STRING1 ;比较LEA DI,STRING2ADD SI,2 ;串1首字符[SI+2]ADD DI,2 ;串2首字符[DI+2]CLD ;DF=0MOV CX,50REPZ CMPSB ;CX≠0或ZF=1时重复,DS:SI和ES:DI所指的两个字节相同则继续比较,如果比较相等,ZF=1,则继续比较下一个字节,DI和SI分别加1(DF=0时),CX-1JZ MATCHNMATCH:MOV AH,09HMOV DX,OFFSET DAT4 ;输出不匹配INT 21HJMP NEXTMATCH: MOV AH,09HMOV DX,OFFSET DAT3 ;输出匹配INT 21HNEXT: MOV AH,4CHINT 21HCODE ENDSEND START小结在设计过程中,我把程序分成了宏定义显示回车,数据段定义,初始化,开始比较,匹配时再比较,不匹配时SI指向串1首字符,DI指向新字符重新开始比较等模块。
微机原理课程设计报告文库一、课程目标知识目标:1. 理解微机原理的基本概念,掌握微机硬件结构及其功能;2. 学会分析微机工作原理,了解指令系统及编程方法;3. 掌握微机接口技术,了解常见接口芯片的功能和应用。
技能目标:1. 能够运用所学知识进行微机系统的简单设计和调试;2. 培养学生具备一定的微机编程能力,能够编写简单的汇编语言程序;3. 提高学生动手实践能力,能够进行基本的硬件焊接和电路搭建。
情感态度价值观目标:1. 培养学生对微机原理课程的兴趣,激发学生学习热情;2. 培养学生具备良好的团队合作意识,学会与他人共同解决问题;3. 增强学生的创新意识,鼓励学生勇于探索新知识,提高自主学习能力。
课程性质:本课程为理论与实践相结合的课程,强调培养学生的动手实践能力和创新能力。
学生特点:学生已具备一定的电子技术和计算机基础,具有较强的学习能力和好奇心。
教学要求:教师应注重理论与实践相结合,引导学生主动参与课堂讨论,鼓励学生动手实践,培养学生解决问题的能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过本课程的学习,使学生能够掌握微机原理的基本知识,具备实际应用能力,为后续相关课程和未来职业发展打下坚实基础。
二、教学内容本课程教学内容主要包括以下几部分:1. 微机硬件结构:介绍微处理器、存储器、输入输出接口等硬件组件的工作原理和功能;教材章节:第一章 微机系统概述内容列举:CPU结构、存储器分类、I/O接口基础等。
2. 指令系统与编程:讲解汇编语言的基本指令、寻址方式、程序设计方法等;教材章节:第二章 指令系统与汇编语言内容列举:基本指令、汇编语言程序结构、循环、分支等编程技巧。
3. 微机接口技术:分析常见接口芯片的原理与应用,如并行接口、串行接口、定时器/计数器等;教材章节:第三章 微机接口技术内容列举:并行接口、串行接口、定时器/计数器接口芯片等。
4. 微机系统设计与实践:培养学生动手实践能力,进行简单的微机系统设计与调试;教材章节:第四章 微机系统设计与实践内容列举:硬件焊接、电路搭建、程序下载与调试等。
微机原理及应用实验报告实验一单片机仿真开发机操作和MCS-51指令系统应用一、实验目的1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整;2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编;3、掌握程序的调试和运行的各种方法。
二、实验说明1.输入给定程序,配置选项,调试并运行程序,观察程序控制下寄存器的变化。
2.选中此项keil为纯软件仿真。
3.编写程序上机调试通过,实验报告要求提交程序流程图及源程序。
三、实验内容及步骤(完成分值:60分)本实验秩序运行Keil uVersion2程序,设置为keil为纯软件仿真(不需要连接仿真器就可以仿真)。
1.新建工程项目2.设置工程文件参数3.编写新程序事例4.调试程序直至能够运行出结果。
四、参考实验程序AJMP MAINORG 0030HMAIN: MOV R0,#20HMOV R2,#0FHMOV A,#00HA1: MOV @R0,AINC R0INC ADJNZ R2,A1MOV R0,#20H ;暂停,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA2: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R2,A2MOV R0,#030H ;断点,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA3: MOVX A,@DPTRMOVX @R0,AINC R0INC DPTRDJNZ R2,A3DO: LJMP DOEND ;内部存储器数据块赋值,搬运数据块到外部存储器,再搬运回内部数据存储器。
五、附加题(完成分值:10分/单个附加题,附加题要求当场给指导老师检查结果,否则无效。
其中1、2、3附加题要求写在实验报告上)1.将光标移到想要暂停的地方,MOV R0,#20H所在行,选择“执行到光标处”功能,程序快速执行到光标所在行。
观察运行情况,并记录下表。
R0 R2 A 20H 21H 22H 23H 24H 25H2FH 00H 0FH 00H 01H 02H 03H 04H 05H26H 27H 28H 29H 2AH 2BH 2CH 2DH 2EH06H 07H 08H 09H0AH 0BH 0CH 0DH 0EH2.在MOV R0,#0A0H行设置断点,全速执行,暂停后观察并记录以下单元内容R0 DPL 7000H 7001H 7002H 7003H 7004H 7005H 7006H2FH 01H 0FH 01H 02H 03H 04H 05H 06H7007H 7008H 7009H 700AH 700BH 700CH 700DH 700EH07H 08H 09H 0AH 0BH 0CH 0DH 0EH3.画出程序流程图4.修改程序,实现新功能(例如搬运数据时实现倒序,变成对应的BCD码,请自行考虑与别人不同的功能,同组同学已经实现过的功能不算新功能)答:由程序可知,子程序Al产生数据,子程序A2将产生的数据搬运至7000H开头的地址,子程序A3将7000H开头的地址搬运至30H开头的地址。
中南大学微机原理与接口技术课程设计报告课题名称:微机原理与接口课程设计报告学院:信息科学与工程学院班级:通信0903学号: 0909090508姓名:赵志胜指导老师:梁建武目录一、课程设计目的和意义 (3)二、课程设计任务 (3)三、设计思想与原理 (3)1、设计思想 (3)2、设计原理 (3)三、具体模块设计 (4)1、概述 (4)2、A/D转换 (4)3、8255控制模块 (5)4、D/A转换模块 (7)5、输出显示模块 (7)四、心得体会 (8)附录一:参考书目 (9)附录二:完整源代码 (9)一、课程设计目的和意义通过本次课程设计要掌握8088,8255,0809,0832,8279等多种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。
同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。
二、课程设计任务本次课设选题为“模拟电压采集,直流电机控制”。
任务目标:1、对模拟电压进行采集转换为数字信号,并实时显示。
2、用转换的到的数字信号再经数模转换,对直流电机进行控制。
三、设计思想与原理1、设计思想本次课设选题为“模拟电压采集,直流电机控制”,基本分为两大部分:模拟量采集的模数转换部分,以及电机控制中的数模转换部分。
而为了让模拟量的采集结果更加明显可察,将加入数码管显示模块,实时显示模拟量采集的大小情况。
与此同时,在选题基础上添加了控制单元选择模块与步进电机的控制。
2、设计原理根据试验箱相关配置,取电位器0~5V可调电压为模拟量输出模块,可线性调节输出。
取芯片ADC 0809对采集到的模拟信号进行模数转换,将0~5V的电压信号转为00~FF的数字信号,并通过8279键盘扫描输出模块进行相应的显示输出。
得到转换后的数字量之后,使用DAC0832数模转换芯片进行数模转换,并将所得模拟量输出到直流电机控制端,进行电机驱动。
中南大学微机原理课程设计报告——信号发生器功能程序设计目录第一章设计题目、要求及目的 (3)1.设计题目要求 (3)2.设计目的 (3)第二章总体设计方案 (3)1.设计思想 (3)2.设计方案 (4)3.总体设计流程图 (5)第三章硬件设计 (5)1.硬件环境要求 (5)2.所用芯片及其功能说明 (6)3.硬件接线图 (9)第四章程序设计 (10)1.流程图 (10)2.典型程序模块及典型编程技巧分析··133.课程设计中遇到的问题及解决方法··144.程序清单和程序注释 (15)第五章收获与体会 (33)第六章参考文献 (33)第一章设计题目、要求及目的1.设计题目及要求设计题目:信号功能发生器设计设计要求:(1)、编程语言为C语言和汇编语言;(2)、硬件电路基于80x86微机的接口电路;(3)、程序功能要求:小键盘给定、数码管(屏幕)显示,并产生对应信号波形(D/A)输出(信号波形包括正弦波、三角波、方波、锯齿波)、输出信号波形幅度、频率可调。
(注意:按键数量应尽量少)。
2.设计目的(1)、熟练掌握汇编语言和C语言,并用它们实现对硬件的操作,实现设计要求。
(2)、学会调试程序,可以通过编译(masm)、链接(link)、运行(run)可以看到汇编程序的运行结果,更多的是要通过Debug来调试以发现程序的逻辑问题,熟练运用Debug可以解决很多问题,如Debug的T命令可以查看单步运行的结果。
(3)、对硬件加深了解,特别是此实验要用到的8255及小键盘等(4)、本课程设计,要求对微机系统有一个较全面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。
第二章总体设计方案1.设计思想该课题要求实现信号功能发生器,首先通过小键盘给定一个按键,并将此信息送入计算机中,由计算机内部根据此信息去实现特定的功能,比如产生正弦波。
微机课程设计报告目录一、需求分析1、系统设计的意义 (3)2、设计内容 (3)3、设计目的 (3)4、设计要求 (3)5、系统功能 (4)二、总体设计1、交通灯工作过程 (4)三、设计仿真图、设计流程图1、系统仿真图 (5)2、流程图 (6)3、8253、8255A结构及功能 (8)四、系统程序分析 (10)五、总结与体会 (13)六、参考文献 (13)一、需求分析1系统设计的意义:随着社会经济的发展,城市问题越来越引起人们的关注。
人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。
城市交通控制系统是用于城市交通数据检测、交通信号灯控制与交通疏通的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。
随着城市机动车量的不断增加,组多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速通道,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。
然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。
而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。
所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速通道,缓解主干道与匝道、城市同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
交通灯的控制方式很多,本系统采用可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现本系统的各种功能。
同时,本系统实用性强,操作简单。
2、设计内容采用8255A设计交通灯控制的接口方案,根据设计的方案搭建电路,画出程序流程图,并编写程序进行调试3、设计目的综合运用《微机原理与应用》课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计能力及实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。
中南大学信息科学与工程学院微机原理与接口技术实验报告学生学院信息科学与工程学院专业班级学号学生姓名____指导教师目录第一部分软件实验 (4)DEBUG 的使用 (4)第二部分硬件实验 (8)实验一使用ADC0809的A/D转换实验 (10)实验二使用DAC0832的D/A转换实验(一) ................................. 错误!未定义书签。
实验三使用DAC0832的D/A转换实验(二) ................................. 错误!未定义书签。
第三部分实验总结. (13)第一部分软件实验DEBUG 的命令及其操作一、实验目的1.熟练掌握debug的常用命令,学会用debug来调试程序。
2.深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。
3.掌握各种寻址方法以及简单指令的执行过程。
二、实验内容1.进入和退出DEBUG程序2.本实验只要求在DEBUG调试状态下进行,包括汇编程序,调试程序,执行程序3.掌握一些DEBUG的基本操作三、实验环境Windows系统下从进入命令行窗口。
四、实验的基本原理a 汇编d显示内存单元内容e修改单元内存内容g执行命令t单步(或多步)调试n指定文件路径文件名(含扩展名)u反汇编r查看寄存器值及修改l加载程序w写盘命令五、实验步骤1.用DEBUG调试简单程序例1 -A CS:0106MOV AX,1234MOV BX,2345MOV CX,0ADD AX,BXMOV CX,AXINT 20运行程序(注:执行程序时IP应指向要执行的指令,需要修改时-RIP当前值输入需要值该处为0106当然也可以在T或G命令中指出程序起始地址)-R 显示各寄存器当前内容及首条指令-T3 跟踪执行三条赋值传送指令,观察寄存器及标志位变化-T2跟踪执行相加及送和数指令,观察寄存器及标志位变化-G 执行软件中断指令INT 20,机器将显示“程序正常终止”的信息,并显示“-”,表明仍处在DEBUG的调试控制状态下,注意未用T命令,因为我们不想进入到20H中断处理程序中去,P命令也可实现相同操作实验现象记录:观察每条指令执行后各相关寄存器值及标志位状态2.在windows系统下按WIN+R键,在弹出窗口下输入cmd,进入命令行窗口,然后再窗口下输入debug,进入debug程序。
中南大学微机原理课程设计实验报告题目设计电子万年历专业班级通信工程一、设计目的及要求(1)设计任务:通过本次课程设计,使学生巩固和加深微型计算机原理理论知识,通过过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。
计算机原理与接口课程课程设计结合教学内容,从应用的角度出发,进行三类课程设计,分别分为:汇编语言程序设计、微机标准接口课程设计和接口技术课程设计。
(1)通过设计电子万年历,掌握中断的使用方法。
(2)掌握基本的显存读写技术。
(3)学会在屏幕上以七段数码管的形式显示本机时间的方法。
(4)学会用汇编语言编写一个完整的程序,提高自己的动手操作能力。
(5)学习程序设计的基本思路和方法,培养分析问题、解决问题的能力。
汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
因而,对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的。
至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了。
随着科学技术迅速发展, 理工科大学生不仅需要掌握计算机方而的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。
通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。
鉴于汇编语言的广泛用途及其在当代计算机界的重要作用,本人利用学的知识,在同学门的帮助下,花费大量时间,完成了关于电子万年历的系统设计。
这个系统是应用于电脑中的小应用程序,可是显示电脑中的时间。
很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。
关键词:汇编语言微机原理接口技术时钟显示键盘输入一次性初始化六位(二)设计功能:1.电子万年历,具有年、月、日、时、分、秒24小时制的运行,并可以在8位数码管上显示:2.电子万年历具有启动键、蜂鸣、整点报时、暂停、初始化年、月、日、时、分、秒。
(三)课程设计方式与基本要求:[1】实验方式:微机原理与接口技术课程设计共2周,要求学生做出设计方案(硬件线路图、程序框图)并提交指导教师检査确认。
然后进行硬件连接、软件调试、得出结果, 由指导教师检查是否达到设计要求,最后撰写报告。
根据通信工程专业学生的实际情况,课程设计的指导思想是:对于学习成绩好、动手能力强的学生,让他们有充分发挥的余地:对于大多数学生务必完成设计要求:对于少数学习稍差的学生只需完成基本要求。
基于这一原则给出了3〜5个题目,每一个题目的大小、难易可以伸缩,由学生自选。
[2】基本要求:电子万年历(三星)设计任务:1.正常计时并显示,默认状态下用8个7段LED数码管作为显示设备,显示:时一分一秒,每秒刷新显示;2.通过按键,可以切换显示:年(后两位)一月——日;3.通过按键,可以调整时间:4.实习整点定时闹铃功能,整点定时输出为音乐信号或语音信号。
扩展:可通过串口通讯来获取电子万年历的时间。
其他功能(创新部分)(四)设计所用元件设备是武汉恒科电子教学仪器有限公司的超B—3000TB综合实验/仿真系统。
配合PC机构成实验环境。
8253定时器:用于产生秒脉冲,计数器2的输出信号作为中断请示信号送IRQ3 o以及计数器0作为蜂鸣器的输入脉冲使用。
8279接口芯片:实现键盘输入和显示输出。
8259中断控制器:用于产生中断。
8255并行控制器:触发蜂鸣器扬声。
数码管:八个LED用于显示年、月、日,时、分、秒。
以格式00-00-00 输出值。
蜂鸣器:扬声报时。
二、设计题目及思想(一)设计原理:计算机原理与接口技术是通信工程专业的一门专业基础课程,学生需要掌握RAM扩充、8253计数器/定时器、8255并行口、8251串行口、8259中断控制器、D/A数模转换、A/D模数转换、DMA、LED显示等各个器件的性能和使用方法。
课程设计的目地是综合这些基础知识,就具体问题让学生做出软、硬件解决方案并付诸实施,以培养解决实际问题的能力。
本程序的主要设计原理是用主程序完成键盘按键的扫描,实现计时结果的数码管显示,实现时分秒与年月日之间的转换。
通过判断键盘按键调用相应功能程序段以实现相应功能,即实现了初始化年月日、初始化时分秒、显示年月日、显示时分秒等功能。
通过实验板上的键盘实现一次性对年月日的六位数字或者时分秒的六位数字同时进行初始化的手动设置功能,在本次实验的所有班级中只有我们一组是通过这种方式进行的初始化,这也是我们组的特色所在。
利用8253的左时器功能。
8253的四个端口地址为48H, 49H, 4AH, 4BH, 本实验采用8253的计数器2,工作在方式3 (方波发生器方式)输入CLK2为1MHZ O先给8253的初始值0C350H,循环记数。
即一次记数完后,自动装入初始值。
输出0UT2作为8259的输入脉冲。
8259有两个口地址,本实验为20H和21H,其中20H用来写ICW1, 21H用来写ICW2、ICW4,本实验中8259为单片,边沿触发,采用3号中断源,即IR3和8253输出口0UT2相连,每过1/20秒接收到一个中断,向8259发出中断请求信号,如果电平信号不符合要求,则自动转到7号中断,显示"ERR", CPU响应后,在中断处理程序中,对中断次数进行记数,记满20次,把时间缓冲区中的时间加1,并将其输入到显示缓冲区,这样便实现了产生一秒钟长短的时间间隔,以作为程序的主要时钟。
计数初值的计算:X=lM/2=50000D=0C350H (用1\【HZ信号产生1/20秒方波)。
(二)主要模块:【1】系统总体设计:本系统设计的电子钟以8088微处理器作为CPU, 8253做宦时计数器产生一秒钟的时间间隔用作程序的主要时钟频率,8279做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。
在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。
8253 采用计数器0和计数器2。
计数器2:工作于方式3,使8253的OUTO端输出周期性的负脉冲信号,即每隔20ms, 8253的0UT0端就会输出一个负脉冲的倍号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。
计数器0 :工作于方式3,使8253 的OUT2作为蜂鸣器的输入倍号,使蜂鸣器产生闹铃。
8255的PB0 口与8253的GATE0相连,8255的PB0受程序里而的函数控制,当需要闹铃的时候置1,否则置0。
程序由以下模块组成:系统共有6个功能模块,分别为,主控模块,显示模块,定时模块,闹钟模块,中断模块,初始化模块。
Wd-Hv 块系统总体框團(2]主控模块:主控模块是系的核心模块,对8253、8255、8279进行初始化,设置中断向量,主要由软件实现。
再由主控模块进入程序菜单,程序菜单的主要功能是调用其它模块对系统工作进行协调,它的主要功能是读小键盘输入键值并执行要做的工作,每当进入菜单就会先调用显示模块SH0W1,显示58-58-58,表示成功进入了菜单。
接下来读键值选择相应的功能,如果键值为F 则初始化年月日并置入相应的内存,成功后返回主控模块。
如果键值为D则初始化时分秒并置入相应的内存,成功后返回主控模块。
如果键值为B则显示年月日内存中的值,成功后等待下次有键输入后返回主控程序。
如果健值为9则显示时分秒内存中的值,成功后等待下次有键输入后返回主控程序。
并调用显示模块显示。
(3]定时模块:定时模块是为8259提供中断请求信号的。
由一片8253实现,选用定时器0#,工作在方式3,由于时钟应该1秒走动一次,所以输岀值应为1S, 其输出信号可作为8259的中断请求信号。
Al AO :用来选择计数器和疸制字寄存器方式二:频率发生器方式【4】中断处理模块:中断模块实现动态显示的,硬件为一片8259,由于中断请求信号为每秒一 次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时 间增加一秒,从而达到动态显示的效果。
【5】并行模块:并行模块是8255是数据在多根传输线上一次以8位为单位进行传输。
8255由数据总线缓冲器,读/写控制逻辑、A 组和B 组控制电路以及3个数据端口 (A 口、B 口和C 口)等组成。
) §8D7D6D5gD3D2DlmKOJTOrEDND3J Vuc 23职 ZD RK a )cs2] Al SI AO3JCLK2 13DUT2 ISGATE2 BJCLK1 DO-D7:三态数据钱.和数据总钱相连 GATE012:门控输人端.对应相同号计数器CS :片选端.低电平有效. WR :写信号输入端,低电平有效. RD :读信号綸入端,低电平有效. CLKO 1 2:各计数器时钟宿号输入孃. OUT0 1 2:相应计数器输岀端• 8253井有以下几种工作方式:SGATE1 方氏第:计数结束发生中断 23 DUT1方式一:可编程单次眯冲方式 L13 T9 --IRO 19 IR1 201R2 21 IR3 22 IR4 23IR5 2$IR6 25IR7IOR ____ U INTR 1厂 IHTA 2―nDODlMmMDSIHSMMWRRDDnQnCASCA SCAS0 12 3 4567 a mm m mS“EH口高4位0默 A 口 0输岀口 1输入 人曲式选择月?1 0-坊瞬制9熬冬賣位嗖位控制字 厅式遠择D7D6D5D4D3D20iro 丁J 复位1 •位[6]显示脱:PA3PA2PA1PA0RD矗久PC7PC6PC5PC4PCOPC1PC2PC3P80PB1P82叭PA5PA6PA7gREmD1D2D3CMD5D6a心P87P8SPBSP84PB3 Eg固丙卫国可卫宓师隠何油回5 vggN8其控制字窑式如下:D7D6D5D4O3D2D1D0-“十0镐岀C 组低4位1舍入0输出I 输入显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。
硬件上由六个LED构成,软件上由扫描显示的方法实现。
(三)芯片初始化:【1】8263A定时7计数:8253 A既可作左时器又可作计数器:(1)计数:计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK脉冲对计数值进行减1计数,每来一个脉冲减1,当计数值减至0时,由OUT端输出一个标志信号。
(2)定时:计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数,当计数到零时,发计数结束左时信号。