文档库 最新最全的文档下载
当前位置:文档库 › 微机设计性实验

微机设计性实验

微机设计性实验
微机设计性实验

计算机与信息工程学院综合性、设计性实验报告

1、了解双色点阵LED显示器的基本原理。

2、掌握PC机控制双色点阵LED显示程序的设计方法。

二、实验原理

点阵LED显示器是将许多LED类似矩阵一样排列在一起组成的显示器件,双色点阵LED是在每一个点阵的位置上有红绿或红黄或红白两种不同颜色的发光二极管。当微机输出的控制信号使得点阵中有些LED发光,有些不发光,即可显示出特定的信息,包括汉字、图形等。车站、广场由微机控制的点阵LED 大屏幕广告宣传牌随处可见。

实验仪上设有一个共阳极8×8点阵的红黄两色LED显示器,其点阵结构如图所示。该点阵对外引出24条线,其中8条行线,8条红色列线,8条黄色列线。若使某一种颜色、某一个LED 发光,只要将与其相连的行线加高电平,列线加低电平即可。

例如欲显示汉字“年”,采用逐列循环发光。首先由“年”的点阵轮廓,确定点阵代码(如图所示)根据“年”的点阵代码,确定逐列循环发光的顺序如下:

①行代码输出44H;红色列代码输01H;第一列2个红色LED发光。

②行代码输出54H;红色列代码输02H;第二列3个红色LED发光。

③行代码输出54H;红色列代码输04H;第三列3个红色LED发光。

④行代码输出7FH;红色列代码输08H;第四列7个红色LED发光。

⑤行代码输出54H;红色列代码输10H;第五列3个红色LED发光。

⑥行代码输出DCH;红色列代码输20H;第六列5个红色LED发光。

⑦行代码输出44H;红色列代码输40H;第七列2个红色LED发光。

⑧行代码输出24H;红色列代码输80H;第八列2个红色LED发光。

在步骤①~⑧之间可插入几ms的延时,重复进行①~⑧即可在LED上稳定的显示出红色“年”字。若想显示黄色“年”,只需把红色列码改为黄色列码即可。

三、实验内容:

1、实验仪上的点阵LED及驱动电路如下图所示,行代码、红色列代码、黄色列代码各用一片74LS273锁存。行代码输出的数据通过行驱动器7407加至点阵的8条行线上,红和黄列代码的输出数据通过驱动器DS75452反相后分别加至红和黄的列线上。行锁存器片选信号为CS1, 红色列锁存器片选信号为CS2,黄色列锁存器片选信号为CS3。

2、接线方法:行片选信号CS1 接280H;红列片选信号CS2 接288H;黄列片选信号CS3 接290H。

3、编程重复使LED点阵红色逐列点亮,再黄色逐列点亮,再红色逐行点亮,黄色逐行点亮。

4、编程在LED上重复显示红色“年”和黄色“年”。

四、逐行、逐列显示参考流程图

五、显示“年”参考流程

六、程序修改显示

;***********************11588-1.ASM************************* proth equ 280h

protlr equ 288h

protly equ 290h

DA TA SEGMENT

MESS DB 'Strike any key,return to DOS!',0AH,0DH,'$'

min1 DB 00h,01h,02h,03h,04h,05h,06h,07h

count db 0

BUFF DB 44h,54h,54h,7fh,54h,0dch,44h,24h;在此修改红色字段显示内容,并添加黄

色字段buff1

DA TA ENDS

;-----------------------------------------------------------

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA

;------------------------------------------------------------

START: MOV AX,DATA

MOV DS,AX

MOV DX,OFFSET MESS

MOV AH,09

INT 21H ;显示提示信息

;------------------------------------------------------------

agn: mov cx,80h

d2: mov ah,01h

push cx

mov cx,0008h

mov si,offset min1

next: mov al,[si]

mov bx,offset buff;显示红色字体内容

xlat ;得到第一行码

mov dx,proth

out dx,al

mov al,ah

mov dx,protlr

out dx,al ;显示第一行红

mov al,0

out dx,al

shl ah,01

inc si

push cx

mov cx,0ffh;ffh

delay2: loop delay2 ;延时

pop cx

loop next

pop cx

call delay

loop d2

mov al,00

mov dx,protlr

out dx,al

mov ah,01 ;有无键按下

int 16h

jnz a2

agn1: mov cx,80h ;agn1为显示黄色

d1: mov si,offset min1

mov ah,01

push cx

mov cx,0008h

next1: mov al,[si]

mov bx,offset buff;将buff改为buff1显示黄色字段内容

xlat

mov dx,proth

out dx,al

mov al,ah

mov dx,protly

out dx,al

mov al,0

out dx,al

shl ah,01

inc si

push cx

mov cx,0ffh;ffh

delay1: loop delay1

mov cx,0ffh;ffh

delay3: loop delay3

pop cx

loop next1

pop cx

call delay

loop d1

mov al,00

mov dx,protly

out dx,al

mov ah,01

int 16h

jnz a2

jmp agn ;黄色红色交替显示

;----------------------------------------------------------------

DELAY PROC NEAR ;延迟子程序

push cx

mov cx,0ffh;ffh

ccc: loop ccc

pop cx

ret

DELAY ENDP

;---------------------------------------------------------------------

a2: MOV AH,4CH ;返回

INT 21H

CODE ENDS

END START

;----------------------------------------------------------

针对上述程序的标记地方进行相应的修改

BUFF DB 00h,00h,38h,28fh,0ffh,28h,38h,00h ;红色字体显示段,显示“中”字样BUFF1 DB 00h,32h,32h,0feh,02h,02h,02h,00h ;黄色字体显示段,显示“上”字样

程序显示红色字的内容为buff内容,显示字如下图所示

程序显示黄色字的内容为buff1内容,显示字如下图所示

(换成你们做实验的图)

七、实验总结

教师签名

年月日

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

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: 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,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

微机综合设计实验报告

微机接口实验报告 学院:计算机与通信工程学院专业:计算机科学与技术 班级: 学号: 姓名: 综合设计实验

带分频的AD转换 实现功能: 利用8254实现分频功能,再利用AD0809实现数模转换功能。 设计思路: 首先利用8254芯片的计时功能,将CLK0端输入的1MHz的脉冲信号分频为0.1MHz的脉冲,并且从OUT0端输出,然后将输出的脉冲信号作为AD0809数模转换单元的输入信号,从而实现8254的分频功能和AD0809的数模转换功能。 设计接线图: 实验代码: (加粗为分频部分代码,未加粗为AD转换部分代码) IO8254_MODE EQU 283H ;8254控制寄存器端口地址 IO8254_COUNT0 EQU 280H ;8254计数器0端口地址 IO0809 EQU 298H ;AD0809DE STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DX, IO8254_MODE ;初始化8254工作方式 MOV AL,37H ;计数器0,方式3 00110111 OUT DX,AL MOV DX,IO8254_COUNT0 ;装入计数初值 MOV AX,000AH ;10D=0AH(可以自己设计分频倍数或者利用多个计数器实现更大倍数的分频) MOV AL,03H

OUT DX,AL MOV AL,AH OUT DX,AL MOV DX, IO0809 ;启动A/D转换器 OUT DX, AL MOV CX, 0FFH ;延时 DELAY: LOOP DELAY IN AL, DX ;从A/D转换器输入数据 MOV BL,AL ;将AL保存到BL MOV CL, 4 SHR AL, CL ;将AL右移四位 CALL DISP ;调显示子程序显示其高四位 MOV AL, BL AND AL, 0FH CALL DISP ;调显示子程序显示其低四位 MOV AH, 02 MOV DL, 20H ;加回车符 INT 21H MOV DL, 20H INT 21H PUSH DX MOV DL, 0FFH ;判断是否有键按下 MOV AH, 06H INT 21H POP DX JE START ;若没有转START MOV AH, 4CH ;退出 INT 21H DISP PROC NEAR ;显示子程序 MOV DL, AL CMP DL, 9 ;比较DL是否>9 JLE DDD ;若不大于则为'0'-'9',加30h为其ASCII码 ADD DL, 7 ;否则为'A'-'F',再加7 DDD: ADD DL,30H ;显示 MOV AH, 02 INT 21H RET DISP ENDP CODE ENDS END START

微机原理简单输入输出实验报告

东南大学 《微机实验及课程设计》 实验报告 实验四(1)简单输入输出 一. 实验目的与内容 (一)实验目的 1)进一步掌握TPC实验装置的基本原理和组成结构; 2)掌握利用I/O指令单步调试检查硬件接口功能,学会利用示波器检测I/O指令执行时总线情况; 3)掌握简单并行输入输出接口的工作原理及使用方法,进一步熟悉掌握输入输出单元的功能

和使用。 (二)实验内容及要求 1、输出接口输出,根据8个发光二极管发光的情况验证编程从键盘输入一个字符或数字,将其ASCII码通过正确性。(输出端口实验必做) 2、用逻辑电平开关预置某个字母的ASCII码,编程输入这个ASCII码,并将其对应字母在屏幕上显示出来。(输入端口实验必做) 3、利用基本实验(1)中的输出锁存电路,设计L0~L7为流水灯,流水间隔时间由软件产生。(输出端口实验) 4、利用基本实验(2)中的输入电路,监测逻辑电平开关K0~K7的变换,当开关状态为全开时,在屏幕上显示提示信息并结束程序。(输入端口实验) 要求: 1、输入输出端口应该可以响应外设的连续变化。 2、输出按ESC键退出;输入按任意键退出。 3、内容3、4比做一题,选做一题 二. 实验基本原理 (一)基本原理 简单并行输出实验:八D触发器74LS273的八个输入端接数据总线D0~D7,从键盘输入一个字符或数字,通过2A8H~输出接口输出该字符或者数字代表的ASCII码,再通过8个发光二极管发光显示二进制数码,从而验证编程以及电路的正确性。 简单并行输入实验:八缓冲器74LS244的八个输出端接数据总线D0~D7,8个输入端分别接逻辑电平开关K0~K7,在逻辑电平开关上预置任意字符的ASCII码,编程将此ASCII码通过2A0H~输入,ASCII码对应字符显示在屏幕上,从而验证编程及电路的正确性。 (二)实验接线图

计算机操作系统综合设计实验报告实验一

计算机操作系统综合设计 实验一 实验名称:进程创建模拟实现 实验类型:验证型 实验环境: win7 vc++6.0 指导老师: 专业班级: 姓名: 学号: 联系电话: 实验地点:东六E507 实验日期:2017 年 10 月 10 日 实验报告日期:2017 年 10 月 10 日 实验成绩:

一、实验目的 1)理解进程创建相关理论; 2)掌握进程创建方法; 3)掌握进程相关数据结构。 二、实验内容 windows 7 Visual C++ 6.0 三、实验步骤 1、实验内容 1)输入给定代码; 2)进行功能测试并得出正确结果。 2、实验步骤 1)输入代码 A、打开 Visual C++ 6.0 ; B、新建 c++ 文件,创建basic.h 头文件,并且创建 main.cpp 2)进行功能测试并得出正确结果 A 、编译、运行main.cpp B、输入测试数据 创建10个进程;创建进程树中4层以上的数型结构 结构如图所示:。

createpc 创建进程命令。 参数: 1 pid(进程id)、 2 ppid(父进程id)、3 prio(优先级)。 示例:createpc(2,1,2) 。创建一个进程,其进程号为2,父进程号为1,优先级为2 3)输入创建进程代码及运行截图 4)显示创建的进程

3、画出createpc函数程序流程图 分析createpc函数的代码,画出如下流程图:

四、实验总结 1、实验思考 (1)进程创建的核心内容是什么? 答: 1)申请空白PCB 2)为新进程分配资源 3)初始化进程控制块 4)将新进程插入到就绪队列 (2)该设计和实际的操作系统进程创建相比,缺少了哪些步骤? 答:只是模拟的创建,并没有分配资源 2、个人总结 通过这次课程设计,加深了对操作系统的认识,了解了操作系统中进程创建的过程,对进程创建有了深入的了解,并能够用高 级语言进行模拟演示。一分耕耘,一分收获,这次的课程设计让 我受益匪浅。虽然自己所做的很少也不够完善,但毕竟也是努 力的结果。另外,使我体会最深的是:任何一门知识的掌握, 仅靠学习理论知识是远远不够的,要与实际动手操作相结合才能 达到功效。

微机硬件课程设计实验报告

目录 一、基础实验部分 (1) 实验1 存储器读写实验 (1) 实验2 简单I/O口扩展实验 (3) 实验3 8255并行口实验 (4) 实验4 8253定时器/计数器接口实验 (5) 实验5 8259中断控制器实验 (7) 二、综合设计实验部分 (12)

一、基础实验部分 实验1 存储器读写实验 一、实验设备 微机实验箱、8086CPU模块。 二、实验要求 学会用使用工具软件,掌握用单步执行和断点方式运行程序,观察寄存器和内存中的数据变化等程序调试的手段。 三、实验步骤 1、实验接线:本实验无需接线。 2、编写调试程序。 3、运行实验程序,可采取单步、设置断点方式,打开内存窗口可看到内存区的变化。 四、思考题 1、①单步执行到“intram”标号的语句时,ds寄存器的数据是什么?②采用断点方式运行时执行到第一个断点处,2000H~202FH内存单元的数据是什么?③执行到第二个断点处,2000H~200FH内存单元的数据是什么?④并根据观察结果和对源程序的判读简述源程序的运行效果。 答:①ds寄存器的数据是0100H。 ②2000H~202FH内存单元的数据全是00。 ③2000H~200FH内存单元的数据是AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55。 ④源程序的运行效果是在第一个间断点处可以把数据清零,在第二个间断点处即 可完成赋值。

2、修改程序,实现从2000H 到200FH 单元依次赋值00H~0FH 的功能。 答:程序如下 code segment assume cs:code org 0100h start: mov ax,0100h mov ds,ax ;数据段地址 mov es,ax mov si,1000h ;偏移地址 mov cx,0010h ;循环次数 mov al,0 ;将al 清零 intram: mov [si],al inc si ;将偏移地址+1 inc al ;将al 的值+1 loop intram nop ;设置断点处 jmp start code ends end start 五、出现的问题及解决过程 序号 出现的问题 原因 解决过程 1 不能得到内存单元的运 行结果 未在程序中设置断点 在程序中设置正确断点 2 2000H 到200FH 单元得不 到00H~0FH 设置的循环次数不对 mov cx,0016h 将循环次数改为 mov cx,0010h

微机课设实验报告

微机课程设计 数字温度计实验报告

一、题目: 上位机:完成界面设计与通讯程序 1、能够显示两个温度值,温度精度0.5度,当超出报警温度阈值时,温度 值后又提示字幕。 2、能够设定报警温度阈值 3、每隔一秒将温度值保存至文件存档。当超出报警温度阈值时,温度值后 面有提示。 4、可以对串口进行设置。 下位机:完成电路设计与控制程序 1、用两个DS18B20测温。 2、通过串口与上位机通信,并传输温度值,接受阈值设置。 3、当超出报警温度阈值时,有相应指示灯提示。 4、将当前温度显示LCD1602液晶屏上,当超出报警温度阈值时,温度值后 有提示。 二、原理 DS18B20是DALLS公司推出的“1—wire”接口的数字温度传感器,可以直接将温度转换为9~12串行信号供单片机处理。由于这种传感器只有一个IO口,是单总线串行接口,单片机可以利用串行通信将数据读出并按照LCD 的协议显示在1602液晶屏上。同时,通过PC机与单片机之间的串行通信,可以用PC机控制温度的警戒值以及记录不同时间测量的温度。 三、原理图 图3.1 LCD、18B20以及串口与单片机最小系统连接图

图3.2电源模块 四、流程图 1、上位机流程图 图4.1.1发送数据流程图图4.1.2 接受数据流程图

2、下位机流程图 图4.2.2读出温度子程序流程图 图4.2.1总流程图 图4.2.4计算温度子程序流程图

图4.2.3 温度转换流程图 图4.2.6温度值显示在LCD1602上 图4.2.5 显示数据刷新子程序 五、源程序 1、上位机程序:见附录1; 2、下位机程序:见附录2; 3、实验结果显示(上位机):见附录3。

微机原理-循环设计实验报告(免费)

一、实验目的 1、掌握循环程序的设计方法。 2、掌握比较指令、转移指令和循环指令的使用方法。 3、进一步掌握调试工具的使用方法。 二、实验预习要求 1、复习比较指令、条件转移指令和循环指令。 2、复习循环程序的结构、循环控制方法等知识。 3、读懂“实验内容”中给出的将十进制数转换为二进制数以及将二进制数转换为十进制数的程序。 4、根据“实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。 5、从“实验习题”中任选一道题目,编写源程序,以便上机调试。 三、实验内容 计算1+2+……n=?,其中n通过键盘输入。要求在屏幕上提供如下信息:Please input a number(1 627): ;出现此信息后通过键盘输入一个小于628的无符号整数 1+2+…..n=sum ;其中n为用户输入的数,sum为所求的累加和程序运行情况如下图所示(说明:图中所运行程序允许累加和不大于一个32 位二进制数所能表 示的范围)。 1、编程指导 (1)键盘输入的 十进制数如 368在计算机 中是以33H, 36H,38H形式 存放的,如何 将它们转换为一个二进制数101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题。将键盘输入的十进制数转换为二进制数的程序清单如下: DATA SEGMENT INF1 DB "Please input a number (0-65535):$" IBUF DB 7,0,6 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV DX, OFFSET INF1 MOV AH, 09H INT 21H MOV DX, OFFSET IBUF ;键入一个十进制数(<65535)

微机原理课程设计报告

— 微机原理 课程设计报告 ——电子表程序设计 ^ 。

(一)设计任务: 用汇编语言设计一电子表程序,要求: ! (1)实现秒、分、时的计时,并显示于屏幕中央 (2)能够校时 (3)能够半点、整点报时 (二)设计原理 该程序主要由三部分构成:时间设置、延时程序和时钟显示。 (1)时间设置 … ①输入初始时间 先调用DOS操作系统模块2,在显示屏上显示‘:’,再调用DOS操作系统模块10,提示输入初始时间。由键盘输入的时间以字符串形式存放在已定义的存储器缓冲区内,继而调用TRAN1转换子程序和MUL10乘10子程序,将存放在存储器缓冲区内的ASCII字符转换为压缩BCD码,并将时、分、秒的值放置在寄存器CH、DH、DL中。 ②暂停计时 按Pause Break键即可暂停计时,再按下任意键恢复计时 ③重新输入时间 在程序运行时,可按下Esc键重新输入初始时间,此时程序检测到Esc(ASCII码为1BH)被按下,返回①步提示重新输入时间。 以上两步可实现校时的功能。

④半点、整点报时 《 程序运行时,分钟值每次改变都需要与30、60比较,若相等,则调用DOS操作系统模块7使计算机响铃并在时间后显示‘ ------’。同时若分、秒值为60则需进位,时为24时进位,保证时钟程序的正确性。 (2)延时程序 计算机在执行指令时,各种操作都按指令执行,但在像程序控制器那样由计算机发出指令控制外部设备是,由于外部设备所具有的机械惯性或其他原因,需要在计算机发出指令后有规律地延迟或等待一段时间。这类延时,可以用硬件延时来完成,单用软件来实现也是一种方便和常用的方法。 计算机执行每一条指令,虽然很快,但还是需要一段时间的。因此从理论上讲,可在程序中加一些与程序无关的指令去完成,要计算指令执行的时间,又不能过多的为了延时而增加编制程序的工作量。因此,编制延时程序,应尽量采用较少的指令,节约存储器,并且不能对主程序造成影响。 每条指令执行时间的长短,是以计算机的时钟周期为基本单位的。当CPU采用的时钟频率一定时,时钟周期也为定值。因此可根据时钟周期的多少来计算执行指令所需的时间。完成本设计任务使用的计算机采用Intel Pentium 4处理器,主频为,时钟周期约为。 通过时间约1s的长延时累加,并以时、分、秒的形式显示出来,就可以编写出一个时钟程序。 (3)时钟显示 … ①设置光标位置子程序IOSET

微机原理实验报告

汇编语言程序设计实验 一、实验内容 1.学习并掌握IDE86集成开发环境的使用,包括编辑、编译、链接、 调试与运行等步骤。 2.参考书例4-8,P165 (第3版161页)以单步形式观察程序的 执行过程。 3.修改该程序,求出10个数中的最大值和最小值。以单步形式观 察,如何求出最大值、最小值。 4.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态。 二、实验目的 1.学习并掌握IDE86集成开发环境的使用 2.熟悉汇编语言的基本算法,并实际操作 3.学会利用IDE86进行debug的步骤 三、实验方法 1.求出10个数中的最大值和最小值 (1)设计思路:利用冒泡法,先对数据段的10个数字的前2个比 较,把二者中大的交换放后面。在对第二个和第三个数比较,把 二者中较大的交换放后面,依此类推直到第十个数字。这样第十 位数就是10个数里面最大的。然后选出剩下9个数字里面最大 的,还是从头开始这么做,直到第九个数字。以此类推直到第一 个数字。

(2)流程图 2.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态

(1)设计思路:结果存放在sum里面,加数是i(初始为1),进行 100次循环,sum=sum+I,每次循环对i加1. (2)流程图: 四、 1.求出10个数中的最大值和最小值

DSEG SEGMENT NUM DB -1,-4,0,1,-2,5,-6,10,4,0 ;待比较数字 DSEG ENDS CODE SEGMENT ASSUME DS:DSEG,CS:CODE START:MOV AX,DSEG MOV DS,AX LEA SI,NUM MOV DX,SI MOV CL,9 ;大循环计数寄存器初始化 NEXT1:MOV BL,CL ;大循环开始,小循环计数器初始化MOV SI,DX NEXT2:MOV AL,[SI+1] CMP [SI],AL ;比较 JGGONE ;如果后面大于前面跳到小循环末尾CHANGE:MOV AH,[SI] ;交换 MOV [SI+1],AH MOV [SI],AL JMP GONE GONE:add SI,1 DEC BL JNZ NEXT2

微机原理课程设计报告

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

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (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点阵显示器件一片。

微机课程设计电梯控制器

《微机实验及课程设计》 课程设计报告 FBI Warning: 汇编代码是好几届之前的一个学姐的,我只是修改了一下.修改后完美运行报告是我自己写的 不需要注明出处,就说是你写的

目录 一.课程设计目的与要求 (2) 二.方案论证与原理设计 (3) 三.详细(机理)设计 (3) 四.方案实现与测试(或调试) (6) 五.分析与总结 (7) 一. 课程设计目的与要求 设计目的:

微机课程综合设计用于检验和提高学生在原理与接口综合应用方面分析问题与解决问题的能力,同时也给学生提供更多、更好的训练机会,课程给出了10 道微机硬件应用综合测试题。为完成每道测试题,至少需要选用TPC 微机实验装置中三部分以上的硬件电路(还需将它们有机组合起来)并编制相应的应用。 通过试验还能够让学生更好的了解所学知识在实际控制中的运用,增加对本专业的认识和学习兴趣。 设计要求: 1)设计基本要求 用键盘、按钮、八段码和LED 模拟电梯工作过程。楼层设为8 层,键盘数字键1~8 用来键入希望停的楼层,8 个LED 显示希望停的楼层,2 位八段码指示电梯当前所在楼层,按钮用来启、停电梯。电梯正常运行时以每2 秒1层的速度上升或下降。要求“电梯”能按以下方式运行: (1)设当前电梯停在某层(2 位八段码显示相应楼层,8 个LED 全灭)。键入1~8 数字键,如键入的数字与当前电梯停层同,则什么亦不动作,若不同则相应楼层的LED 亮;如再按运行键,则电梯自动判别上升或下降(在运行过程中八段码显示楼层变化)一直到达希望停的楼层(八段码显示该楼层,相应LED 灭); (2)设当前电梯正在上升或下降运行(此时八段码显示楼层变化,LED 指示希望抵达的楼层),若键入新的希望停的楼层数字(相应的LED 亮),则对同方向(上升或下降)未到的楼层能停,对其它情况则先停原希望停的楼层,然后按运行键后继续运行)。如下几例: ①设电梯当前在2 层,向上运行,LED 指示希望在6 层停,此时若键入4,则电梯将在4 楼停,若再按运行键,则继续运行至6 层停; ②同上情况,若键入的不是4 而是8,则电梯将先停在6 层,再按运行键,运行至8 层停; ③同上情况,若键入的不是4(或8),而是1,则电梯先停在6 层,再按运行键,运行至1层停。 2)进一步设计要求 除运行按钮外,再设计几个按钮,模拟更多的电梯运行功能,如: ①同步在8*8 点阵显示器显示上升与下降箭头,当停止时显示当前所在楼层号. ②直达按钮。若按此按钮,电梯按直达方式运行,即对运行期间新键入的停靠楼层(即使是同方向未到 楼层)亦不停,直达终点楼层; ③急停按钮。电梯运行中,若按此按钮,则电梯立即停在下一到达的楼层; ○4断电待修按钮。按下该钮电梯不能工作,再按一下才能重新工作; ○5设置急停开关(K0-K7 至一),引入中断处理,立即响应,就近停靠; 分工情况:

微机控制技术实验报告

《微机控制技术》课程设计报告 课题:最少拍控制算法研究专业班级:自动化1401 姓名: 学号: 指导老师:朱琳琳 2017年5月21日

目录 1. 实验目的 (3) 2. 控制任务及要求 (3) 3. 控制算法理论分析 (3) 4. 硬件设计 (5) 5. 软件设计 (5) 无纹波 (5) 有纹波 (7) 6. 结果分析 (9) 7. 课程设计体会 (10)

1.实验目的 本次课程设计的目的是让同学们掌握微型计算机控制系统设计的一般步骤,掌握系统总体控制方案的设计方法、控制算法的设计、硬件设计的方法。学习并熟悉最少拍控制器的设计和算法;研究最少拍控制系统输出采样点间纹波的形成;熟悉最少拍无纹波控制系统控制器的设计和实现方法。复习单片机及其他控制器在实际生活中的应用,进一步加深对专业知识的认识和理解,使自己的设计水平、对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。 2.控制任务及要求 1.设计并实现具有一个积分环节的二阶系统的最少拍有纹波控制和无纹波控制。 对象特性G (s )= 采用零阶保持器H 0(s ),采样周期T =,试设计单位阶跃,单位速度输入时的有限拍调节器。 2.用Protel 、Altium Designer 等软件绘制原理图。 3.分别编写有纹波控制的算法程序和无纹波控制的算法程序。 4.绘制最少拍有纹波、无纹波控制时系统输出响应曲线,并分析。 3.控制算法理论分析 在离散控制系统中,通常把一个采样周期称作一拍。最少拍系统,也称为最小调整时间系统或最快响应系统。它是指系统对应于典型的输入具有最快的响应速度,被控量能经过最少采样周期达到设定值,且稳态误差为定值。显然,这样对系统的闭环脉冲传递函数)(z φ提出了较为苛刻的要求,即其极点应位于Z 平面的坐标原点处。 1最少拍控制算法 计算机控制系统的方框图为: 图7-1 最少拍计算机控制原理方框图 根据上述方框图可知,有限拍系统的闭环脉冲传递函数为: ) ()(1)()()()()(z HG z D z HG z D z R z C z +==φ (1) )(1)()(11)()()(1z z HG z D z R z E z e φφ-=+== (2) 由(1) 、(2)解得:

微机8086课程设计实验报告 网工1502

课程设计说明书 课程名称:《微机原理及接口技术》课程设计 设计题目:定时与计数:利用8253控制扬声器发声,播放一段音乐班级:网络工程1502 姓名:潘万丁 开始时间:_2018_____年_01___月_15___日 完成时间:_2018_____年_01___月_19___日 成绩评定 指导教师签名: ___年__月__日

目录 摘要 随着科技的高速发展,计算机已经经过了好几代的更新,然而计算机的运行的基本原理依然没有改变的。而今,我们通过一个学期的学习,已经初步了解了计算机的基本结构和原理,并且已经学会了用汇编语言进行基本的程序编写。 一、概述 汇编语言是计算机能够提供给用户使用的最快而有效的语言,也是能够利用计算机所有特性并能直接控制硬件的唯一语言。借助于汇编程序,计算机本身可以自动地把汇编源程序翻译成用机器语言表示的目的程序,从而实现了程序设计工作的部分自动化。而本次课程设计的主要目的就是巩固所学过的知识,用汇编语言熟练地运用三大结构,进一步掌握一些指令的功能、掌握子程序的定义及调用和INT 21H、INT10H中断的使用,同时熟练运用通用寄存器和堆栈来进行编写一个完整的具有某种特定功能的程序。 二、方案设计 1.功能分析 在此次设计中,第一个重点就是音乐播放的控制,要想能按照正常的频率和节拍播放出音乐,就需要合理的设计出给蜂鸣器的频率值和播放的时间。这样就能比较准确的把音乐按一定的节奏播放出来。如果我们要想加快播放速度,我们可以改变每一节拍的播放时间,如果我们改变了播放的频率值,那么歌曲也就相应的改变了。 我们根据上面的功能分析,同时通过查阅相关资料,了解了计算机的内部结构的同时还清楚的理解了DOS中的21H和10H中断的调用,因此我们设计出如下方案: (1)音乐的代码化 我们首先收集了一首简单的歌曲《两只老虎》,同时还带有相应的音谱,通过查阅相关的音乐资料,了解了节拍的概念和各音符所对应的频率,而后我们把每一首歌曲都转化成两个数据段,一个是把各个音符翻译成相应的频率值,第二是把相应的节拍转化成对应的时间值,来控制播放每一个音符所对应的时间。这样我们在播放歌曲时,同时调用频率值和时间值就可以把相应的歌曲播放出来了。(2)音乐演奏的硬件配合 我们了解到在计算机的主板上有8253、8255和蜂鸣器,同时了解到蜂鸣器的驱动是通过8255和8253共同控制的,我们通过对8253的通道2进行写数据来控制蜂鸣器的声音频率,再通过8255来控制播放时间的长短,就通过这样的巧妙配合来达到播放完整音乐的效果。 (3)音乐演奏的软件设计 软件设计是本设计的重点,在软件设计中,我们要给8253和8255写数据,执行相应的代码来控制音乐的播放。 三、软件设计

微机原理课程设计

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

一、设计题目及要求: 利用8259A中断,实现对8253多种计数初值的设定: 1.在中断服务程序中设定8253的计数初值。 2.开关K1用于设定秒方波的计数初值,K2用于设定1秒方波的计数初值,K3用于设定2秒方波的计数初值。 3.用8253的输出信号,控制一个发光二极管,以演示修改效果。 二、设计思想: 整体设计: ①利用8259A芯片设定IR1、IR2、IR3三个中断,分别用三个开关的高低电平触发中断。 ②在三个终端的中断服务子程序里面为8253芯片通道0设定不同频率的方波计数初值,使得在触发不同中断时8253芯片产生周期为秒、1,秒、2秒的方波。③将8253的输出端口与发光二极管连接,通过二极管的亮灭显示出8253内部方波的频率。 部分设计: ①8253芯片方式3初值确定:根据分频电路T(n)=T/2*公式以及、1s、2s方波的频率计算出初值分别为2580H、4B00H、9600H。 ②8253芯片和8259芯片的片选方法:设定8259A和8253芯片的端口号分别为0FFE0H 、0FFE1H,以及0FFFCH—0FFFFH,使得在连接138译码器时,A连A2,B连A3,C连A4,T0连接8259A芯片的CS端,T7连接8253芯片的CS端。 ③8259A中断向量表写入以及芯片初始化:根据8259A各个中断在中断向量表中的地址,将IR0、IR1、IR2的中断服务程序入口地址写入向量表中;ICW4设定除中断0、1、2外其他位屏蔽。 ④手动设置中断结束:为了不影响各个中断之间的交替响应,在每个中断服务程序结束之前写入中断结束方式,将20H输出到8259端口,将当前中断结束响应后再响应下一个中断。 三、功能流程图: 结果讨论: 附录:实验代码:(完整的源程序) CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3400H Port0 EQU 0FFE0H ;8259芯片的端口号 Port1 EQU 0FFE1H START: CALL F8259

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

微机系统课程设计实验报告---交通信号灯自动控制模拟指示系统[13页].docx

微机系统课程设计实验报告

课题:交通信号灯自动控制模拟指示系统 一、课程设计目的 1.掌握CPU与各芯片管脚连接方法,提高借口扩展硬件电路 的连接能力。 2.加深对定时器、计数器和并行借口芯片的工作方式和编程 方法的理解。 3.掌握交通信号灯自动控制系统的设计思路和实现方法。 二、课程设计内容 设计并实现十字路口通信号自动控制模拟指示系统。设该路口由A、B两条通行相交而成,四个路口各设一组红、黄、绿三色信号灯,用两位数码管作倒计时显示。 三、应用系统设计方案 交通信号灯的亮灭时间及数码管显示时间可以通过8253来控制,8253的时钟源采用时钟信号发生器与分频电路提供,通过计算获得计数初值为1000。按照需要设定工作在方式3. 交通信号灯及数码管可以采用系统提供的相应模块,控制可以通过8255可编程并行借口,PA口控制红黄绿交通灯的亮灭,PB口和PC口控制时间显示数码管的段和位。PC0作为OUT1的输入。

四、系统测试结果 1.基本功能实现 (1)以秒为计时单位,两位数码管以十进制递减计数显示通行剩余时间,在递减计数为零瞬间转换。即南 北的绿灯、东西的红灯同时亮30秒,同时南北路口 数码管递减显示绿灯剩余时间;为0时,南北的黄 灯闪烁5秒钟,同时东西的红灯继续亮;南北的红 灯、东西的绿灯同时亮30秒,同时东西路口数码管 递减显示绿灯剩余时间;为0时,南北红灯继续亮, 同时东西的黄灯闪烁5秒;若不结束,则开始循环。 (2)通过键盘可以对红、黄、绿三色信号灯所亮时间再0~99内任意设定。 (3)十字路口的通行气势状态可自行设定,系统启动后自动运行,按“Q”退出。 2、发挥部分实现 (1)增加人工干预模式,在特殊情况下可通过人工干预,手动控制A、B交通灯的切换时间,并可以随时切 换为自动运行模式。 (2)增加夜间控制功能,交通灯在进入夜间模式后,A、B干道上红、绿灯均不亮,黄灯信号灯闪烁。 (3)增加红灯倒计时显示。

微机原理程序设计练习 实验报告

程序设计练习实验报告 一、实验目的 1.熟练掌握汇编语言程序设计的方法及上机步骤。 2.掌握算术运算中,十进制数调整指令的应用。 3.掌握子程序的设计方法。 4.掌握DOS功能的调用方法。 二、实验仪器 586微机 1台 三、实验内容 有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。 编程要求及提示: [1] 参加排序的数据及个数由学生自己定义。 [2] 要将排序前的数组和排序后的数组在屏幕上显示出来。 [3] 实验步骤同内容一。 四、实验源程序 N=20 STACK SEGMENT STACK'STACK' DW 100H DUP(?) TOP LABEL WORD STACK ENDS DATA SEGMENT DATABUF DW N

DB N DUP(?) ORIGINAL DB 13,10,13,10,':$' ORDERED DB 13,10,13,10,':$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX LEA SP,TOP ;随机数据 MOV CX,DATABUF LEA SI,DATABUF+2 MOV BL,18 MOV AL,13 L: MOV [SI],AL INC SI ADD AL,BL LOOP L LEA DX,ORIGINAL MOV AH,9 INT 21H CALL DISPAL ;下面给数据排序程序

物联网传输综合课程设计实验报告 人体红外数据通信实验

物联网传输综合课程设计实验报告 人体红外数据通信实验 一、实验目的 1. 了解基于Z-Stack 协议栈的SappWsn 应用程序框架的工作机制 2. 掌握在ZigBee 协议栈中添加人体红外传感器驱动的方法。 二、实验设备 1. 装有IAR 开发工具的PC 机一台 2. 下载器一个 3. 物联网多网技术开发设计平台一套 三、实验原理 在Z-Stack APP中的HAL\Target\CC2530EB\Includes组中,提供了一个hal_io.h的文件,如图所示。 其中,提供了名为HalIOSetInput 的函数,可以将燃气传感器端口(P1.0)设置为输入,然后通过调用HalIOGetLevel 函数来获取传感器状态。 四、实验步骤 1、将单片机zigbee协调器拆卸下来,取出烧写器。通过Mini USB接口将zigbee 协调器与下载器和PC机相连。

2、将实验箱控制方式切换开关拨至“手动”一侧,转动实验箱“旋钮节点选择”旋钮,使得协调器旁边的LED灯被点亮 3、打开配套代码中的ZStack-CC2530\Projects\SappWsn\SappWsn.eww工程文件,在“Tools”组中,找到“f8wConfig.cfg”文件,双击打开,并找到大概第59 行的“-DZAPP_CONFIG_PAN_ID=0xFFFF”,将其中的“0xFFFF”修改为其他值,例如0x0010

4、在工程目录结构树上方的下拉列表中,选择“CoordinatorEB”,点击工具栏中的“Make”按钮,编译工程,等待工程编译完成,如看到警告,可以忽略。在工程目录结构树中的工程名称上点击鼠标右键,选择“Options”,并在弹出的对话框中选择左侧的“Debugger”,并在右侧的“Driver”列表中选择“Texas Instruments”,点击“Download and Debug”按钮。待程序下载完毕后,点击“Go”按钮,使程序开始运行。点击工具栏中的“Stop Debugging”,退出调试模式, 5、转动实验箱“旋钮节点选择”旋钮,使得热释红外传感器节点旁边的LED灯被点亮,在工程目录结构树上方的下拉列表中,选择“EndDeviceEB”,在“SAPP_Device.h”文件中,取消“HAS_IRPERS”的注释,并保证其他的功能均被注释,如图所示

微机原理课程设计总结

微机原理课程设计 数据采集系统(中断法)

一、课设目的:进一步掌握微机原理知识,了解微机在实时采集数 据的应用,学习掌握编程和程序调试的方法。 二、课设内容和要求:用中断法将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

相关文档
相关文档 最新文档