单片机实验报告三(通用8篇)
信息工程系
电气自动化
11班
姓名:张青
日期:2014.10.14 实验一:完成AT89S51单片机与PC机的RS232串行通信接口电路实物制作。该部分电路可在实物电路板Ⅰ上进行搭建。
实验二:设计串口初始化程序,要求:工作方式
1、查询方式、允许接收、波特率为2400bps,设时钟频率为12MHz。
实验三:串口查询方式设计带参数字符发送子程序,并在此基础上利用MOVC查表指令完成带参数串发送子函数设计,自定义被发送字符串。要求工作方式1,波特率4800,时钟频率为11.0592MHz。实验四:串口中断方式编写单字符接收程序,存储收接收并进行回显,波特率设为9600,时钟频率为11.0592MHz。实验五:完成PC机远程控制小灯系统的软硬件仿真设计,并在实物电路板上测试程序的功能实现。实验六:利用MOVC查表指令在试验电路板Ⅰ上拓展完成小灯多种显示功能的实现。
实验七:拓展题:结合定时器中断程序拓展完成PC机远程控制小灯闪烁、左右移动等功能的实现。
实验二:ORG 0000H LJMP START ORG 0030H START: LCALL INIT_S;;;;;;;;;;;;;;;;;;;;;;;;;;;;;串行口初始化子程序 ;;;;;;;;;;
INIT_S: MOV SCON,#40H MOV TMOD,#20H
MOV TH1,#0FAH
MOV TL1,#0FAH
SETB TR1
SETB REN
RET END
实验三:
ORG 0000H
LJMP START
ORG 0030H START:
LCALL INIT_S
MOV DPTR,#HELLO_TAB
LCALL
SEND_STRENG
LJMP $
INIT_S: MOV
SCON,#40H
MOV
TMOD,#20H
MOV
TH1,#0FAH
MOV
TL1,#0FAH
SETB TR1
CLR EA
RET
SEND_STRENG:MOV R1,#00H SEND_NEXT : MOV A,R1
MOVC A,@A+DPTR
CJNE A,#0FFH,SEND_B
RET
SEND_B: LCALL SEND_BYTE
INC R1
LJMP SEND_NEXT
SEND_BYTE:CLR TI
MOV SBUF,A
JNB TI,$
RET
ORG 0100H
HELLO_TAB:DB
“tang zi li shi ge da sb”
DB
0DH,0AH,0FFH
END 实验四:
RX_D_FIRST EQU 45H RX_D_P EQU 30H RX_COM_OK BIT 00H
ORG 0000H
LJMP START
ORG 0023H
LJMP INT_SERIAL
ORG 0030H START: LCALL INIT_S
MOV RX_D_P,#RX_D_FIRST
CLR RX_COM_OK
MOV DPTR,#HELLO_TAB
LCALL SEND_STRING
MOV DPTR,#COM_MESSAGE
LCALL SEND_STRING
LJMP $ 串行口初始化子程序
INIT_S: MOV SCON,#40H
MOV TMOD,#20H
MOV TH1,#0FDH
MOV TL1,#0FDH
SETB TR1
SETB EA
SETB ES
SETB REN
RET SEND_BYTE: CLR TI
MOV SBUF,A
JNB TI,$ RETURN: RET;SEND_STRING: MOV R4,#00H SEND_NEXT: MOV A,R4
MOVC A,@A+DPTR
CJNE A,#0FFH,SEND_B
RET
SEND_B: LCALL SEND_BYTE
INC R4
LJMP SEND_NEXT INT_SERIAL: CLR EA
JBC RI, RX_DAT
JBC TI, INT_RETURN RX_DAT: MOV R1,RX_D_P
INC RX_D_P
MOV A,SBUF
CJNE A,#0DH,LOAD_DAT
MOV DPTR,#RECEIVE_OK
LCALL SEND_STRING
MOV RX_D_P,#RX_D_FIRST
SETB RX_COM_OK
LJMP INT_RETURN LOAD_DAT: MOV SBUF,A
MOV @R1,A
INT_RETURN: SETB EA
RETI
ORG 0100H HELLO_TAB: DB “Welcome to online operating system!”
DB 0DH,0AH,0FFH COM_MESSAGE: DB “Please input the command to control the LED.”
DB 0DH,0AH,0FFH RECEIVE_OK: DB 0DH,0AH
DB “Receiving the command is ok!”
DB 0DH,0AH,0FFH
关键词:单片机;教学改革;现状;措施
【中图分类号】TP368.1-4
单片机是一种最简单的电子计算机,在实际的生活中发挥着重要的作用,使得传统的电子设备具有智能化、自动化的功能,从而提高了设备的运行效率。同时单片机又因其结构简单、操作简便的特点,在各大高校中的自动化、通信等专业得到了普遍的应用。在实际的生产领域,单片机的性能的在不断的提高、其构造也在不断的复杂化,复杂数据的处理能力以及编程语言更加智能化,这就对单片机的实验教学提出了更高要求。
一、单片机实验教学的现状分析
目前,在单片机的实验教学的过程中,一般都是由老师在黑板或者是投影仪上,将在实验指导书中有关实验方面的内容讲解给学生,然后在试验箱中进行操作,将实验的结果演示给学生,最后让学生根据实验指导书的步骤进行实验。因单片机存在实践性很强的特点,老师只是采取口头讲解的方法,导致一些概念学生不理解,而试验箱的结果也会因学生的做法存在差别,从而影响其授课效果。
一般来说,现在单片机的实验教学设备大多采用实验箱或实验板的方式,其实验内容基本上是验证性的基本实验,如 I/O 口控制实验、串并转换、显示与键盘及 A / D等[1]。其实验的模式一般采用由实验老师选择一个实验,然后由学生编写程序,最后在实验箱上进行连线操作,验证其结果正确与否的方式。而在这其中就会存在一些问题,首先由于实验箱的限制,会使得实验的内容受到限制,重复性比较高,学生之间的抄袭现象严重。经常会出现一个做出来,全班都做出来了相同实验的现象,达不到实验的目的[2]。其次,由于实验箱的使用时间过长,存在接触不良等现象,就会导致实验效果出错,从而降低学生的兴趣。最后,由于试验箱只能放在实验室,对于一些爱好学习的学生来说,想做实验,会受到限制。因此必须对单片机的实验教学进行改革,使其适应当前社会发展的需要。
二、单片机实验教学改革措施
1、在单片机的实验教学中采用多媒体软件
多媒体教学的发展给实验教学带来了极大的便利,打破了传统的老师采用黑板教学的方式。教师可以利用多媒体软件直接进行各种实验的演示,让学生清楚的明白单片机的工作原理,实验的原理以及操作过程。利用多媒体软件技术,可以让学生清楚的看到每个实验的原理、步骤,从而实现了集语音、图像等一体的教学模式。这样不仅减轻了教师的负担,而且提高了教学效率,带动了学生的学习积极性。
例如在闪烁灯的实验中,教师就可以利用多媒体软件来进行教学。闪烁灯实验的任务就是在电路图中的P1.0端口上接一个发光二极管L1,使L1不停的一亮一灭,且时间间隔为0.2秒。如果是用传统的黑板教学,就会使得描述电路图中端口的接线比较繁琐,若利用多媒体软件教学则可以利用软件不仅可以将电路图中的接线过程清晰的呈现在学生的面前,而且可以将在闪烁灯这个实验中的实验原理、实验流程以及程序设计都可以清晰的表现出来,有利于学生的理解,便于学生掌握有关实验的知识,达到教学的目的。
2、引入 Proteus 仿真软件
由于在利用实验箱进行实验时,一般只有单片机I/O的接线示意图,学生只需要根据接线图接好线就可以进行实验,从而导致学生对外围电路一点也不了解。如果利用Proteus 仿真软件进行实验,就可以达到让学生熟悉单片机的外围电路以及了解常用元器件使用方法的目的。Proteus 仿真软件具有原理图设计、电路仿真、软件仿真的功能。Proteus虚拟仿真实验还具有不需要实验硬件设备就可以完成实验的优点。对于学生来说,计算机更容易普及,就可以不受实验室条件的限制可以自由的开展实验[3]。对教师而言,利用Proteus 仿真软件进行教学,使得教学目的更容易实现。
利用Proteus 仿真软件,可将复杂、难理解的概念形象化、具体化。例如在走马灯这个基本的实验,就牵扯到了中断的概念。在设计走马灯实验的时候共分为硬件设计和软件设计两个部分,其中硬件设计部分:首先使用89C2051单片机作为控制芯片,可以用P1端口作为控制端口,用来控制LED的點亮,其次用外部中断0控制走马灯的暂停和继续操作,最后用定时/计数器T0来控制走马灯闪烁的速度问题。这时教师可以利用Proteus 仿真软件演示给学生看,首先给学生演示不加中断的走马灯实验,可以看到由P1口控制LED灯的闪烁,其闪烁速度是由延时控制的。其次加上外端中断,即用外部的按键控制走马灯的暂停和继续操作。最后加上定时/计数器来控制走马灯的闪烁的速度,而此时的闪烁速度是由定时器控制[4]。其用Proteus 仿真软件仿真的效果图如图1所示。这样通过教师的演示操作,能够让了解中断的概念,以及对外端终端和定时器的使用方法,达到教学实验的目的。
结束语:
随着电子科学技术的不断发展,越来越多的芯片不断被研制出来并投入实际生产中,使得各种智能化的设备逐渐被带入人们的生活中,给人们的生活带来了极大的便利。随之带来的就是对硬件设备制造、嵌入式系统开发人才的大量需求[5]。各大院校通过对单片机实验教学的改革,使得学生更容易对单片机有关的知识进行掌握,从而使自身的专业能力得到提升,促进学生的就业能力。
参考文献:
[1]玄金红,郭振环. 单片机实验教学改革实例[J]. 科技信息(科学教研),2008,04:17.
[2]李莉. 单片机实验教学改革与创新能力的培养[J]. 电脑与电信,2008,04:71-72.
[3]冯刚. 单片机实验教学平台的改革[J]. 计算机教育,2010,02:144-146.
[4]郑晓霞. 浅谈单片机实验教学改革[J]. 青春岁月,2014,21:106.
目录
(1)51精简开发板简介(2)实验目的(3)实验内容(4)元件(5)原理图(6)实验步骤
(7)主要功能介绍
(8)实验错误及分析(9)调试及程序(10)系统测试(11)实验心得
一、51精简开发板简介
它是一款以8051系列单片机为核心的精简开发板。8051系列单片机是一款应用非常广泛的8位微处理芯片,由于其功能齐全,产品技术成熟,资料广泛,又是学习其他很多单片机的基础,所以它是初学者学习单片机的不二之选,是大学生进行电子实习、课程设计、毕业设计的必备的单片机。
本款51单片机精简开发板较市面上所出售的一般开发板的方便之处在: 支持STC及ATMEL AT全系列51/52单片机芯片,具有两种方便的下载方式,并且能够通过串口方便地和电脑进行通信。
2.省去了一般开发板高成本的外围扩展器件,但仍可以进行单片机I/O口输入输出、定时/计数器、中断、串口通信等常用实验项目。方便的扩展功能使用户能够根据自身需要配备实用的外围器件。
3.具有市面上一般单片机所不具有的超强扩展性能。每组I/O口两侧都与单片机供电电源相连,免去了以往单片机接扩展板时还需另行供电的麻烦。
4.开发板总体布局美观、大方,所有元件均采用直插式封装,便于焊接。学习51板单片机应由浅入深,逐步掌握,先是模仿实验,再是自己动手。51板单片机的开发环境是Keil uVision3,简单易懂,详细用法本书后面也做了说明。另外书后还附有几个有趣的实验,方便学生测试51板,也作为学生学习、修改之用。
二.实验目的
1.了解“51” 精简开发板的工作原理及结构;
2.了解复杂电子产品生产制造的全过程;
3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践观念。
三.实验内容
学会焊接电路,在开发板上实现八个流水现象以及通过使用汇编语言,控制流水灯过程。四.元件
1、单片机
STC89C52 一块
2、晶振 11.0592MHz一只
3、PCB板
4、电阻 三支
5、电容 八只
6、双路自锁开关 一个
7、LED 发光二极管 八只
8、排针9、4.5V电池盒
10、串口下载线 1.5米
11、串口电平转换芯片 NAX232 12、9针排阻 10千欧姆
13、复位按键14、14、PCB板 五.原理图
本产品是一套完整的8位单片机开发系统,若将程序下到51板上,它将成为一个极其有趣的智能玩具。
1.主要性能指标
输入电压:DC 4.5V~5V;典型值:5V
2.功能分区与模块简介
图10.1 51板框图
[1] 单片机
单片机也称单片微控制器(Single Chip Microcontroller),它集成度高、运算快、体积小、运行可靠、价格低廉,在过程控制、数据采集、机电一体化、智能仪器仪表、家用电器以及网络技术等方面得到广泛应用。MCS-51单片机结构框图如图10.2所示。
图10.2单片机结构
[2] 电源部分
电源部分由开关、稳压集成、电源指示灯几部分组成,本款51板输入电压4.5V~5V,典型输入电压为5V,也可通过板上的稳压集成芯片78M05给单片机提供5V电压,可使单片机正常工作。图10.1中的DS0为电源指示灯。[3] 串行下载部分
这一部分由串口、下载缓冲器MAX232组成,通过MAX232芯片把TTL电平转换成RS-232电平格式,可以用于单片机与微机通信。再通过DB9接口由一条串口线与电脑串口相连,可以利用程序下载软件(下载方法书后将做介绍)向单片机下载程序,也可通过一些串口调试软件与电脑进行串口通信。但是,只有STC89S系列单片机支持串口下载,而AT89S系列单片机不支持串口下载。[4] ISP下载
ISP下载是AT89S系列单片机的下载方式,不能用于STC89S系列单片机,它由一条并口线与电脑并口相连,通过Easy下载软件向单片机下载程序,但下载器需另行购买。
[5] 输入/输出接口
51板将32个I/O口全部引出:其中P0口、P1口、P2口、P3口各有8个I/O口用排针引出,排针两端为与单片机共地的5V电源,方便进行外接扩展,而单片机的EA、ALE、PSEN端口也在靠近排阻下方引出,以方便日后进行一些高级扩展。P1口接有8个发光LED,以供测试之用,P0口外接10K的上拉电阻。这些I/O口即可做输出,又可做输入口,51单片机内部可自行识别,不必要设置。
[6] 外部复位
复位是对单片机硬件的初始化,51单片机具有外部复位功能,高电平有效,即在单片机9脚加上高电平单片机就被复位。此产品的复位电路由按键S2,电容C3和电阻R9组成。
六.实验步骤:
1.拿到51单片机套件后,首先应按照附录的元器件清单表逐一检查元件数目和规格,确保产品完整。
2.详细阅读硬件说明部分,并将元件对号入座,确保一次性焊接成功。
3.先对较矮小的元件进行焊接,比如电阻、稳压集成,再对高一些的元件进行焊接,比如芯片座、排阻等,依此类推,最后焊接高大的元件,比如串口、ISP下载口等。焊接时应注意一些元件的正负极和方向。
4.由于此套件标准配置不包含稳压集成VR1(78M05),所以焊接完成后要用导线将VR1的1、3焊盘短接,芯片才能正常供电,此时只能使用4.5-5V的直流稳压电源供电;如果将自购VR1(78M05)焊接在板子上,那么就可以使用7.2V-15V的宽电源供电。
5.焊接并检查无误后先不要急于插入芯片,应该先对芯片供电电压进行测量。插上电源,用万用表检查单片机的20、40脚及MAX232的15、16脚间电压,看是否为+5V(±0.5V),然后用跳线帽接通P6的中间一针和上面一针,使单片机EA端(31脚)与电源正极相接,之后再插上芯片,进行系统测试。七.主要功能介绍: MCS-51单片机
也称单片微控制器,;它集成度高,运算快,体积小,运行可靠,价格低廉,在过程控制数据采集,机电一体化,智能仪表,家用电器,及网络技术等方面得到广泛应用。串口下载部分
由串口,下载缓冲器MAX232组成,通过MAX232芯片把TTL电平转换为RS232电平格式可以用单片机与电脑通信,再通过DB9接口有一条串口线与电脑串口相连,可以利用程序下载软件向单片机下载程序,也可以通过一些串口调试软件与电脑串口通信,而我们所使用的STC89C系列单片机只支持串口下载。电源部分
电源部分有开关,稳压集成,电源指示灯几部分组成,熟人电压4.5V到6V。典型值为5V.ISP下载
ISP下载是AT89S系列单片机下载方式而我们所用的是STC89C所以在此不多详细介绍。输入/输出接口
本开发板将4个并行I/O端口全部用排针引出来,共32个个排针,排针两端为与单片机共地的5V电源,方便进行外拓展;单片机的ALE,PSEN端口也靠近排阻下方引出以方便日后进行高级拓展。外部复位
对单片机硬件初始化操作,在系统加电时或出现故障时,在单片机RESET引脚加上一定时间的高电平就可以使单片机复位,这次制作的单片机复位系统是由按键,电容C1和电阻R3构成。八.实验错误及分析:
1.接好电源盒,电源指示灯不亮。
原因:1电源插座存在虚焊现象,接触不良。电源拔断开关存在虚焊现象,接触不良。方法:修复虚焊点。2.不能正常下载程序。
原因:1 电路板电源没有正常接通 下载线焊接组装有误 51板、下载线、PC机没有正常连接 4 电池电压低 方法:1 电源正常接通
更正正确 换新 更换或修复焊点
3.下载程序完成后,不能完成流水灯功能 原因:1 电池电压过低 发光二极管损坏或管脚虚焊 3 电阻R1开路或管脚虚焊 方法:1 更换电池 更换或修复焊点 3更换或修复焊点 九.程序:
#include “reg51.h” void main(){ unsigned inti=10;P1=0xfe;while(1){
while(--i){;} P1=(P1<<1)| 0x01;if(P1==0xff)P3 = 0x7f;
while(P1==0xff){ while(--i){;} P3=(P3>>1)| 0x80;
if(P3==0xff)
{
P1=0xfe;P3=0xff;} } } }
十、系统测试
1.串口测试
接上单片机电源和串口线,打开电源开关,电源指示灯DS0亮,使用STC89C系列单片机,其本身自带了一个测试程序,上电之后DS1-DS7便会两个两个的闪烁。或者自己下载一个程序,如果下载成功,说明串口正常,如不成功,请仔细检查焊点及串口线。
2.I/O口测试
下载程序一,将跳线P5接ON一端,如发现上排LED逐个亮或有规律的亮,说明P1检测正常;
根据程序一的特点,仔细分析程序二各语句功能,并猜测其结果,接着将程序二下载到单片机上,仍将跳线P5接ON一端,自己观察小灯跳变规律,看与自己分析结果是否一致。十一.心得体会:
在通过本次课程中,我遇到很多问题,但是与此同时,我也学到了很多,对于本次课题的心得体会,我觉得有以下几点:
1、不管做什么事,计划是很重要的。没有一个完好的计划,做事情就会没有一个好的顺序,做事情会比较乱,很难成功。而有一个好的计划,不管做什么事都会事半功倍,做事心中有数,明确重点和缓急,不会有疏漏。这样才能提高成功率。
2、做事要多动脑,选出最好的方法。一件事往往有多种解决方法,一个好的方法,不仅能使事情事半功倍,而且往往决定最后的成与败,所以做事时一定要多动一下脑筋,想出最好的方法。
3、要识,也要注意细节,不要因一个关键地方的一个细节而导致满盘皆输。
4、,在本次课题中,我也注意细节。细节决定成败,这句话在这次课题中不仅一次得到了印证,特别是在软件的编程过程中,一点点的错误就会使你整个程序不能运行。因此我不仅仅要有整体意学会了不懂就问,不仅事半功倍,而且发现了一些好的有趣的构想,使我对单片机有了更浓的兴趣。
5、最后,也是最重要的一点,通过这次课题,我学到了很多有关单片机方面的知识,也对单片机有了更深入的了解,受益匪浅。
计
算 机 基 本 技 能 训 练
学校:西安科技大学
班级:电气工程及其自动化1202班
姓名:张小雨
学号:1206060202
报告
姓名: 何 国 焕学号 63110604020
4班级: 通信工程 专业 11 级 2 班
指导教师:许强
单 片 机 原 理 及 应 用 实 验 报 告
实验项目名称: 双单片机串口通信实验
实验日期: 2013.12.10实验成绩:实验评定标准:
一、实验目的掌握单片机串口通信的设计方法,了解双单片机通信的原理。
二、实验器材
装有Keil和proteus的计算机一台
三、实验内容
已知8051的串行口采用方式1进行通信,晶振频率为11.0592MHz,选用定时器T1作为波特率发生器,T1工作于方式2,要求通信的波特率为9600,计算T1的初值。设SMOD=0,根据式定时方式:X=M-要求的定时值/(12/fosc),计算T1的初值如下:X=28-11.0592*106/9600*32*12=253=FDH
选用11.0592MHZ晶振的目的就是为了使计算得到的初值为整数,选用定时器T1工作于方式2作为波特率发生器,只需要在初始化编程的时候,将计算得到的初值写入TH1和TL1,当T1溢出时会自动重新装入初值,从而产生精确的波特率真。如果将T1工作于方式0或方式1,则当T1溢出时需要由中断服务程序重装初值,这时中断响应时间和中断服务程序指令的执行时间将导致波特率产
生一定的误差。因此采用T1作为串行口的波特率真发生器时,通常都将T1设置为工作方式2。
四、实验步骤
打开Keil程序,执行菜单命令“Project
New Project”创建“双单片机串口通信”项目,并选择单片机型号为AT89C51。
执行菜单命令“File”“New”创建文件,输入源程序,保存为“双单片机串口通信.A51”。在“Project”栏的File项目管理窗口中右击文件组,选择“Add Files to Group ‘SourceGroup1’”将源程序“双单片机串口通信.A51”添加到项目中。
执行菜单命令“Project”“Options for Target ‘Target 1’”,在弹出的对话框中选择“Output”选项卡,选中“Greate HEX File”。执行菜单命令“Project”“Build Target”,编译源程序。如果编译成功,则在“OutputWindow”窗口中显示没有错误,并创建了“双单片机串口通信.HEX”文件。
在proteus仿真平台上建立参考图系统,并将程序上载到虚拟芯片上运行。
五、实验结果及分析
直流电机实验实验
一. 实验目的利用 PWM 控制直流电机的转动速度。
二. 实验设备及器件
IBM PC 机 一台
DP-51PRO 单片机综合仿真实验仪 一台
三. 实验内容
学习如何控制直流电机。PWM
功率驱动电路如下:
原理图如图 3.34,只要ZDJ_A 的电压比ZDJ_B 的电压高,电机正转。如果ZDJ_B 的电压比ZDJ_A 高,电机反转。
四. 实验要求
利用实验六的程序,用D1 区的按键KEY2 与KEY3 改变PWM 的占空比来控制直 流电机的转速。
五. 实验步骤
1.用导线连接 A2 区的P11 与D1 区J53 接口的KEY1。
2.用导线连接 A2 区的P12 与D1 区J53 接口的KEY2。
3.用导线连接 A2 区的P10 与B8 区的J78 接口ZDJ_A。
4.B8 区J78 接口的ZDJ_B 连接到C1 区的GND。
5.短接 B8 区JP18 的电机电源跳线。
六. 实验参考程序
#include “reg52.h”
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
unsigned char PWMH;//高电平脉冲的个数
//总脉冲个数 unsigned char PWM;
unsigned char COUNTER;
void K1CHECK();
void K2CHECK();
void INTTO()interrupt 1//定时器0中断服务程序,在这里控制P1_0口的输出电平,驱动电机
{
COUNTER++;//计数值加1 if((COUNTER!=PWMH)&&(COUNTER==PWM))//如果脉冲计数个数达到了预定的总脉冲个数
{
COUNTER=1;
} P1_0=1;//计数器复位 //P1.0变为高电平1,开始新的下一周期
else if(COUNTER==PWMH)//如果脉冲计数个数达到了预定的高电平脉冲数
P1_0=0;//P1.0输出为高电平1的脉冲个数已经达到,开始变为低电平0
}
main()
{
PWMH=0x02;//预定高电平脉冲个数
COUNTER=0x01;PWM=0x15;//预定总脉冲个数 TMOD=0x02;TL0=0x38;TH0=0x38;ET0=1;EA=1;TR0=1;while(1){if(P1_1==0)K1CHECK();//扫描按键KEY1,如果符合,进入电机转速加速处理函数 if(P1_2==0)//定时器0在模式2下工作 //定时器每200us产生一次溢出,设定自动重装的值。//使能定时器0中断 //使能总中断 //定时器0开始计时
K2CHECK();//扫描按键KEY2,如果符合,进入电机转速减速处理函数
}
}
void K1CHECK()
{
while(P1_1==0);if(PWMH!=PWM){PWMH++;//高电平脉冲个数加1,增加占空比 if(PWMH==PWM)//如果高电平脉冲个数等于总的脉冲个数,{} TR0=0;//关闭定时器,P1_0=1;//P1_0恒输出1,达到最大转速 else {} if(PWMH==0x02)//高电平脉冲个数增加到2时候,开启定时器 {TR0=1;}
}
}
void K2CHECK()
{
unsigned char TEMP;
while(P1_2==0);
if(PWMH!=0x01){PWMH--;//高电平脉冲个数减1,减少占空比TEMP=PWM;TEMP--;if(PWMH==0x01)//如果高电平脉冲个数减少到1,{} else {} if(PWMH==TEMP){} TR0=1;TR0=0;//关闭定时器,P1_0=0;//P1_0恒输出0,电机停止转动
} }
步进电机控制实验
一.实验目的了解步进电机的工作原理,掌握它的转动控制方式和调速方法。
二. 实验设备及器件
IBM PC 机 一台
DP-51PRO 单片机综合仿真实验仪 一台
三. 实验内容
1.编写程序,通过单片机的 P1 口控制步进电机的控制端,使其按一定的控制方式进 行转动。
2.分别采用双四拍(AB→BC→CD→DA→AB)方式、单四拍(A→B→C→D→A)方
式和单双八拍(A→AB→B→BC→C→CD→D→DA→A)方式编程,控制步进电机 的转动方向和转速。
3.观察不同控制方式下,步进电机转动时的振动情况和步进角的大小,比较这几种控 制方式的优缺点。
四. 实验要求
学会步进电机的工作原理和控制方法,掌握一些简单的控制电路和基本的电机基础
知识。
五. 实验步骤
1.安装C10区JP6接口上的短路帽,将C10区J41接口与A2区J61接口的P10~P13 对应相连。
2.打开程序调试软件,下载运行编写好的软件程序,观察步进电机的转动情况。
3.修改步进电机的控制程序,再次运行程序,比较它们的不同控制效果。
六. 实验程序代码
#include “reg51.h”
void DELAY();
main()
{
while(1){
P1=0x08;DELAY();P1=0x0C;DELAY();P1=0x04;DELAY();P1=0x06;DELAY();P1=0x02;DELAY();P1=0x03;DELAY();P1=0x01;DELAY();P1=0x09;DELAY();//A //AB //B //BC //C //CD //D //DA
}
}
void DELAY()
{
unsigned char i,j;
for(i=0;i<10;i++)
for(j=0;j<100;j++);
}
总结:
關键词:Proteus;Keil;单片机;虚拟实验室
单片机作为嵌入式系统的一个重要分支,目前已广泛地应用于智能化家用电器、办公自动化设备、工业自动化控制、智能化仪表、通信产品、汽车电子产品、航空航天国防军事等人类生活的各个领域。全国大中专院校电气自动化专业、应用电子技术专业、通信专业、机电专业等许多专业相继开设了单片机课程。
目前单片机的课堂教学及实验中存在诸多问题:一是单片机课堂教学多以理论教学为主,教学中需要很多硬件设备,一般理论课堂难以辅助硬件进行教学,即便演示,效果也不好。二是单片机实验室由专人管理,学生除了上课外,平时难得有机会实践,而采用的单片机实验设备大多是成品,学生很难参与其中的细节设计,因此学生动手能力也很难得到提高。三是配套的实验设备多采用实验箱或硬件仿真器配目标实验板,这种配置方式直接导致该课程的实验项目有限、实验时间过长、设备维护工作量大等现实问题。四是实验设备不足、落后,单片机实验室建设成本高,由于技术的不断更新,设备的不断老化,实验仪器也会很快落后。
针对上述问题,作者将Proteus和Keil软件引入单片机课堂教学,以构建一个适合“教、学、做”一体化教学的单片机虚拟实验室,把单片机实验室搬进课堂,实现理论教学和实践教学的无缝衔接,让理论教学和实践教学同时进行,教师根据授课要求随意切换理论教学和实践教学的环境,教师能够做到“教中做、做中教”,学生能够做到“学中做、做中学”,达到真正意义上的“教、学、做”一体化的教学要求,将理论教学和实践教学融为一体,提高学生的动手实践能力,激发学生的创新思维,强化学生的职业能力,提高教学效果。
一、Proteus和Keil软件特点
(一)Proteus软件特点
Proteus软件是英国Labcenter公司开发的电路分析与实物仿真软件,它运行于Windows操作系统,可以仿真、分析各种模拟器件和集成电路。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。当硬件和软件调试成功后,利用Proteus软件提供的原理图绘制工具和印刷电路板设计工具,很容易获得其PCB图,为实物的制作提供方便。因此该软件给我们提供了一个元器件丰富、测试仪器齐全、单片机的种类繁多、开发工具齐备的单片机虚拟实验室。
(二)Keil软件特点
Keil软件是目前最流行开发MCS-51系列单片机的开发软件,它提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部份组合在一起。KEIL μVision支持众多不同公司的MCS-51架构的芯片,它集编辑、编译、仿真等于一体,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序、软件仿真方面也有很强大的功能。
将Proteus与Keil整合起来使用,构建单片机虚拟实验室,充分利用各自的仿真功能,可以让单片机的软硬件设计和调试变得十分方便。
二、单片机虚拟实验室构建
利用Proteus实现对单片机实验的改进,单片机实验将脱离传统实验硬件的限制,并结合目前广泛使用的一款51单片机开发平台KeilμVision2,将Proteus与KeilμVision2结合起来,联合利用它们的仿真功能,充分利用各自的优势构建虚拟实验室。基于Proteus和Keil的虚拟实验室构建步骤如下:
1.分析问题,提出解决方案。针对要解决的问题进行分析,确定控制要求,提出多种解决方案,综合考虑实现难易程度、硬件成本和系统性能等因素,确定最终的软硬件实施方案。
2.设计仿真电路。将手工绘制的硬件电路原理图在Proteus软件中实现,学生通过Proteus软件的使用,可以学到硬件电路设计、组装、调试的方法。
3.编写程序。学生通过Keil软件编制、调试应用程序,掌握单片机软件开发的步骤、方法和技巧。
4.软硬件联合仿真系统。软硬件联合仿真系统是将Proteus硬件开发环境和Keil软件开发环境二者在计算机上结合使用,达到完美的单片机模拟开发全过程,其结合方式有两种,一种是静态结合,一种是动态结合。静态结合仿真就是把Keil C51软件下生成的HEX文件,嵌入Proteus软件进行软硬件模拟仿真。静态结合仿真优点是简单方便,缺点是HEX文件嵌入Proteus软件后,只能在Proteus软件下仿真,不能在Keil C51软件动态观察。动态结合仿真就是利用Proteus软件支持第三方的软件编译和调试环境的特点,把Proteus软件和Keil C51软件动态连接,实现二者的动态实时仿真。动态结合仿真优点是可以实现在Keil C51软件动态仿真,在Proteus软件实时观察结果,缺点是Pruteus软件和Keil C51软件设置相对比较繁琐。
5.观察实验结果。单击Proteus中的执行按钮,开始仿真。如果实验没有达到预期效果,可以很方便地修改硬件电路或软件程序重新实验,直到完全达到控制要求为止。
三、仿真教学实例
下面以基于AT89C51的串行多通道A/D转换模拟实验为例,介绍如何用Proteus和Keil实现对单片机控制系统的联合仿真。
(一)硬件设计
根据实验目的和要求,在Proteus中建立电路原理图。首先是工作窗口加入电路所必需的元器件,其中包括控制芯片AT89C51,A/D转换芯片TLC2543,驱动芯片ULN2003A,显示设备数码管以及其它必需的电容、电阻、晶振等。随后根据电路工作原理对已加入项目的元器件进行连接,并加入电源和地线。如果在实验要观察某些信号的变化则可加入电压表,电流表或是逻辑分析仪等虚拟显示设备,至此系统硬件电路已设计完成。
(二)软件设计
打开Keil μVision2,新建一个项目,命名为“串行A/D转换.uv2”。选择Project菜单下的Select Device for Targer为这一项目选择目标CPU,这里选择AT89C51。然后单击Project菜单下的Option for Targer工程名菜单项,选择Debug选项进行相应设置,接下来编写源程序并命名“串行转换A/D.asm”,将此文件加入到工程里面,经过编译、调试、修改生成Hex文件。
(三)联合调试
Proteus软件和Keil软件联合调试在这里采用的静态结合的方法,即在Proteus软件中将Keil软件编译生成的Hex文件加载到89C51单片机中。单击Proteus软件中运行按钮,观察仿真结果可见,每个通道模拟电压值被转换为数字量轮流显示在数码管上。如果出现错误或是没有达到控制要求则可以检查电路或是修改程序再进行调试,直到完成实验目标。
四、虚拟实验室的实际意义
(一)有利于解决设备紧缺问题
解决以往以理论为主实践少,且存在实践以验证性为主及设备不足等问题。由于Proteus特有的虚拟仿真技术能在没有单片机实际硬件的条件下实现单片机系统的软硬件同步仿真调试,只要在安装有Proteus和Keil软件的虚拟实验室里就可以完成整个开发过程,无需任何其他硬件设备的支持;在实验室不开放的情况下,学生也可以利用自己的电脑来完成。
(二)有利于培養学生创新能力
由于Proteus提供的都是虚拟设备,可以让学生自由、大胆地进行各种设计,无需担心损害实验设备,也不用承担设计开发的各种费用,节约了实验经费。学生的某些创造性设想在仿真软件可以很快地得以实施,相比于到电子市场购买元器件再组装调试,既节约了成本又提高了效率。
(三)有利于推进课程教学改革
基于“工作过程系统化”的单片机项目式教学法突破了传统的教学模式,以项目取代章节,将理论知识贯穿于各项目中,开展理实一体化项目教学,强调理论知识与实践技能相结合,融“教、学、做”一体。单片机虚拟实验室的建立成为大力推进项目教学的有力保障,对于项目教学来说课程划分若干项目,每一个项目都是一个具体的控制任务,软硬件均可以在Keil和Proteus联合仿真调试,学生可以在教师指导下独立完成设计任务并检查控制效果。单片机虚拟实验室的建立可以较好地克服传统的单片机教学中无法兼顾理论教学和实践教学,或是由实物演示带来教师工作量大和教学效率低等问题。
(四)为学生实习就业创造条件
建成的单片机创新虚拟实验室可以作为学生实习的场地,在没有合适的实习场所的情况下,让学生做创新性设计实习。
单片机技术应用于各种嵌入式系统中,掌握单片机技术是自动化类专业学生就业的一个基本条件,有相当的单片机设计、开发经验,对学生毕业找工作将起到很好的帮助作用。
五、结 语
伴随着电子信息技术的飞速发展,出现了大量的仿真工具,为实际系统的开发提供了准确可靠的保证,同时节约人力和物力,是未来产品设计的发展方向。本文运用Proteus与Keil联合仿真功能完成单片机虚拟环境的构建,是对传统实物电路仿真的一种有力补充,有利于促进课程和教学改革,有利于提高学生的学习兴趣和创新能力。利用Proteus提供的可靠的虚拟仪器和仪表,不仅可以节约开发时间和开发成本,而且具有很大的灵活性和可扩展性,大大提高了教学效率。但必须指出,仿真不能完全代替实物,在实际应用中会遇到很多新的问题,不可能抛弃已有的教学模式和实验手段而仅仅依靠虚拟的实验环境。只有将仿真结果应用于具体电路系统,才能真正锻炼学生的软硬件综合开发能力。
参考文献:
[1] 余桂兰,左敬龙.创新模式下的高校单片机虚拟实验室
[J].广东石油化工学院学报,2011,21(1):59-62.
[2] 焦铬,戴小新.基于Proteus和Keil的单片机虚拟实验室的
构建[J].电脑知识与技术,2010,6(28).
[3] 吴新华.单片机虚拟实验室的构建[J].萍乡高等专科学
校学报,2009,26(3):38-41.
[4] 黄克亚,尤凤翔.基于“工作过程系统化”的单片机系列
课程教学改革探索[J].职业时空,2011,(10):74-75.
Higher Vocational Colleges Microcontroller Virtual Laboratory Construction
Scheme Research
HUANG Ke-ya
Abstract: Based on the single chip microcomputer curriculum theory teaching and traditional practice teaching problems or insufficient, Proteus was put forward based on the joint simulation of single chip microcomputer and Keil virtual laboratory construction plan. Specific means is Proteus software design in hardware circuit and software development in Keil software program, both the union simulation realize commissioning. The plan to reduce the laboratory construction funds, to promote the reform of teaching and improve teaching efficiency and to improve students' interest in learning and innovation ability.
Key words: proteus; keil; single chip microcomputer; virtual laboratory
收稿日期:2012-07-01
作者简介:黄克亚(1982-),男,硕士,苏州大学阳澄湖校区自动控制系讲师、软件设计师,从事电气自动化、集成电路
1.了解51单片机的引脚结构。
2.根据所学汇编语言编写代码实现LED灯的流水功能。
3.利用开发板下载hex文件后验证功能。
二、实验器材
个人电脑,80c51单片机,开发板
三、实验原理
单片机流水的实质是单片机各引脚在规定的.时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。使用rl或rr a实现位的转换。 A寄存器的位经过rr a之后转换如下所示:
然后将A寄存器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置一操作。
四、实验电路图
五、通过仿真实验正确性
代码如下:ORG 0
MOV A,#00000001B
LOOP:MOV P2,A
RL A
ACALL DELAY
SJMP LOOP
DELAY:MOV R1,#255
DEL2:MOV R2,#250
DEL1:DJNZ R2,DEL1
DJNZ R1,DEL2
RET
End
实验结果:
六、实验总结
三、影像配准及矢量化
一、实验目的
1.利用影像配准(Georeferencing)工具进行影像数据的地理配准 2.编辑器的使用(点要素、线要素、多边形要素的数字化)。3.熟悉 GRAMIN GPS手持机的基本使用方法。
注意:在基于ArcMap 的操作过程中请注意保存地图文档。
二、实验准备
数据:昆明市西山区普吉地形图 1:10000 地形图――70011-1.Tif,昆明市旅游休闲 图.jpg(扫描图),请从课程网站下载。
在开始本实验之前,将同学分成3-5 个小组,每个小组从实验室借出一部GARMIN GPS 手持机,利用课外时间在昆明市范围内采集20 个GPS点,并在自行购买和昆明市旅游休闲图 上做好标记。数据采集回来后用MapSource 软件通过数据线将数据从GPS手持机中导入到计 算机并存储为GPS.txt 文件以备使用。
在借到GPS 手持机后,请在老师指导下认真阅读GPS 手持机的说明书,掌握基本操作方 法。使用完毕后请归还实验室。外出采集数据时请遵守指导老师宣布的安全注意事项。软件准备:
MapSource(GRAMIN GPS手持机数据导入软件)ArcGIS Desktop---ArcMap
三、实验内容及步骤
(1)地形图的配准-加载数据和影像配准工具
所有图件扫描后都必须经过扫描配准,对扫描后的栅格图进行检查,以确保矢量化工作 顺利进行。
l 打开ArcMap,添加“影像配准”工具栏。
l 把需要进行配准的影像—70011-1,增加到ArcMap中,会发现“影像配准”工具栏中的工具被激活。
(2)输入控制点
在配准中我们需要知道一些特殊点的坐标。通过读图,我们可以得到一些控件点―― 公里网格的交点,我们可以从图中均匀的取几个点。一般在实际中,这些点应该能够均 匀分布。
l 在”影像配准”工具栏上,点击“添加控制点”按钮。
l 使用该工具在扫描图上精确到找一个控制点点击,然后鼠标右击输入该点 实际的坐标位置,如下图所示:
用相同的方法,在影像上增加多个控制点(大于7 个),输入它们的实际坐 标。点击“影像配准”工具栏上的“查看链接表”按钮。
注意:在连接表对话框中点击“保存”按钮,可以将当前的控制点保存为磁盘上的 文件,以备使用。
检查控制点的残差和RMS,删除残差特别大的控制点并重新选取控制点。转换方式设 定为“二次多项式”。
(3)设定数据框的属性
增加所有控制点,并检查均方差(RMS)后,在”影像配准”菜单下,点击“更新显示”。执行菜单命令“视图”-“数据框属性”,设定数据框属性。
在“坐标系统”选项页中,设定数据框的坐标系统为 “Xian_1980_Degree_GK_CM_102E”(西安80 投影坐标系,3度分带,东经102 度中央经线),与扫描地图的坐标系一致
l 更新后,就
变
成真
实的坐
标。
(4)矫正并重采样栅格生成新的栅格文件
加载重新采样后得到的栅格文件,并将原始的栅格文件从数据框中删除。后面我们的数字化工作是对这个配准和重新采样后的影像进行操作的。通过上面的操作我们的数据已经完成了配准工作,下面我们将使用这些配准后的影像进行分层矢量化。
(5)分层矢量化-在ArcCatalog 中创建一个线要素图层
该数据采用的是西安80 坐标系统、3 度分带
(1)打开 ArcCatalog.在指定目录下,鼠标右击,在“新建”中,选择“个人 Geodatabase”。并修改该Geodatabase数据库的名称(例如test3.mdb)。
(2)下面将为该Geodatabase 创建新的要素类,首先创建一个“等高线”要素
类来存储等高线要素。在ArcCatalog 中,鼠标右击test3 这个个人Geodatabase。
(3)输入创建的要素类的名称“等高线”,点击下一步。(4)点击下
一
步。
坐标系选择Xian_1980_Degree_GK_CM_102E.prj。
(6)点击“空间参考”选项后面的按钮,在“空间参考属性”对话框中的“坐
标系”选项页下,将选择合适的坐标系统,点击“选择”按钮。在(Projected Coordinate Systems 目录下,选择Gauss Kruger---àXian 1980--à
Xian_1980_Degree_GK_CM_102E.prj)。点击增加,现在这些坐标系统信息应该如下 图所示:
(3)切换到ArcMap 中,点击“绘制”工具栏上的“矩形框”按钮,在地图显示区中画一个矩形,使区在更大范围内包含已配准的栅格地图。右键选中这个矩形框,设置“属性”,将填充色设置为“无”,可得到如下的效果:(在矩形框属性的“大小和位置”选项页中,可获取矩形框左下角和右上角的坐标(X,Y),将这里获取的X,Y值分别填入到上面“空间参考属性”对话框的“X/Y域”选项页 “最小X”、“最小Y”、“最大X”、“最大Y”输入框中)
(4)为等高线创建高程属性字段,类型为“Float”
6.从已配准的地图上提取等高线并保存到上面创建的要素类中
(1)切换到ArcMap 中,将新建的线要素图层,加载到包含已配准地形图的数 据框中,保存地图文档为Ex3.mxd(2)打开“编辑器”工具栏,在“编辑器”下拉菜单中执行“开始编辑命令”,并选择前面创建的“等高线”要素类。确认编辑器中:任务为――新建要素,目标
为――等高线,设置图层――等高线的显示符号为红色,并设置为合适的宽度。
(3)将地图放大到合适的比例下,从中跟踪一条等高线并根据高程点判读其高 程,输入该条等高线的高程。
(4)进一步练习线要素的其它操作,比如线段的合并、分割、编辑顶点等操作(5)可参照以上步骤,从地图中提出多边形要素(比如居民地),并进一步熟悉多边形要素编辑的相关操作。
7.根据GPS观测点数据配准影像并矢量化的步骤 数据:扫描地图-昆明市旅游休闲地图(YNKM.JPG)、Garmin 手持GPS野外采集数据(gpsdata.dbf)-GCS_WGS—1984地理坐标系(1)打开ArcMap,添加扫描地图-YNKM.JPG,打开“地理配准”工具栏(在ArcMap的工具栏的空白区域点击鼠标右键,然后选择“地理配准”)
(2)根据gpsdata.dbf 中的内容,将其转换为一个新的图层:GPS.shp,并将其添加到当前数据框中。
(3)在TOC中右键选择图层――YNKM.JPG,在出现的菜单中点击“缩放到图层”,并将
其放大到某一尺度下
(4)对比GPS 数据采集时所使用的纸质地图,在地图显示区中找到第1 个控制点。
三.实验总结
1)总结屏幕跟踪数字化过程的基本步骤及每一步骤的必要性。答: 第1步、地形图的配准-加载数据和影像配准工具
必要性:所有图件扫描后都必须经过扫描配准,对扫描后的栅格图进行检查,以确保矢
量化工作顺利进行。第2步、输入控制点
必要性:在配准中我们需要知道一些特殊点的坐标。通过读图,我们可以得到一些控件
点――公里网格的交点,我们可以从图中均匀的取几个点。一般在实际中,这些点应该能够 均匀分布。利用它们同名性质列方程,求待定系数来获取其在规定坐标系下的坐标。
第3步、设定数据框的属性
必要性:统一标准,单位m,参考坐标系统80西安坐标系(Xian 1980 Degree GK CM102E),可以求得真实坐标。
第4步、矫正并重采样栅格生成新的栅格文件
必要性:矫正,和配准。使用这些配准后的影像进行分层矢量化。第5步、分层矢量化-在ArcCatalog中创建一个线要素图层
第6步、从已配准的地图上提取等高线并保存到上面创建的要素类中 2)分析数字化过程中误差的来源及减小误差的相关方法。答:分析数字化过程中误差的来源及减小误差的相关方法分析数字化过程中误差的来源及减小误差的相关方法分析数字化过程中误差的来源及减小误差的相关方法。
(一)、误差来源:
1、数据采集:实测误差,地图制图误差(制作地图的每一过程都有误差),航测遥感数据
分析误差(获取、判读、转换、人工判读(识别要素)误差)
2、数据输入:数字化过程中操作员和设备造成的误差,某些地理属性没有明显边界引起的
误差(地类界)
3、数据存贮:数字存贮有效位不能满足(由计算机字长引起,单精度、双精度类型)空间 精度不能满足
4、数据操作:类别间的不明确、边界误差(不规则数据分类方法引起)
5、多层数据叠加误差 多边形叠加产生的裂缝(无意义多边形)
6、各种内插引起的误差
(二)、质量控制方法:
1、手工方法:与原始地图或者属性数据比较;
2、元数据法:元数据中包含了大量的有关数据质量的信息,通过它可以检查数据质量,同
时元数据也记录了数据处理过程中质量的变化,通过跟踪元数据可以了解数据质量的状况和 变化。
3、地理相关法:用空间数据的地理特征要素自身的相关性来分析数据的质量,如利用地表
特征的空间分布进行分析。
3)为什么要对配准后的数据进行重采样?
【单片机实验报告三】推荐阅读:
单片机实验内容03-10
单片机串口通信实验10-17
实验单片机指导书07-19
单片机实验程序设计02-14
单片机技术实验指导书10-04
单片机实验指导书下10-30
单片机第三次实验思考题10-03
单片机实习报告07-20
单片机开题报告图文11-16
单片机综合实习报告11-22
注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:iwenmi@163.com