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

微型计算机原理及接口技术课程设计课程设计概述微型计算机原理及接口技术课程设计是一门以Z80单片机为硬件平台,使用C 语言进行软件编程的课程设计。
该课程设计旨在引导学生深入理解微型计算机的原理及其接口技术,掌握软硬件协作设计的方法和技巧。
设计要求硬件要求1.使用Z80单片机作为系统的核心;2.至少连接三个以上的外设,如LCD显示屏、按键、LED灯等;3.采用最小系统方式,使用外挂晶振。
软件要求1.使用C语言进行编程;2.实现外设的控制和驱动;3.实现需求部分功能。
设计内容系统框架系统采用Z80单片机作为核心,通过软件驱动外设实现对系统的控制。
系统框图如下所示:st=>start: STARTlcd=>operation: 连接LCD显示屏keyboard=>operation: 连接按键led=>operation: 连接LED灯ctrl=>operation: 系统控制e=>end: ENDst->lcd->keyboard->led->ctrl->e功能需求系统需要实现的功能需求如下:1.通过LED灯显示系统启动后的信息;2.通过按键输入用户数据,并且通过LCD显示屏输出给用户;3.通过LCD显示屏反馈用户数据的计算结果。
实现细节1.LED灯显示:在系统启动过程中,LED灯需要进行连接和初始化,以便LED灯可以被控制显示。
在关键的启动阶段,LED灯需要显示系统启动成功的信息,以便用户可以得到正确的反馈。
2.按键输入:按键是用户与系统交互的主要方式,用户可以通过按键向系统输入数据。
系统需要支持多个按键同时输入,以便用户可以进行复杂操作。
3.LCD显示屏输出:在用户输入数据后,系统要及时地反馈给用户输入数据,并显示结果。
系统需要实现LCD显示屏控制功能,在屏幕上正确显示数据。
结论本文详细介绍了微型计算机原理及接口技术课程设计,包括课程设计概述、硬件要求、软件要求、设计内容等方面的内容。
【可编辑全文】微机原理与接口技术-课程设计任务书

可编辑修改精选全文完整版微机原理与接口技术课程设计任务及指导书(适用于0944121班)一、课程设计目的和任务:通过课程设计,主要达到以下目的:1、使学生增进对单片机的感性认识,加深对单片机理论方面的理解;2、使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、A/D、D/A等;3、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。
二、课程设计题目:【1】数字音乐盒设计要求:1、利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音响,从而演奏乐曲(最少储存三首乐曲,每首不少于三十秒);2、采用LCD显示;3、开机时有英文欢迎字符,播放时显示歌曲序号(或名称);4、可通过功能键选择乐曲,暂停,播放;扩展功能:显示乐曲播放时间或剩余时间;【2】数字温度计设计要求:1、基本范围为-50℃—110℃;2、精度误差小于0.5℃;3、LED数码管直读显示;扩展功能1、可以任意设定温度的上下限报警功能;2、实现语音报数。
【3】交通灯设计设计要求:1、设计一个十字路口交通灯控制器。
用单片机控制LED灯模拟指示。
2、系统包括人行道、左转、右转以及基本的十字路口交通灯功能;3、系统除具有基本交通灯功能外,还具有显示倒计时、时间设置、紧急情况处理功能。
扩展功能:1、分时段调整信号灯的点亮时间2、根据具体情况实现灵活手动控制功能。
【4】电子密码锁设计要求:1、系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能;2、还具有调电存储、声光提示等功能。
扩展功能:通过遥控器实现锁的基本操作。
【5】电子钟的设计设计要求:1、可以实现23h59m59s的显示,用六位LED显示出来,显示格式为“时时:分分:秒秒”。
2、可以利用按键设置任意的时分秒各位,并具有按键复位功能;扩展功能:1、实现整点语音报时功能。
2、实现年月日的显示。
微机原理与接口技术教案

微机原理与接口技术教案一、课程简介1.1 课程背景微机原理与接口技术是计算机科学与技术专业的一门重要课程,主要介绍微型计算机的基本原理、组成结构、指令系统、接口技术及应用。
通过本课程的学习,使学生掌握微型计算机的基本工作原理,具备分析和设计接口电路的能力,为后续相关课程的学习和将来从事计算机科学与技术领域的工作打下基础。
1.2 课程目标(1)了解微型计算机的发展历程和分类。
(2)掌握微型计算机的基本组成原理和指令系统。
(3)熟悉常用接口电路的设计和应用。
(4)培养学生动手实践能力和团队协作精神。
二、教学内容2.1 微型计算机的基本原理(1)微型计算机的发展历程(2)微型计算机的分类和性能指标(3)微型计算机的硬件系统和软件系统2.2 微型计算机的组成结构(1)中央处理器(CPU)(2)存储器(3)输入/输出接口(4)总线系统2.3 指令系统(1)指令的基本概念和格式(2)指令的分类和编码(3)寻址方式(4)指令的执行过程三、教学方法3.1 授课方式采用课堂讲授、实验演示、讨论相结合的方式进行教学。
3.2 实践环节安排实验课程,使学生能够动手实践,加深对理论知识的理解。
3.3 考核方式课程成绩由课堂表现、实验报告和期末考试三部分组成。
四、教学资源4.1 教材《微机原理与接口技术》,作者:,出版社:清华大学出版社。
4.2 实验设备微机原理实验箱、编程器、示波器等。
五、教学进度安排(1)第1-2周:微型计算机的基本原理(2)第3-4周:微型计算机的组成结构(3)第5-6周:指令系统(4)第7-8周:接口技术六、教学评估与反馈6.1 课堂评估通过课堂提问、讨论和作业等方式,及时了解学生对课程内容的掌握情况,并根据学生的反馈调整教学方法和节奏。
6.2 实验评估通过实验报告和实验现场表现,评估学生在实际操作中对接口技术的理解和应用能力。
6.3 期末考试设置理论考试,全面考察学生对微机原理与接口技术的掌握程度。
微机原理与接口技术课程设计

目录一.设计目地。
2二.设计要求。
2三.设计任务及项目说明。
2四.硬件设计原理4.1最小系统原理图及PCB。
34.2扩展系统原理图及PCB。
44.3硬件工作原理。
6五.购置元器件5.1最小系统元器件。
75.2扩展元件。
8六.程序设计6.1程序设计原理。
86.2程序内容。
8七.作品功能。
29八.心得体会。
29参考文献。
30一.设计目的使大家对学习的微机原理与接口技术进一步的掌握和巩固,掌握电路板的焊接技术,会利用软件实现简单的程序设计和调试。
二.设计要求根据最小系统的原理图及PCB,购齐相关电子元件,完成实验开发板的焊接,并为扩展留下接口。
然后利用最小系统的接口,完成扩展训练,扩展项目如下,可自行选择(也可超出以下题目自拟,需包含输入和输出)。
三.设计任务及项目说明这里选择流水灯项目。
流水灯是一串按一定的规律像流水一样连续闪亮。
流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。
流水灯控制可用多种方法实现,但对现代可编程控制器而言,利用移位寄存器实现最为便利。
通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向移动。
本案例利用价格低廉的AT89C51系列单片机控制基色LED灯泡从而实现丰富的变化。
四.硬件设计原理4.1最小系统原理图及PCB最小系统原理图8051最小系统PCB4.2扩展系统原理图及PCB扩展系统原理图扩展系统PCB4.3硬件工作原理整个系统工作由软件程序控制运行,以AT89C51单片机作为主控核心,与驱动等模块组成核心主控制模块。
在主控模块上设有晶振电路和32个LED 显示二极管,根据需要编写若干种亮灯模式,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号。
五.购置元器件5.1最小系统元器件5.2扩展元件六.程序设计6.1程序设计原理用查表的方法控制点亮流水灯,即移位的思想:0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff;//左边单个点亮0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00;//右边逐个点亮0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;//左边逐个熄灭0x7f,0x8f,0xdf,0xef,0xf7,0xf8,0xfd,0xfe,0xff;//右边单个点亮0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00;//左边逐个点亮0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;//右边逐个熄灭0xfc,0xf9,0xf3,0xef,0xcf,0x9f,0x3f,0xff;//左边逐两个点亮0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0xff;//右边逐两个点亮0xf8,0xf1,0xe3,0x07,0x8f,0x1f,0xff;//左边逐三个亮0x1f,0x8f,0x07,0xe3,0xf1,0xf8,0xff;//右边逐三个亮6.2程序内容#include<reg52.h>#define uchar unsigned charuchar flag=200;///////////////////////////////////////////////////////////////////////uchar code Tab1[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF};//暗中左移向下uchar code Tab2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};//暗中右移向上uchar code Tab3[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};//亮中左移向下uchar code Tab4[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00};//亮中右移向上uchar code Tab11[]={0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff};//暗中左移向下uchar code Tab22[]={0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xff};////////////////////////////////////////////////////////////////////uchar code Tab33[]={0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF};uchar code Tab44[]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};uchar code Tab55[]={0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff};uchar code Tab5[]={0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff};uchar code Tab6[]={0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xff};uchar code Tab7[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};uchar code Tab8[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};////////////////////////////////////////////////////////////////void shansuo();void xl();///////////////////////////////////////////////////////////////void delay(void){unsigned char m,n;for(m=0;m<flag;m++)for(n=0;n<250;n++);}///////////////////////////////////void hy1(void) //点亮状态逆时针旋转90度(一个一个灭){unsigned char i;for(i=0;i<8;i++){P0=Tab11[i];P3=Tab22[i];P2=Tab11[i];P1=Tab22[i];delay();}for(i=0;i<8;i++){P0=Tab44[i];P3=Tab55[i];P2=Tab44[i];P1=Tab55[i];delay();}}///////////////////////////////////////////void hy2(void) //暗中逆时针转360。
微机原理与接口技术简明教程课程设计

微机原理与接口技术简明教程课程设计
1. 授课内容概述
本课程的主要内容是介绍微机系统结构、微机系统原理、微机系统软硬件接口原理和设计方法等。
本课程旨在使学生了解微机系统的基本原理和基本知识,掌握微机系统软硬件接口设计的基本方法和技术。
2. 学习目标
本门课程旨在达到如下学习目标:
•熟悉微机系统结构、微机系统原理和基本原理知识。
•掌握微机系统基本指令和汇编语言的基本知识。
•掌握微机系统软硬件接口原理和设计方法。
•进一步提高自己的动手实践技能。
3. 课程内容实现方式
本门课程将采用数据实验和理论授课相结合的教学方式:
•数据实验:学生将利用实践实验室提供的微机设备,参加实践实验,完成各种不同的微机系统软硬件接口设计。
•理论授课:授课老师将通过课堂理论授课,讲解微机系统结构、微机系统原理和基本原理知识、微机系统基本指令和汇编语言的基本知识以及微机系统软硬件接口原理和设计方法等。
4. 课程计划
第一周
•学习班级规章制度,课程要求及课程流程安排;
1。
微机原理与接口技术课程设计_数字信号发生器

微机系统与接口技术课程设计任务书一、设计目的1、建立微机系统概念加深对微机系统的理解和认识,提高微机系统的应用能力。
2、进一步学习和掌握微机程序设计方法,通过应用程序的应用和调试学习程序的调试。
3、进一步熟悉微机典型接口芯片的使用,接口及外部设备系统的连接方法。
二、题目微机应用系统设计——数字信号发生器的设计三、设计要求1、以8086(8088)CPU为主控单元构建微机应用系统。
2、应用系统的硬件设计,画出电路原理图和线路连接图。
3、应用系统的软件设计,画出软件流程图,写出主要控制程序。
4、根据实验条件,进行微机应用系统的部分模拟调试工作,写出调试说明。
5、整理设计说明,列出参考文献清单。
四、列出使用的元器件和设备清单五、完成定时/计数器8253,中断控制器8259实验,写出实验报告目录第一章绪论 ......................................................................................... - 3 -第二章硬件设计 ................................................................................. - 4 -一、硬件的选择与设计 ....................................................................... - 4 -二、设计原理 ....................................................................................... - 6 -第三章软件设计 ................................................................................. - 9 -一、子程序设计 ................................................................................... - 9 -二、总程序设计 ................................................................................. - 15 -第四章实验调试与设计 ................................................................... - 20 -一、实验箱上连线 ............................................................................. - 20 -二、调试修正程序 ............................................................................. - 20 -三、产生的波形 ................................................................................. - 20 -第五章设计总结 ............................................................................... - 22 -参考文献 ............................................................................................. - 23 -元器件清单 ......................................................................................... - 24 -第一章绪论信号发生器是我们在学习,科学研究等方面不可缺少的工具,锯齿波和正弦波、矩形波、三角波是常用的基本测试信号。
《微机原理与接口技术》教案

《微机原理与接口技术》教案第一章:微机系统概述1.1 教学目标1. 了解微机系统的概念和发展历程。
2. 掌握微机系统的组成和各部分功能。
3. 理解微机系统的工作原理。
1.2 教学内容1. 微机系统的概念和发展历程。
2. 微机系统的组成:微处理器、存储器、输入输出接口等。
3. 微机系统的工作原理:指令执行过程、数据传输等。
1.3 教学方法1. 采用讲授法,讲解微机系统的概念和发展历程。
2. 采用案例分析法,分析微机系统的组成和各部分功能。
3. 采用实验演示法,展示微机系统的工作原理。
1.4 教学评价1. 课堂问答:了解学生对微机系统概念的掌握情况。
2. 课后作业:巩固学生对微机系统组成的理解。
3. 实验报告:评估学生对微机系统工作原理的掌握程度。
第二章:微处理器2.1 教学目标1. 了解微处理器的概念和结构。
2. 掌握微处理器的性能指标。
3. 理解微处理器的工作原理。
2.2 教学内容1. 微处理器的概念和结构:CPU、寄存器、运算器等。
2. 微处理器的性能指标:主频、缓存、指令集等。
3. 微处理器的工作原理:指令执行过程、数据运算等。
2.3 教学方法1. 采用讲授法,讲解微处理器的概念和结构。
2. 采用案例分析法,分析微处理器的性能指标。
3. 采用实验演示法,展示微处理器的工作原理。
2.4 教学评价1. 课堂问答:了解学生对微处理器概念的掌握情况。
2. 课后作业:巩固学生对微处理器性能指标的理解。
3. 实验报告:评估学生对微处理器工作原理的掌握程度。
第三章:存储器3.1 教学目标1. 了解存储器的概念和分类。
2. 掌握存储器的性能指标。
3. 理解存储器的工作原理。
3.2 教学内容1. 存储器的概念和分类:随机存储器、只读存储器等。
2. 存储器的性能指标:容量、速度、功耗等。
3. 存储器的工作原理:数据读写过程、存储器组织结构等。
3.3 教学方法1. 采用讲授法,讲解存储器的概念和分类。
2. 采用案例分析法,分析存储器的性能指标。
微机原理及接口技术教程课程设计

微机原理及接口技术教程课程设计1. 简介这里是微机原理及接口技术教程课程设计的文档,本文将介绍该课程设计的背景、目标、任务、过程和结果。
微机原理及接口技术教程是计算机科学与技术专业的必修课程之一,主要介绍微机的原理和接口技术。
本次课程设计旨在帮助学生巩固和深入理解该课程的相关知识,提升学生的实践能力和问题解决能力。
2. 任务本次课程设计的任务是使用8051单片机完成一个简单的应用,要求功能完整,代码规范,文档完备。
具体任务要求如下:1.需要编写8051单片机的程序,实现以下功能:通过按键控制LED的亮灭。
2.硬件需求:STM32F103C8T6开发板,8个LED灯,8个按键,杜邦线若干。
3.软件需求:Keil C51 v9.5集成开发环境,及其他相关库函数。
4.提交要求:包括源代码、说明文档、电路图和演示视频。
5.课程设计时间:2周。
3. 过程3.1 硬件连接在硬件上,我们需要将开发板上8个LED灯和8个按键与8051单片机对应的引脚连接起来。
具体连接方式如下:•将8个LED灯连接到P2.0~P2.7引脚;•将8个按键连接到P1.0~P1.7引脚。
连接完成后,可以通过Keil软件中的Proteus仿真工具来验证与检查硬件连接是否正确,以确保软件编写前的硬件连接没问题。
3.2 软件设计在软件上,我们需要使用Keil C51集成开发环境,并根据任务要求编写相应的代码。
具体的软件设计过程如下:3.2.1 程序框架程序框架主要包括三个部分:头文件、宏定义和主函数。
在开发环境中新建一个C文件,将程序框架编写完成。
具体代码如下:#include <reg52.h> // 引入头文件#define LED P2 // 宏定义void mn(){while (1) // 主函数{}}在上述代码中,我们引入了8051单片机的头文件,在宏定义中定义了P2引脚为LED接口,然后在主函数中循环处理LED的亮灭。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理与接口技术》课程设计报告书课题:利用DAC设计波形发生器学院:计算机科学与技术班级:计 091 班姓名:王骏(0913022030)沈志轩(0913022033)徐晓龙(0913022029)指导教师:顾辉提交日间:2012年6月17日目录一、引言 (3)二、设计目的 (3)三、设计内容及要求 (3)四、选用器材 (4)五、设计原理及方案 (4)六、硬件设计 (5)七、软件设计 (9)八、调试方法与结果 (15)九、收获、体会 (17)十、参考文献 (18)一.引言波形发生器是一种常用的信号源,广泛的应用于电子电路、自动控制系统和教学实验等领域,是现代测试领域内应用最为广泛的通用仪器之一。
在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要有信号源。
由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察。
测量被测仪器的输出响应,以分析确定它们的性能参数。
信号发生器是电子测量领域中最基本、应用最为广泛的一类电子仪器。
它可以产生多种波形信号,如锯齿波、三角波、梯形波等,因而广泛应用于通信、雷达、导航、宇航等领域。
本设计正是基于数模转换原理,采用8086最小系统经数模转换芯片DAC0832设计并制作出了多功能信号发生器。
用该方法设计的多功能信号发生器具有频率稳定、幅值稳定、波形失真度低、原理简单等特点。
二、设计目的(1)掌握方波,三角波,锯齿波,正弦波函数发生器的原理及设计方法。
(2)掌握8086的工作原理,电路连接以及其最小系统的设计。
(3)了解数模转换芯片的的工作方式和使用。
(4)学会用proteus 画电路原理图。
三、设计内容及要求3.1、设计要求利用DAC设计一个波形发生器,能分别产生三角波、正弦波、锯齿波和方波,要求自行设计输出波形的切换方式。
3.2、设计内容⑴以8086为CPU。
利用D|A转换器,编程产生锯齿波,正弦波,三角波,方波信号。
输出上述四种波形。
⑵波形的控制由接在8255上的开关的实现:设计四个开关,KEY1,KEY2,KEY3,KEY4,分别控制输出正弦波、方波、三角波和锯齿波波形。
⑶接在8255上的数码管显示4个数1、2、3、4分别代表三角波、正弦波、锯齿波、方波。
⑷由接在8253上的扬声器产生四种声音do、ri、mi、fa分别代表三角波、正弦波、锯齿波、方波。
四、选用器材五、设计原理及方案5.1设计原理D/A转换器产生各种波形的原理:利用D/A转换器输出的模拟量与输入数字量成正比关系这一特点,将D/A转换器作为微机输出接口,CPU通过程序向D/A转换器输出随时间呈现不同变化规律的数字量,则D/A转换器就可输出各种各样的模拟量,如方波、三角波、锯齿波、正弦波等。
8255A实现波形切换的原理:从8255A的C口读入外接开关的信号,CPU读入不同信号值,从而执行不同的代码,向D/A转换器传送不同的数据,控制D/A转换器输出锯齿波、三角波、方波、正弦波和锯齿波。
5.2系统总体设计通过查阅相关的资料,本设计采用8086和数模转换芯片(DAC0832)实现波形的产生,波形的产生由程序控制,向D/A的输入端按一定的规律发送数据,经过D/A和1458输出。
总体框图如图2-1所示,此方案通过编程简化了外部电路,原理简单,容易实现。
使用4个按键共同实现正弦波,方波,三角波,锯齿波这四种常见波形的产生及产生不同声音的功能。
图2-1系统原理框图5.3系统主要功能主要功能是实现利用8086和8位D/A转换芯片DAC0832共同实现正弦波,方波,三角波,锯齿波这四种常见波形的发生,并且通过按键利用DAC接口实现波形发生器可以产生锯齿波、三角波、方波和正弦波等常用标准波形。
将8255的PB0~PB6作为数码管的控制位。
将8255 上的C口某几位分别作为这四种波的控制位,当相应的控制键按下后,出现相应的波形。
由8253的0端口产生一段信号连接到扬声器从而产生四种声音分别代表四种波。
六、硬件设计6.1芯片简介1、8086(8088)CPU引脚图(如图1):图1 图22、DAC0832(D/A转换器)引脚图(如图2):NSC公司生产的DAC0832 ,是一种内部带有数据输入寄存器的8位D/A转化器,采用CMOS工艺制成,芯片内部R-2R梯形电阻网络,用于对参考电压产生的电压进行分流,完成模数转换,转换结果以一组差动电流 IOUT1IOUT2输出各引脚的功能分述如下:VREF:参考电压输入端。
根据需要一定大小的电压,由于它是转换的基准,要求数值正确,稳定性好。
VCC:工作电压输入端。
A GAN 为模拟地,DGAN为数字地。
在模拟电路中,所有的模拟地要连在一起然后将模拟地,数字地连接到一个公共接地点。
DI7-DI0:数据输入。
可直接连接到数据总线。
I OUT1IOUT2:互补的电流输出端。
为了输出模拟电压,需加转换电路。
3、8255A(可编程并行接口)8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。
其内部还有一个控制寄存器,即控制口。
通常A口、B口作为输入输出的数据端口。
C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。
它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入。
8255可编程并行接口芯片工作方式说明: 方式0:基本输入/输出方式。
适用于三个端口中的任何一个。
每一个端口都可以用作输入或输出。
输出可被锁存,输入不能锁存。
方式1:选通输入/输出方式。
这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号。
方式2:双向总线方式。
只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号。
引脚图(如图3):4、 8253inter8253是一种能够完成定时和计数的芯片,8253内部有3个16位计数器通道,通过对他们编程,每个计数器可以按照6种工作方式工作,并且都可以按2或10进制格式进行计数。
,最高频率为2HZ.。
8253还可以用于许多其他场合,比如可作编程方波发生器,分频器等。
引脚:1数据缓冲总线数据总线缓冲器是8253与系统总线相连时使用的接口电路,它由8位双相三态缓冲器构成,CPU用输入输出指令对8253进行读写操作的信息都由8位数据总线传输:(1)CPU在对8253进行初始化编程时,向他写入控制字。
(2)CPU向某一计时器写入计数初值。
(3)从计数器读出计数值。
2读写控制逻辑读写控制逻辑接受系统控制总线送来的输入信号,经由组合后形成控制信号,对各部分操作进行控制。
可接受的信号有:(1)CS片选,低电平有效,由数据总线经由IO端口译码电路产生。
只有CS低电平时,CPU才能对8253进行读写操作。
(2)RD读信号,低电平有效,当RD位地电平时,表示CPU正在读取所选定的计数器的通道的内容。
(3)WR写信号,低电平有效。
当WR为低电平时,表示CPU正在将计数器初值写入所选中的通道口中,或者将控制字写入内部寄存器中。
(4)A1A2 端口选择信号,改变它的值,来选择8253内三个计数器通道。
如果8253和与8位数据总线的微机相连,只要将A1A0分别与地址总相联。
如果系统采用的是8086CPU,则数据总线为16位,传输数据时,总是将低8位数据送往偶地址,将高8位送往奇地址。
3计数器8253内部包含三个完全相同俄计数器定时器通道,对3个通道的操作,完全独立的。
每个通道都包含1个8位的控制字寄存器,1个16位的减寄存器,和一个锁存器,执行部件是一个16位的减法计数器。
每个通道工作时,对输入到CLK引脚上的脉冲按2进制或10 进制格式进行计数。
每当输入一个时钟脉冲,计数器减1,当计数器的值减为0时从,从OUT引脚输出一个脉冲信号。
GATE引脚上的门控制信号,决定他是否允许计数。
6.2硬件电路设计⑴各模块电路的设计译码电路原理图按键电路⑵系统总原理图七、软件设计7.1程序流程图系统软件由主程序和产生波形的子程序组成,软件设计主要是产生各种波形的子程序的编程,通过编程可得到各种波形。
周期的改变可采用插入延时子程序的方法来实现。
主程序和几种常用波形子程序的流程图如图所示。
图 3 锯齿波发生子程序流程图图 4 三角波发生子程序流程图图 5 方波发生子程序流程图图 6 正弦波发生子程序流程图7.2源程序及其说明io4=800h ;0832的地址io3=600h ;8253的地址io2=400h ;8255的地址data segmentsin_wave db 200,195,181,159,131db 100,69,41,19,5,0,0 ;正弦波幅值LED DB 06H,5BH,4FH,66H ;共阴极段码表data endscode segmentassume cs:code,ds:datastart: mov ax,data ;建立DS段地址mov ds,axmov al,00010110b ;8253通道0,16位读写,工作方3方波发生器,bcd计数mov dx,io2+6out dx,al ;送控制字call jiansan:mov Bx,255 ;255=FFHSAN3: MOV CX,BXmov al,0mov dx,io4san1: out dx,al ;三角波形上升段call delayinc alloop san1mov cx,BXmov al,BLmov dx,io4san2: out dx,al ;三角波形下降段call delaydec alloop san2mov al,192mov dx,io2out dx,alcall jiansin: mov cx,11mov bx,0mov dx,io4lea si,sin_wavesin1: mov al,[si][bx] ;正弦波下降段out dx,alcall delay1inc bxloop sin1mov cx,11sin2: mov al,[si][bx] ;正弦波上升段call delay1dec bxloop sin2mov dx,io2MOV AL,170out dx,alcall jianjuchi:mov Bx,255juchi1: mov cx,bxmov al,blmov dx,io4juchi2: out dx,al ;下降沿call delaycall delaydec alloop juchi2mov al,151mov dx,io2out dx,alcall jianfang:mov Bx,255fang1: mov al,bl ;高电平段mov dx,io4out dx,alcall delay1MOV al,0 ;低电平段call delay1mov al,143mov dx,io2out dx,alcall jiandelay proc ;延时子程序一push axpush bxpush cxpush dxmov cx,50lp0: noploop lp0pop dxpop cxpop bxpop axretdelay endpdelay1 proc ;延时子程序二push axpush bxpush cxpush dxmov cx,1250lp1: noploop lp1pop dxpop cxpop bxpop axretdelay1 endpjian proc nearjian1: mov al,10001000B;c口高四位输入MOV DX,io3+6HOUT DX,AL ;送控制字MOV AL,0MOV DX,io3+4HOUT DX,AL ;c口低四位为0即行输出为0 nokey: in al,dx ;读c口高四位and al,0f0H ;屏蔽c口低四位cmp al,0f0Hjz nokey ;无键按下则循环call delay1 ;延时in al,dxshr al,1 ;列信息存于al低四位shr al,1shr al,1shr al,1mov bl,0 ;初始列变量BL为0mov cx,4jian2: shr al,1 ;逐列检测,找出为0信号jnc jian3inc blloop jian2jian3: mov al,10010001b;c口低四位输入mov dx,io3+6hout dx,al ;送控制字mov al,0mov dx,io3+4hout dx,al ;c口高四位为0即列输出为0in al,dxand al,0fh ;屏蔽高四位cmp al,0fhjz jian1 ;出错从头来mov bh,0 ;初始行变量为0mov cx,4jian4: shr al,1jnc jian5inc bh ;初始行变量BH为0loop jian4jian5: shl bh,1shl bh,1add bh,bl ;BH为键号MOV CH,BH ;保存键号在ch中MOV AL,BH ;数码管显示波行号LEA BX,LED ;1三角波2正弦波3锯齿波4方波XLATout dx,alMOV DX,IO3+2OUT DX,ALMOV DX,IO3IN AL,DXcmp ch,0jz sancmp ch,1jz sincmp ch,2jz juchicmp ch,3jz fangjmp jian1retjian endpcode endsend start八、调试方法与结果三角波正弦波锯齿波方波九、收获、体会经过一个星期的奋战,终于完成了一个还算可以的设计,看着自己的劳动成果,心里有种说不出的感觉。