单片机原理及应用实验指导竞赛版V4.docx
- 文档编号:28441441
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:13
- 大小:175.28KB
单片机原理及应用实验指导竞赛版V4.docx
《单片机原理及应用实验指导竞赛版V4.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用实验指导竞赛版V4.docx(13页珍藏版)》请在冰豆网上搜索。
单片机原理及应用实验指导竞赛版V4
SOC单片机原理及应用
实验指导书
C语言版
Version5.0
2013.02
目录
实验一KeiluVision2开发环境入门2
实验二单片机最小系统设计4
实验三单片机人机接口设计6
实验四SPI按键显示接口设计7
实验五数字频率计设计8
实验六数据采集系统设计10
实验七函数信号发生器设计11
实验一KeiluVision2开发环境入门
一、实验目的
1.初步熟悉KeiluVision2开发环境的使用。
2.了解汇编语言程序设计和调试方法。
二、实验内容
1.存储块清零程序设计。
指定内部RAM中某块的起始地址和长度,要求能将其内容清零。
2.二进制到BCD转换。
将给定的一个单字节二进制数,转换成非压缩的二—十进制(BCD)码。
三、实验说明
通过本实验,初步熟悉KeiluVision2开发环境的使用了解单片机的存储器结构及读写存储器的方法,了解各种数制之间的转换,同时也可以了解单片机编程、调试方法。
四、实验仪器和设备
PC机、KeiluVision2软件。
五、实验原理及参考程序流程图
否
是
图1存储器块清零参考程序流程图
图2单字节二进制数转换成非压缩BCD码程序流程图
实验二单片机最小系统设计
一、实验目的
1.掌握C8051F020单片机最小系统设计方法。
2.进一步熟悉KeiluVision2开发环境的使用。
3.了解C语言程序设计和调试方法。
4.熟悉C8051F优先权交叉开关译码器,掌握I/O口交叉开关设置和引脚配置。
5.了解C8051F单片机内部和外部振荡器结构和配置方法。
二、实验内容
1.C8051F020单片机最小系统设计、制作与调试。
2.C8051F020单片机系统时钟配置为外部晶体振荡器。
3.I/O口交叉开关配置。
为UART0、/INT0和/INT1分配端口引脚。
将P1.2、P1.3和P1.4配置为模拟输入。
4.在P1.7输出一个矩形波,用示波器观察波形,并记录信号频率、周期与脉宽;改变系统时钟为外部晶体振荡器的二分频,并记录信号频率、周期与脉宽。
三、实验说明
通过本实验,掌握C8051F020单片机最小系统设计、制作和调试方法;进一步初步熟悉KeiluVision2开发环境的使用;了解C8051F020单片机的I/O口交叉开关和振荡器及配置使用;了解C语言程序设计和调试方法。
四、实验仪器和设备
PC机、KeiluVision2软件,C8051F020单片机,EC3在线仿真器。
五、实验原理及参考程序流程图
1.最小系统原理框图
2.C8051F系列MCU振荡器
每个C8051F系列MCU都有一个内部振荡器和一个外部振荡器驱动电路,每个驱动电路都能产生系统时钟,MCU在复位后从内部振荡器启动。
系统时钟可在内部振荡器和外部振荡器之间进行切换。
也可以在选择内部振荡器时让外部振荡器保持在允许状态,这样可以避免在系统时钟被切换到外部振荡器时的启动延迟。
外部振荡器具有很高的可配置性,为系统设置者提供了多种选择。
时基信号可以从外部CMOS电平时钟源、晶体或陶瓷谐振器、RC组合电路或外部电容获得。
内部和外部振荡器的工作受两个SFR寄存器控制,即OSCICN内部振荡器控制寄存器和OSCXCN外部振荡器控制寄存器。
3.C8051F020交叉开关配置
C8051F020单片机内部的数字和模拟资源可以通过P0~P3,32个I/O引脚使用。
每个端口引脚都可以被定义为通用I/O(GPIO),又可以分配给一个数字外设或功能(例如:
UART0或/INT1),如图所示。
其中P1口的引脚可以用做ADC1的模拟输入。
设计者完全控制数字功能的引脚分配,只受I/O引脚数的限制。
这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。
图4交叉开关原理框图
端口I/O初始化包括以下步骤:
1)用端口输入方式寄存器(PnMDIN)选择所有端口引脚的输入方式(模拟或数字)。
2)用端口输出方式寄存器(PnMDOUT)选择所有端口引脚的输出方式(漏极开路或推挽)。
3)将引脚分配给要使用的外设。
5)使能交叉开关(XBARE=‘1’)。
4.程序流程图
实验三单片机人机接口设计
一、实验目的
1.掌握单片机简单人机交互接口电路的设计方法。
2.进一步熟悉C8051F020单片机I/O口交叉开关设置和I/O端口的使用。
3.掌握独立式按键和LED显示接口电路和程序设计方法。
二、实验内容
1.C8051F02单片机按键(3个)和LED(4个)显示接口电路设计、制作与调试。
2.用按键输入脉冲,在P1口按16进制计数方式点亮发光二极管。
其中一个按键为加法计数键,一个按键为减法计数键,最后一个为清零键。
三、实验说明
通过本实验,掌握单片机简单人机交互接口电路的设计、制作和调试方法和程序设计方法。
进一步熟悉C8051F020单片机的I/O口交叉开关和振荡器及配置使用;熟悉C语言的模块化程序设计方法。
必须用模块化方法进行C语言程序设计。
四、实验仪器和设备
PC机、KeiluVision2软件,C8051F020单片机,EC3在线仿真器。
五、实验原理
1.LED显示接口电路
图4
2.独立式按键接口电路
图5
实验四SPI按键显示接口设计
一、实验目的
1.掌握ZLG7289专用按键显示芯片电路设计。
2.掌握SPI通信程序设计方法。
3.掌握基于ZLG7289按键显示驱动程序设计。
二、实验内容
1.ZLG7289专用按键显示芯片接口电路设计、制作与调试。
2.ZLG7289按键显示驱动程序设计。
(1)设计一个秒表。
要求:
计时精度为10ms,计时范围为1000秒;显示格式为:
XX.XX.XX;
功能按键:
启动、停止、清零。
(2)设计一个定时器。
要求:
能够输入定时时间,定时最长时间为99分59秒;按启动键后开始倒计时,数码管显示当前剩余时间,每秒钟刷新一次数码管显示的数值;定时时间到达后,用数码管闪烁指示。
三、实验说明
通过本实验,掌握ZLG7289专用按键显示芯片接口电路设计、制作与调试;掌握SPI串行通信接口驱动程序设计;掌握基于专用芯片的人机交互程序设计方法。
逐步掌握C语言的模块化程序设计方法。
必须用模块化方法进行C语言程序设计。
四、实验仪器和设备
PC机、KeiluVision2软件,C8051F020单片机,EC3在线仿真器。
五、实验原理
参考ZLG7289使用说明。
实验五数字频率计设计
一、实验目的
1.掌握单片机片内定时器的使用方法。
2.掌握基于单片机片内定时器的数字频率计设计方法。
二、实验内容
基于单片机片内定时器的数字频率计设计。
要求:
(1)测频率范围:
10Hz~10KHz。
为保证测量精度分为三个频段:
10Hz~100Hz
100Hz~1KHz
1KHz~10KHz
当信号频率超过规定的频段上限时,设有超量程指示。
三个频段之间用手动切换。
(2)输入波形:
低频函数信号发生器输出的矩形波,幅度为3V。
(3)测量误差:
σ≤±1%。
(4)显示和响应时间:
测量结果用三位半导体数码管显示,要求显示数码稳定清晰。
三个频段的最大显示数分别为99.9Hz,999.Hz,9.99KHz,为此需要控制小数点位置,并用两个发光二极管分别显示频率单位:
Hz或KHz,详见表1。
表1
频率范围
小数点位置
单位
响应时间
10Hz≤f<100Hz
××.×
Hz
≤12秒
100Hz≤f<1KHz
×××.
Hz
≤2秒
1KHz≤f<10KHz
×.××
KHz
≤2秒
三、实验说明
通过本实验,掌握单片机片内定时器的使用方法,了解数字频率计的测量原理及测量电路设计方法。
掌握基于单片机的数字频率计工作原理与设计方法。
必须用模块化方法进行C语言程序设计。
四、实验仪器和设备
PC机、KeiluVision2软件,C8051F020单片机,EC3在线仿真器。
五、实验原理
频率测量的方法常用的有测频法和测周法两种。
(1)测频法
测频法的基本思想是让计数器在闸门信号的控制下计数1秒时间,计数结果是1秒内被测信号的周期数,即被测信号的频率。
若被测信号不是矩形脉冲,则应先变换成同频率的矩形脉冲。
测频法的原理框图如图6所示。
图中,秒脉冲作为闸门信号,当其为高电平时,计数器计数;低电平时,计数器停止计数。
显然,在同样的闸门信号作用下,被测信号的频率越高,测量误差越小。
当被测频率一定时,闸门信号高电平的时间越长,测量误差越小。
但是闸门信号周期越长,测量的响应时间也越长。
例如,闸门信号高电平时间为1秒,被测信号频率的真值为2Hz,如图2-2-2所示。
由
图可知,无论被测信号的频率是多少,测量时可能产生的最大绝对误差均为±1Hz,即
f测-f真=±1Hz
所以,最大相对误差为
σmax=(f测-f真)/f真=±1/f真
由上式可知,在闸门信号相同时,测频法的相对误差与被测信号的频率成反比。
因此测频法适合于测量频率较高的信号。
(2)测周法
当被测信号频率较低时,为保证测量精度,常采用测周法。
即先测出被测信号的周期,再换算成频率。
测周法的实质是把被测信号作为闸门信号,在它的高电平的时间内,用一个标准频率的信号源作为计数器的时钟脉冲。
若计数结果为N,标准信号频率为f1,则被测信号的周期为
T=T1·N
被测信号的频率为
f=1/T1·N=f1/N
利用测周法所产生的最大绝对误差,显然也等于±1个标准信号周期。
如果被测信号周期的真值为T真=T1·N,则T测=T1·(N±1)
σmax=(f测-f真)/f真=T真/T测–1=±1/(N±1)
由上式可知,对于一定的被测信号,标准信号的频率越高,则N的值越大,因而相对误差越小。
(3)低频段的测量
鉴于上述困难,对于低频信号,为了达到规定的精度,要采取一些比较特殊的方法。
例如,可考虑将被测信号倍频后再用测频法测量。
或将闸门信号展宽。
由于倍频电路比较复杂,所以一般采用后一种方法,实际上闸门信号展宽与被测信号倍频在效果上是相同的。
闸门信号展宽比较容易做到,例如采用分频电路就可以实现。
若闸门信号高电平时间从1秒展宽到10秒,则相对误差可以按比例下降,但响应时间也增大相同的比例。
实验六数据采集系统设计
一、实验目的
1.掌握单片机片内ADC及温度传感器的使用及应用程序设计
二、实验内容
应用单片机片内ADC实现数据的采集,使用片内温度传感器实现温度的测量。
要求:
1.应用C8051F020单片机片内温度传感器实现温度的测量,并用数码管显示实测温度值,显示精度为0.1oC。
2.应用C8051F020单片机内ADC实现两路数据的采集,要求对外部输入0-2V的直流电压进行数据采集,测量精度为5mV,显示精度为0.001V。
3.两种采集功能可以用按键进行切换,可以用按键控制数据采集的通路。
三、实验说明
通过本实验,掌握单片机片内ADC使用方法,掌握基于单片机的数据采集系统的工作原理与设计方法。
必须用模块化方法进行C语言程序设计。
四、实验仪器和设备
PC机、KeiluVision2软件,C8051F020单片机,EC3在线仿真器。
五、实验原理
C8051F020单片机内ADC的工作原理及使用参考C8051F020数据手册。
实验七函数信号发生器设计
一、实验目的
1.掌握单片机片内DAC的使用及应用程序设计
二、实验内容
应用C8051F020单片机内DAC设计制作一个简单的函数信号发生器,该信号发生器能产生正弦波、方波、三角波。
要求:
1.输出波形的频率范围为100Hz~10kHz;频率可调,频率步进间隔≤100Hz。
2.输出波形幅度范围0~2V(峰-峰值)。
3.具有显示输出波形的类型、频率的功能。
三、实验说明
通过本实验,掌握单片机片内DAC使用方法,掌握基于单片机函数信号发生器的工作原理与设计方法。
必须用模块化方法进行C语言程序设计。
四、实验仪器和设备
PC机、KeiluVision2软件,C8051F020单片机,EC3在线仿真器。
五、实验原理
C8051F020单片机内DAC的工作原理及使用参考C8051F020数据手册。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 实验 指导 竞赛 V4
![提示](https://static.bdocx.com/images/bang_tan.gif)