华北电力大学微机原理课程设计报告
微机原理课程设计总结
微机原理课程设计数据采集系统(中断法)一、课设目的:进一步掌握微机原理知识,了解微机在实时采集数据的应用,学习掌握编程和程序调试的方法。
二、课设内容和要求:用中断法将ADC0809通道0外接0—5V电压,转换成数字量后,在七段数码管LED上显示。
以小数点后两位表示精度,显示模拟电压的十进制;0809通道0的数字量以线性控制方式DAC0832输出,当通道0的电压为5V时,0832的OUT为0V当通道0的电压为0时,0832的OUT为2.5V;此模拟电压再送到ADC0809通道1,转换后的数字量在CRT上以十六进制显示。
ADC0809的采样脉冲CLK由定时器8254的OUT0提供;ADC0809的EOC信号用作8259中断请求信号。
三、总体设计:1)、ADC0809的IN0采集电位器0—5V电压,IN1采集0832输出的模拟量。
2)、DAC0832将ADC0809的IN0数字量重新转换成模拟量输出3)、8259用于检测ADC0809转换是否结束和向CPU发送INTR信号4)8255为七段LED数码管显示提供驱动信息5)、七段LED数码管显示ADC0809的IN0的值6)8254提供ADC0809的采样时钟脉冲。
四、硬件设计:因采用PC机和微机实验箱,硬件电路设计相对比较简单,主要利用微机实验箱上的8255并行口,ADC0809,DAC0832,七段数码管LED,8254定时/计数器,74LS574输出接口,电位器等单元(图1:数据采集系统硬件连接示意图)六、软件设计:本设计通过软件编程,实现模/数转换,0809分别对IN0 0—5V直流电压的采样和经线性控制后输出电压IN1采样,IN0的值转换成十进制后,在七段数码管LED上显示IN1的值。
CPU根据IN0的值,使八位二极管根据课设要求指示相应的范围。
1、设计思想:数据采集系统分成四个功能模块分别是主程序模块、量纲转换模块、数码管显示模块、中断服务子程序模块。
微机原理课设报告
中南大学微机原理课程设计报告一、课程设计目的通过本次课程设计要掌握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(直流电机反向非正常工作)并输入给开关量输入显示区的发光二极管,驱动前三个二极管在电机的三种工作状态下分别发光,从而实现指示灯电路。
华北电力大学_接口实验报告
华北电力大学科技学院实验报告||实验名称实验一开发器的使用与设计实验实验二中断8259应用、定时/计数器8253应用实验三并行接口8255应用实验四存储器拓展实验实验五A/D转换结果送数码管显示课程名称微机原理实验与课程设计||专业班级学生姓名:学号:成绩:指导教师:张少敏实验日期:2013/5实验一、数据转换实验一、实验目的1、初步掌握在PC机上建立、汇编、链接和运行8086/88汇编语言程序的过程。
2、通过对两个验证性实验的阅读、调试,掌握不同进制数及编码相互转换的程序设计方法。
3、完成程序设计题,加深对数码转换的理解,了解简单程序设计方法。
二、实验条件一台计算机三、实验内容与步骤1)设二字节十六进制数存放于起始地址为3500H的内存单元中,把他们转换成ASCII码后,再分别存入起始地址为350AH的四个内存单元。
从书上ASCII码表中可知十六进制数加30H即可得到0H~9H的ASCII码,而要得到AH~FH的ASCII码,则需再加7H。
2)参考程序如下:CODE SEGMENTASSUME CS:CODESTART:MOV CX,0004hMOV DI,3500HMOV AX,0000HMOV DS,AXMOV DX,[DI]A1:MOV AX,DXAND AX,000FHCMP AL,0AHJB A2ADD AL,07HA2:ADD AL,30HMOV[DI+0AH],ALINC DIPUSH CXMOV CL,04HSHR DX,CLPOP CXLOOP A1MOV AH,4CHINT21HCODE ENDSEND START四、实验结论与分析错误分析:在保存文件时,第一步忘了加后缀.ASM,导致打开不了文件。
实验结果:在调试运行后350AH的内存单元中会显示3500H中所转换的对应的ASCII码。
五、实验心得在这次课程设计的过程中的收获是很大的。
这次课程设计我主要是应用老师教的相关知识及自己的一些想法,完成了数据转换问题。
微机原理课程设计报告文库
微机原理课程设计报告文库一、课程目标知识目标:1. 理解微机原理的基本概念,掌握微机硬件结构及其功能;2. 学会分析微机工作原理,了解指令系统及编程方法;3. 掌握微机接口技术,了解常见接口芯片的功能和应用。
技能目标:1. 能够运用所学知识进行微机系统的简单设计和调试;2. 培养学生具备一定的微机编程能力,能够编写简单的汇编语言程序;3. 提高学生动手实践能力,能够进行基本的硬件焊接和电路搭建。
情感态度价值观目标:1. 培养学生对微机原理课程的兴趣,激发学生学习热情;2. 培养学生具备良好的团队合作意识,学会与他人共同解决问题;3. 增强学生的创新意识,鼓励学生勇于探索新知识,提高自主学习能力。
课程性质:本课程为理论与实践相结合的课程,强调培养学生的动手实践能力和创新能力。
学生特点:学生已具备一定的电子技术和计算机基础,具有较强的学习能力和好奇心。
教学要求:教师应注重理论与实践相结合,引导学生主动参与课堂讨论,鼓励学生动手实践,培养学生解决问题的能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过本课程的学习,使学生能够掌握微机原理的基本知识,具备实际应用能力,为后续相关课程和未来职业发展打下坚实基础。
二、教学内容本课程教学内容主要包括以下几部分:1. 微机硬件结构:介绍微处理器、存储器、输入输出接口等硬件组件的工作原理和功能;教材章节:第一章 微机系统概述内容列举:CPU结构、存储器分类、I/O接口基础等。
2. 指令系统与编程:讲解汇编语言的基本指令、寻址方式、程序设计方法等;教材章节:第二章 指令系统与汇编语言内容列举:基本指令、汇编语言程序结构、循环、分支等编程技巧。
3. 微机接口技术:分析常见接口芯片的原理与应用,如并行接口、串行接口、定时器/计数器等;教材章节:第三章 微机接口技术内容列举:并行接口、串行接口、定时器/计数器接口芯片等。
4. 微机系统设计与实践:培养学生动手实践能力,进行简单的微机系统设计与调试;教材章节:第四章 微机系统设计与实践内容列举:硬件焊接、电路搭建、程序下载与调试等。
华电保定微机原理实验
华电保定微机原理实验华电保定微机原理实验是一门常见于电子信息类专业的实践性课程,本次我们进行的微机原理实验是在MCS-51单片机系统上完成的。
该实验旨在通过实际操作,让学生更加深入地理解计算机系统的工作原理。
下面将详细介绍该实验的过程和结果。
实验仪器:MCS-51单片机开发板、继电器模拟器、拨码开关、LED灯、数码管等。
实验内容:利用MCS-51单片机系统实现简单的IO控制、数码管显示和时钟延时等功能。
实验步骤:1.硬件连接:根据实验要求,将MCS-51单片机开发板与实验仪器连接,并确认连接正确、稳定。
2. 编写程序:根据实验要求,利用Keil C51或其他编程工具编写程序,完成IO控制、数码管显示和时钟延时等功能的代码编写。
3.烧录程序:将编写好的程序烧录到MCS-51单片机开发板中。
4.实验操作:根据实验要求,进行实验操作和测试,观察实验现象并记录。
5.实验结果分析:根据实验结果和实验要求进行结果分析,验证和评估实验的准确性和有效性。
实验要求和实验现象:1.IO控制实验:利用拨码开关进行输入,根据输入的状态控制LED 灯的亮灭。
实验要求:当拨码开关向左拨动时,LED灯亮起;当拨码开关向右拨动时,LED灯熄灭。
实验现象:根据拨码开关的状态,控制LED灯的亮灭。
2.数码管显示实验:将数值输出到数码管进行显示。
实验要求:利用数码管显示0-9的数字,以0.5秒的间隔依次循环显示。
实验现象:数码管上依次显示0、1、2...9,然后再从0开始循环显示。
3.时钟延时实验:利用定时器进行延时操作。
实验要求:利用定时器延时1秒,然后将LED灯进行翻转。
实验现象:LED灯每隔1秒钟反转亮灭一次,周而复始。
实验结果:通过上述三个实验,我们可以深入理解计算机系统的工作原理。
通过编写程序,控制IO口和外设,观察不同状态下的现象和变化。
实验结果表明,我们所编写的程序可以正确地实现IO控制、数码管显示和时钟延时等功能。
实验结果分析:实验结果表明,我们所编写的程序可以准确地控制外部设备,实现预期的功能。
微机原理的实验报告
一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。
二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。
(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。
(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。
2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。
(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。
(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。
3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。
(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。
(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。
4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。
(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。
(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。
三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。
2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。
3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。
4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。
四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。
微机原理课程设计报告
扬州大学微机原理课程设计报告题目键控音乐播放器班级计科学号姓名指导教师李云成绩课程设计的目的和意义微机原理及应用是一门非常重要的课程,且实践性较强。
要求学生熟悉计算机的组成、内部结构、汇编语言程序设计、常用接口电路的使用,并具有一定的系统设计、开发、调试的能力。
课程设计是对学生的一种基本素质训练的较好形式,通过课程设计加强学生的实践能力、动手能力、和学习能力。
学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
课程设计的要求1.明确课设任务,复习与查阅有关资料2.按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。
3.按设计要求画出详细的电路接线图,并注名芯片等器件的名称和管脚。
4.做硬件内容的同学必须将所做的课设内容通过指导教师签字后,方可进行接线和调试。
5.写出完整的程序。
1.2.设计并实现一个键控音乐播放器,要求如下:3.①通过计数器8253产生方波信号作为音阶频率发生器,驱动喇叭放音。
4.②由并行接口8255控制扬声器的启停,根据不同按键,播放不同的音乐。
总体设计方案所有音乐都是由各个不同频率的音阶和其延续时间的长短来实现的。
不同的音乐是由各个音阶按某种排列各自播放一定时间形成的,将各音乐音阶和其延续时间存在数据段中,然后根据不同按键值选择不同的音阶和时间表,再使用计数器产生该音阶频率。
而我们学过的有计数器可以产生各种频率,所以我们主要采用计数器8253产生各音符,用8255并行接口来控制扬声器的开关,达到播放音乐的功能。
把一个周期的波形分成32份,然后每份给8253一个值让他转换成模拟信号,不同的频率可以用8253计数器控制,比如要产生261Hz的频率,使用1MHz的话,周期就为1/261=3.83ms,分成32份,每份间隔时间就是3.83ms/32=0.12ms,换句话说就是送计数器0的初值为1M/261/32=120次。
微机原理课程设计报告
微机应用系统设计与综合应用实验——(微机原理)课程设计报告专业班级学生姓名学生学号指导老师完成时间目录第一章设计课题概述 (3)1.1课程设计目的 (3)1.2课程设计要求 (4)1.3课程设计用途 (4)1.4实现技术指标 (4)第二章设计思想和实施方案 (5)2.1功能分析 (5)2.1.1波形产生 (5)2.1.2波形切换 (5)2.1.3 屏幕显示 (5)2.1.4小键盘控制 (5)2.1.5无极调频 (6)2.1.6无极调幅 (6)2.2所需芯片功能简介 (6)2.2.1 8088功能简介 (6)2.2.2 8255A功能简介 (7)2.2.3 A/D0832功能简介 (8)2.2.4 D/A0809功能简介 (9)2.3实施方案 (10)2.3.1 系统总体设计方案 (10)2.3.2系统设计方框图 (10)第三章典型程序模块及编程技巧分析 (12)3.1键盘扫描及逻辑判断模块 (12)3.2键盘编码模块 (13)3.3波形产生模块 (14)3.3.1方波 (14)3.3.2 锯齿波 (16)3.3.3 三角波 (18)3.3.4 正弦波 (20)3.4波形切换及基本控制模块 (21)3.5无级调频调幅判断及控制模块 (23)第四章遇到的问题及解决方法 (26)第五章程序清单和程序注释 (28)5.1汇编源程序 (28)5.2C语言源程序 (49)第六章课程设计收获与体会 (63)6.1实验收获 (63)6.2心得体会 (63)第七章参考文献 (65)第八章附录 (66)8.18088最小模式的连接图 (66)微机应用系统设计与综合应用课程设计报告第一章设计课题概述1.1 课程设计目的《微机应用系统设计与综合实验(实践)》课程设计是自动化专业本科生必修的一门技术基础课。
通过本课程设计,让学生对微机系统有一个较全面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。
微机原理课程设计报告
河北科技大学课程设计报告学生姓名:张腾飞学号:10L0751026专业班级:电子信息工程L101班课程名称:微型计算机原理及应用技术学年学期:2 0 12 —2 0 13 学年第1 学期同组人员:吕晓明尹冠敏李漠川范明凯沈学磊指导教师:张永强赵艳2012年12月课程设计成绩评定表目录一、设计目的----------------------------------------1二、设计任务与要求----------------------------------1三、设计内容----------------------------------------2四、实施效果----------------------------------------11五、设计体会----------------------------------------11六、参考资料----------------------------------------12一、设计目的:1、掌握汇编语言,会利用汇编语言编写一定功能的程序;2、熟悉DOS环境以及在DOS下会调试编写好的汇编程序;3、熟悉常用的DOS功能;4、小组合作完成设计题目。
二、设计任务与要求:1、设计字符串动画演示程序。
2、程序设计基本要求:1)菜单内容包括:①输入字符串;②字符串动态显示;③退出。
2)输入字符串选择该项后,可以输入一个字符串。
该字符串即为动态显示是所显示的字符串。
3)字符串动态显示所示字符串在一矩形框内,左右移动,当到达框左端或右端时自动返回,并向相反方向移动,如此循环。
4)键入“3”程序结束。
3、完成软件的技术要求。
4、程序设计的流程图。
5、你自己对小组完成设计题目所做的贡献。
在课程设计中我负责输入字符串这部分程序的编写三、设计内容:1、使用的DOS功能:1) 显示字符串MOV AH,09HINT 21H ;入口参数DS:DX=缓冲区2) 键盘输入一个字符MOV AH,01HINT 21H ; AL=输入的字符3)终止当前程序并返回调用程序MOV AH,4CHINT 21H ;AL=退出码4)输入字符串MOV AH,0AHINT 21H ;入口参数DS:DX=缓冲区2、使用的BIOS功能:1)设置光标位置,出口参数DH=当前字符行号、DL=当前字符列号、CH=光标起始栅线: MOV AX,03H;INT 10H2)MOV AL,0AH;在光标位置显示字符INT 10H3)MOV AH,0;从键盘读字符INT 16H3、使用工具和软件:计算机和MASM汇编软件4、流程图:5、程序与分析:CODE SEGMENTASSUME CS:CODE,DS:CODE start: MOV AX,CODEMOV DS,AXmov ax,0b800hMOV ES,AXcldAGAIN: MOV AX,3INT 10Hlea dx,MENU ;mov ah,9int 21hinput:mov ah,0int 16hcmp al,'1'jnz cp2call sub01 ;jmp inputcp2:cmp al,'2'jnz cp3call sub02 ;jmp AGAIN ;cp3:cmp al,'3' ;jnz inputlea dx,MESGmov ah,9int 21hmov ah,1int 21hMOV AH,4CH INT 21HDELAY PROC PUSH CXPUSH DXMOV DX,800D1:MOV CX,0ffffh LOOP $DEC DXJNZ D1POP DXPOP CXRETDELAY ENDPsub01:mov ax,0e0dh int 10hmov al,0ahint 10hlea dx,strmov ah,0ahint 21h ;mov ax,0e0ah int 10hretsub02:cmp buf,0dh jz quitcall line ;lea si,strinc simov dx,simov al,' 'xchg al,[si]cbwmov bx,axinc bxmov byte ptr [bx+si],' ' inc bxpush bxshl bx,1sub right,bxpop bxmov bp,leftshow:mov si,dxmov cx,bxmov di,bpnext:movsbmov al,2stosbloop nextmov ah,1jnz quit ;call delayadd bp,numcmp bp,rightjb t1mov num,-2jmp heret1:cmp bp,leftja heremov num,2here: jmp show sss:mov buf,0dh quit: xor di,dimov cx,80*25mov ax,720hrep stosw ;retline: ;mov di,(18*80+10)*2 mov al,201 ;stoswmov cx,60-2 mov al,205 ; rep stosw mov al,187 ; stoswadd di,20*2 mov al,186 ; stoswmov left,di mov cx,60-2 mov al,20H ; rep stosw mov right,di mov al,186 ; stoswadd di,20*2 mov al,200 ; stoswmov cx,60-2 mov al,205 ;mov al,188 ;stoswretMENU DB 5 DUP(0AH)DB 31 DUP(' '),'MAIN MENU',0DH,0AHDB 25 DUP(' '),201,21 DUP(205),187,0DH,0AHDB 25 DUP(' '),186,' 1.Input a String ...',186,0DH,0AH DB 25 DUP(' '),186,' 2.Display Model ... ',186,0DH,0AH DB 25 DUP(' '),186,' 3.Return to DOS ... ',186,0DH,0AH DB 25 DUP(' '),200,21 DUP(205),188,0DH,0AHDB 28 DUP(' '),'Choice(1,2,3):$'MESG DB 0dh,0ah,0dh,0ah,9,'Press any key to exit ...$' num dw 2left dw 0right dw 0str db 21db 0buf db 0dh,20 dup(0)CODE ENDS四、实施效果(1)当程序运行后,显示主界面:(2)按1键并输入字符串FMKFMK,显示界面:(3)按2键字符串动态显示,显示界面:(4)返回主界面,按3键显示界面:五、设计体会通过对这程序的制作,使我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加了合作的技巧。
三相电压电流的采集课程设计 华北电力大学
一、课程设计(综合实验)的目的与要求 1.1 目的 本课程设计是完成《微机原理及应用》理论教学以后,为农业电气化与自动化专业开设的必 修环节,学生通过本课程设计,进一步巩固本课程的理论知识,掌握硬件电路图设计的相关知识,汇 编程序的设计方法。提高学生利用计算机软、硬件技术、综合其他课程知识,分析和解决实际问题的 能力。 1.2 要求 1.2.1. 掌握 ADC0809 转换的原理。 1.2.2. 掌握单片机的键盘,拨码开关等输入设备的应用。 1.2.3. 掌握 LCD 显示器输出器件的使用 1.2.4.设计一套以 MCS-51 单片微机为核心的测量与控制系统.
4
减少外部驱动芯片。单片机普遍配置有等待状态、睡眠状态、关闭状态等工作方式,功耗越来越小。 单片机集成度越来越高,外围电路内装化。综上所述,单片机正向多功能、高性能、高速度、低电压、 低功耗、低价格的方向发展。单片机的应用潜力是非常巨大的。
2.2.1.单片机的优点 单片机体积小、价格低,性价比高,应用灵活性强等特点在嵌入式微控制系统中具有十分重要的 地位。应用方便、稳定可靠。很容易嵌入到系统之中,以实现各种方式的检测、计算或控制。单片机 的发展非常迅速,短短几十年时间里,单片机就经过了 4 位机、8 位机、16 位机、32 位机等几十大 发展阶段,单片机形式多样、集成度高、功能日臻完善。近几年,单片机的内部结构愈加完美,配套 的片内外围功能部件越来越完善。 2.2.2.单片机的发展趋势 单片机的发展趋势是向大容量、高性能化、外围电路内装化等方面发展。CPU 的改进包括数据总 线宽度的增加,采用双 CPU 结构。存储器的容量不断增大。片内 I/O 口增加了并行口的驱动能力,以
二、设计(实验)正文 交流采样技术是按照一定规律对被测信号的瞬时值进行采样,按一定算法进行数值处理,从而获 得被测量的测量方法。该方法的理论基础是采样定理,即要求采样频率为被测信号频率中最高频率的 2 倍以上,这就要求硬件处理电路能提供高的采样速度和数据处理速度。目前单片机、DSP 及高速 A/D 转换器的大量涌现, 为交流采样技术提供了强有力硬件支持。 交流采样法包括同步采样、 准同步采样、 非同步采样几种。 交流采样技术是将二次测得电压、电流变成 MCU 可以测量的交流小信号,然后直接送入 MCU 直接 处理。由于这种方法能够对被测量的瞬时值进行采样,因而实时性好,相位失真小。它用软件的功能 代替硬件的功能又使硬件的投资大大减少。随着微机技术的不断发展,交流采样必将以其优异的性价 比逐步取代传统的直流采样方法。 设交流电压电流表达式为: u(t)= u m sin wt
华电微机原理课程设计
华电微机原理课程设计一、教学目标本课程的教学目标旨在让学生掌握微机原理的基础知识,培养学生运用微机进行分析和解决问题的能力。
具体目标如下:1.知识目标:学生能够理解微机的基本组成原理、工作方式以及各部分的功能;掌握微机指令系统、编程方法及其应用;了解微机系统的设计与开发过程。
2.技能目标:学生能够使用微机进行基本编程,独立完成简单微机应用程序的设计与调试;具备微机硬件系统的基本调试和维护能力。
3.情感态度价值观目标:培养学生对微机技术的兴趣,使其认识微机技术在现代社会中的重要作用,提高学生运用科学知识解决实际问题的能力。
二、教学内容本课程的教学内容主要包括微机原理的基本概念、微机的组成与工作原理、指令系统与编程、微机系统的设计与开发等。
具体安排如下:1.微机原理的基本概念:介绍微机的定义、发展历程、分类及性能指标。
2.微机的组成与工作原理:讲解微机的基本组成部件,如中央处理器、存储器、输入输出设备等,以及它们的工作原理。
3.指令系统与编程:学习微机的指令系统,包括数据传输指令、算术运算指令、逻辑运算指令等,并掌握编程方法及技巧。
4.微机系统的设计与开发:介绍微机系统的设计原则、开发流程,以及系统调试与维护方法。
三、教学方法为实现教学目标,将采用以下教学方法:1.讲授法:教师讲解微机原理的基本概念、组成原理、指令系统等理论知识,引导学生掌握课程内容。
2.案例分析法:通过分析实际案例,使学生了解微机原理在实际应用中的作用,提高学生的实践能力。
3.实验法:安排实验室实践环节,让学生亲自动手进行微机编程和硬件调试,培养学生的动手能力。
4.讨论法:学生进行分组讨论,分享学习心得和经验,促进学生之间的交流与合作。
四、教学资源为实现教学目标,将提供以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的学习资料。
2.参考书:推荐相关参考书籍,丰富学生的知识体系。
3.多媒体资料:制作课件、教学视频等多媒体资料,提高课堂教学效果。
微机原理课程设计报告参考模板
一、设计任务及要求1.熟悉手工焊接的常用工具的使用,能够独立完成简单电子产品的安装与焊接,熟悉电子产品的安装工艺和生产流程。
2.熟悉常用电子器件的类别、型号、规格、性能及其使用范围,比如用色标法确定电阻大小等。
3.能够熟练使用万用表进行测量。
4.组装一个六管超外差式收音机。
二、设计目的课程设计是理论学习的延伸,是使学生掌握所学知识的一种重要手段,对于贯彻理论联系实际、提高学习质量、塑造自身能力等于有特殊作用。
本次课程设计一方面通过对收音机原理的理解和对收音机的组装,使我们加深对理论知识的理解,另一方面对课堂所学理论知识作一个总结和补充。
三、设计内容1.超外差收音机原理所谓超外差式,就是通过输入回路先将电台高频调制波接收下来,和本地振荡回路产生的本地信号一并送入混频器,再经中频回路进行频率选择,得到一固定的中频载波(如:调幅中频国际上统一为465KHz或455KHz)调制波。
超外差的实质就是将调制波不同频率的载波,变成固定的且频率较低的中频载波。
在广播、电视、通讯领域,超外差接收方式被广泛采用。
在超外差的设计中,本振频率高于输入频率。
用同轴双联可变电容器,使输入回路电容C1-2和本振回路电容C1-1同步变化,从而使频率差值始终保持近似一致,其差值即为中频,即:如接收信号频率是:600kHz,则本振频率是1055kHz;1000kHz,则本振频率是1455kHz;1500kHz,则本振频率是1955kHz;由于谐振回路谐振频率,f 与C不成线性变化,因此必须有补偿电容对其特性进行修正,以获得在收听范围内f与C近似成线性变化,保证f本振-f信号=f中频为一固定中频信号。
超外差方式使接收的调制信号变为统一的中频调制信号,在作高频放大时,就可以得到稳定且倍数较高的放大,从而大大提高收音机的品质。
比较起来,超外差式收音机具有以下优点:(1)接收高低端电台(不同载波频率)的灵敏度一致;(2)灵敏度高;(3)选择性好(不易串台)。
微机原理课程设计报告
目录一、课题任务 (2)二、程序功能描述及程序流程 (3)1、程序功能描述 (3)2、程序流程图 (3)三、程序源代码及注释 (4)四、DOS/BIOS功能调用,文件列表清单 (6)五、源程序调试 (9)六、调试中出现的问题 (12)七、总结 (12)一、课题任务1·要求利用80x86汇编语言BIOS中断调用的方法,通过‘*’字符设计自己的名字,并在显示器上用6种以上的颜色显示出来。
2·分析1)BIOS中断调用:BIOS常驻ROM,独立于DOS,可与任何操作系统一起工作。
它的主要功能是驱动系统所配置的外部设备,如磁盘驱动器、显示器、打印机、及异步通讯借口等。
通过INT10H~1AH向用户提供服务程序的入口,使用户无需对硬件有深入的了解,就可以完成对I/O设备的控制与操作。
BIOS中断调用与DOS功能调用类似。
2)图形设计:掌握BIOS中断调用INT 10H的13H功能。
注意13H号功能入口参数的要求。
3)颜色显示:在彩色显示屏幕上每个字符在存储中用两个字节表示。
一个字节保存字符的ASCII码,另一个字节保存字符的属性。
BIOS中断调用INT 10的13H号功能是显示字符串,字符的属性在BL中。
二、程序功能描述及程序流程1·程序功能使得自己的名字可以在显示器上用6种以上的颜色显示出来。
2·程序流程图三、程序源代码及注释ROW =0 ;显示信息的行号COLUM=00 ;列号ESCKEY=1BH ;ESC键的ASCII码制;数据段DSEG SEGMENTMESS DB '+-----------------------------------------------------------------------------+',0DH,0AHDB '************ ** ** *** ||',0DH,0AHDB ' * ** ** * ||',0DH,0AHDB ' * ** ** *******************************||',0DH,0AHDB ' * ** ** * *||',0DH,0AHDB ' * ** ** * *||',0DH,0AHDB '************ ** ** * *||',0DH,0AHDB '* ** ** ************** ||',0DH,0AHDB '* *** ** ||',0DH,0AHDB '* ************** ** ||',0DH,0AHDB '* *** ********************** ||',0DH,0AHDB '************ *** ** ||',0DH,0AHDB ' ** ** * ** ||',0DH,0AHDB ' ** ** ** ** ||',0DH,0AHDB ' ** ** ** ** ||',0DH,0AHDB ' ** ** ** ** ||',0DH,0AHDB ' ** ** ** ** ||',0DH,0AHDB ' **** **** ** **** ||',0DH,0AHDB ' *** *** ** *** ||',0DH,0AHDB ' ** ** *** ** ||',0DH,0AHDB ' * * ***** ||',0DH,0AH MESS_LEN=$-OFFSET MESS ;显示信息长度COLORB DB 07H,01H,0FH,70H,74H,04H,0EH ;颜色COLORE LABEL BYTEDSEG ENDS;代码段CSEG SEGMENTASSUME CS:CSEG,DS:DSEG,ES:DSEGSTART: MOV DI,OFFSET COLORB-1 ;颜色指针初值NEXTC:MOV AX,DSEGMOV DS,AX ;设置数据段段值MOV ES,AXINC DI ;调整颜色指针CMP DI,OFFSET COLORE ;是否超过指定的最后一种颜色JNZ NEXTE ;否MOV DI,OFFSET COLORB ;是,重新指定第一种颜色NEXTE:MOV BL,[DI] ;取颜色MOV SI,OFFSET MESS ;取显示信息指针MOV CX,MESS_LEN ;取显示信息长度MOV DH,ROW ;置显示开始行号MOV DL,COLUM ;置显示开始列号CALL ECHO ;显示MOV AH,0INT 16HCMP AL,ESCKEY ;是否为ESC键JNZ NEXTC ;不是,继续MOV AX,4C00H ;结束INT 21HECHO PROC NEARMOV AX,0B800HMOV DS,AXMOV AL,80 ;计算显示开始位置偏移MUL DH ;偏移=(行号*80+列号)*2 XOR DH,DHADD AX,DXADD AX,AXXCHG AX,BXMOV AH,AL ;属性值保存到AH寄存器JCXZ ECHO2 ;显示信息长度是否ECHO1:MOV AL,ES:[SI] ;取一要显示字符代码INC SI ;调整指针MOV [BX],AX ;送显示存储区,即显示INC BX ;准备显示下一个字符INC BXLOOP ECHO1 ;循环显示ECHO2:RET ;返回ECHO ENDPCSEG ENDSEND START四、DOS/BIOS功能调用1.文本显示方式:所谓文本显示方式是指以字符为单位的显示方式。
微机原理实验报告
微机原理实验报告实验目的,通过本次实验,掌握微机原理的基本知识,了解微机系统的组成和工作原理,掌握微机系统的组装和调试方法。
实验一,微机系统组成及工作原理。
1.1 微机系统的组成。
微机系统由中央处理器(CPU)、内存、输入设备、输出设备和外部设备等组成。
其中,CPU是微机系统的核心部件,负责控制整个系统的运行。
1.2 微机系统的工作原理。
微机系统的工作原理是通过CPU对内存中的指令进行解释和执行,从而实现各种功能。
CPU通过总线与内存、输入输出设备进行数据传输和控制信号的交换,实现对整个系统的控制和管理。
实验二,微机系统的组装和调试。
2.1 微机系统的组装。
在组装微机系统时,首先要选择合适的主板、CPU、内存、硬盘等配件,然后按照正确的安装顺序和方法进行组装。
组装完成后,还需连接电源、显示器、键盘、鼠标等外部设备。
2.2 微机系统的调试。
组装完成后,需要对微机系统进行调试,检查各个部件是否连接正确,是否能够正常工作。
通过BIOS设置和操作系统的安装,完成对微机系统的调试和配置。
实验三,微机系统的应用。
3.1 微机系统的应用领域。
微机系统广泛应用于各个领域,如办公、教育、科研、娱乐等。
在办公领域,微机系统可以用于文字处理、表格制作、图像处理等;在教育领域,微机系统可以用于多媒体教学、网络教学等。
3.2 微机系统的发展趋势。
随着科技的不断发展,微机系统也在不断更新换代,性能不断提升,体积不断缩小,功耗不断降低。
未来,微机系统将更加智能化、便携化,成为人们生活、工作不可或缺的一部分。
结论,通过本次实验,我对微机原理有了更深入的了解,掌握了微机系统的组成和工作原理,了解了微机系统的组装和调试方法,对微机系统的应用和发展趋势也有了一定的认识。
这对我今后的学习和工作将有很大的帮助。
微机原理课程设计报告
微型计算机技术课程设计指导教师:班级:姓名:学号:班内序号:课设日期:_________________________目录一、课程设计题目错误!未定义书签。
二、设计目的错误!未定义书签。
三、设计内容错误!未定义书签。
四、设计所需器材与工具3五、设计思路错误!未定义书签。
六、设计步骤(含流程图和代码)错误!未定义书签。
七、课程设计小结36一、课程设计题目:点阵显示系统电路及程序设计利用"汇编语言与微型计算机技术"课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。
二、设计目的1.通过本设计,使学生综合运用"汇编语言与微型计算机技术"、"数字电子技术"等课程的内容,为今后从事计算机检测与控制工作奠定一定的根底。
2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。
3.学会用汇编语言编写一个较完整的实用程序。
4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。
三、设计内容1.点阵显示系统启动后的初始状态在计算机显示器上出现菜单:dot matrix display system1.←left shift display2.↑up shift display3.s stop4.Esc Exit2.点阵显示系统运行状态按计算机光标←键,点阵逐列向左移动并显示:"微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓〞。
按计算机光标↑键,点阵逐行向上移动并显示:"微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓〞。
按计算机光标s键,点阵停顿移动并显示当前字符。
3.完毕程序运行状态按计算机Esc键,完毕点阵显示系统运行状态并显示"停〞。
微机原理课程设计报告
目录一.设计内容 (1)二.设计原理及方案 (1)三.汇编源程序代码 (2)四.实施结果 (10)五.课程设计体会 (13)六.参考文献 (14)一.设计内容利用DAC设计一个波形发生器,能分别产生三角波、正弦波、锯齿波和方波,要求自行设计波形输出的切换方式。
主要功能:本题用到8255,dac0832芯片1.产生四种波形2.键盘切换波形3.数码管显示波形号(1-三角波,2-正弦波,3-锯齿波,4-方波)二.设计原理及方案设计原理:D/A转换器(DAC0832)产生各种波形的原理:利用D/A转换器输出的模拟量与输入数字量成正比关系这一特点,将D/A转换器作为微机输出接口,CPU通过程序向D/A转换器输出随时间呈现不同变化规律的数字量,则D/A转换器就可输出各种各样的模拟量,如三角波、正弦波、锯齿波、方波等。
8255A实现波形切换:从8255的C口读入外接开关的信号,CPU读入不同信号值,从而执行不同的代码,向D/A转换器传送不同的数据,控制D/A转换器输出三角波、正弦波、锯齿波、方波等。
通过键盘切换波形,DAC0832输出各种波形,同时共阴极数码管显示按键号:1-三角波,2-正弦波,3-锯齿波,4-方波。
电路原理图(设计连接图):三.汇编源程序代码;***********************功能说明*****************************;题目二利用D/A设计波形发生器;利用D/A设计一个波形发生器,能分别产生三角波、正弦波、锯齿波和方波,;至少设计一种波形切换方式。
;功能:本项目用到8255,DAC0832芯片; 1 产生四种波形; 2 键盘切换波形; 3 数码管显示波形号(1-三角波,2-正弦波,3-锯齿波,4-方波);************************主程序******************************io3 EQU 600h ;8255io4 EQU 800h ;DAC 0832;********************************数据段定义data segmentsin_wave db 200,195,181,159,131db 100,69,41,19,5,0,0 ;正弦波幅值LED DB 06H,5BH,4FH,66H ;共阴极段码表data ends;********************************code segmentassume cs:code,ds:datastart: mov ax,data ;建立DS段地址 mov ds,axcall jian;********************************三角波san: mov Bx,255SAN3: 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 san2call jian;************************************正弦波sin: 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] ;正弦波上升段 out dx,alcall delay1dec bxcall jian;***************************************锯齿波juchi: mov Bx,255juchi1: mov cx,bxmov al,blmov dx,io4juchi2: out dx,al ;下降沿call delaycall delaydec alloop juchi2call jian;***************************************方波fang: mov Bx,255fang1: mov al,bl ;高电平段mov dx,io4out dx,alcall delay1MOV al,0 ;低电平段out dx,alcall delay1;****************************************延时delay proc ;延时子程序一push axpush bxpush cxpush dxmov cx,50lp0: noploop lp0pop dxpop cxpop bxpop axretdelay endpdelay1 proc;延时子程序二push axpush bxpush cxpush dxmov cx,1250loop lp1pop dxpop cxpop bxpop axretdelay1 endp;****************************************键盘选波形jian 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方波 XLA Tout dx,alMOV DX,IO3+2OUT DX,ALMOV BX,155 ;幅值一MOV DX,IO3IN AL,DXcmp ch,0jz sancmp ch,1jz sincmp ch,2jz juchicmp ch,3jz fangretjian endpcode endsend start四.实施结果(1)键盘选择1——三角波(2)键盘选择2——正弦波(3)键盘选择3——锯齿波:(4)键盘选择4——矩形波五.课程设计体会在为期近两周的微机原理课程设计中,我们小组利用所学微机的理论知识进行软硬件整体设计,同时锻炼了我们理论联系实际,提高我们的综合应用能力。
华北电力大学微机课程设计
课程设计(综合实验)报告( 20 14 -- 20 15 年度第 1学期)名称:微机原理课程设计题目:课题2 交通灯控制系统院系:控制与计算机工程学院班级:自动化1203学号:1121190308学生姓名:刘帅__指导教师:吴华设计周数:1周成绩:日期:年月日一、课程设计(综合实验)的目的与要求1.1目的:在微机原理及应用课程中分别了微计算机各个基本组成模块的原理和编程技术的基础之上,综合应用各部分知识,在实验室现有设备情况下,设计一个具有一定功能的应用系统,达到对各部分知识加深理解,融会贯通的目的。
1.2要求:用8255实现交通信号灯软件,硬件设计。
8255控制LED发光管实现的十字路口信号灯电路及管理程序,并尽量接近真实信号灯的工作情况。
二、设计(实验)正文1. 设计题目:一个十字路口的交通信号灯,东西向为一组,南北向为一组,组内信号灯亮灭情况相同,R6、Y5、G4 作为南北路口的交通灯,R2、Y1、G0作为东西路口的交通等.程使六个灯按交通等变化规律亮灭。
要求进行周期性重复控制:g) 南北路口的绿灯、东西路口的红灯同时亮20 秒。
h) 南北路口的黄灯闪烁3 秒,同时东西路口的红灯闪 3 秒。
i) 南北路口的红灯、东西路口的绿灯同时亮90 秒。
j) 南北路口的红灯、同时东西路口的黄灯亮闪烁3 秒。
k) 在 LED 上同步显示倒计时。
2 设计过程:2.1芯片类型及使用:( 1 )交通信号灯的灯光变化和数码显示通过8255实现控制。
PA口用于输出信号控制灯光的变化,PB口用于输出信号控制数码管的显示,PC0用于输入k0的控制开关信号,PC1用于输入用于硬件延时的方波信号。
PC7用于输出控制数码管工作/不工作的信号。
故写入方式控制字为10000001B=81H( 2 )LED数码显示:数码管采用共阴极接法,位选信号为0则数码管工作。
a~dp段发亮条件:对应位输入1,见下表所示:用两片8255控制四个数码管,U12的PA、PB端控制计数器的高位(也就是十位)。
微机原理实验报告 期中 华北电力大学保定
华北电力大学课程报告||报告名称汇编语言的数据处理实践课程名称微机原理与汇编语言程序设计||专业班级:信安1301 学生姓名:学号:成绩:* 封面左侧印痕处装订一、设计要求采用恰当的汇编语言设计环境,基于课程中对有符号数组输入输出、求平均值、输出平均值的程序例子,设计能对有符号数据进行处理的程序,要求在程序中实践三种主程序与子程序参数传递的方法、实践子程序库的使用方法和宏汇编技术,并能体现一定的新颖性。
要求整个设计具备一定的工作量,报告描述格式规范、条理清晰,并能反映自己的创新。
二、设计内容1.从键盘输入有符号十进制数的子程序,实现子程序与主程序通过寄存器传递参数。
2.向显示器输出有符号十进制数的子程序,实现子程序与主程序通过共享变量传递参数。
3.求数组的平均值,实现子程序与主程序通过堆栈传递参数。
4.显示数组的平均值。
5.对重复汇编的程序语句,设计子程序库和宏汇编技术三、所用环境介绍所采用的实验环境是masm for windowsMasm for windows 集成实验环境是从事一线教学的大学教师针对汇编语言初学者的特点开发的一个简单易用的汇编语言学习与实验软件,支持最新操作系统WINDOWS 7,支持DOS的16/32位汇编程序和Windows下的32汇编程序(并提供调试通过的35个WINDOWS汇编程序实例源代码),它具有错误信息自动定位、关键字实时帮助并且在帮助中动画演示汇编指令的执行过程、语法着色、无限次撤消与恢复、WORD式的查找、替换、定位、支持中文、长文件名等功能。
四、实验方法与步骤1.子程序从键盘输入一个有符号10进制数,负数用“-”引导,正数直接输入或用“+”引导,子程序还要包含将ascii码转换为二进制数的过程,算法如下:(1)判断是正数还是负数,并用一个寄存器记录下来(2)输入0~9数字(ASCII码),减30h转换为二进制数(3)将前面输入的数值乘以10,并与刚输入的数字相加得到新的数值(4)重复(2)、(3),直到输入一个非数字字符结束(5)如果是负数则求补,转换成补码,否则直接保存数字2.子程序在屏幕上显示一个有符号10进制数,负数用“-”引导。
微机原理课设报告
中南大学微机原理课程设计报告一、课程设计目的通过本次课程设计要掌握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(直流电机反向非正常工作)并输入给开关量输入显示区的发光二极管,驱动前三个二极管在电机的三种工作状态下分别发光,从而实现指示灯电路。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告( 2013—2014 年度第一学期)课程:微机原理及应用题目:电子琴及电子播放器院系:自动化系班级:自动化1103学号: 201111010122201109010113201102020331学生姓名:詹文超靳朝阳张晓指导教师:张妍设计周数:一周成绩:日期:2014年1 月10 日微机原理及应用课程设计报告一、目的与要求1.通过对微机系统分析和具体设计,使学生加深对所学课程的理解。
2.掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。
3.培养学生分析问题、解决问题的能力。
4.培养学生对微型计算机应用系统的基本设计能力。
5.提高学生的实践动手能力和创新能力。
二、主要内容1. 电子琴及电子播放器2. 系统介绍本设计不仅可以实现小键盘电子琴演奏,还可以通过拨码开关播放不同的电子音乐,主要有小星星,两只老虎和欢乐颂。
硬件设计用到8253和8255芯片,8253工作在方式3,产生一定的频率方波,同时对应着不同音调;8255为可编程接口芯片,用于整个系统的开关控制功能。
3. 系统实现的功能系统主要实现三个功能:1、自动演奏3首歌曲;2、利用小键盘手动演奏;3、歌曲之间的相互切换。
4.所用芯片的工作原理(1)8253原理8253有3个独立的计数通道,每个通道结构相同,例若clk0给定频率,向控制字寄存器写入控制字,并向计数器0写入计数初值,采用不同的方式即可产生不同的频率。
8253的内部结构(1).数据总线缓冲器实现8253与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息,包括某时刻的实时计数值。
(2).读/写控制逻辑控制8253的片选及对内部相关寄存器的读/写操作,它接收CPU发来的地址信号以实现片选、内部通道选择以及对读/写操作进行控制。
(3).控制字寄存器在8253的初始化编程时,由CPU写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。
(4).计数通道0#、1#、2#:这是三个独立的,结构相同的计数器/定时器通道,每一个通道包含一个16位的计数寄存器,用以存放计数初始值,一个16位的减法计数器和一个16位的锁存器,锁存器在计数器工作的过程中,跟随计数值的变化,在接收到CPU发来的读计数值命令时,用以锁存计数值,供CPU读取,读取完毕之后,输出锁存器又跟随减1计数器变化。
(5).8253外部引脚8253芯片是具有24个引脚的双列直插式集成电路芯片,其引脚分布如图所示。
8253芯片的24个引脚分为两组,一组面向CPU,另一组面向外部设备,各个引脚及其所传送信号的情况,介绍如下:1.D7~D0:双向、三态数据线引脚,与系统的数据线连接,传送控制、数据及状态信息。
2.RD:来自于CPU的读控制信号输入引脚,低电平有效。
3.WR:来自于CPU的写控制信号输入引脚,低电平有效。
4.CS:芯片选择信号输入引脚,低电平有效。
(6). 8253端口地址(2)8255原理8255有3种工作方式:方式0,方式1,方式3,本次设计用方式0。
在这种方式下,任何一个端口可以通过方式控制字规定作为输入口,也可作为输出口; 8255A有两个控制字:方式选择控制字和端口C置位/复位控制字。
方式选择控制字的最高位总是1,而端口C置位/复位控制字的最高位总是0,用来区分两个控制字。
8255初始化方式如下图5.系统分析(1)系统原理在了解8253,8255工作原理之后,我们利用2个开关从8255芯片A口输入不同数值,00,01,10,11.利用编程区分4中状态,跳入4个循环,即可演奏3首歌曲和手动电子琴。
8253则是事先算好初值,送如计数器。
每个频率可产生不同的音。
每个音之间停顿相应时间,每个句子之间停顿相应时间,即可演奏完每首歌曲。
每首歌曲和每个句子末尾有数字1,2判断是否停顿或者跳入下一首歌,实现每首歌之间的转换。
小键盘演奏则是利用一些算法得知每个健的值会存入al寄存器中,利用al中的值,判断al大小,设置数据段7个健值,取出响应频率设置循环即可弹奏。
(2)系统思路分析系统从实现一个音开始,到完成一首歌的编曲,之后加入判断语句,进行第二首,第三首歌的编曲即已完成自动播放部分。
之后单独进行小键盘分析,取出主要部分,判断出运作原理利用最终al的值进行频率换算。
融入前一部分完成的歌曲中,反复调试完成。
三.实验总结1.实验要点和问题分析(1)计数值足够,所以只采用1个计数器,计数初值在程序中计算不便,所以定义数据段,根据clk0的频率和要产生的频率,计算初值,写入数据段;(2)改变开关状态,读入数据相应跳转,3首固定歌曲都跳入同一循环W1进行演唱,简短程序;(3)演唱完一首歌曲才可以进入下首歌曲,所以要在这首歌曲演唱完之前,改变开关状态;(4)每首歌曲句末为1,2是判断是否加停顿和换歌;(4)为防止程序太长,超出跳转地址,每次判断都跳到Wo处,简短程序;(6)小键盘的程序需要看懂如何判别是那个健,最终值存入al中,根据al的值为1-7定义数据段1-7的频率,用si+al*2的值作为地址即可取出相应频率。
(7)1-7之外的数据不要等待,1-7的键入后,去掉停顿,按键长按则一直发生,可控制长短调。
2.实验心得本次试验从最开始的尝试到最后全部完成,历经很长时间,做了很多努力,让我们都非常欣慰,在做实验的过程中,不断尝试,优化,大大提高了我们的团队合作能力和专业知识的掌握,关键是学和玩相结合,设计的过程虽然有点辛苦,但都很开心,我认为这点很重要。
希望每次的实验都可以从兴趣而发,以乐趣结束,不再为书本而苦恼。
相信我们会越做越好。
另外感谢老师的耐心指导,给了我们很大的帮助。
本次课设圆满成功。
四.参考文献微机原理及应用马平姚万业王柄谦中国电力出版社2003年4月第一版附录程序代码设计DATA SEGMENTTIME_CTR EQU 0A003H ;8253地址TIME_R0 EQU 0A000HTIME_R1 EQU 0A001HOUTBIT equ 09002h ; 位控制口IN_KEY equ 09001h ; 键盘读入口Music dw 0,3816,3401,3030,2865,2551,2273,2024KeyTable: ; 键码定义db 16h, 15h, 14h, 0ffhdb 13h, 12h, 11h, 10hdb 0dh, 0ch, 0bh, 0ahdb 0eh, 03h, 06h, 09hdb 0fh, 02h, 05h, 08hdb 00h, 01h, 04h, 07hFREQ1 DW 2,3816,3816,2551,2551,2273,2273,2551,2 ;小星星DW 2865,2865,3030,3030,3401,3401,3816,2DW 2551,2551,2865,2865,3030,3030,3401,2DW 2551,2551,2865,2865,3030,3030,3401,2DW 3816,3816,2551,2551,2273,2273,2551,2DW 2865,2865,3030,3030,3401,3401,3816,1FREQ2 DW 2,3816,3401,3030,3816,3816,3401,3030,3816,2 ;两只老虎 DW 3030,2865,2551,2,3030,2865,2551,2DW 2551,2273,2551,2865,3030,3816,2DW 2551,2273,2551,2865,3030,3816,1FREQ3 DW 2,3030,3030,2865,2551,2551,2865,3030,3401,3816,3816 ;欢乐颂 DW 3401,3030,3030,3401,3401,2DW 3030,3030,2865,2551,2551,2865,3030,3401,3816,3816DW 3401,3030,3401,3816,3816,1DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,00110111B ;8253初始化MOV DX,TIME_CTROUT DX,ALMOV DX,8003H ;8255初始化MOV AL,90HOUT DX,ALW0: MOV DX,8000H ;开关判断IN AL,DXAND AL,03HCMP AL,0JNA MLoop ;电子琴CMP AL,01HJNA SONG1 ;歌曲1CMP AL,02HJNA SONG2 ;歌曲2JMP SONG3 ;歌曲3SONG1: LEA SI,FREQ1JMP W1SONG2: LEA SI,FREQ2JMP W1SONG3: LEA SI,FREQ3JMP W1W1:MOV AX,[SI] ;取节奏MOV DX,TIME_R0OUT DX,ALMOV AL,AHOUT DX,ALINC SIINC SICALL DELAY1MOV AX,2 ;关扬声器一次MOV DX,TIME_R0OUT DX,ALMOV AL,AHOUT DX,ALCALL DELAY2CMP [SI], 2 ;判断句停顿JZ W2CMP [SI],1 ;判断歌曲是否结束JNZ W1JMP W0 ;若歌曲结束重新判断 W2: CALL DELAY2JMP W1DELAY1 PROC NEAR ;音长MOV BX,400LP1:MOV CX,200LP2:LOOP LP2DEC BXJNZ LP1RETDELAY1 ENDPDELAY2 PROC NEAR ;字间隔MOV BX,100LP11:MOV CX,200LP22:LOOP LP22DEC BXJNZ LP11RETDELAY2 ENDPMLoop:call TestKey ; 有键入?je MLoop ; 无键入, 继续显示 call GetKey ; 读入键码cmp al,1 ;判断键盘是否为1~7 jl MLoopcmp al,7ja MLoopmov si,offset Music ;取键盘节奏首地址mov ah,0mov bx,axadd bx,bx ;dw字mov ax,[bx+si]mov dx,0a000h ;8253计数器0初值 out dx,almov al,ahout dx,alcall delayMOV AX,2 ;关扬声器一次MOV DX,0a000hOUT DX,ALMOV AL,AHOUT DX,ALJMP W0 ;判断开关TestKey proc nearmov dx, OUTBITmov al, 0out dx, al ; 输出线置为0mov dx, IN_KEYin al, dx ; 读入键not aland al, 0fh ; 高四位不用retTestKey endpGetKey proc nearmov ch, 00100000bmov cl, 6KLoop:mov dx, OUTBITmov al, ch ; 找出键所在列not alout dx, alshr ch, 1mov dx, IN_KEYin al, dxnot aland al, 0fhjne Goon_ ; 该列有键入dec cljnz KLoopmov cl, 0ffh ; 没有键按下, 返回 0ffh jmp Exit1Goon_:dec clshl cl, 2 ; 键值 = 列 X 4 + 行mov ch, 4LoopC:test al, 1jnz Exit1shr al, 1inc cldec chjnz LoopCExit1:mov dx, OUTBITmov al, 0out dx, al。