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

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

目录

一、基础实验部分 (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

实验2 简单I/O口扩展实验

一、实验设备

微机实验箱、8086CPU模块。

二、实验要求

逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。

三、实验步骤

1、实验接线:CS0 ?CS244;CS1?CS273;K1~K8 ?IN0~IN7;O0~O7?LED1~LED8。

2、编辑程序,单步运行,调试程序。

3、调试通过后,全速运行程序,观看实验结果。

四、思考题

将74LS244的片选信号CS244改接CS2,将74LS273的片选信号CS273改接CS3,修

改程序实现与范例程序相同的功能。

答:程序如下

assume cs:code

code segment public

org 100h

start: mov dx,04c0h ;74LS244地址

in al,dx ;读输入开关量

mov dx,04d0h ;74LS273地址

out dx,al ;输出至LED

jmp start

code ends

end start

五、出现的问题及解决过程(无)

实验3 8255并行口实验

一、实验设备

微机实验箱、8086CPU模块。

二、实验要求

8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。

三、实验步骤

1、实验接线:CS0?CS8255;PA0~PA7? K1~K8;PB0~PB7?LED1~LED8。

2、编程并全速或单步运行。

3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于L时,对应的发

光二极管点亮,置于H时熄灭。

四、思考题

修改接线CS2?CS8255,并要求开关置“H”(下)位置时对应LED亮,修改程序实现相应功能。

答:程序如下

assume cs:code

code segment public

org 100h

start: mov dx,04c6h ;控制寄存器地址

mov ax,90h ;设置为A口输入,B口输出

out dx,ax

start1: mov dx,04c0h ;A口地址

in ax,dx ;输入

mov dx,04c2h ;B口地址

not ax ;将ax取反

out dx,ax ;输出

jmp start1

code ends

end start

实验4 8253定时器/计数器接口实验

一、实验设备

微机实验箱、8086CPU模块、示波器。

二、实验要求

了解8253计数器的不同工作方式,掌握其初始化控制字对定时/记数效果的影响。

程序全速运行后,LED1按一定周期闪烁(周期理论值为0.2s),LED2在高频脉冲信号(约15KHz)影响下,有微弱的光亮,但无明显的周期变化现象。

三、实验步骤

1、实验连线:CS0?CS8253;OUT0?8253CLK2;OUT2?LED1;OUT1?LED2;

CLK3?8253CLK0;CLK3?8253CLK1。

2、编程调试程序。

3、全速运行,观察实验结果。

四、思考题

1、为什么说范例程序运行时LED1闪烁周期的理论值是0.2秒?在范例程序设置LED2 的最大闪烁周期是多少?请分析说明。

答:因为计数器二的初值为04h即十进制的4,那么LED1闪烁周期的理论值是t2=0.05*4=0.2。

LED2的最大闪烁周期是0.05*(15*16^3+15*16^2+15*16+15)=3276.75s

2、修改片选信号接线使CS1和CS8253连接,并要求LED1的闪烁周期变为4秒(亮2 秒,灭2秒),修改程序实现功能。

assume cs:code

code segment public

org 100h

start:mov dx,04b6h ;控制寄存器

mov ax,36h ;计数器0,方式3

out dx,ax

mov dx,04b0h

mov ax,7Ch

out dx,ax

mov ax,92h

out dx,ax ;计数值927Ch

mov dx,04b6h

mov ax,76h ;计数器1,方式3

out dx,ax

mov dx,04b2h

mov ax,32h

out dx,ax

mov ax,0 ;计数值32h

out dx,ax

mov dx,04b6h

mov ax,0b6h ;计数器2,方式3 out dx,ax

mov dx,04b4h

mov ax,50h

out dx,ax

mov ax,0 ;计数值50h

out dx,ax

next: nop

jmp next

code ends

end start

五、出现的问题及解决过程(无)

实验5 8259中断控制器实验

一、实验设备

微机实验箱、8086CPU模块。

二、实验要求

了解中断处理的原理,掌握利用中断控制器进行中断申请和中断操作的方法。全速运行程序,由上往下拨动开关时,相应位置的LED点亮,其余LED全灭。

三、实验步骤

1、实验接线:CS0 ?CS8259;CS3 ?CS273;O0~O3?LED1~LED4;K1~K4?IR0~

IR3;INT?INT;INTA?INTA

2、编译调试程序

3、全速运行程序,拨动某一电平开关,观察LED的亮灭情况。

四、思考题

1、说明源代码8259初始化所设置的所有中断控制字的值和含义(按位说明)。

答:

ICW1:

ICW2:

ICW4:

2、修改接线IR3 P+(实验箱右下角),并修改源程序,使按实验箱右下角“Pules”

键时LED1~LED4全亮。

答:程序如下

assume cs:code

code segment public

org 100h

start: mov cx,0

start1: cli

mov dx,04a0h

mov ax,13h ;00010011b单片8259a需要ICW4

out dx,ax ;ICW1, ICW4 NEEDED

mov dx,04a2h

mov ax,80h ;10000000b

out dx,ax ;ICW2 中断类型80h

mov ax,01h;01 ;00000001b

out dx,ax ;ICW4正常EOI,非缓冲方式

mov ax,00h

out dx,ax ;OCW1, 开放所有中断

nop ;以上为8259初始化

mov ax,0

mov ds,ax

mov di,200h ;初始化中断向量表

mov ax,offset int0

mov ds:[di],ax

add di,2

mov ds:[di],100h

add di,2

mov ax,offset int1

mov ds:[di],ax

add di,2

mov ds:[di],100h

add di,2

mov ax,offset int2

mov ds:[di],ax

add di,2

mov ds:[di],100h

add di,2

mov ax,offset int3

mov ds:[di],ax

add di,2 ;上述程序为芯片8259的初始化程序

mov ds:[di],100h ;建议不熟练者不要修改

main: mov ax,0

sti ;开中断

waiting:cmp ax,0h

je waiting ;没发生中断,则等待

nop

nop

mov dx,04d0h

out dx,ax ;对应LED灯亮

mov cx,0

delay: loop delay ;数字滤波,按键去抖

jmp start1

int0: cli ;关中断,以下类推

nop ;此两行为IR0的中断服务程序

mov ax,0feh ;用户可修改

iret ;中断返回,以下类推

int1: cli

nop ;此两行为IR1的中断服务程序

mov ax,0fdh ;用户可修改

iret

int2: cli

nop ;此两行为IR2的中断服务程序

mov ax,0fbh ;用户可修改

iret

int3:cli

nop ;此两行为IR3的中断服务程序

mov ax,0f0h ;用户可修改

iret

code ends

end start

五、出现的问题及解决过程

序号出现的问题原因解决过程

1 LED1~LED4灯没反应P+端接线错误重新接线

二、综合设计实验部分

一、实验设备

微机实验箱、8086CPU模块。

二、实验要求

红绿灯的定时切换(每10秒切换一次)设置灯光测试开关K1,当K1打开(高电平)时,LED1~LED4全亮,关闭时恢复正常切换。

三、实验步骤

1、实验接线:CS0?8255CS;CS1?CS8253;CLK3?8253CLK0;OUT0?8253CLK2

OUT2?PA0,PA1,PA2,PA3;PB0?LED1;PB1?LED4;PB2?LED2;PB3?LED3;

PA4---K0

2、编辑程序,单步运行,调试程序。

3、调试通过后,全速运行程序,观看实验结果。

四、程序代码

assume cs:code

code segment public

org 100h

start:

mov dx,04b6h ;控制寄存器

mov ax,36h ;计数器0,方式3

out dx,ax

mov dx,04b0h

mov ax,7Ch

out dx,ax

mov ax,92h

out dx,ax ;计数值927Ch

mov dx,04b6h

mov ax,0b6h ;计数器2,方式3

out dx,ax

mov dx,04b4h

mov ax,90h

out dx,ax

mov ax,01h ;计数值190h

out dx,ax

mov cx,9000h ;计数

mov bl,0 ;为下面比较做准备

mov dx,04a6h ;控制寄存器地址

mov ax,90h ;设置为A口输入,B口输出 out dx,ax

start1:

mov dx,04a0h ;A口地址

in ax,dx ;输入

mov dx,04a2h ;B口地址

cmp bl,0

jnz extra ;bl≠0→extra

xor ax,0ch ;取相邻两位

mov bh,al ;赋值存数

again:

out dx,ax ;输出

cmp bl,0

jz start2

dec bl

jmp delay ;进入延时delay

delay:

loop delay

mov cx,9000h

start2:

mov dx,04a0h ;A口地址

in ax,dx

and ax,10h ;取A口PA5

cmp ax,10h ;比较是否为1

jz light ;为1进入light全亮灯

mov al,bh ;赋值取数

jmp start1

light:

mov bl,1 ;设置bl状态

mov dx,04a2h

mov ax,00h ;等全亮

out dx,ax

jmp start2

extra:

mov al,bh ;赋值取数

jmp again

code ends

end start

五、出现的问题及解决过程

序号出现的问题原因解决过程

1 4个LED灯不能交换亮灭未对ax赋值操作增添xor ax,0ch语句

2 检测4个LED灯全亮后不

能恢复之前的先后亮灭

状态

①没有保护现场

②没有延时操作

①增加extra模块,并设

置bl状态进行选择判断

②增加delay模块

六、硬件电路图

见下页。

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

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,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

微机原理课程设计报告

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

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

微机课设实验报告

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

一、题目: 上位机:完成界面设计与通讯程序 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。

微机原理与接口技术-键盘LED显示【课程设计报告】

微机原理与接口技术-键盘LED 显示【课程设计报告】

重庆大学 课程设计报告 课程名称:微机原理与接口技术 设计题目:键盘LED显示 院系:电气信息学院 班级:2007级 设计时间:2009年12月

第一章概述 (2) 1.1学习目的 (2) 1.2 计算机的应用 (3) 1.3学习计算机的意义 (3) 1.4课程设计目的 (4) 第二章总体方案设计 (4) 2.1 设计注意问题 (4) 2.2 总体思路 (5) 第三章硬件设计 (5) 3.1 8255工作原理 (5) 3.2 键盘工作原理 (7) 3.3 键特征值的形成 (8) 3.4段值的形成 (9) 3.5 8255接线图 (11) 第四章软件设计 (12) 4.1 8255初始化 (12) 4.2 键盘扫描的处理方法 (12) 4.2.1. 判断是否有键被按下的方法 (12) 4.2.2. 判断是否有键被按下的源程序 (13) 4.2.3 防抖动 (13) 4.2.4.防抖动的延时子程序 (14)

4.3 程序核心部分 (14) 4.3.1 逐行扫描 (14) 4.3.2逐行扫描的源程序 (15) 第五章源程序代码 (15) 5.1 根据整体思路以及软件设计得到的代码. 15 5.2 以上代码存在问题分析 (19) 第六章难点分析 (20) 第七章体会感慨建议 (25) 第八章参考文献 (26) 第一章概述 1.1学习目的 “微机原理与接口技术”是电气工程及其自动化专业的一门重要

的专业基础课程。我们通过该门课的学习,知道了微机的工作原理,微型计算机的基本结构,接口技术及汇编语言程序设计,为后续的课程的学习和今后的工作打下坚实的基础。通过实验可以培养学生利用计算机技术和编程手段分析,解决专业领域的各种问题的能力和意识,并进一步感受微机发展的微机发展的新技术和新方法。 1.2 计算机的应用 目前计算机的应用已经遍布各个行业,如科学计算、数据处理、过程控制、人工智能、网络应用等。 科学和工程计算:科学和工程计算的特点是计算量大,而逻辑关系相对简单,它是计算机重要应用领域之一。 数据和信息处理:数据处理是指对数据的收集、存储、加工、分析和传送的全过程。这些数据处理应用的特点是数据量很大,但计算相对简单。多媒体技术的发展,为数据处理增加了新鲜内容,都涉及更广泛的数据类型,这些数据处理过程不仅数据量大,而且还会带来大量的运算和复杂的运算过程。 过程控制:过程控制是生产自动化的重要技术内容和手段,它是由计算机对所采集到的数据按一定方法经过计算,然后输出到指定执行机构去控制生产的过程。 人工智能:人们把计算机模拟人脑力劳动的过程成为人工智能。人工智能是利用计算机来模拟人的思维过程,并利用计算机程序来实现这些过程。 1.3学习计算机的意义 电子计算机是一种能自动高速地进行大量运算的电子机器。电子计算机的出现和发展,是科学技术和生产力的卓越成就之一,反过来,它也极大地促进了科学技术和生产力的发展。

单片机电子时钟课程设计实验报告

单片机电子时钟课程设 计实验报告 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号: 班级:自动化1211 指导老师:阮海容 目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路 PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。 3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位 (例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。

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

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

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

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

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

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

微机接口课程设计报告 (题目:模拟自动门) 指导老师郭兰英 班级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、当“门”完全打开后一段时间后,传感器范围内检测不到物体时,立即“关闭门”, 用一系列的硬件动作模拟自动门关闭的动作和状态。

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

河北科技大学 课程设计报告学生姓名:学号: 专业班级: 课程名称: 学年学期: 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的输出进行控制,使输出按照相序表给驱动电路供电,则步进电机的输入也和相序表一致,这样步进电机就可以正向转动或反向转动。 硬件连接图 四.实现方法 .步进电机控制程序流图

微机控制技术实验报告

《微机控制技术》课程设计报告 课题:最少拍控制算法研究专业班级:自动化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)解得:

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

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术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、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

微机原理与接口技术_课程设计实验报告

课程设计实验报告 课程:现代微机原理与接口技术题目:键盘扫描实验

班级:数字媒体 1004 学号: 0305100417 学生:海洋 指导老师:天天 日期: 2012.6.18 一、实验目的 (1)掌握键盘扫描的应用及编程 (2)掌握LED的应用 二、实验设备 PC计算机一台,TD-PIT + 实验系统一套。 三、实验原理 (1)8255芯片:8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。把8255并口和键盘,组成一个键盘装置。通过cpu对8255的控制最总达到键扫的目的。每一个键对应一个ASCII 码字符,通过8255的输入和输出,最终显示在屏幕上。 (2)LED数码显示原理:数码管的 7 个段及小数点都是由 LED 块组成的,显示方式分为静态显示和动态显示两种。数码管在静态显示方式时,其共阳管的位选信号均为低电平,四个数码管的共用段选线 a、b、c、d、e、f、g、dp 分别与单片机的 8 根 I/O 口线相连,显示数字时只要给相应的段选线送低电平。数码管在动态显示方式时,在某一时刻只能有一个数码管被点亮显示数字,其余的处于非选通状态,位选码端口的信号改变时,段选码端口的信号也要做相应的改变,每位显示字符停留显示的时间一般为1-5ms,利用人眼睛的视觉惯性,在数码管上就能看到相当稳定的数字显示。 (3)键盘扫描原理:第一步,使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行

微机系统课程设计实验报告---交通信号灯自动控制模拟指示系统[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)增加红灯倒计时显示。

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分。

微机原理课程设计报告

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

(一)设计任务: 用汇编语言设计一电子表程序,要求: ! (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) 实验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

微机原理与接口课程设计报告模板(参考)

《微机原理与接口技术》 课程设计报告 班级: 学号: 姓名: 201X年X月

目录 实验一显示程序实验 (2) 实验二数据传送实验 (4) 实验三数码转换程序实验 (6) 实验四运算类程序实验 (15) 实验五分支程序设计实验 (18)

实验一显示程序实验 一、实验目的 1. 掌握在PC机上以十六进制形式显示数据的方法; 2. 掌握部分DOS 功能调用使用方法; 3. 熟悉Tddebug 调试环境和Turbo Debugger 的使用。 二、实验内容 一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS 功能调用完成一 些提示信息的显示。实验中可使用DOS 功能调用(INT 21H )。 (1) 显示单个字符输出 入口:AH=02H 调用参数:DL= 输出字符 (2) 显示字符串 入口:AH=09H 调用参数:DS:DX=串地址,’$’为结束字符 (3) 键盘输入并回显 入口:AH=01H 返回参数:AL= 输出字符 (4) 返回DOS 系统 入口:AH=4CH 调用参数:AL= 返回码 三、实验设备 PC微机一台 四、实验代码 DATA SEGMENT MES DB 'Show a as hex:', 0AH,0DH,'$' SD DB 'a' DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV DX, OFFSET MES ;显示提示信息 MOV AH, 09H

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

数字电压表课程设计实验报告

自动化与电气工程学院 电子技术课程设计报告 题目数字电压表的制作 专业 班级 学号 学生姓名 指导教师 二○一三年七月

一、课程设计的目的与意义 1.课程设计的主要目的,是通过电子技术综合设计,熟悉一般电子电路综合设计过程、设计要求、完成的工作内容和具体的设计方法。 2.同时了解双积分式A/D转换器ICL7107的性能及其引脚功能,熟悉集成电路ICL7107构成直流数字电压表的使用方法,并掌握其在电路中的工作原理。 3.通过设计也有助于复习和巩固以往的模电、数电内容,达到灵活应用的目的。在完成设计后还要将设计的电路进行安、调试以加强学生的动手能力。在此过过程中培养从事设计工作的整体观念。 4.利用双积分式A/D转换器ICL7107设计一数字电压表,量程为-1.99—+1.99,通过七段数码管显示。 二、电路原理图 数字电压表原理图

三、课程设计的元器件 1.课程设计所使用的元器件清单: 2.主要元器件介绍 (1)芯片ICL7107: ICL7107的工作原理 双积分型A/D转换器ICL7107是一种间接A/D转换器。它通过对输入模拟电压和参考电压分别进行两次积分,将输入电压平均值变换成与之成正比的时间间隔,然后利用脉冲时间间隔,进而得出相应的数字性输出。 它的原理性框图如图所示,它包括积分器、比较器、计数器,控制逻辑和时钟信号源。积分器是A/D转换器的心脏,在一个测量周期内,积分器先后对输入信号电压和基

准电压进行两次积分。比较器将积分器的输出信号与零电平进行比较,比较的结果作为数字电路的控制信一号。时钟信号源的标准周期Tc 作为测量时间间隔的标准时间。它是由内部的两个反向器以及外部的RC组成的。其振荡周期Tc=2RCIn1.5=2.2RC 。 ICL7106A/D转换器原理图 计数器对反向积分过程的时钟脉冲进行计数。控制逻辑包括分频器、译码器、相位驱动器、控制器和锁存器。 分频器用来对时钟脉冲逐渐分频,得到所需的计数脉冲fc和共阳极LED数码管公共电极所需的方波信号fc。 译码器为BCD-7段译码器,将计数器的BCD码译成LED数码管七段笔画组成数字的相应编码。 驱动器是将译码器输出对应于共阳极数码管七段笔画的逻辑电平变成驱动相应笔画的方波。 控制器的作用有三个:第一,识别积分器的工作状态,适时发出控制信号,使各模拟开关接通或断开,A/D转换器能循环进行。第二,识别输入电压极性,控制LED 数码管的负号显示。第二,当输入电压超量限时发出溢出信号,使千位显示“1" ,其余码全部熄灭。 钓锁存器用来存放A/D转换的结果,锁存器的输出经译码器后驱动LED 。它的每个测量周期自动调零(AZ)、信号积分(INT)和反向积分(DE)三个阶段。

相关文档
最新文档