当前位置:文档之家› 微机原理LED 显示大作业实验报告

微机原理LED 显示大作业实验报告

微机原理LED 显示大作业实验报告
微机原理LED 显示大作业实验报告

杭州电子科技大学实验报告

课程名称:计算机原理与接口技术

实验序号: 1

实验名称:LED 显示

姓名:

学号:

班级:

专业:

指导教师:

实验日期:

一、项目内容

LED显示,1、2、3、4、5、6、7、8巡回显示。

二、原理图

三、程序设计

要使LED显示器显示出相应的字符,必须使段数据口输出相应的字形编码。字形编码与硬件电路连接形式有关。如果段数据口的的低位与a相连,高位与dp 相连,七段LED字形码是按格式

形成的,假若要显示数字3,共阴LED字形编码为4FH,共阳LED字形编码为B0H。反之,如果段数据口的高位与a相连、低位与dp相连,七段LED字形码的格式是

数字3的字形码为0F2H(共阴)或0DH(共阳)。

显示器的亮度与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高且较稳定的显示。若显示器的位数不大于8位,则控制显示器公共极电位只需8位口,控制各位显示器所显示的字形也需一个8位口。

8255的A口扫描输出总是只有一位为高电平,即8位显示器中仅有一位公共阴极为低电平,其他位为高电位,8255的B口输出相应位的显示数据。设8255A 占用的端口地址位208H-20BH,要进行显示的数据存储在BUF以下连续的存储单元,且按任意键程序结束。

四、程序代码

五、运行结果

显示“1”

显示“2”

显示“3”

显示“4”

显示“5”

显示“6”

显示“7”

显示“8”

六、项目心得

这次LED数码管巡回显示的实验,总体来说进展顺利,得到了预期的结果。但在实验中遇到的主要问题是:8086微处理器的指令有很多,有的时候总是把它们记混。如果是自己单独写程序,总会写不对,计算机也运行不了。唯一的解决办法就是看教材上的程序进行模仿编写,但是自己的编程能力没有得到有效的提高。虽然如此,但这次实验加深了我对PROTEUS软件的认识,锻炼了我画电路图、阅读编写程序的基本能力。

微机原理作业

微机原理作 业 第一章 1.135.625 3.376.125 1.1A 把下列十进制数转换为二进制,十六进制和BCD 数; 1.1B 要求同上,要转换的十进制数如下; 1.67.375 2.936.5 1.2A 268.875 4.218.0625 写下列十进制数的原码,反码和补码表示(用8 位二进制); 1.+65 2.-115 1.2B 3.-65 要求同题 1.2A 数据如下; 4.-115 1.+33 2.+127 1.3A 3.-33 4.-127 用16 位二进制,写出下列十进制数的原码,反码,和补码表示; 1.+62 2.-62 3.+253 4.-253 1.4A 5.+615 6.-615 写出下列用补码表示的二进制数的真直; 1.01101110 2.01011001 1.4B 3.10001101 要求同题 1.4A 数据如下; 4.11111001 1.01110001 3.10000101 2.00011011 4.11111110 2.548.75 4.254.25

汇编语言程序设计 题 3.1A 在下列程序运行后,给相应的寄存器及存储单元填入运行的结果: 题3.2,如在自1000H 单元开始有一个 100个数的数据块。要把它传送到自 储区中去,用以下三种方法,分别编制程序; 1 ;不用数据块转送指令; 2;用单个转送的数据块转送指令; 3;用数据块成组转送指令; 题3.3A 利用变址寄存器遍一个程序,把自 1000H 单元内开始的100个数转送到自1070H 开 始的存储区中去, 题3.3B 要求用3.3A ,源地址为2050H ,目的地址为2000H ,数据块长度为50, 题3.4 编一个程序,把自 1000H 单元开始的100个数转送至1050H 开始的存储区中(注意 数据区有重叠)。 题3.5A 在自0500H 单元开始,存有100个数。要求把它传送到 1000H 开始的存储区中,但 在传送过程中要检查数的值,遇到第一个零就停止传送。 题3.5B 条件同题3.5A ,但在传送过程中检查数的值,零不传送,不是零则传送至目的区。 第三章 MOV AL ,10H MOV byte PTR [1000],0FFH MOV CX ,1000H MOV BX ,2000H MOV [BX],AL XCHG CX ,BX MOV DH ,[BX] MOV DL ,01H XCHG CX ,BX MOV [BX],DL HLT 题 3.1B 要求同题3.1A 程序如下; MOV AL , 50H MOV BP , 1000H MOV BX ,2000H MOV [BP],AL MOV DH ,20H MOV [BX],DH MOV DL ,01H MOV DL ,[BX] MOV CX ,3000H 2000H 开始的存 HLT 1000H 2000H

西电微机原理大作业

科目:微机原理与系统设计授课老师:李明、何学辉 学院:电子工程学院 专业:电子信息工程 学生姓名: 学号:

微机原理硬件设计综合作业 基于8086最小方式系统总线完成电路设计及编程: 1、扩展16K字节的ROM存储器,起始地址为:0x10000; Intel 2764的存储容量为8KB,因此用两片Intel 2764构成连续的RAM存储区域的总容量为2 8KB=16KB=04000H,鉴于起始地址为10000H,故最高地址为 10000H+04000H-1=13FFFH 电路如图

2、扩展16K 字节的RAM 存储器,起始地址为:0xF0000; Intel 6264的存储容量为8KB ,因此用两片Intel 6264构成连续的RAM 存储区域的总容量为2 8KB=16KB=04000H ,鉴于起始地址为F0000H ,故最高地址为 F0000H+04000H-1=F3FFFH 片内地址总线有13根,接地址总线的131~A A ,0A 和BHE 用于区分奇偶片,用74LS155作译码电路,如图所示 3、设计一片8259中断控制器,端口地址分别为:0x300,0x302; 鉴于端口地址分别是300H 和302H ,可将82590A 接到80861A ,其他作译码。电路如图:

4、设计一片8253定时控制器,端口地址分别为:0x320,0x322,x324,0x326; 根据端口地址可知,825301,A A 应该分别接到8086的12,A A ,其余参与译码。电路如图:

5、设计一片8255并行接口,端口地址分别为:0x221,0x223,x225,0x227; 由于端口地址为奇地址,8086数据总线应该接158~D D ,且BHE 参与译码。根据端口地址可得825501,A A 应该分别接到8086的12,A A ,其余参与译码。电路如图:

微机原理课后作业答案第五版

第一章 6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原 [-42]反 [-42]补 [+85]原=01010101B=[+85]反=[+85]补 [-85]原 [-85]反 [-85]补 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1) 1200:3500H=1200H×16+3500H=15500H (2) FF00:0458H=FF00H×16+0458H=FF458H (3) 3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址 1200H×16=12000H,结束地址 1200H×16+FFFFH=21FFFH (2)段起始地址 3F05H×16=3F050H,结束地址 3F05H×16+FFFFH=4F04FH (3)段起始地址 0FFEH×16=0FFE0H,结束地址 0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行 两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS: SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是 283AH; 从2001H单元取出一个字数据需要2次操作,数据是 5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

微机原理大作业

微机大作业 班级: 学号: 姓名:

第一题: (上机题)编写程序实现下列5项功能,通过从键盘输入1~5进行菜单式选择:(1)按数字键“1”,完成将字符串中的小写字母变换成大写字母。用户输入由英文大小写字母或数字0~9组成的字符串(以回车结束),变换后按下列格式在屏幕上显示:<原字符串>例如:abcdgyt0092 <新字符串> ABCDGYT0092 按任一键重做;按Esc键返回主菜单。 (2)按数字键“2”,完成在字符串中找最大值。用户输入由英文大小写字母或数字0~9组成的字符串(以回车结束),找出最大值后按下列格式在屏幕上显示:<原字符串> The maximum is <最大值>. 按任一键重做;按Esc键返回主菜单。 (3)按数字键“3”,完成输入数据组的排序。用户输入一组十进制数值(小于255),然后变换成十六进制数,并按递增方式进行排序,按下列格式在屏幕上显示:<原数值串> <新数值串> 按任一键重做;按Esc键返回主菜单。 (4)按数字键“4”,完成时间的显示。首先提示用户对时,即改变系统的定时器HH:MM:SS(以冒号间隔,回车结束),然后在屏幕的右上角实时显示出时 间:HH:MM:SS。 按任一键重新对时;按Esc键返回主菜单。 (5)按数字键“5”,结束程序的运行,返回操作系统。 运行结果: 首先进入的首页:

输入1 输入字符串: 安任意键后: Esc 键返回菜单:

输入2: 输入字符串: 安任意键后 Ese键返回菜单

输入3 输入若干数: 按任意键: 按Esc返回主菜单

输入4 安1修改时间 输入修改时间: 按任意键重做 按Esc返回主菜单

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 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循环右移四位

微机原理作业答案

微机原理作业 1.8086C P U由哪两部分组成?它们的主要功能是什么? 答:8086CPU由总线接口单元(BIU)和指令执行单元(EU)组成。总线接口单元(BIU)的功能是:地址形成、取指令、指令排队、读/写操作数和总线控制。指令执行单元(EU)的功能是指令译码和指令执行。 2.微型计算机系统由微处理器、存储器和I/O接口等 组成。 3.8086CPU中的指令队列可存储6个字节的指令代码,当指令队列 至少空出 2 个字节时,BIU单元便自动将指令取到指令队列中; 4.8086系统中,1MB的存储空间分成两个存储体:偶地址存储体 和 奇地址存储体,各为512 字节。 5.8086系统中存储器采用什么结构?用什么信号来选中存储体? 答:8086存储器采用分体式结构:偶地址存储体和奇地址存储体,各为512K。用AO和BHE来选择存储体。当AO=0时,访问偶地址存储体;当BHE=0时,访问奇地址存储体;当AO=0,BHE=0时,访问两个存储体。 6.在8086CPU中,指令指针寄存器是 C 。 (A) BP (B) SP (C) IP (D) DI 7.8086CPU中的SP寄存器的位数是 B 。 (A) 8位(B) 16位(C) 20位(D) 24位 8.8086CPU中指令指针寄存器(IP)中存放的是 B 。 (A)指令(B)指令偏移地址(C)操作数(D)操作数偏移地址 9.若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址(最 大),若此时入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值?答:堆栈段的物理地址范围:35000H~357FFH

微机原理课后作业答案(第五版)

6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原=10101010B [-42]反=11010101B [-42]补=11010110B [+85]原=01010101B=[+85]反=[+85]补 [-85]原=11010101B [-85]反=10101010B [-85]补=10101011B 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1) 1200:3500H=1200H×16+3500H=15500H (2) FF00:0458H=FF00H×16+0458H=FF458H (3) 3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址 1200H×16=12000H,结束地址 1200H×16+FFFFH=21FFFH (2)段起始地址 3F05H×16=3F050H,结束地址 3F05H×16+FFFFH=4F04FH (3)段起始地址 0FFEH×16=0FFE0H,结束地址 0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS:SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是 283AH; 从2001H单元取出一个字数据需要2次操作,数据是 5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

微机原理大作业代码

四、程序代码 STACK SEGMENT STACK DB 256 DUP(?) TOP LABEL WORD STACK ENDS DA TA SEGMENT TABLE DW G1, G2, G3, G4, G5 STRING1 DB '1. Change small letters into capital letters of string;', 0DH, 0AH, '$' STRING2 DB '2. Find the maximum of string;', 0DH, 0AH, '$' STRING3 DB '3. Sort for datas;', 0DH, 0AH, '$' STRING4 DB '4. Show Time;', 0DH, 0AH, '$' STRING5 DB '5. Exit.', 0DH, 0AH, '$' STRINGN DB 'Input the number you select (1-5) : $' IN_STR DB 'Input the string (including letters & numbers, less than 60 letters) :', 0DH, 0AH, '$' PRESTR DB 'Original string : $' NEWSTR DB 'New string : $' OUT_STR DB 'The string is $' MAXCHR DB 'The maximum is $' IN_NUM DB 'Input the numbers (0 - 255, no more than 20 numbers) : ', 0DH, 0AH, '$' OUT_NUM DB 'Sorted numbers : ', 0DH, 0AH, '$' IN_TIM DB 'Correct the time (HH:MM:SS) : $' HINTSTR DB 'Press ESC, go back to the menu; or press any key to play again!$' KEYBUF DB 61 DB ? DB 61 DUP (?) NUMBUF DB ? DB 20 DUP (?) DA TA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START: MOV AX, DATA MOV DS, AX MOV AX, STACK MOV SS, AX MOV SP, OFFSET TOP MAIN: CALL FAR PTR MENU ; 设置显示器 AGAIN: MOV AH, 2 MOV BH, 0 ; 页号 MOV DL, 41 ; 列号 MOV DH, 10 ; 行号 INT 10H ; 光标位置设置

微机原理实验报告软件实验1-4

微机原理实验报告 学院:算机科学与软件教育学院 1. 掌握存储器读写方法 2. 了解存储器的块操作方法 二、实验原理 存储器读写和块操作 三、实验设备仪器及材料 计算机,WA VE 6000软件 四、实验过程 S1.asm 代码流程图 data segment Block db 256 dup(55h) data ends code segment assume cs:code, ds:data start proc near mov ax, data mov ds, ax mov bx, offset Block ; 起始地址 mov cx, 256 ; 清256 字节Again: mov [bx], byte ptr 0 inc bx ; 地址+1 Loop Again ; 记数减一jmp $ ;死循环code ends end start

五、实验步骤 (1) 进入Wave6000,输入程序并检查,保存程序。 (2) “编译”程序。 (3) “全速执行”程序。 (4) “暂停”程序运行,在“数据窗口(MEMOREY)”查看0400H起始的单元内容,并记录。 (5) 在指令“jmp $”处设断点。“全速执行”程序。 (6) 在“数据窗口(MEMOREY)”查看0400H起始的单元内容,记录并分析实验结果。 六、实验结果及总结 运行前:运行后: 2、调试:如何将存储器块的内容置成某固定值(例全填充为0FFH)? 总结:通过本实验,我了解到单片机读写存储器的读写方法,同时也了解到单片机编程,调试方法。学会内存的移动方法,也加深对存储器读写的认识。

微机原理实验报告 学院:算机科学与软件教育学院 实验 课程 名 微机原理实验成绩实验 项目名称实验二、二进制到BCD码转换 指导老 师 1. 了解BCD值和ASCII值的区别。 2. 了解如何将BCD值转换成ASCII值。 3. 了解如何查表进行数值转换及快速计算。 二、实验原理 ASCII码表 三、实验设备仪器及材料 计算机,WA VE 6000软件 data segment Result db 3 dup(?) data ends code segment assume cs:code, ds:data start proc near mov ax, data mov ds, ax mov ax, 123 mov cl, 100 div cl mov Result, al ; 除以 100, 得百位数 mov al, ah mov ah, 0 mov cl, 10 div cl mov Result+1, al ; 余数除以 10, 得十位数 mov Result+2, ah ; 余数为个位 数 jmp $ code ends end start 代码流程图

微机原理交通灯系统设计大作业样本

微机原理与接口技术 大作业 交通灯控制电路设计 1.设计题目 交通灯控制电路设计 规定: 1-每个路口均有车行批示灯:红,黄,绿 2-每个路口均有人行批示灯:红,绿 3-倒计时显示:两位数码管

4-使用PC-XT总线,定期器 5-设计硬件电路,列写控制规律,软件流程。 2.设计方案 本方案通过使用PC-XT总线,定期器,20个共阴极LED灯管,2片8255芯片与74LS138译码器,加上2个与门,以及16个LED共阴极数码管实现题目给定功能。 功能概述:使东南西北四个路口车行红绿黄灯,与人行道红绿灯,实现如下功能: 1-初始状态,四个路口全为红灯; 2-东西路口车行批示灯红灯,东西路口人行批示灯绿灯,南北路口车行批示灯绿灯,南北路口人行批示灯红灯,延时 3-东西路口车行批示灯黄灯闪烁,东西路口人行批示灯红灯,南北路口车行批示灯绿灯,南北路口人行批示灯红灯,延时 4-东西路口车行批示灯绿灯,东西路口人行批示灯红灯,南北路口车行批示灯红灯,南北路口人行批示灯绿灯,延时 5-东西路口车行批示灯绿灯,东西路口人行批示灯红灯,南北路口车行批示灯黄灯闪烁,南北路口人行批示灯红灯,延时 6-在各个交通灯按照上述逻辑循环变换期间,2位LED数码管不间断计时进行倒计时,同步预备进行各个颜色交通灯转换。

3.硬件电路 如图所示

由硬件电路分析: AEN=0-非DMA操作,可以使译码器参加译码输出有效片选信号,故AEN=0,取反后为1。 由于G为高电平有效,G2A,G2B为低有效,故A9=0;A8=0,AEN=0使G2A,G2B,G有效。 由74LS138真值表可得输入 使能-G1=1;G2A=G2B=0且选取-C=B=A=1时,输出处Y0=Y1=1,取反后Y1=Y0=0,接入两个8255芯片片选信号口CS。由于CS口为低电平有效,故两片8255与CPU及PC-XT总线完毕连接 故82551-交通灯处: 控制口地址:00 1111 1111 →0x0FF C口地址:00 1111 1110 →0x0FE B口地址:00 1111 1101 →0x0FD A口地址:00 1111 1100 →0x0FC

微机原理及应用实验报告

微机原理及应用实验报告 班级:机械1301班 姓名:黄佳清 学号:0801130117 座位号: 中南大学机电工程学院

实验一单片机仿真开发机操作和MCS-51指令系统应用 一.实验目的 1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整; 2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编; 3、掌握程序的调试和运行的各种方法。 三.实验内容及步骤(完成分值:60分) 本实验秩序运行Keil uVersion2程序,设置为keil为纯软件仿真 1.新建工程项目 2.设置工程文件参数 3.编写新程序事例 4.调试程序直至能够运行出结果。 四.实验程序 AJMP MAIN ORG 0030H MAIN: MOV R0,#20H MOV R2,#0FH MOV A,#00H A1: MOV @R0,A INC R0 INC A DJNZ R2,A1 MOV R0,#20H ;暂停,观察并记录! MOV DPTR,#7000H MOV R2,#0FH A2: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R2,A2 MOV R0,#030H ;断点,观察并记录! MOV DPTR,#7000H MOV R2,#0FH A3: MOVX A,@DPTR MOVX @R0,A INC R0 INC DPTR DJNZ R2,A3 DO: LJMP DO END ;内部存储器数据块赋值,搬运数据块到外部存储器,再搬运回内部数据存储器。 五、附加题 1.将光标移到想要暂停的地方,MOV R0,#20H所在行,选择“执行到光

微机原理大作业-测量电风扇转速的方案

测量电风扇转速的方案 0 引言 电风扇是每家每户都会有的一个电器,在 空调尚未普及之前,炎炎夏日人们能在风扇面 前吹着风就已经是很好的享受了。但是不知道 大家有没有想过,我们常见常用的风扇叶片的 转速究竟是多少呢。接下来我们便来探讨测量电风扇转速的一种方法。 1 可行性研究 1.1 背景 风扇转速是指风扇扇叶每分钟旋转的次数,单位是rpm。风扇转速由电机内线圈的匝数、工作电压、风扇扇叶的数量、倾角、高度、直径和轴承系统共同决定。在风扇结构固定的情况下,直流风扇(即使用直流电的风扇)的转速随工作电压的变化而同步 变化。风扇的转速可以通过内部的转速信号进行测量,也可以通过外部进行测量(外部测量是用其他仪器看风扇转的有多快,内部测量则直接可以到BIOS里看,也可以通过软件看。内部测量相对来说误差大一些)。风扇转速与散热能力并没有直接的关系,风量是决定散热能力的根本条件,更高的风扇转速会带来更高的噪声,选购散热器产品时如果风量差不多,可以选择转速低的风扇,在使用时会安静一些。

1.2 应用现状/对比案例 查阅资料可知,在其他的转速测量方法中,有一些采用了内部测量转速的方法需要采集的电子参数过多,电路逻辑分析也过于复杂(如图1、图2),故在电风扇转速的测量中,我们应尽量选用外部测量的方法,这样可以简化操作并有效减小误差。 图1其他方案转速采集电路仿真 图2其他方案控制系统示意图 1.3 效益分析 本方案中所选取的单片机、传感器均为常见且易得的器件,在花费上可以有效节省费用。 2 总体方案/初步设计

2.1 方案总述 针对在工程实践中很多场合都需要对转速这一参数进行精准测量的目的,采用以STC89C51 芯片为核心,结合转动系统、光电传感器、显示模块等构成光电传感器转速测量系统,实现对电风扇转速的测量。通过测试表明该系统具有结构简单、所耗成本低,测量精度高、稳定可靠等优点,具有广阔的应用前景。 2.2 总体方案 系统总体结构如图3所示,主要包含以单片机为核心的主控电路、以传感器为主的信息采集处理单元、转动系统、显示模块等。 图3系统总体结构 2.3 测量原理 单片机转速测量系统采用的主要原理一般情况下,大多数的单片机转速测量系统都会被视线安装在相应的设备上,同时还要通过对一些不同类型的传感器的使用来实现脉冲的产生,后才可以实行测评的方法对扇叶的转速进行有效的测量。但是对于那些临时性的转速测量系统来说,他们在进行转速测量过程中所选取的传感器主要是光电传感器,这就需要相关的技术工作人员提前在电机的转轴上安装一个能够产生脉冲的装置,从而实现对电机转速的频率测量。但是综合来看,不论是长期使用的单片机转速测量系统还是短期的测量系统,都可以通过微系统来对转轴上的转动系统 信号采集及其 处理 单片机处理电路 显示模块

北京邮电大学微机原理硬件实验报告

北京邮电大学微机原理硬件实验报告

实验报告一:I/0地址译码和简单并行接口 ——实验一&实验二 一、实验目的 掌握I/O地址译码电路的工作原理;掌握简单并行接口的工作原理及使用方法。 二、实验原理及内容 a) I/0地址译码 1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数 字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~ 287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔经过软件延时实现。 2、接线: Y4/IO地址接 CLK/D触发器

Y5/IO地址接 CD/D触发器 D/D触发器接 SD/D触发器接 +5V Q/D触发器接L7(LED灯)或逻辑笔 b) 简单并行接口 1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通 用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器, 8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电 路L0~L7。 2、编程从键盘输入一个字符或数字,将其ASCⅡ码经过这 个输出接口输出,根据8个发光二极管发光情况验证正确 性。 3、按下面图4-2-2简单并行输入接口电路图连接电路 (74LS244插通用插座,74LS32用实验台上的“或门”)。 74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关 输出K0~K7,8个数据输出端分别接数据总线D0~D7。 4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这 个ASCⅡ码,并将其对应字母在屏幕上显示出来。 5、接线:1)输出 按图4-2-1接线(图中虚线为实验所需接线,74LS32为实验 台逻辑或门) 2)输入 按图4-2-2接线(图中虚线为实验所需接线,74LS32为实 验台逻辑或门) 三、硬件连线图 1、I/O地址译码

微机原理作业

微机原理作业 第一章:绪论 一:选择题 1:[X1]原=11010011B,[X2]反= 11010011B,[X2]补= 11010011B,那么它们的关系是() A:X3>X1>X2 B:X2>X3>X1 C:X3>X2>X1 D:X2>X1>X3 2:[X1]原=10111101B,[X2]反= 10111101B,[X2]补= 10111101B,那么下列成立的是() A:X1最小B:X2最小C:X3最小D:X1=X2=X3 3:在计算机中表示地址时使用() A:无符号数B:原码C:反码D:补码 4:若某机器数为10000000B,它代表-127D,则它是() A:发码或原码B:原码C:反码D:补码 5:在8位二进制数中,无符号数的范围是(),补码表示数的真值范围是(),原码表示数的真值范围是(),反码表示数的真值范围是()。 A:0~255 B:0~256 C:-127~+127 D:-128~+127 6:下列说法错误的是() A:8位二进制无符号数表示的最大数是255 B:8位二进制带符号数表示的最大数是127 B:计算机中无符号数最常用于表示地址D:计算机中通常用定点数的工作方式 7:浮点数的表示范围取决于() A:阶码的位数B:尾数的位数 C:阶码采用的编码D:尾数采用的编码 8;原码乘除法运算要求() A:操作数都必须是正数B:操作数必须具有相同的符号位 C:对操作数没有符号限制D:以上都不对 二:填空题 1:在带有符号的原码、反码和补码中,零的表示唯一的是。 2:设某机字长为8位(含一位符号位),若[X]补=11001001B,则X所表示的十进制数的真值为,[1/4X]补= 。 3:计算机中数值数据常用的数据表示格式有和。 4:在字长的原码、反码和补码中,表示数范围宽,这是因为。 三:简答题 1:假设7×7=31是正确的,那么4×8=?,并说明理由。 2:请用最小的二进制位表示下列符号数。 (1)[X]补=-24 (2)[+Y]补=67 3:已知X和Y,试分别计算[X+Y]补和[X-Y]补 (1)X=+1001110B (2)Y=-0110011B 4:完成下列格式补码数的运算,指出运算结果是否有效。 (1)00101101B+10011100B (2)01011101B-10111010B 四:问答题 1:计算机怎样判断存储的文字信息是ASCⅡ码还是汉字的编码? 2:计算机为什么要采用二进制? 3:简述PC机的性能指标,怎样选购计算机? 4:比较原码、反码和补码表示数的优缺点?

微机原理大作业

洛阳理工学院 微 机 原 理 与 接 口 技 术 《微机原理与接口技术》作为我们机械工程专业的必修的考察课程。本课程主要讲了计算机接口相关的基本原理、微处理器系统和微型计算机系统的总线、计算机接口技术的介绍以及计算机接口技术在工程

实际当中的应用等课程内容的介绍,概括了微机原理与计算机接口技术,微型计算机系统是以微型计算机为核心。 课程主要内容 第一章:主要了叙述微型计算机的发展构成和数的表示方法 (1)超、大、中、小型计算机阶段(1946年-1980年) 采用计算机来代替人的脑力劳动,提高了工作效率,能够解决较复杂的数学计算和数据处理 (2)微型计算机阶段(1981年-1990年) 微型计算机大量普及,几乎应用于所有领域,对世界科技和经济的发展起到了重要的推动作用。 (3)计算机网络阶段(1991年至今)。 计算机的数值表示方法:二进制,八进制,十进制,十六进制。要会各个进制之间的数制转换。计算机网络为人类实现资源共享提供了有力的帮助,从而促进了信息化社会的到来,实现了遍及全球的信息资源共享。 微机系统的基本组成 1.微型计算机系统由硬件和软件两个部分组成。

2.系统总线可分为3类:数据总线DB(Data Bus),地址总线AB(Address Bus),控制总线CB(Control Bus)。 3.微机的工作过程就是程序的执行过程,即不断地从存储器中取出指令,然后执行指令的过程。 第二章8086/8088微处理器 1.8086微处理器结构: CPU内部结构:总线接口部件BIU,执行部件EU; CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器; CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚。 2、8086/8088 CPU芯片的引脚及其功能 8086/8088 CPU具有40条引脚,双列直插式封装,采用分时复用地址数据总线,从而使8086/8088 CPU用40条引脚实现20位地址、16位数据、控制信号及状态信号的传输。 3.8086微机系统存储器组织:存储器组成和分段。8086微机系统的I/O结构 4.8086最小/最大模式系统配置:8086/8088 CPU芯片可以在两种模式下工作,即最大模式和最小模式。 最大模式:指系统中通常含有两个或多个微处理器(即多微处理器系

(完整word版)微机原理与接口技术试验学习总结

微机原理与接口技术试验学习总结 本学期微机原理的实验课程即将结束,关于微机原理课程实验的心得体会颇多。 初学《微机原理》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。“麻雀虽小,五脏俱全”,可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念。 在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。然而,事物总有两面性,有优点自然缺点也不少。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。 汇编语言在本学期微机学习中有核心地位。本学期微机原理课程内容繁多,还学习了可编程的计数/定时的8253,可编程的外围接口芯片8255A等。学的都是芯片逻辑器件,而在名字前都标有“可编程”,其核心作用不可低估。 我想微机原理课程试验不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特之处,那就是让我们进入一个神奇的世界,那就是编程。对我们来说汇编真的很新奇,很有趣,也使我有更多的兴趣学习微机原理和其

微机原理实验代码

在数据段中定义变量X 、Y 、Z 、RESULT ,计算X+Y-Z,结果存入数据段中的单元中。其中X 、Y 、Z 均为32位带符号数。 DATAS SEGMENT ;数据段 ;请在这里定义您的数据 X DD 33331111H Y DD 44442222H Z DD 55557777H RESULT DD ? DATAS ENDS CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX ;请在这里添加您的代码 MOV AX,WORD PTR X[0] MOV BX,WORD PTR X[2] MOV CX,WORD PTR Y[0] MOV DX,WORD PTR Y[2] ADD AX,CX ADC BX,DX MOV CX,WORD PTR Z[0] MOV DX,WORD PTR Z[2] SUB AX,CX SBB BX,DX MOV WORD PTR RESULT[0],AX MOV WORD PTR RESULT[2],BX ;MOV ;退出程序 INT 21H CODES ENDS END START 1.编写程序完成下列算式: DATAS SEGMENT ;数据段 ;请在这里定义您的数据 X DB 10 Y DB ? DATAS ENDS CODES SEGMENT ;代码段 Y= 10 X>0 0 X=0 -10 X<0

ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX ;请在这里添加您的代码 CMP X,0 JL NEXT1 JZ NEXT2 MOV Y,10 JMP COM NEXT1: MOV Y,-10 JMP COM NEXT2: MOV Y,0 COM: CODES ENDS END START 2.在数据段定义无符号变量X、Y和MAX,编程将X和Y中的最大数存入MAX DATAS SEGMENT ;数据段 ;请在这里定义您的数据 X DB 30 Y DB 20 MAX DB ? DATAS ENDS CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX ;请在这里添加您的代码 MOV AL,X CMP AL,Y JB NEXT1 JZ NEXT2 MOV BL,X MOV MAX,BL JMP COM NEXT1: MOV CL,Y MOV MAX,CL JMP COM NEXT2: MOV DL,X MOV MAX,DL COM: CODES ENDS END START

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