当前位置:文档之家› 微机原理课程设计利用DAC0832实现正弦波输出.

微机原理课程设计利用DAC0832实现正弦波输出.

微机原理课程设计利用DAC0832实现正弦波输出.
微机原理课程设计利用DAC0832实现正弦波输出.

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

题目:利用DAC0832实现正弦波输出.

班级:.

姓名:.

学号:.

日期:2011年12月15日

目录

1、引言 ......................................................................................................... 错误!未定义书签。

1.1背景和编写目的................................................................................... 错误!未定义书签。

1.2 术语和缩写.............................................................................................. 错误!未定义书签。

2.系统组成...................................................................................................... 错误!未定义书签。

3.硬件设计...................................................................................................... 错误!未定义书签。

3.1 8259A模块:........................................................................................... 错误!未定义书签。

3.2 DAC0832模块 ......................................................................................... 错误!未定义书签。

3.3 8086CPU模块.......................................................................................... 错误!未定义书签。

4.软件编程...................................................................................................... 错误!未定义书签。

4.1 正弦波产生的框图:............................................................................. 错误!未定义书签。

4. 2 源程序设计及程序代码......................................................................... 错误!未定义书签。

5.系统调试与仿真结果............................................................................. 错误!未定义书签。

6.仿真结果分析 (14)

7.设计日程...................................................................................................... 错误!未定义书签。

8.课程设计体会.............................................................................................. 错误!未定义书签。

9.参考文献...................................................................................................... 错误!未定义书签。

10.总电路图:................................................................................................ 错误!未定义书签。

1、引言

1.1背景和编写目的

微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。

微机应用系统设计与综合实验是对所学课程内容全面、系统的总结、巩固和提高的一项课程实践活动。学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。

应用内容主要包括微型计算机体系结构、8086微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等,通过这些设计以便使我们对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并提高综合运用所学知识分析问题和解决问题的能力。

在设计时必须用模数转换器即A/D转换器将模拟信号变成数字量后才能送入计算机进行处理。而计算机处理后的结果也必须通过数模转换器即D/A转换器转换成模拟量后,结果在用proteus 7.6 SP4软件仿真时显示波形和记录下来。可见模数或数模转换在构成一个控制系统中起着非常重要的作用。可以使我们加深对该转换过程的认识和理解,有利于以后的学习及设计一个控制系统。

1.2 术语和缩写

优先权判别器PR:用于管理和识别各中断源的优先级别。通常,IR0优先权最高,IR7优先权最低。

级联缓冲器/比较器:实现多个8259A的级联。主要信号CAS0-CAS2和CAS0-CAS2:级联信号,级联方式时,一个8259A为主片,最多能带动8个8259A从片,控制64个中断级。具有双重功能:当8259A工作于非缓冲方式时,它作为输入信号,规定该芯片是主片(SP=1)还是从片(SP=0);当工作于缓冲方式时,它作为输出信号EN控制缓冲器的传送方向。

DAC0832:DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。

2、系统组成

3.硬件设计

1.8259A 模块:

8259A 的主要功能如下:

①一片8259A 可以接受并管理8级可屏蔽中断请求,通过9片8259A 级联可扩展至64级可屏蔽中 断优先控制。

②对每一级中断都可以通过程序来屏蔽或允许。

③在中断响应周期,8259A 可为CPU 提供相应的中断类型码。 ④具有多种工作方式,并可通过编程来加以选择。

8259A 芯片可以接最多8个中断源,但由于可以将2个或多个8259A 芯片级连,并且最多可以级连到9个,所以最多可以接64个中断源。通过8259A 可以对单个中断源进行屏蔽。

8253 定时器定时电路

8259

中断电路

D/A

转换器

8086 CPU 键盘

示波器

译码器

图 8-7 8259 功能框图

在一个8259A 芯片有如下几个内部寄存器:

中断屏蔽寄存器(IMR ):8位寄存器,存放CPU 发出的按位屏蔽信号,置1的位将使相应中断级被屏蔽,8259A 对其中断请求不予理睬,用户可以编程实现

中断服务寄存器(ISR ):8位寄存器,用来存放当前正在处理的所有中断级. 如CPU 正在处理IR1的中断请求,则IR1被置1. 当系统中只有一个8259A 芯片时,ISR 中1的位数表示多重中断的数量.

中断请求寄存器(IRR ):8位寄存器,接收来自IR0—IR7的中断请求信号,每级对应一位,有中断请求时对应位置1. 2. DAC0832模块

D/A0832引脚图及逻辑结构图如下所示:

D

D 0

7

~

8086 CPU

RD WR

A 0

数据总线缓冲器

级联缓冲/比较

读/写逻辑

控制逻辑

中断

请求寄存器 (IRR )

优先级分析器(PR )

内部服寄存器 (ISR ) 中断屏蔽寄存器 ( IRM )

CS

CAS0 CAS1 CAS2

EN

SP /INT

IR0

IR1 IR2 IR3 IR4 IR5 IR6 IR7

内部总线

INTA

DAC0832引脚功能说明:

DI0~DI7:数据输入线,TLL电平。

ILE:数据锁存允许控制信号输入线,高电平有效。

CS:片选信号输入线,低电平有效。

WR1:为输入寄存器的写选通信号。

XFER:数据传送控制信号输入线,低电平有效。

WR2:为DAC寄存器写选通输入线。

Iout1:电流输出线。当输入全为1时Iout1最大。

Iout2: 电流输出线。其值与Iout1之和为一常数。

Rfb:反馈信号输入线,芯片内部有反馈电阻。

Vcc:电源输入线(+5v~+15v)。

Vref:基准电压输入线(-10v~+10v)。

AGND:模拟地,摸拟信号和基准电源的参考地。

DGND:数字地,两种地线在基准电源处共地比较好。

DAC 0832由两个8位寄存器和一个8位的D/A转换器组成,使用两个寄存器的好处是可以进行两次缓冲操作,以至能简化某些应用系统中的硬件接口电路设计。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

DAC0832的工作方式:根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。

DAC0832引脚功能电路应用原理图DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要。所以这个芯片的应用很广泛,关于DAC0832应用的一些重要资料见下图:D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。

3.8086CPU模块

两种工作方式功能相同的引脚

(1)AD15 ~AD0:地址/数据总线,双向,三态。

(2)A19/S6~A16/S3:地址/状态信号,输出,三态。

(3)BHE(低)/S7:允许总线高8位数据传送/状态信号,输出,三态。

(4)READ:读信号,输出,三态,低电平有效。

信号低电平有效时,表示CPU正在进行读存储器或读I/O端口的操作。

(5)READY:准备就绪信号,输入,高电平有效。

READY信号用来实现CPU与存储器或I/O端口之间的时序匹配。

(6)INTR:可屏蔽中断请求信号,输入,高电平有效。

(7)TEST:等待测试控制信号,输入,低电平有效。

(8)NMI:非屏蔽中断请求信号,输入,高电平有效。

(9)RESET:复位信号,输入,高电平有效。

(10)CLK:时钟信号,输入。

(11)VCC电源输入引脚。8086 CPU采用单一+5V电源供电。

(12)GND:接地引脚。

(13)MIN/MAX:最小/最大模式输入控制信号。

引脚用来设置8086 CPU的工作模式。当为高电平(接+5V)时,CPU工作在最小模式;当为低电平(接地)时,CPU工作在最大模式。

1.最小模式:

用于单机系统,系统中所需要的控制信号全部由8086直接提供。在最小系统中,除了8086CPU、存储器、以及I/O接口芯片外,还包括:一片8284A,作为时钟频率;三片8282/8283或74LS373,作为地址锁存器;二片8286/8287或74LS245,作为双向数据总线收发器。

2总线读周期

8086CPU进行存储器或I/O端口读操作时,总线进入读周期,时序如下:

时钟周期T:CPU工作的时间脉冲。由时钟发生电路提供,每个时间脉冲的间隔时间为时钟周期。

总线周期:每4个时钟周期完成一次总线操作,即一个操作数的读/写操作,称为总线周期。

指令周期:完成一条指令的时间,由整数个总线周期构成,指令功能不同其指令周期长度不等。

等待周期TW:当被操作对象无法在3个时钟周期内完成数据读写操作时,在总线周期中插入等待周期。

空闲周期TI:无总线操作时进入空闲周期,插入的个数与指令有关。

4.8253模块

8253的主要功能:

1、一个芯片上有三个独立的16位计数器通道

2、每个计数器的内部结构相同,可通过编程手段设置为6种不同的工作方式来进行定时/计数

3、每个计数器在工作过程中的当前计数值可被CPU读出

8253内部编程结构

1.计数器/定时器8253特点:三个通道,可单独使用

2.片内寻址

3.A1 A0= 00、01、10、11

4.对应:通道0、1、2和控制口地址

5.工作方式:6种

8253内部结构图如下:

1、数据总线缓冲器

往计数器设置计数初值;

从计数器读取计数值;

往控制寄存器设置控制字。

2、读/写逻辑电路

A1 A0:端口选择

0 0:通道0(0号计数器)

0 1:通道1(1号计数器)

1 0:通道2(2号计数器)

1 1:控制字寄存器

8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。

8253的各种工作方式如下:

1.方式0:计数结束则中断

工作方式0被称为计数结束中断方式,它的定时波形如图9.3.4所示。当任一通

道被定义为工作方式0时, OUTi输出为低电平;若门控信号GATE为高电平,当CPU 利用输出指令向该通道写入计数值WR#有效时,OUTi仍保持低电平,然后计数器开始减“1”计数,直到计数值为“0”,此刻OUTi将输出由低电平向高电平跳变,可用它向CPU发出中断请求,OUTi端输出的高电平一直维持到下次再写入计数值为止。

在工作方式0情况下,门控信号GATE用来控制减“1”计数操作是否进行。当GATE=1时,允许减“1”计数;GATE=0时,禁止减“1”计数;计数值将保持GATE 有效时的数值不变,待GATE重新有效后,减“1”计数继续进行。

显然,利用工作方式0既可完成计数功能,也可完成定时功能。当用作计数器时,应将要求计数的次数预置到计数器中,将要求计数的事件以脉冲方式从CLKi端输入,由它对计数器进行减“1”计数,直到计数值为0,此刻OUTi输出正跳变,表示计数次数到。当用作定时器时,应把根据要求定时的时间和CLKi的周期计算出定时系数,预置到计数器中。从CLKi,输入的应是一定频率的时钟脉冲,由它对计数器进行减“1”计数,定时时间从写入计数值开始,到计数值计到“0”为止,这时OUTi 输出正跳变,表示定时时间到。

有一点需要说明,任一通道工作在方式0情况下,计数器初值一次有效,经过一次计数或定时后如果需要继续完成计数或定时功能,必须重新写入计数器的初值。

2.方式1:单脉冲发生器

工作方式1被称作可编程单脉冲发生器,其定义波形如图9.3.5。进入这种工作方式, CPU装入计数值n后OUTi输出高电平,不管此时的GATE输入是高电平还是低电平,都不开始减“1”计数,必须等到GATE由低电平向高电平跳变形成一个上升沿后,计数过程才会开始。与此同时,OUTi输出由高电平向低电平跳变,形成了输出单脉冲的前沿,待计数值计到“0”, OUTi输出由低电平向高电平跳变,形成输出单脉冲的后沿,因此,由方式l所能输出单脉冲的宽度为CLKi周期的n倍。

如果在减“1”计数过程中,GATE由高电平跳变为低电乎,这并不影响计数过程,仍继续计数;但若重新遇到GA TE的上升沿,则从初值开始重新计数,其效果会使输出的单脉

冲加宽。

4.软件编程

4.1 正弦波产生的框图:

4.2 源程序设计及程序代码

CODE SEGMENGT

ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3400

H8: JMPP8259

TABLE DB 80H+00H, 80H+21H, 80H+40H, 80H+5AH, 80H+6EH, 80H+7FH

DB 80H+6EH, 80H+5AH, 80H+40H, 80H+21H, 80H+00H, 80H-21H DB 80H-40H, 80H-5AH, 80H-6EH, 80H-80H, 80H-6EH, 80H-5AH DB 80H-40H, 80H-21H

Port0 EQU 0FFE0H Port1 EQU 0FFE1H DAPORT EQU 0FFE4H

-----------------中断向量表初始化和8253初始化------------------ P8259:CLI

MOV AX,OFFSET INT8259 MOV BX,003CH MOV [BX],AX MOV BX,003EH

开 始

A ←00H

A ←正弦函数表数据

P0←A

DPTR ←DPTR+1

A=129? Y

N

MOV AX,0000H

MOV [BX],AX

CALL FOR8259

MOV SI,0000H

STI

P8253:MOV DX,0FFEBH

MOV AL,34H

OUT DX,AL

MOV DX,0FFE8H

MOV AL,33H

OUT DX,AL

MOV AL,01H

OUT DX,AL

XOR BX,BX

MOV SI,OFFSET TABLE

AGAIN:JMP AGAIN

---------------------------中断服务程序 INT8259:CLI

MOV DX,DAPORT

MOV AL,[SI+BX]

OUT DX,AL

INC BX

CMP BX,20

JNZ XX59

XOR BX,BX

XX59: MOV AL,20H

MOVDX,Port0

OUT DX,AL

STI

IRET

-----------------------8259初始化

FOR80259:MOV AL,13H

MOV DX,Port0

OUT DX,AL

MOV AL,08H

MOV DX,Port1

OUT DX,AL

MOV AL,09H

OUT DX,AL

MOV AL,7FH,IRQ7

OUT DX,AL

RET

COED ENDS

END H8

5.系统调试与仿真结果

对系统的仿真我们用的是proteus软件进行仿真实验,将各部分硬件按总电路图连接好,然后将程序代码导入,运行之后,结果如下图所示。频率50hz正弦波如下图6所示:

图 6 频率50hz正弦波

频率增多的正弦波如下图7所示:

图7频率增多的正弦波

频率减小的正弦波如下图8所示:

图8 频率减小的正弦波

6.仿真结果分析

1.正弦波生成的说明:程序中CPU的地址线全译码,设定DAC0832的片选地址为7FFFH,即CPU的P0口和P2口状态为高电平“1”其他均为低电平,这时DAC0832被选通。当DAC0832被选通时,且指定地址的数字量由CPU送到DAC0832,则DAC0832输出一个模拟量。这一模拟量与输入数字量成正比,输出的模拟量即电压的变化规律也符合正弦波的变化规律。

2.关于频率变化:当DAC0832输出一个模拟量时,将输出的状态用定时器做延时。将定时器时工作状态设置成状态1,将定时器初始化0FFB1,然后起动定时器开始工作。每个状态的延时时间乘以256即为输出正弦波的周期,那么正弦波的周期就取决于每个状态的延时时间。当增加定时器的定时初值时即延长了定时时间,即降低了正弦波的频率。反之,当减少定时器的定时初值时,即增加了了正弦波的频率。由于工作状态为方式一,每次改变初值后计数完毕需要重装改编后的初值。

7.设计日程

2011年11月初完成选题,交开题报告

2011年11月10查阅相关资料

2011年12月1开始分工进行课程设计

2011年12月18日—初步完成设计

2011年12月19日进行整理、修改不足最终完成设计

8.课程设计体会

通过此次微机原理课程设计,使我们更加深入地理解了微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,理论与实际相结合的重要性。只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。而且在做课程设计的过程中,不仅是考验自己所学的《微机原理》知识,更是要锻炼自己的分析问题的能力和解决实际问题的能力,而在在此次课程设计过程中得到了充分的体现。

9.参考文献

【1】马义德,张在峰等《微型计算机原理及应用》(第三版)高等教育出版社,2004年7 【2】陈学,武侠云《计算机控制技术实验指导书》长沙:中南大学教材科,2008年3月【3】刘天旺,《protel99se电路设计应用教程》,北京:电子工业出版社,2007年

【4】李志民.《微机原理与汇编语言程序设计实验指导书》中南大学教材科,2006年8月【5】周荷琴,吴秀清.《微型计算机原理与接口技术》中国科学技术大学出版社,2004年【6】陆红伟.《微机原理实验与课程设计指导书》,中国电力出版社,2006年

【7】裘雪红,李伯成,刘凯.《微型计算机原理及接口技术》(第二版),西安:西安电子科技大学出版社,2007年

10.附录总电路图:

微机原理课程设计报告交通灯

WORD格式微机原理课程设计 设计题目交通灯的设计 实验课程名称微机原理 姓名王培培 学号080309069 专业09自动化班级2 指导教师张朝龙 开课学期2011至2012学年上学期

一、实验设计方案 实验名称:交通灯的设计实验时间:2011/12/23 小组合作:是□否?小组成员:无 1、实验目的: 分析实际的十字路口交通灯的亮灭过程,用实验箱上的8255实现交通灯的控制。(红,黄,绿三色灯) 2、实验设备及材料: 微机原理和接口技术实验室的实验箱和电脑设备等。 3、理论依据: 此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。 如硬件连接图所示(在后),红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255 的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4(南东北西)路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的 三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK,2 OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30s定时到。OUT2产生 1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本 输入输出方式,红绿灯的转换由软件编程实现。

4、实验方法步骤及注意事项: ○1设计思路 红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1 控制。 设8253各口地址分别为:设8253基地址即通道0地址为04A0H,通道1为04A2H,通道2 为04A4H,命令控制口为04A6H。 黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时 间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。 由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方 式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方 式,理论设计输出周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1s,因此 通道0的计数初值为10000=2710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以 通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H 既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测 到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态 反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态 变化,计9次状态变化可完成5次闪烁。 三个通道的门控信号都未用,均接+5V即可。 ○ 2硬件原理及电路图 由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的A1、A 0 线分别与 8086CPU的A2、A线相连,而将8086的 1 A 0 线作为选通信号。如果是按8255A内部地址来看, 则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),

微机原理课程设计电压报警器实验报告

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: xxx

目录 1.设计目的 (2) 2.设计内容 (2) 3.设计要求 (2) 4.设计原理 (3) 5.硬件电路图 (3) 6.程序代码 (5) 7.程序及硬件系统调试情况 (19) 8.设计总结与体会 (19)

一、设计目的 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 二、设计内容 设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

DAC0832的波形发生器(汇编)

ORG 0000H KB:MOV P1,#0FFH;置P0口为输入方式MOV A,P1;读键值 CPL A ANL A,#1FH;屏蔽高三位 JZ KB;无键闭合继续检测 ACALL DL Y_10MS;延时10ms,去抖动MOV A,P1;再次检测有无键闭合 CPL A ANL A,#1FH JZ KB CJNE A,#01H,KB01 LCALL FANGBO;调用方波子程序SJMP KB KB01:CJNE A,#02H,KB02 LCALL JVCHI;调用锯齿波子程序SJMP KB KB02:CJNE A,#04H,KB03 LCALL TIXING;调用梯形波子程序SJMP KB KB03:CJNE A,#08H,KB04 LCALL SANJIAO;调用三角波子程序SJMP KB KB04:CJNE A,#10H,KB LCALL ZHENGXIAN;调用正弦波子程序SJMP KB ;方波子程序////////////// FANGBO: MOV DPTR,#0FFFEH LP1: MOV A,0 MOVX @DPTR,A LCALL DELAY1 MOV A,#0FFH MOVX @DPTR,A LCALL DELAY1 AJMP LP1 ;锯齿波子程序///////////// JVCHI: MOV DPTR,#0FFFEH MOV A,#0FFH WW:MOVX @DPTR,A DEC A NOP

NOP NOP AJMP WW ;梯形波子程序 TIXING: MOV DPTR,#0FFFEH MOV R2,#07DH MOV R4,#0AFH MOV A,#00H D1:MOVX @DPTR,A LCALL DELAY2 ADD A,R2 DJNZ R4,D1 AJMP D1 ;三角波子程序/////////////// SANJIAO: MOV DPTR,#0FFFEH MOV R6,#10H MOV A,#00H LOOP1: MOVX @DPTR,A ADD A,R6 CJNE A,#0FFH,LOOP1 LOOP2: MOVX @DPTR,A SUBB A,R6 CJNE A,#07H,LOOP2 AJMP LOOP1 ;正弦波子程序///////////////// ZHENGXIAN: MOV R1,#00H QZ:MOV A,R1 MOV DPTR,#SETTAB MOVC A,@A+DPTR MOV DPTR,#0FFFEH MOVX @DPTR,A INC R1 AJMP QZ ;延时程序2 DELAY2:MOV 31H,#02H PW:DJNZ 31H,PW RET ;延时子程序1 DELAY1: MOV 30H,#0FFH

微机原理课程设计报告

微机原理课程设计报告 课程设计是每一个大学生在大学生涯中都不可或缺的, 它使我们在实践中了巩固了所学的知识、在实践中锻炼自己的动手能力,本文就来分享一篇微机原理课程设计报告,希望对大家能有所帮助! 微机原理课程设计报告(一)以前从没有学过关于 汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。 我们在这个过程中有很多自己的感受,我想很多同学都 会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就感。 我想微机原理课程设计和其他课程设计有共同的地方, 那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。 微机原理与接口技术是一门很有趣的课程,任何一个计 算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。 学习该门课程知识时,其思维方法也和其它课程不同,

单片机控制dac0832输出正弦波三角波汇编程序

单片机控制DAC0832输出正弦波三角波汇 编程序 org 0000h LJMP MAIN ORG 0003H LJMP L0 MAIN:MOV R2,#0aH ;调幅倍数 MOV R4,#01H ;增减选择 MOV R5,#01H pp: SETB EA SETB EX0 ;延时计数个数 MOV A,#0FFH ;读取波形状态 MOV P1,A MOV A,P1 JNB ACC.0,ZXB ;P1.0=0 则选择正弦波 JNB ACC.1,SJB ;P1.1=0 则选择三角波 JNB ACC.2,FB ;P1.2=0 则选择方波 AJMP PP ZXB:MOV R1,#00H .

LOOP1:MOV A,R1 MOV DPTR,#TABLE1 ;读取正弦波数据首地址 MOVC A,A+DPTR ;去表格数据 MOV B,R2 MUL AB ;幅度大小 INC R1 XCH A,R1 CLR C SUBB A,#0AH ;是否已采样半个周期 JNC LK1 ;C=0跳转,即R1大于0A,以采样半个周期以上 ADD A,#0AH XCH A,R1 ;还原R1 ADD A,#80H ;8OH为零点,取得正的幅度值 AJMP LK0 LK1:ADD A,#0AH XCH A,R1 MOV R3,A MOV A,#80H CLR C .

SUBB A,R3 ;80H为零点,取得负的幅度值LK0:MOV DPTR,#8000H ;送DA转换入口地址 MOVX DPTR,A MOV A,R5 KD:DEC R5 ;调用延时 CALL DELAY CJNE R5,#00H,KD MOV R5,A CJNE R1,#12H,LOOP1 LJMP PP FB:MOV R1,#00H LOOP2:MOV A,R1 MOV DPTR,#TABLE2 ;读取方波数据首地址 MOVC A,A+DPTR ;去表格数据 MOV B,R2 MUL AB ;幅度大小 INC R1 XCH A,R1 CLR C SUBB A,#0AH ;是否已采样半个周期 .

微机原理课程设计报告

微型计算机技术课程设计 指导教师: 班级: 姓名: 学号: 班内序号: 课设日期: _________________________

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (3) 五、设计思路..................... 错误!未定义书签。 六、设计步骤(含流程图和代码) ..... 错误!未定义书签。 七、课程设计小结 (36)

一、课程设计题目:点阵显示系统电路及程序设计 利用《汇编语言与微型计算机技术》课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。 二、设计目的 1.通过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。 2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。 三、设计内容 1.点阵显示系统启动后的初始状态 在计算机显示器上出现菜单: dot matrix display system 1.←left shift display 2.↑up shift display 3.s stop 4.Esc Exit 2.点阵显示系统运行状态 按计算机光标←键,点阵逐列向左移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标↑键,点阵逐行向上移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标s键,点阵停止移动并显示当前字符。 3.结束程序运行状态 按计算机Esc键,结束点阵显示系统运行状态并显示“停”。 四.设计所需器材与工具 1.一块实验面包板(内含时钟信号1MHz或2MHz)。 2.可编程芯片8253、8255、74LS245、74LS138各一片,16×16点阵显示器件一片。

微机原理及其应用报告数模转换器DAC0832双缓冲输出设计

本科生实验报告 实验名称:数模转换器DAC0832双缓冲输出设计 一、实验目的 1)了解DAC0832芯片引脚、内部结构及工作原理; 2)掌握应用单片机I/O 端口控制DAC0832实现数模转换的方法; 3)掌握DAC0832单缓冲和双缓冲控制技术及编程设计方法; 二、实验原理 DAC0832是8位分辨率的数模转换集成芯片,内部采用倒T 形网络,电流型 输出模式,电流输出稳定时间为1us ,采用单电源供电。 片内部由一个8位输入锁存器、一个8位DAC 寄存器和一个8位D/A 转换器构成,内部具有双缓冲结构,可以实现单缓冲、双缓冲数字输入。 双缓冲同步控制方式 : 针对多个模拟量需要同时输出的控制系统,可以采用双缓冲同步控制方式。D/A 转换数据的输入锁存和D/A 转换输出分两步完成。首先,CPU 分时向各路D/A 转换器输入要转换的数字量并锁存在各自的输入锁存器中,然后,CPU 同时对所有D/A 转换器发出输入所存数据打入DAC 寄存器的控制信号,即可实现 VREF IOUT2 IOUT1 DGND VCC AGND RFB

多通道的同步模拟量数据输出。 应用双缓冲方式,可以在输出模拟信号的同时采集下一个数字量,有效地提高转换速度。另外,可以在多个D/A转换器同时工作时,利用双缓冲模式实现多路D/A的同步输出。 三、实验内容 通过单片机I/O端口控制两路DAC0832实现数模转换,控制方式采用双缓冲控制方式。 1.阅读理解双缓冲控制电路图,分析双缓冲模式下DAC0832与单片机接口电路的设计及两次DA转换实验在控制电路上的异同。 2.设计程序,实现双缓冲模式下DA转换的同步输出。 首先,CPU分时向各路D/A转换器输入要转换的数字量并锁存在各自的输入锁存器中,然后,通过按键控制,同时对两个DAC0832锁存数据进行数模转换,同步产生三角波、正弦波模拟输出信号。 四、实验过程 1,实验原理图 2,实验源程序 #include sbit DAC1_WR1=P2^0; sbit DAC2_WR1=P2^1; sbit DAC_SW1=P2^2; sbit DAC_SW2=P2^3;

2016年微机原理课程设计指导书

微机原理课程设计 指 导 书 计算机科学与技术学院计算机系统教研室 二零一六年五月

目录 1 课程设计的目的和任务 (1) 2 课程设计指导及要求 (1) 3 课程设计的主要步骤 (1) 3.1 总体设计 (2) 3.2 硬件设计 (2) 3.3 软件设计 (2) 3.4 软、硬件联调 (2) 4 课程设计报告内容及格式要求 (2) 5 进度安排 (3) 6 课程设计的考核方法及成绩评定 (3) 7 课程设计题目 (3) 8 主要参考资料 (5)

1 课程设计的目的和任务 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 2 课程设计指导及要求 在课程设计时,1人1题,同批次同学中选择同一题的人数不超过3人。在教师指导下,可以相互讨论,但设计报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。同学应积极主动的提出问题、解决问题、讨论问题,互相帮助和启发。 学生在设计中可以引用所需的参考资料,避免重复工作,加快设计进程,但必须和题目的要求相符合,保证设计的正确。指导教师要引导学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。学生要在老师的指导下制定好自己各环节的详细设计进程计划,按给定的时间计划保质保量的完成个阶段的设计任务。设计中可边设计,边修改,软件设计与硬件设计可交替进行,问题答疑与调试和方案修改相结合,提高设计的效率,保证按时完成设计工作并交出合格的设计报告。 3 课程设计的主要步骤 课程设计分为硬件设计和软件设计两个部分,其设计过程可以归纳为以下所述的四个步骤:

汇编与微机原理课程设计报告

微机接口课程设计报告 (题目:模拟自动门) 指导老师郭兰英 班级2015240204

目录 一概述 (1) 1.1 课程设计名称 (1) 1.2 课程设计要求 (1) 1.3 课程设计目的 (1) 二设计思想 (1) 三实施方案 (2) 3.1 获得传感器和“门”的状态 (2) 3.2 驱动步进电机和点阵模块 (2) 3.3 实现硬件延时 (3) 四硬件原理 (3) 4.1 中断控制器8259 (4) 4.2并行接口8255 (4) 4.3 定时/计数器8254 (5) 4.4 点阵LED显示屏 (5) 4.5 步进电机 (6) 4.6 红外距离传感器 (7) 五软件流程 (8) 六程序运行结果及分析 (11) 6.1 开门状态 (11) 6.2 关门状态 (12) 6.3 关门操作进行时中断到开门操作 (14)

6.4特殊状态 (15) 七个人感想 (16) 八附录 (18)

一、概述 1.1课程设计名称 模拟自动门 1.2课程设计要求 1)用汇编语言编程完成硬件接口功能设计。 2)硬件电路基于80x86微机接口。 3)程序功能包含:步进电机转动、点阵显示开关门、传感器检测是否有人、8254延时。 4)传感器检测有人时开门,门全开后延时几秒关门,若关门时检测到有人,立刻开门。 1.3课程设计目的 通过本课程设计,让学生对微机系统有一个较面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。要求同学分组完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,编写设计程序及程序流程图。 二、设计思想 本程序主要功能是模拟商场等公共场所的自动门,实现有物体靠近并被传感器检测到时发生一系列变化的效果,模拟实现开门关门的功能。 为了尽量模拟真实场景下的自动门状态变化,本程序主要可以实现以下功能: 1、当传感器可检测范围内检测到物体,并且“门”为“关”的状态,立即“打开门”,即用一系列的硬件动作模拟自动门打开的动作和状态。 2、当“门”完全打开后一段时间后,传感器范围内检测不到物体时,立即“关闭门”, 用一系列的硬件动作模拟自动门关闭的动作和状态。

dac0832函数信号发生器.

智能仪器课程设计 设计题目:函数信号发生器设计 学生姓名:赵鑫、罗承波、江再农 学院名称:机械工程学院 班级:测控技术与仪器062班 学号:200646000227、20064600222、20064600215 指导教师:袁锋伟、王玉林、蒋彦 2009年6月

设计任务: 设计一个函数信号发生器,具体指标如下: 1采用AT89S51及DAC0832设计函数信号发生器; 2输出函数信号为正弦波或三角波或阶梯波; 3输出信号频率为100Hz,幅度0-10V可调; 4必须具有信号输出及外接电源、公共地线接口

低频函数信号发生器的设计 摘要:信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。目前使用的信号发生器大部分是利用分立元件组成的体积大,可靠性差,准确度低。课程设计需要各个波形的基本输出,这些波形的实现的具体步骤:正弦波的实现是非常麻烦的。它的实现过程是通过定义一些数据,然后执行时直接输出定义的数据就可以了。而三角波,则每次累加1,当达到初值时,每次累减1,算出延时时间,也就达到要求了,阶梯波和三角波类似!该设计使用的是AT89S51单片机构成的发生器,可产生三角波、方波、正弦波等多种波形,波形的频率可用程序控制改变。在单片机上加外围器件独立式开关,通过开关控制波形的选择。在单片机的输出端口接DAC0832进行DA转换,再通过运放进行波形调整,最后输出波形接在示波器上显示。 关键词:信号发生器;单片机;波形调整

The design of low-frequency function signal-generator Abstract:Signal generator is a common signal source, widely used in electronic circuits, automatic control systems and experiments in areas such as teaching. Currently used by most of the signal generator is composed of discrete components use bulky, poor reliability, low accuracy. Curriculum design of the basic needs of all the output waveform, the waveform of the specific steps to achieve: the realization of sine wave is very troublesome. It is through the implementation of the definition of some data, and then direct the output when the definition of the implementation of the data on it. The triangle wave, then add 1 each time, when the initial value to reach every tired by 1, calculate the delay time, they meet the requirement, the ladder-wave and triangular wave similar! The design is composed of single-chip AT89S51 generator can produce the triangular wave, square wave, sine wave, etc.,

微机原理课程设计说明书

微机原理课程设计说明书 题目 数据段里有一个N个字的数组A,利用冒泡排序法最数组进行从小到大的排序,并输出结果。 要求:读出数据段中存放的数组A;换行显示换行后的数组A 题目分析 数据段为N个字,从而了解到该数据类型为双字节,且数据段中数据个数未知。要求对该数组进行从小到大的排序,且要求用冒泡法进行。数据段中的数组A已经给定,无需输入,但是要求将排序前后数组A显示出来,且要求换行显示。 软件流程图

流程图

设计思路说明 首先通过调用自定义子程序printf将数组A中的数据显示出来,然后在运用冒泡法对数组中的数据进行排序,冒泡法排序的总思路是,首先从数组A中的第一个元素开始,一次对相邻的的两个元素进行比较,调整。使前一个元素不大于后一个元素,将素有元素比较完之后,最大的元素排到了最后;然后,除掉最后一个元素之外的元素依上方法再次进行比较,得到次大的元素排在后面;如此重复,直至完成就实现了元素的从小到大的排序。同时在每一轮的依次比较时,我还设置了一个检测标识,如果哪一轮比较时没有进行依次调整,前面的元素都不大于后面的元素。直接结束排序。最后再次调用自定义子程序printf将排序后的数组A显示出来。 程序清单 主程序开始部分 DATAS SEGMENT arrary dw 3,2,-1,5,7,4,6,100,895;预定义需排序数组 len dw ($-arrary)/2 flag db ?;交换标志,为1表示发生交换 c10 dw 10 ;此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX call print;调用子程序打印数组 冒泡法排序程序 l_out:lea bx,arrary;外层循环,flag==1时进入

微机原理课程设计实验报告DOC

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 课程名称: 学年学期: 指导教师: 年月

课程设计成绩评定表 学生姓名学号成绩 专业班级起止时间2011.12.24—2012.11.28 设计题目字符串动画显示 指 导 教 师 评 语 指导教师: 年月日

目录 一、课程设计的目的 (1) 二、设计题目 (1) 三、设计内容要求 (2) 四、设计成员及分工 (2) 五、课程设计的主要步骤 (2) 六、课程设计原理及方案 (3) 七、实现方法 (3) 八、实施结果 (8) 九、总结 (8) 十、体会感受 (8)

一、课程设计的目的 课程设计是以自己动手动脑,亲手设计与调试的。它将基本技能训练、基本工艺知识和创新启蒙有机结合,培养我们的实践和创新能力。课程设计的意义,不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力。作为信息时代的大学生,基本的动手能力是一切工作和创造的基础和必要条件。 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 《微机原理及应用》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。 通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书等表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。 通过设计过程,要求学生熟悉和掌握微机系统的软件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件调试、查阅资料、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练的熟练掌握微机系统的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的软件调试方法和步骤,熟悉微机系统的软件开发工具的使用方法。 二、设计题目

微机原理课程设计报告-数字时钟的实现(附代码)

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术x班学号: 姓名:

一、设计题目及要求: 【课题6】数字时钟 1.通过8253 定时器作产生秒脉冲定时中断。在中断服务程序中实现秒、分、小时的进位(24小时制)。 2.在七段数码管上显示当前的时分秒(例如,12 点10 分40 秒显示为121040)。 3.按“C”可设置时钟的时间当前值(对准时间)。 二、设计思想: 总体思想: 1、功能概述: 实验箱连线: 本实验建立在Dais实验箱基础上完成的基本连线及程序如下: 138译码器: A,B,C,D,分别连接A2,A3,A4,GS; y0连接8253的CS片选信号; y1连接8259的CS片选信号; 8253连线: 分频信号T2接8253的CLK0; 8253的OUT0接8259的IR7; 8253的gate信号接+5V; 8259连线: 8259的数据线接入数据总线;

本程序包括显示模块,键盘扫描模块,时间计数模块,设置模块等几个模块, (1)程序运行后,LED显示000000初始值,并且开始计数 (2)按C键进行设置初始时间,考虑到第一个数只能是0,1,2,当第一个数显示2时第二个数只能显示0~4,同理下面各位应满足时钟数值的合理的取值; (3)在手动输入初始值时,按D键进行回退1位修改已设置值,连续按D键可以全部进行删除修改。 2、主程序设计 主程序中完成通过调用子程序完成对8253及8259的初始化,对8259进行中断设置。主要在显示子程序和键盘子处理程序之间不断循环,8253每一秒给8259一个刺激,当8259接受到刺激后会给CPU一个中断请求,CPU会转去执行中断子程序,而中断子程序设置成时间计数加,即完成电子表的整体设计。详细流程图见图三-1。 3、LED显示子程序设计 本程序显示部分用了6个共阳极LED作为显示管,显示程序要做到每送一次段码就送一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到右使6个LED依次显示出相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。 4、键盘扫描子程序设计 本程序需要用键盘对时间的初始值进行设置,因此对键盘扫描的子程序需要满足的功能如下: 判断是否是C键,若不是就返回至主程序,若是C键就开始对时间初始值进行设置,同时因注意到第一个值不可以超过2,第一个数是2时第二数不能超过4,余下的同理要满足时间数值的取值范围呢,若不是合法输入不予反应继续等待输入。当遇到输入数值错误时可以按下D键进行删除一位重新设置;当6位初始值全部设置成功后,电子表将自动开始走表。 5、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

单片机控制DAC0832输出正弦波三角波汇编程序

单片机控制DAC0832 输出正弦波三角 波 汇编程序 org 0000h LJMP MAIN ORG 0003H LJMP L0 MAIN:MOV R2,#0aH MOV R4,#01H MOV R5,#01H pp: SETB EA SETB EX0 MOV A,#0FFH MOV P1,A MOV A,P1 JNB ACC.0,ZXB JNB ACC.1,SJB JNB ACC.2,FB AJMP PP ZXB:MOV R1,#00H LOOP1:MOV A,R1 ;调幅倍数 ;增减选择 ;延时计数个数 ;读取波形状 态 ;P1.0=0 则选择正弦 波 ;P1.1=0 则选择三角波 ;P1.2=0 则选择方波

MOV DPTR,#TABLE1 ;读取正弦波数据首地址 MOVC A,@A+DPTR ;去表格数据 MOV B,R2 MUL AB ;幅度大小 INC R1 XCH A,R1 CLR C SUBB A,#0AH ;是否已采样半个周期 JNC LK1 ;C=0 跳转,即R1 大于0A,以采样半个周期以上 ADD A,#0AH XCH A,R1 ;还原R1 ADD A,#80H ;8OH 为零点,取得正的幅度值 AJMP LK0 LK1:ADD A,#0AH XCH A,R1 MOV R3,A MOV A,#80H

CLR C SUBB A,R3 ;80H 为零点,取得负的幅度值LK0:MOV DPTR,#8000H ;送DA 转换入口地址MOVX @DPTR,A MOV A,R5 KD:DEC R5 ;调用延时 CALL DELAY CJNE R5,#00H,KD MOV R5,A CJNE R1,#12H,LOOP1 LJMP PP FB:MOV R1,#00H LOOP2:MOV A,R1 MOV DPTR,#TABLE2 ;读取方波数据首地址 MOVC A,@A+DPTR ;去表格数据 MOV B,R2 MUL AB ;幅度大小 INC R1

微机原理课程设计心得体会3篇

微机原理课程设计心得体会3篇课程设计是对课程的各个方面做出规划和安排,是连接课程基本理念和课程实践活动的桥梁。下面是为大家带来的微机原理课程设计心得体会,希望可以帮助大家。 微机原理课程设计心得体会范文1: 计算机网络的设计是一个要求动手能力很强的一门实践课程,在课程设计期间我努力将自己以前所学的理论知识向实践方面转化,尽量做到理论与实践相结合,在课程设计期间能够遵守纪律规章,不迟到、早退,认真完成老师布置的任务,同时也发现了自己的许多不足之处。 在课程设计过程中,我一共完成了11个实验,分别是1.制作直通电缆和交叉UTP、2.交换机Console口和Telnet配置、3.交换机端口和常规配置、4.虚拟局域网VLAN配置、5.路由器Console口Telnet 配置方法和接口配置、6.路由器静态路由配置、7单臂路由配置、8.动态路由协议配置、9.PPP协议配置、10路由器访问控制表(ACL)、11.网络地址转换(NAT)。 在制作直通电缆和交换UTP的实验中,我起初不能完全按照要求来剪切电缆,导致连接不通,后来在同学的帮助下,终于将实验完成。 在做到单臂路由配置和动态路由协议配置的实验,由于自身的基础知识掌握不牢,忘掉了一些理论知识,在重新翻阅课本和老师的指导之下,也成功的完成了试验。

从抽象的理论回到了丰富的实践创造,细致的了解了计算机网络连接的的全过程,认真学习了各种配置方法,并掌握了利用虚拟环境配置的方法,我利用此次难得的机会,努力完成实验,严格要求自己,认真学习计算机网络的基础理论,学习网络电缆的制作等知识,利用空余时间认真学习一些课本内容以外的相关知识,掌握了一些基本的实践技能。 课程设计是培养我们综合运用所学知识,发现、提出、分析、解决问题的一个过程,是对我们所学知识及综合能力的一次考察。随着科学技术日新月异的不断发展,计算机网络也在不断的变化发展当中,这就要求我们用相应的知识来武装自己,夯实基础,为将来走向工作岗位,贡献社会做好充分的准备。 微机原理课程设计心得体会范文2: "微机原理与系统设计" 作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点,围绕微型计算机原理和应用主题,以Intelx86CPU为主线,系统介绍微型计算机的基本知识,基本组成,体系结构和工作模式,从而使学生能较清楚地了解微机的结构与工作流程,建立起系统的概念。 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必

8086.8088微机原理课程设计

8086/8088微机原理课程设计 1、课程设计说明 “微机原理与接口技术课程设计”主要是测试学生的8086/8088系统输入输出技术应用能力、数字电路应用能力和程序设计能力。 设计题目中综合了《数字逻辑》、《微机原理与接口技术》和《程序设计基础》等课程中的相关知识点。特别是电气工程系各专业学习了《模拟电子》、《传感器技术》、《单片机技术》等课程,给题目的扩展和实际应用提供了基础。本课程的课程设计实际上是一个综合性应用的设计和制作。 这里只给出了部分课程设计的题目,主要和接口电路有关,每个题目的实现方式和扩展空间都很大,指导教师可根据学生的具体情况决定设计题目的内容和设计量。纯汇编语言软件的设计未在这里列出。 欢迎学生自拟题目,经指导教师审核其难易程度和确定所用器材,优先选用。 2、课程设计计分办法 课程设计的计分由课设题目(60)、课设报告(20)、考勤(20)三部分组成。 一、题目的选择 设计题目分为星级制(★),根据选择题目的难易程度确定成绩,以百分制计算,按比例计入总成绩。要根据个人情况合理选择题目,不可多组选择同一题目。 1、无星为最简题目,做完多个题目仅记分为及格(69分及以下)。 2、1星(★)为简单题目,做完1个题目记分为良(70~89分)。 3、2星(★★)为较难题目,做完1个题目记分优(90~100分)。 4、星级题目多做可提高分值。 5、课设一般为分组实施,主要设计者记原星级分值,辅助者减1星。 6.、未完成设计者视设计程度减星计分。 7、无星题目可单人完成,但不选题目者记0分。 二、报告要求 课设报告应按规定格式书写,并按时上交。报告原则上要求手工书写,如要打印必须是独立版本,遇雷同课设报告均不计入总成绩。 三、考勤 考勤。点名一次未到扣5分,5次以上记0分。

微机原理课程设计

微机原理与接口技术课程设计报告 设计课题:电动机速度控制器 专业班级:测控技术与仪器 学生姓名:jcl 学生学号:2008 指导教师:ddd 成绩: 二○一一年一月十一日

电动机速度控制器 一、设计目的 1.微机原理与接口技术是一门实践性很强的课程。课程设计教学环节十分重要。通过课程设计,使用微处理器芯片及其它典型的接口芯片,设计微处理器应用的典型接口电路,加深对微处理器、典型接口芯片特性的理解,掌握微处理器接口电路设计的初步方法,并进行一定的编程训练,加强微机应用的工程实践能力; 2.掌握接口芯片8255A和DAC0832的工作原理,熟悉8255A可编程并行口的使用方法,会写8255A 的控制字以及掌握三种工作方式的特点并会使用;会根据DAC0832的输入输出器和DAC寄存器的不同控制方法,选择不同的工作方式:单缓冲方式、双缓冲方式、直通方式。 3.学会自己独立设计电路,熟悉设计的过程,学会利用各种资源。 二、设计要求 利用开关量来实现对输出电压的定量控制,从而控制电动机的转速。 1、通过8255A工作在方式0的基本输入输出功能,输入一个八位的二进制数,同时在利用DAC0832的模数转换功能将其转换成电压信号,从而对输出的电压大小实现量控。 2、用八个开关的输入作为八位二进制数输入,CPU从8255A中读取放在AL中;然后将AL中的数据送入DAC0832中转换成模拟量,从而完成对电压的量控输出,即控制电动机的转速。 3、对于两个接口芯片的操作是用CPU的地址总线通过译码器选中其中一个,从而对其进行读写;DAC0832的工作方式是单缓冲方式。 4、8255A方式选择控制字如下图所示:

微机原理步进电机控制课程设计报告

河北科技大学 课程设计报告学生姓名:学号: 专业班级: 课程名称: 学年学期: 2 0 —2 0 学年第学期指导教师: 2 0 年月 课程设计成绩评定表

目录 一、设计题目………………………………………………………………. 二、设计目的………………………………………………………………. 三、设计原理及方案………………………………………………………. 四、实现方法………………………………………………………………. 五、实施结果………………………………………………………………. 六、改进意见及建议……………………………………………………….

七、设计体会………………………………………………………………. 、 一、设计题目 编程实现步进电机的控制 二、设计目的 1.了解步进电机控制的基本原理 2.掌握控制步进电机转动的编程方法 3.了解8086控制外部设备的常用电路 4.掌握8255的使用方法 三、设计原理及方案 设计原理 步进电机驱动原理是通过对每相线圈中的电流的顺序切换(实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化),来使电机作步进式旋转。 驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。 利用 8255对四相步进电机进行控制。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A…),双(双相绕组通电)四拍(AB-BC-CD-DA-AB…),八拍(A-AB-B-BC-C-CD-D-DA-A…)等。 通过编程对8255的输出进行控制,使输出按照相序表给驱动电路供电,则步进电机的输入也和相序表一致,这样步进电机就可以正向转动或反向转动。 硬件连接图 四.实现方法 .步进电机控制程序流图

相关主题
文本预览
相关文档 最新文档