微机原理实验编程

作者&投稿:荤左 (若有异议请与网页底部的电邮联系)
编程实现16+32微机原理实验~

objectMainextendsApp{
varreverse_pairs = 0//逆序数
defmsort[T](cmp:(T, T) => Boolean)(l:List[T]):List[T] = {
defmerge(l1:List[T], l2:List[T]):List[T]=(l1, l2)match{
case(Nil, _) => l2
case(_, Nil) => l1
case(x::left1, y::left2) =>
if(cmp(x, y))
x::merge(left1, l2)
else{
reverse_pairs += l1.length
y::merge(l1, left2)
}
}
valn = l.length / 2
if(n == 0)
return l
else{
val(l1, l2) = l.splitAt(n)
merge(msort(cmp)(l1), msort(cmp)(l2))
}
}
println(msort((x:Int, y:Int) => x<y)(List(5, 4, 3, 2, 7,6 )))
println(reverse_pairs)
}

太简单了,我教你,咋不早说,点击满意答案显示详解

  给一个类似的设计程序你可以参考一下,修改相应端口的设置。

  详细设计:
  编写汇编程序通过8255A控制四个方向交通灯的状态,具体假设设计状态如下:
  1、首先初始状态0为东西南北都关灯。
  2、然后经过一段时间后转为状态1东西绿灯通车,南北红灯。
  3、过一段时间转为状态2,东西绿灯闪几次转亮黄灯,延时几秒,南北路口的仍然亮红灯。
  4、再转状态3,南北绿灯通车,东西红灯。
  5、过一段时间转状态4,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。
  6、最后返回至状态1继续循环。

  说明:(1)实际上黄灯的闪烁由两个状态组成,例如南北红灯同时东西黄灯亮与南北红灯同时东西黄灯灭这两个状态的组成。所以端口一共有七组状态。
  东西方向:PA0红灯;PA1黄灯;PA3绿灯;
  南北方向:PA4红灯;PA5黄灯;PA6绿灯;

  (2)双色LED是由一个红灯LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色端加高电平,绿色正端加低电平,红灯亮;当红色端加低电平,绿色正端加高电干,绿灯亮;两端都加高电平时,黄灯亮。

  源程序代码
  DATA SEGMENT
  TIME1 EQO 10
  TIME2 EQO 600
  OUT_CODE DB 14H,5 DUP(12H,10H),41H,5 DUP(21H,01H),0
  DATA ENDS
  CODE SEGMENT
  ASSUME CS:CODE,DS:DATA
  START: MOV AX,DATA
  MOV DS,AX
  MOV DX,307H ;控制字端口地址送DX
  MOV AL,80H ;送方式字
  OUT DX,AL
  MOV DX,304H ;端口A的输出端送DX
  LPPO0: LEA SI. OUT_CODE ;数据段
  LPPO1:MOV AL,[SI]
  AND AL,AL ;CF置零
  JZ LOOP0
  OUT DX,AL
  INC SI
  MOV CX,TIME1 ;短延时
  TEST AL,44H ;测码字为14H或41H?
  JZ DELAY1 ;均非
  MOV CX,TIME2 ;长延时
  DELAY1:PUSH CX ;延时程序
  PUSH AX
  MOV CX,0040H
  A1: MOV AX,056CH
  A2: DEC AX
  JNZ A2
  LOOP A1
  POP AX
  POP CX
  LOOP DELAY1
  MOV AH,0BH ;检测是否有键盘输入
  INT 21H
  AND AL,AL
  JZ LOOP1
  XOR AL,AL ;关灯退出
  OUT DX,AL
  MOV AH,4CH ;返回DOS系统
  INT 21H
  CODE ENDS
  END START

  程序运行结果

  初始状态为东西南北全都为关灯。经过一段时间后,东西方向交通灯变绿,南北仍然为红灯。再一段时间后,东西黄灯开始闪烁,闪5次,南北仍为红灯。接着东西红灯亮,同时南北方向变成绿灯。同样,一段时间后,南北黄灯闪5次,东西为红灯。接着回到东西绿灯,南北红灯,如此往复循环。


微机原理与接口技术的实验报告怎么写
微机接口课程设计实验报告 一、实验目的:1. 掌握综合使用基本输入设备,通用接口芯片,专用接口芯片的方法;2. 熟悉并行接口芯片8255的使用与硬件接口方法, 熟悉8255的各种工作方式,掌握8255的编程方法;3. 掌握实时处理程序的编制和调试方法;二、设计要求:用实验仪器上的并行接口控制键盘和LED显示,设计一个...

无人机编程要学什么?
无人机编程需要学通信技术、控制理论、流体力学原理、工业设计等多个学科知识。1、通信技术 又称通信工程是电子工程的重要分支,同时也是其中一个基础学科。该学科关注的是通信过程中的信息传输和信号处理的原理和应用。通信工程研究的是,以电磁波、声波或光波的形式把信息通过电脉冲,从发送端 (信源)...

微机原理与接口技术 实验心得
微机原理与接口技术的课程实验历时大半个学期,通过自己编写、运行程序,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的...

编码器在实验机上的应用原理
增量型编码器与绝对型编码器的区分 编码器如以信号原理来分,有增量型编码器,绝对型编码器。增 量 型 编 码 器 (旋转型)工作原理:由一个中心有轴的光电码盘,其上有环形通、暗的刻线,有光电发射和接收器件读取,获得四组正弦波信号组合成A、B、C、D,每个正弦波相差90度相位差(相对于一个周波为...

微机原理流水灯
二、设计目的: 1、了解流水灯的基本工作原理 2、熟悉8255A并行接口的各种工作方式和应用 3、利用8255A接口,LED发光二极管,设计一个流水灯模拟系统,让我的名字“安亮”两个字按一定规律点亮。 三、实验原理 在8086系统中,采用16位数据总线,进行数据传输时,CPU总是将低8位数据线上的数据送往偶...

知道电动机原理并且有实验条件的请进
很希望能和你讨论关于电机的理论。1,首先你说的马蹄形磁铁带动鼠笼式转子转动,这个是传统的电机类型。2,在N和S机之间当然可以放置圆形,准确的说是杯形的绕组,形成了空心杯的电机。可以参阅网站www.maxonmotor.com.cn 杯形绕组的电机,我们通常叫空心杯电机。考虑到电机在转动过程中的转矩纹波,...

微机原理 8255A应用——交通控制程序
CODE SEGMENT ASSUME CS:CODE IOCONPT EQU 0FF2BH IOAPT EQU 0FF28H IOBPT EQU 0FF29H IOCPT EQU 0FF2AH ORG 10e0H START: MOV DX,IOCONPT MOV AL,80H OUT DX,AL MOV DX,IOBPT MOV AL,00H OUT DX,AL MOV DX,IOCPT MOV AL,0FH ;H OUT DX,AL CALL DELAY1 IOLED0: ...

微机原理实验箱显示灯位置
三、实验原理在设计中采用的是软件定时实现的。而灯的亮与灭以及闪烁是用8255的B口和C口控制的,工作方式0,B口和C口均为输出。并行接口是以数据的字节的单位与I\/O设备或控制对象之间传递信息。CPU和接口之间的数据传送是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel...

工业机器人的手动操纵实验原理
通过计算机进行对工业机器人现场编程。随着科技的进步,机器人正朝着智能化方向发展,计算器控制系统在机器人控制方面发挥着关键的作用。本文从计算机控制技术在机器人技术中的作用,分析计算机控制系统在机器人中应用原理与结构,阐述了未来计算机控制系统机器人中的发展方向。工业机器人是广泛用于工业领域的多...

自动控制原理实验教程的内容简介
第8章为控制系统综合设计,主要以工业实际工程中较常用的控制系统(如电动机调速系统、温度控制系统、步进电动机控制系统等)进行综合设计实验。《自动控制原理实验教程(硬件模拟与MATLAB仿真)》实验内容不仅在教学上具有典型性和代表性,而且在实验技术上具有很大的实用性,尤其是一些综合设计类型的实验方法可以...

伊金霍洛旗18471359292: 微机原理实验.怎么编程
姬耍小儿: int() {int x,y,z,w;x = 5;y = 6;z = 7;w = x + y + z; } mov ax,5; mov bx,6; add bx,ax; mov ax,7; add bx,ax; 值在bx里.int AddNum() { int x,y,z,w; x = 5; y = 6; z = 7; w = x + y + z; } 忘了加函数名.

伊金霍洛旗18471359292: 微机原理编程:数组中的数按从大到小的顺序排列 -
姬耍小儿: START: MOV SI ,OFFSET BLOCK MOV DI,OFFSET PLUS_DATA MOV BX,OFFSET MINUS_DATA MOV CX,COUNT GOON:LODS BLOCK TEST AL,80H JNZ MIUS STOSB JMP AGAIN MIUS:XCHG BX,DI STOSB XCHG BX,DI AGAIN:DEC CX JNZ GOON HLT

伊金霍洛旗18471359292: 微机原理 编写程序段,或补充完成完整程序 -
姬耍小儿: 1、用寄存器BX和位移量COUNT的寄存器相对寻址方式,把存储器中的一个字与AX寄存器之内容相加,并把结果保存在存储器单元中.解:ADD AX , [BX+COUNT] MOV [BX+COUNT] , AX2、将AX寄存器的内容减去CX寄存器的内容,并把结...

伊金霍洛旗18471359292: 求微机原理编程,要有注释 -
姬耍小儿: STACK1 SEGMENT STACK;堆栈段可以不要DW 64 DUP(?) STACK1 ENDSCODE SEGMENTASSUME CS:CODE START: MOV DI,3000H ;设数据区首址MOV CL,[DI] ;送数据个数XOR CH,CH ;CH 清0MOV BL,CH ;BL 清0INC DI ;...

伊金霍洛旗18471359292: 编写微机原理试验程序测量电机转数
姬耍小儿: http://wenku.baidu.com/view/75cdd97da26925c52cc5bf77.html

伊金霍洛旗18471359292: 微机原理编程,从1加到100~~~求答案
姬耍小儿: CODE SEGMNT ASSUME CS: CODESTART MOV BL , 1 XOR AL , ALAGAIN CMP BL , 100 JA DONE ADD AL , BL INC BL JMP AGAINDONE: MOV AH , 4CH INT 21HCODE ENDS END START

伊金霍洛旗18471359292: 微机原理 数码转换编程实验
姬耍小儿: DATA SEGMENT STR1 DB 31H,41H,32H,42H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;初始化DS LEA SI,STR1 XOR BX,BX MOV CL,4 MOV CH,4 ASSEMBLE: SHL BX,CL MOV ...

伊金霍洛旗18471359292: 微机原理8255编程 -
姬耍小儿: ;;8255硬件连接及软件设置: ;;B口方式0输入,PB0~PB3分别连接K1~K4; ;;A口方式0输出,PA0~PA3外接驱动电路控制灯的4种动作; ;;驱动电路,可由74LS06、ULN2003作反相电流放大驱动继电器或固体继电器组成; ;;C口闲置; ...

伊金霍洛旗18471359292: 微机原理实验求任意10数中最大值和最小值并输出 -
姬耍小儿: int max,min; max=a[0];min=a[0]; for(int i=1;i<10;i++) { if(a[i]>max) {max=a[i];maxp=i} if(a[i]<min) min=a[i];minp=i;} } cout<<"maxp="<<maxp<<endl; cout<<"minp="<<minp<<endl;

伊金霍洛旗18471359292: 微机原理编程题 10个数大小排序 -
姬耍小儿: 以前做的实验 可以参考下有一个10个字节的有符号数组,编程实验使该数组的元素按照从小到大的次序排列. data segment ;定义数据段 data1 db 32h,02h,01h,04h,0f1h,0f2h,0ffh,0fdh,0fah,79h count equ $-data1 data endscode segment...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网