微机原理和单片机实验报告.docx
- 文档编号:28451487
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:18
- 大小:982.59KB
微机原理和单片机实验报告.docx
《微机原理和单片机实验报告.docx》由会员分享,可在线阅读,更多相关《微机原理和单片机实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
微机原理和单片机实验报告
实验一8051单片机仿真系统的配置及使用
一、实验目的与要求
1.了解80c51单片机仿真开发系统的组成原理。
2.掌握仿真系统的连接与配置。
3.掌握仿真系统的MedWin集成开发环境的使用。
4.掌握程序的调试方法。
二、实验设备
1.PC机一台
2.InsightSE-52Plus8XC51单片机仿真器主机一台
3.TB-40DP180C51仿真头一个
4.CAB-40FT仿真电缆一条
5.CAB-25DB通讯电缆一条
6.MS-100电源一台
7.数字万用表一台
三、实验内容
1.InsightSE52Plus单片机仿真开发系统的组成及性能
2.InsightSE52Plus单片机仿真开发系统的硬件连接及配置
3.学习MedWin集成开发环境的使用
四、思考题
1MedWin集成开发环境的使用中,不使用项目管理方式开发应用程序和使用项目管理方式开发应用程序的操作方法和区别?
答:
区别是:
使用项目管理方式开发应用程序,更加方便,效率更高。
2MedWin集成开发环境的使用中,CODE,DATA,IDATA,XDATA,PDATA各存储空间的意义?
答:
CODE是片内程序存储器。
DATA为片内数据存储区,地址低128字节与IData的数据相同,高128字节为特殊功能寄存器SFR空间。
IDATA为片内数据存储区,低地址128字节。
XDATA为片外出具存储区。
PDATA为片外页面方式访问的数据区PData窗口,使用MOVX@ri指令访问。
3MedWin模拟仿真调试巡回彩灯程序,观察实验结果。
改变程序,观察实验结果。
参考程序如下:
答:
运行程序1,P1口所接的8个LED会一个挨一个的循环亮。
运行程序2,P1.2和P1.3所接的LED会一直亮。
实验二心电图机液晶显示系统实验(图形部分)
一、实验目的
了解液晶显示的原理
掌握液晶面板上进行波形显示的原理和方法
掌握单片机编程技巧
二、实验要求
了解80C51单片机及OCMJ4X8C液晶模组的硬件配置及连接方法
掌握80C51单片机的编程语言
掌握波形输出程序的算法和结构
编写程序并调试程序
三、实验设备
单片机仿真器
金鹏OCMJ4X8C液晶模组
稳压电源
四、实验内容
液晶显示在心电图机中的应用是将数字技术、计算机技术结合起来,利用单片机和液晶显示模块进行波形显示。
系统的主要功能是提供中文界面,对存储的心电图数据进行波形输出。
系统使用液晶显示模块,并利用51单片机作为系统控制核心,负责控制、检测、输入/输出显示等一系列的程序动作,使整个系统操作简便并且充满人性化。
1.OCMJ4X8C液晶模块简介
C系列中文模块可以显示字母、数字符号、中文字形及图形,具有绘图及文字画面混合显示功能。
提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口。
所有的功能,包含显示RAM,字符产生器,都包含在一个芯片里面,只要一个最小的微处理器系统,就可以方便的操作模块。
内置2M-位中文字型ROM(CGROM),总共提供8192个中文字型(16*16点阵),16K-位半宽字型ROM(HCGROM)总共提供126个符号字型(16*8点阵),64*16-位字型产生RAM(CGRAM),另外绘图显示画面提供一个64*256点的绘图区域(GDRAM),可以和文字画面混合显示。
提供多功能指令:
画面清除、光标归位、显示打开/关闭、光标显示/隐藏、显示字符闪烁、光标移位、显示移位、垂直画面卷动、反白显示、待命模式。
2.波形的显示
运行参考程序1,将会在液晶上显示出波形。
3.波形的移动显示
运行参考程序2,液晶上将显示不停移动的波形。
3.波形显示程序流程图
4.图形设计思路
如何更改图形显示:
在程序中,我们是把TAB段中的数据输出到液晶ram中,所以要更改所显示的图形,只要更改Tab中的数据就可以了。
比如,要显示三角波形的话,在256*64的方格纸上画出三角波,波形所占的格子代表数据0,其他代表数据1。
按从左到右,从上到下,每8个格子为1个字节,写入TAB,如此即可显示三角波。
关于提高精度:
由于液晶本身的像素数目有限,要提高波形显示精度,就得尽最大限度利用本液晶的像素,或者换个像素数更多的液晶。
要增加心电波形显示的周期数,即要提高横向上每个像素表示的时间跨度,相当于横向压缩波形,波形会更陡峭。
实验三心电图机液晶显示系统实验(汉字部分)
一、实验目的
了解液晶显示的原理
掌握液晶面板上进行汉字显示的原理和方法
掌握单片机编程技巧
二、实验要求
了解80C51单片机及OCMJ4X8C液晶模组的硬件配置及连接方法
掌握80C51单片机的编程语言
掌握汉字输出程序的算法和结构
编写程序并调试程序
三、实验设备
单片机仿真器
金鹏OCMJ4X8C液晶模组
稳压电源
四、实验内容
1.OCMJ4X8C液晶模块简介
C系列中文模块可以显示字母、数字符号、中文字形及图形,具有绘图及文字画面混合显示功能。
提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口。
所有的功能,包含显示RAM,字符产生器,都包含在一个芯片里面,只要一个最小的微处理器系统,就可以方便的操作模块。
内置2M-位中文字型ROM(CGROM),总共提供8192个中文字型(16*16点阵),16K-位半宽字型ROM(HCGROM)总共提供126个符号字型(16*8点阵),64*16-位字型产生RAM(CGRAM),另外绘图显示画面提供一个64*256点的绘图区域(GDRAM),可以和文字画面混合显示。
提供多功能指令:
画面清除、光标归位、显示打开/关闭、光标显示/隐藏、显示字符闪烁、光标移位、显示移位、垂直画面卷动、反白显示、待命模式。
2.文字的显示
运行参考程序“Ocm4x8C图形汉字演示”后,液晶屏幕上周期性的显示出汉字和图形:
还会显示一个图形:
3.显示汉字程序-流程图
4.汉字设计思路
如何更改汉字显示:
在程序中,我们是把TAB段中的数据输出到液晶ram中,所以要更改所显示的字,只要更改Tab中的数据就可以了。
比如,要显示“中”的话,在256*64的方格纸上写上“中”,字所占的格子代表数据0,其他代表数据1。
按从左到右,从上到下,每8个格子为1个字节,写入TAB,如此即可显示“中”。
关于改变字符的大小:
比如原来是96*24个像素显示一个字,要想变小,可以用72*18个像素显示一个字,要想变大,可以用120*30个像素显示一个字。
关于滚动显示:
有时候需要显示更多的内容,而液晶屏大小有限,这时,可以利用滚动显示。
首先把所有要显示的内容放入TAB中,然后,每隔一段时间,把TAB中的一部分送入液晶ram中。
如此循环即可。
实验四生物信号的数据采集
一、实验要求
利用8位串行控制模数转换器TLC0832做A/D转换器,采用实验板上的电位器,或其它信号(如心电仿真仪信号)提供模拟量输入,编制程序,将模拟量转换成二进制数字量。
存放在RAM区,以供查阅。
二、实验目的
1.熟悉串行外围设备接口SPI总线技术的结构和原理。
2.掌握8位串行控制模数转换器TLC0832的转换性能及编程。
3.掌握TLC0832与80C51单片机的接口方法。
4.通过实验了解如何使用单片机进行数据采集。
三、实验设备
1.PC机一台
2.实验面包板一个
3.80C51仿真器一套
4.元件:
TLC0832一片
5.导线若干
四、实验说明
一个微处理器系统中除了作为核心部件的微处理器外,多少要使用一些外围设备(通常被简称为“外设”)。
微处理器外设之间的连接方式基本上可以分为并行和串行2大类,也就是通过并行或串行接口连接。
并行接口设备使用了多根数据线,一次同时可以传递多个BIT的数据,所以传递速度较快,单器件之间的连线复杂。
而串行接口设备仅使用了一根数据线,每次只能传递一个BIT的数据,所以传递速度较慢,但由于使用串行接口的系统中器件之间的连线比较简单,在微型化的系统中倍受重视。
随着器件时钟速度的不断提高,串行接口的数据交换率同样可以做得很高。
另外基于异步串行接口电路的技术的器件因其相当高的效率,在DSP系统中被广泛采用。
五、实验电路及连线
六、软件流程及编程
1.A/D转换的软件流程图
2.A/D转换程序:
BEGIN:
CLRP1.4;/CS=0,选通器件
SETBP1.1;DI=1,置启动条件
CALLSCLK;发出一个时钟
SETBP1.1;DI=S/D=1,送控制命令的第1个BIT
CALLSCLK;发出一个时钟
CLRP1.1;DI=O/E=0,送控制命令的第2个BIT
MOVA,#00H;设存放转换结果的寄存器A初值
MOVR0,#08H;读8位BIT
GETDATA:
CALLSCLK;发出一个时钟
MOVC,P1.0;由DO读出一个BIT,检测DO的状态
RLCA;将读出的BIT用于字节输出到指定的BYTE,选通器件
DJNZR0,GETDATA;读完8次了吗?
未读完,继续
SETBP1.4;/CS=1.读完,放弃对于器件的控制
SJMP$
;SCLK入口
SCLK:
SETBP1.2;CLK=1,发出时钟的高电平
NOP;适当延时片刻
NOP
NOP
NOP
CLRP1.2;CLK=0,发出时钟的低电平
NOP;适当延时片刻
NOP
NOP
NOP
RET
END
七、思考题
1.单步执行参考程序,观察记录实验结果:
Vi=0V,1V,2V,3V,4V,5V时,A/D转换的数据。
答:
单步执行参考数据,观察实验结果如下:
当Vi=0V时,A/D转换的数据为:
00H;
当Vi=1V时,A/D转换的数据为:
8CH;
当Vi=2V时,A/D转换的数据为:
9CH;
当Vi=3V时,A/D转换的数据为:
A7H;
当Vi=4V时,A/D转换的数据为:
B3H;
当Vi=5V时,A/D转换的数据为:
FFH。
2.A/D转换数据的分辨率?
答:
分辨率=5V/100H=0.0195V。
3.A/D转换数据的时间(1个字节)?
答:
经计算,本实验程序,读取一个字节数据,需要8个循环,每个循环的指令需要16个机器周期。
假设采用12MHz晶振时,机器周期为1us,那么A/D转换数据的时间T=8*16*1us=128us=0.128ms。
4.修改完善参考程序,实现定时采样的功能。
查看记录DATA、CODE空间的数据,实现数据的采集。
答:
修改程序如下:
ORG0000H
AJMPMAIN
ORG001BH
AJMPBEGIN
ORG0030H
MAIN:
MOVR6,#99;设置读取最大次数100
MOVR7,#0;存储区地址,从0开始存放数据
MOVTMOD,#10H;定时器1
MOVTH1,#00H
MOVTH2,#01H;定时0.13s
SETBTR1
SETBEA
SETBET1
SIMP$;等待中断
BEGIN:
;中断子程序,用于读取数据
CLRP1.4;/CS=0,选通器件
SETBP1.1;DI=1,置启动条件
CALLSCLK;发出一个时钟
SETBP1.1;DI=S/D=1,送控制命令的第1个BIT
CALLSCLK
CLRP1.1;DI=O/E=0,送控制命令的第2个BIT
MOVA,#00H;设存放转换结果的寄存器A初值
MOVR0,#08H;读8位BIT
GETDATA:
CALLSCLK
MOVC,P1.0;由DO读出一个BIT,检测DO的状态
RLCA;将读出的BIT用于字节输出到指定的BYTE,选通器件
DJNZR0,GETDATA;读完8次了吗?
未读完,继续
SETBP1.4;/CS=1.读完,放弃对于器件的控制
MOV@R7,A;;把读取的数据送入片内存储区
INCR7
DJNZR6,EFT;如果读取够100次,就关中断,不再读取,
CLREA;否则重装初值,继续读取
SJMPED;关中断后,不再重装计数初值,直接结束
EFT:
MOVTH1,#00H
MOVTH2,#01H;重装计数初值
ED:
RETI
SCLK:
;延时子程序
SETBP1.2;CLK=1,发出时钟的高电平
NOP;适当延时片刻
NOP;适当延时片刻
NOP;适当延时片刻
NOP;适当延时片刻
CLRP1.2;CLK=0,发出时钟的低电平
NOP;适当延时片刻
NOP;适当延时片刻
NOP;适当延时片刻
NOP;适当延时片刻
RET
END
该程序,利用定时器,每0.13s读取一次数据,一共读取100次。
实验五生物信号数据通讯与存储
一、实验要求
本实验利用AT24C16对单片机进行外部数据存储器的扩展,使用8051单片机模拟I2C总线实现串行E2PROM的读写。
将单片机内部RAM30H开始的16个字节的数据写到外部数据区,然后再将外部数据区的16个字节的内容读到内部RAM40H开始的单元中,以检验是否将数据正确的写到外部存储器。
二、实验目的
1.熟悉I2C串行数据总线技术的结构和原理。
2.掌握AT24C系列E2PROM接口的转换性能及编程。
3.掌握AT24C系列与80C51单片机的接口方法。
4.通过实验了解如何使用具有I2C总线接口功能的串行E2PROM来扩展单片机的外部数据存储区。
三、实验设备
1.PC机一台
2.实验面包板一个
3.80C51仿真器一套
4.元件:
AT24C161片
5.导线若干
四、实验说明
I2C是一种新的芯片间的通讯方式,由PHILIPS开发和推广。
I2C通讯采用两条线进行通讯,一条数据线,一条时钟线,可进行多器件通讯。
总线上的每个器件都有自己的地址。
数据传送是双向的,总线支持多主机,8051上I2C总线的接口为P0端口的两根线,有专门的特殊功能寄存器来控制总线的工作和执行传输协议。
而在单片机系统中广泛使用E2PROM作为数据存储器,AT24C系列串行E2PROM是具有I2C总线接口功能的数据存储器。
本实验介绍了I2C总线及AT24C系列串行E2PROM,给出了8051单片机与串行E2PROM通讯的硬软件实现方法和实用的读/写子程序。
1.AT24C系列E2PROM读写操作
写:
读:
五、8051单片机与AT24C系列E2PROM通讯的硬软件实现
1.硬件电路
2.软件实现
由前述分析和图4的硬件电路,我们编制了E2PROM的读写子程序。
两者的主要区别在于读子程序需发器件地址(写)和片内地址作为伪字节,之后再发一次开始信号和器件地址(读命令)。
读写程序分别见:
I2CREAD.ASMI2CWRITE.ASM。
写程序:
I2CWRITE.ASM。
六、实验思考题
1.程序调试时,怎样查找硬件、软件故障?
答:
软件故障,利用MedWin的单步调试功能,同时查看特殊寄存器的值,可以找出错误。
也可以利用自动单步功能,看某些子程序是否被执行。
硬件故障,利用示波器检测。
2.连续执行写程序和读程序,查看记录DATA、CODE空间的数据,实现数据的存储和读取。
答:
连续执行写程序和读程序,DATA里,30H-3FH和40H-4FH里的数据一致了。
3.观察记录SCL,SDA的波形,分析工作时序。
答:
查看波形,和我们程序的输出相一致。
4.存入数据后,断电等待1分钟后,再次开启电源,从给定的地址中查看DATA数据,观察数据正确否,理解数据保存功能。
答:
存入数据,断电一分钟后,再次开启电源,从给定的地址中查看DATA数据。
我们发现数据仍然和我们之前的输入一致,即断电后,数据能够正确保存。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 单片机 实验 报告