微型计算机技术及应用实验指导书.docx
- 文档编号:23760983
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:61
- 大小:521.62KB
微型计算机技术及应用实验指导书.docx
《微型计算机技术及应用实验指导书.docx》由会员分享,可在线阅读,更多相关《微型计算机技术及应用实验指导书.docx(61页珍藏版)》请在冰豆网上搜索。
微型计算机技术及应用实验指导书
微型计算机技术及应用
实验指导书
信息工程学院实验总室
2011年9月编写
目录
学生实验室规则2
仿真系统使用简介3
实验一基本I/O接口实验8
实验二P3.3口输入,P1口输出10
实验三中断应用实验——工业顺序控制13
实验四 6位8段LED动态显示控制15
实验五 定时器与中断综合应用实验—秒表17
实验六 串并转换试验21
实验七 8255控制交通灯22
实验八A/D转换实验24
实验九步进电机控制实验25
实验十 小直流电机调速实验27
实验十一D/A输出拟定波形实验29
实验十二电脑时钟30
实验十三 16×16点阵显示控制实验31
实验十四 8155并行扩展3×3键盘、4位LED显示34
实验十五 2×16LCD液晶显示接口实验36
实验十六MCS-51串行口应用实验㈠——双机通信37
实验十七MCS-51串行口应用实验㈡——与PC机通信38
附录字形/字位表/键值表41
学生实验室规则
1、学生应在实验课前做好实验的预习工作,并写好预习报告交老师检查。
无预习报告不准参加实验。
2、学生应按时上实验课,按照老师要求对号入座,进入实验室后不得大声喧哗与打闹,保持肃静的实验环境。
3、在实验室内不准吃东西、喝饮料、不准吸烟、不准穿背心、拖鞋,注意着装礼貌。
4、学生要按技术规程操作仪器设备,不懂要求与技术操作者应虚心请教老师。
对于与实验无关的仪器,不要揎自使用,不能揎自交换仪器以及把公物拿出实验室。
5、学生做实验应严肃认真、耐心细致,听从老师指导,正确操作。
严防触电、损坏仪器或其它事故发生。
6、实验完毕,应把实验数据记录或结果交指导老师审阅。
7、学生离开实验室前,要将所用仪器设备放置原处,关好仪器开关,并保持室内及实验台的整洁。
8、学生损坏仪器要及时报告老师,并按规定进行经济赔偿。
9、学生应按时交实验报告。
仿真系统使用简介
一、Dais仿真实验系统简介
本实验室应用Dais—958H+型仿真实验系统,它是及微机原理8086/8088、单片机MCS-51、MCS-96为一体的三合一仿真系统,把不同类型CPU的三总线(八位数据线、十六位地址总线、CPU控制总线)浓缩与合成,形成混为一体的通用型微机仿真实验系统。
系统提供丰富的软硬件资源,实验项目完整丰富,与课程教学紧密结合,能完成《微型计算机原理与接口技术》、《单片机原理及应用》课程的实验内容。
系统中的实验部件均为模块化设计电路,各模块之间相互独立,学生根据设计要求进行硬件电路设计连线及软件编程。
本实验系统同时配有直流电机、步进电机、音响等实验被控对象,可支持控制应用等综合性实验。
师生可根据实际需要选择,修改或新开实验项目。
系统硬件主要内容如表一所示:
表一系统硬件主要内容
CPU
管理CPU:
89C52、目标CPU:
准16位微处理器8088、8032/78E438系列单片机、196KB/KC单片机
系统存储器
监控管理程序在管理CPU的FLASH中、由RAM器件61256二片构成最小系统(寻址范围64K)、BPRAM61256(32K)
接口芯片
及单元实验
8251、8253、8255、8259、8237、ADC0809、DAC0832、164、273、244、393分频、电子发声单元,电机控制单元,开关及发光二极管、单脉冲触发器、继电器控制、16×16点阵、2×16LCD等
外设接口
打印接口,RS232C串口、D/A驱动接口、步进电机驱动接口、音频驱动接口、PC总线接口
显示器
6位LED、二路双踪示波器
键盘
32键自定义键盘
EPROM编程器
对EPROM2764/27128快速读出
系统电源
+5V/2A,±12V/0.5A
1.系统组成
Dais—958H+型仿真实验系统的微机接口实验由管理CPU、目标CPU8088/8032/196单元和通用电路、接口实验电路及稳压电源组成,并配有CPU选择开关、串行口通信波特率选择开关。
系统既能独立运行(脱机方式),也可以PC微机为操作平台。
系统接口实验电路为单元电路方式,通过RS232串行接口与PC微机相连,在Windows集成软件的支持下,利用上位机丰富的软硬件资源,实现用户程序的编辑、编译、调试运行。
目标CPU8088采用主频为14.3818MHz晶振,51系列单片机晶振频率6MHz。
“MCS-51实验系统”支持汇编语言及C51编程、调试及运行。
2.系统资源分配
实验系统寻址范围定义如表二所示:
系统数据区
F000:
0000~00FFH
系统堆栈区
F000:
0100~01FFH
系统程序区
F000:
0200~07FFH
用户程序区
用户数据区
0000:
1000~07FFFH
用户堆栈区
0000:
0400~0600H
中断向量区
0000:
0000~03FFH
系统已定义的I/O地址如下:
接口芯片
口地址
用途
74LS273
FFDDH
字位口
74LS273
FFDCH
字形口
74LS245
FFDEH
键入口
8255A口
FFD8H
EP总线
8255B口
FFD9H
EP地址
8255C口
FFDAH
EP控制
8255控制口
FFDBH
控制字
3.常用控制电路
1.串行口通信波特率选择开关(位于实验箱右上角的船形开关)
串行口通信波特率选择开关
2.CPU选择开关(位于实验箱右侧,串行口通信波特率选择开关下方的船形开关)
3、三输入、八输出译码器(74LS138)电路
系统上配有带使能控制的三输入、八输出译码器74LS138一片。
系统实验程序中对译码器的定义是:
使能控制端G的有效寻址范围为0FFE0H~0FFFFH,译码器输入控制端A、B、C连接地址线A2、A3、A4,其译码输出端Y0~Y7的有效寻址范围分别为0FFE0H、0FFE4H、0FFE8H、0FFECH、0FFF0H、0FFF4H、0FFF8H和0FFFCH,如下图
二、Dais仿真实验系统安装使用
1.硬件安装
⑴电源连接:
通过随机所配的三芯电源线接入AC220V电网。
⑵打开电源开关系统应显示闪动的“P.”,若否应按下复位(RESET)键,如仍不显示闪动的“P.”,应立即切断电源,检查后重新进行或向指导教师报告。
2.Windows环境快捷使用
⑴在桌面上双击图标
,弹出图1所示“选择通讯端口”对话框,然后选择PC机与实验系统所插串口一致的串口选项(串口1或2),与仿真器串行口通信波特率选择开关所对应位置一致的选项,(右侧是57600、中间是9600),软硬件设置、串口接线正确,且仿真器电
图1:
选择通讯端口对话框
源打开,点击“确认”,计算机与仿真器连接,便进入Dais集成调试环境(IDE),如图2所示。
IDE是IntergratedDevelopmentEnvironment(集成开发环境)的缩写。
使用IDE可以轻松地创建文件,并可通过其良好的界面来编译或编辑文件,以生成下载至Dais仿真器中的调试程序文件。
点击“确认”若未进入Dais集成调试环境而系统弹出图3所示Information提示框,选择“Yes”连接仿真器进入Dais集成调试环境。
选择“No”与选择“选择通讯端口”对话框“取消”一样,不连仿真器进入Dais集成调试环境。
注意:
若仿真器与计算机没有连接,主界面上仿真器连接图标
有颜色(红绿),否则仿真器连接图标
显示灰色。
图2:
IDE集成调试环境主界面
图3:
Information对话框
注意:
点击“NO”可不连仿真器直接进入集成调试环境主界面,然后在菜单“设置”选项中选择“选择通讯端口”进行设置连接仿真器。
在单片机实验中在菜单“设置”选项中选择“仿真模式”,仿真模式设置如图4所示:
图3:
仿真模式设置对话框
⑵系统功能自检(联机方式)
单片机实验中,点击工具条中“
”图标,在打开对话框中(Dais文件夹)双击LED51.asm文件,进入实验源程序的编辑窗口。
⑶工具条中点击“
”图标,进行源文件编译、装载,在出现编译成功的对话框后点击“OK”自动进入源文件调试状态。
点击“
”运行,执行系统自检程序,以连续方式运行“8”字循环右移程序,若LED出现跑“8”显示,说明系统已进入正常工作状态,点击“
”停止。
⑷调试程序时,可在在工具条中点击所需的运行方式:
“
”单步、“
”宏单步、“
”运行。
⑸若需要以断点方式运行,可直接点击源语句行前的“
”图标来完成所需断点的设置与清除,然后再点击“
”图标进入断点运行状态。
⑹系统进入运行状态后若需终止程序运行请点击图标“
”退出当前操作返回待令状态。
步骤⑵~⑷可在IDE集成开发环境主界面菜单栏中的对应功能菜单项实现
注意:
(1)当已经建立或打开了的一个源程序文件(汇编语言或C51,其扩展名是.asm或.C),可以使用菜单编译项中的“文件编译、连接、装载”命令或单击工具栏“
”按钮即可对当前源文件进行编译、连接,如果源文件存在错误,即弹出下列“编译连接产生错误”对话框,单击“OK”,编译错误信息便出现在“编译连接信息”窗口,双击错误信息行,光标便自动跳转到源文件编辑窗口的出错行,以便进行修改。
如果源程序文件没有错误,即弹出“编译、连接成功”对话框。
(2)当启动调试软件或在使用软件过程中出现通讯错误提示框,如下图所示。
主要有以下几个原因:
⑴仿真器与计算机没有连接;
⑵仿真器的电源没有打开;
⑶仿真器连接的实际串行口波特率选择开关位置与软件设置不一致;
对于⑴⑵的错误,只要在硬件上检查一下,或用杀毒软件清除病毒即可。
对于第⑶种错误,请单击“No”进入主界面,再打开“设置/通讯端口选择”菜单,选择与硬件实际连接的端口及波特率与仿真器一致,单击“确定”按钮即可。
IDE集成开发环境系统使用详见IDE主界面菜单中的“帮助”项。
3.初始化状态
51系列单片机8032实验系统复位后各寄存器的初始化值如下:
PC=0000H,SP=07H,P0~P3=FFH,DPTR=0000H,ACC、B、PSW均为0,其余详见教材。
4.实验注意事项
1)实验接线图上的粗实线表示学生在实验时要用导线连接起来。
2)文件名:
所编辑的文件起名不得超过8个字符,不可以使用汉字以及“-、?
、*、/”等DOS文件名所不可使用的字符,也不可输入盘符和路径!
否则,当你点击“
”图标—编译、连接、装载程序时,系统提示错误,出现如下错误信息提示对话框。
说明所编辑文件名起名错误,按要求重新起名;或者是预说明语句不正确。
实验一基本I/O接口实验
一、实验目的
1、熟习单片机实验系统的操作方法及实验步骤。
2、学习P1口使用方法。
3、用汇编语言编写程序,学习延时子程序的编写和使用。
二、实验内容
1、P1八位分别连线八只发光二极管;编程实现控制八个灯依次循环点亮,延时1s。
2、P1.0口输出方波,方波占空比50%,周期为50ms。
三、程序参考流程
(注:
书中给出的流程图仅作为编程参考,可不依据该流程图自行编写程序完成实验。
)
四、编程提示
1、P1口为双向I/0接口,每一位都可作为输出或输入端。
编写程序可对其按字节操作(如:
MOVP1,#0FFH)或者按位操作(如:
SETBP1.0)。
2、单片机定时可用指令循环方式(软件延时)或定时器定时方式(硬件延时)实现。
若用指令循环方式,其程序延时时间计算公式如下:
延时时间=执行指令所需机器周期×指令循环次数
例如:
要实现100ms延时,可编写程序如下:
DEL:
MOVR3,#200
DEL1:
MOVR2,#125
DEL2:
DJNZR2,DEL2;125*4=500μs
DJNZR3,DEL1;0.5ms*200=100ms
本实验箱单片机外接晶振频率为6MHz,执行一条单周期指令(如:
MOV)时间为2μs,执行一条双周期指令(如:
DJNZ)为4μs。
以上程序精确延时时间为:
(500+2+4)*200+2=101.202(ms)
3、参考例子
P1口输出,点亮一个发光二极管L1
汇编语言参考程序:
[汇编语言不区分大小写]
ORG0000h;伪指令,定义程序存储初始地址
MOVP1,#0feh;将立即数0feh送入P1口
END;结束指令
C语言参考程序:
[注意:
C语言区分大小写]
#include
voidmain()//主函数
{P1=0xfe;}//P1口输出fe
让灯L1延时0.5s闪烁
汇编语言参考程序
ORG0000h
start:
CPLp1.0;P1.0位取反
ACALLdelay;调用延时子程序
AJMPstart;无条件跳转指令
delay:
MOVR3,#5;延时子程序
DEL1:
MOVR2,#200
DEL2:
MOVR1,#125
DEL3:
DJNZR1,DEL3
DJNZR2,DEL2
DJNZR3,DEL1
RET;子程序返回语句
END
C语言参考程序
#include
#defineuintunsignedint//自定义数据类型
voiddelay();//函数声明
voidmain()
{while
(1)//无限循环函数
{P1=P1^1;//P1.0求反,表达式不唯一
delay();//延时程序调用
}
}
//函数定义,该函数为一个无参数函数
voiddelay()//该函数实现程序延时功能
{uintx,y;//修改x,y初值可以改变延时时间
for(x=100;x>0;x--)
for(y=200;y>0;y--)
;
}
五、实验电路
六、实验步骤
1、实验接线:
用导线把P1.O~P1.7分别连接至L1~L8,打开实验箱电源;
2、编程调试:
在PC机上打开实验软件(MCS-51单片机实验系统),用汇编语言编写并调试程序;下载运行程序,观察发光二极管点亮移位情况,如果现象不对继续修改程序。
七、实验报告要求
1、写出实验完成后的完整程序及必要的文字说明,画出实验电路图。
2、描述实验程序运行结果。
3、完成思考题:
若采用计数器延时,试编写程序实现,可分别用汇编和C51语言。
实验二P3.3口输入,P1口输出
一、实验目的
1、进一步熟悉汇编语言编程思路和程序调试方法。
2、学习P1、P3I/O口使用。
二、实验内容
1、P3口做输入口,外接一开关作为脉冲信号源,每输入一个脉冲,P1口按十六进制加一。
2、P1口做输出口,编写程序,使P1口接的8个发光二极管L1—L8按16进制加一方式点亮发光二极管。
三、实验说明
1、P3口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P3口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。
2、参考例子
读取P3口输入开关状态输出到P1口通过外接的LED灯显示.
汇编语言参考程序:
ORG0000h
MOVP3,#0FFH;P3口初始化
MOVACC,P3;将P3口数据读入累加器ACC中
MOVP1,ACC;将将ACC中数据送入P1口输出
END
C语言参考程序:
#include
voidmain()
{P3=0xff;//P3口初始化
P1=P3;//P3口输入送P1口输出
}
查询方式判断开关状态,关时L1灯灭,开时L1灯亮
汇编语言参考程序
ORG0000h
MOVP3,#0FFH;P3口初始化
test:
JNBP3.3,open;判位跳转指令
SETBP1.0;置1指令
AJMPtest;无条件跳转指令
open:
CLRP1.0;清0指令
AJMPtest
END
C语言参考程序
#include
sbitp3_3=P3^3;//位变量定义
sbitp1_0=P1^0;
voidmain()
{P3=0xff;
while
(1)
{if(p3_3==1)p1_0=1;
elsep1_0=0;}
}
四、程序参考流程
五、实验线路图
六、实验步骤
1、实验连线
用导线把P3.3连至K1,P1.0-P1.7连至L1-L8。
2、编程调试:
在PC机上打开实验软件(MCS51单片机开发系统),用汇编语言编写并调试程序;下载运行程序,用连续方式运行程序。
3、观察运行结果
在连续运行状态下,开关K1每拨动一次,L1-L8发光二极管按16进制方式加一点亮。
七、实验报告要求
1、写出实验完成后的完整程序及必要的文字说明,画出实验电路图。
2、描述实验程序运行结果。
3、完成思考题:
若采用中断方式判断开关状态,试编写程序实现。
实验三中断应用实验——工业顺序控制
一、实验目的
1、掌握中断程序的编写方法。
2、了解工业顺序控制相关概念及操作方法。
3、学习单片机控制喇叭等发声器件的原理及实现方法。
4、学习利用C51编写程序的技巧及方法。
二、实验内容
P1.0~P1.6控制注塑机的七道工序,实现模拟控制七只发光二极管点亮,低电平有效。
设定每道工序时间转换为1秒,P3.4为开工启动开关,高电平启动。
P3.3(外部中断1输入口)为故障输入信号,低电平报警。
P1.7为报警声音输出端,产生频率范围在20~2MHZ之间的方波信号,经功率放大器(LM386)放大后,驱动喇叭发出报警声。
设定前6道工序只有一位输出,第七道工序有三位(LED6、7、8)输出。
编程实现:
1、打开开工开关后,七道工序循环动作;2、有中断信号输入时,立即停止工序动作(即:
所有灯熄灭)并发出报警;3、中断去除后,工序恢复到中断来时刻的工序动作。
三、程序参考流程
四、编程提示
1、工业顺序控制概念:
在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律地完成预定的动作,对这类继续生产过程的控制称顺序控制。
倒注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机最易实现。
2、单片机中断系统是为使CPU具有对外界事件进行处理能力而设置的。
当CPU正在处理某事件时外界发生紧急事件请求,CPU暂停当前工作,转而去处理这个紧急事件。
处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。
能够实现中断功能的事件为中断系统,向CPU发出中断请求称为中断源。
MCS-51单片机的中断系统提供了5个中断源,具有两个中断优先级,可实现两极中断服务程序嵌套。
通过关中断或开中断来控制中断源的状态。
3、中断相关寄存器及其设置:
1)中断屏蔽:
CPU可以对中断源开放或屏蔽,每一个中断源是否允许中断,是由内部中断允许寄存器IE的相应位控制。
该位为1允许中断,为0禁止中断,其格式如下:
EA
/
/
ES
ET1
EX1
ET0
EX0
cpu中断开放标志
串口中断
T1定时
外部中断1
T0定时
外部中断0
例句:
如要使CPU可以对所有中断源开放:
EA=1;
2)中断优先级:
MCS-51有两个中断优先级,对于每一个中断源均可编程为高优先级或低优先级,可以实现二级中断嵌套。
中断优先级响应的原则:
低级可被高级中断,反之不能;任何一种中断,一旦被CPU响应,不能被同级中断源所中断。
中断优先级寄存器IP的格式如下:
“1”为高级优先,“0”为低级优先。
/
/
/
PS
PT1
PX1
PT0
PX0
串口中断
定时器T1
外部中断1
定时器T0
外部中断0
(寄存器地址IE:
0A8HIP:
0B8H)
3)中断触发方式选择:
单片机触发方式有电平触发和边沿触发两种。
本实验中外部中断信号接开关,所以应设为电平触发。
编程时需要设置定时器控制寄存器TCON中与中断有关的位为“1”,外部中断0对应:
IT0;外部中断1对应:
IT1
(例句:
IT0=0;设置外部中断0为电平触发)
4)中断源入口地址:
MCS-51中断系统5个中断源入口地址分别为:
中断源
入口地址
中断号
外部中断0
0003H
0
定时器T0
000BH
1
外部中断1
0013H
2
定时器T1
001BH
3
串行口
0023H
4
4、电子控制系统常见的报警方式有:
指示灯或数码管显示报警;采用声、光以及语音进行报警;具有控制功能的报警等。
利用单片机系统进行报警的策略是把采集到的数据送到单片机进行处理,与该参数的上、下限给定值进行比较,若超过给定值时则进行报警;否则,就作为正常值进行显示或控制。
本实验中用喇叭发出声音报警,报警声音的产生方法:
编写程序使P1.7口输出方波脉冲信号,其频率范围在20~2MHZ(即人耳能够听到的音频范围).将该信号用导线引至音频放大电路输入端,再接至喇叭,即可发出声音。
5、参考例子[C语言参考程序]
外部中断0响应程序,当有外部中断信号输入时喇叭发出声音
#include
sbitbeep=P1^7;//音频脉冲输出端
bitwarm;//定义位变量作为发声标志
voidsong(intx)//喇叭蜂鸣函数
{//形参x的值可以改变声音频率
inty=x;
warm=0;
beep=0;
for(;y>0;y--);
beep=1;
for(;y>0;y--);
}
init_sys()//系统初始化函数
{
IT0=0;//设置外部中断0触发方式
EX0=1;//外部中断0允许开放
EA=1;//总中断允许位置一
warm=0;
P3=0xff;//P3口初始化
}
voidmain()//主函数
{init_sys();//系统初始化函数调用
while
(1)
{
if(warm==1)song(10);
}//发声标志为1时调用喇叭蜂鸣函数
}
//外部中断0的中断函数
voidint0()interrupt0
{
warm=1;//设置发声标志为1
}
五、实验电路
六、实验步骤
1、实验接线:
按实验电路图连线。
P3.4连K1,P3.3连K2,P1.0—P1.6分别连到L1—L7,P1.7连SIN(功放LM386输入端),用一根八芯排线将步进电机驱动单元接口连接至音频驱动单元。
初始状态K1,K2开关拨在高电平位置(开关向下为高)。
2、编程及调试:
编写程序,编译通过后下载运行程序。
把K1接高电平,观察发光二极管点亮情况,确定工序执行是否正常。
然后把K2置为低电平,看是否有声音报警。
恢复K2为高电平,即中断信号消失,报警停,应该又从刚
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 技术 应用 实验 指导书