广西大学电气工程学院
自动装置实验报告
任课老师:陈春香
指导老师:徐俊华
同步发电机准同期
专业班级:电气工程及其自动化093
姓 名:汪超群
学 号:0902100639
实验时间:20##年11月
实验地点:电气学院电工实习基地
一、实验名称
同步发电机准同期实验。
二、实验目的:
发电机自动准同期装置是电力系统自动装置的重点内容之一,通发电机自动准同期装置实验,主要达到以下几方面的目的:
1、使学生进一步掌握发电机自动准同期装置的基本原理,明确其在电力系统中的地位和作用。
2、使学生掌握相关设备的实际操作。通过理论联系实践,提高学生的实践能力。
3、培养学生发现问题、分析能力、解决问题的综合能力。
三、实验装置及接线
发电机自动准同期装置实验在电力系统监控实验室进行。实验室每套实验装置以7.5KW直流电动机及与其同轴相联的5KW同步发电机作为被控对象,并配置常规仪表测量控制屏(常规控制)和计算机监视控制屏(计算机监控),可实现对发电机组的测量、控制、信号、保护、调节、并列等一系列功能。本课程实验仅采用常规控制方式。
1、直流电动机—同步发电机组
直流电动机-同步发电机组的参数如下:
直流电动机:
型 号 Z2-52,凸极机
额定功率 7.5KW 额定电压 DC220V
额定电流 41A 额定转速 1500r/min
额定励磁电压 DC220V 额定励磁电流 0.98A(少数机组不同)
同步发电机:
型 号 T2-54-55
额定功率 5KW 额定电压 AC400V(星接)
额定电流 9.08A 额定功率因数 0.8
空载励磁电流 2.9A 额定励磁电流 5A
直流电动机—同步发电机组接线如图1所示。发电机组控制屏屏面上装有各种仪表、控制开关、按钮、指示灯等,图一对二次控制信号回路并没有画全,屏后接线和控制回路接线可参考实验室提供的详图。
发电机通过空气开关2QS和接触器2KM可与系统并列,发电机机端装有供测量、同
期用的电压互感器1TV和电流互感器1TA。
发电机组上面有一台用皮带带动的原作为励磁机用的直流发电机,在其励磁绕组加上恒定的直流电压(从开关稳压电源引来),则电枢上的电压正比于发电机组的转速,故用一只直流电压表即可测量发电机转子转速。
直流电动机的电枢电源来自电网380V交流电压,经空气开关1QS和接触器1KM供电给模块式晶闸管SCR-T变为直流,电枢电压通过调速按钮或电位器1WR进行调节。直流电动机的励磁电源来自电网220V交流电压,经单相调压器TA和整流块整流后供给励磁绕组B1-B2,调节调压器的输出电压可调节励磁电流。调节电枢电压或励磁电流可以调速。
2、发电机准同期装置及接线
发电机准同期装置装在常规仪表测量控制屏上,每套同期装置有手动同期和自动同期两种并列方式,通过转换开关7SA可以自由选择手动还是自动同期,操作原理图如图2所示。本次实验采用手动准同期方式。
图2 发电机并列控制电路原理图
手动准同期装置的接线如图3所示。图3(a)为同期指示灯接线图,转换开关6SA用于投入与退出并列,黄、绿、红三个指示灯按相序跨接在机端与网端之间,当三个灯同时亮暗时,说明发电机与电网的相序一致。图3(b)为手动同期表接线图,系统侧作同期用的单相电压互感器2TV的二次侧与发电机机端电压互感器1TV的二次侧通过转换开关6SA接入手动同期表S。
(a) 同期指示灯接线
(b) 手动同期表接线
图3 手动准同期单元接线图
3、同步发电机励磁调节装置
同步发电机励磁调节装置主要包括励磁功率单元和励磁调节器。实验室励磁装置的励磁调节方式有自动和手动两种,相应的励磁电流分别通过调压按钮或电位器2WR进行调节,通过转换开关4SA可以选择是自动运行还是手动运行。自动运行时,以S7-200 系列的CPU 224模块为控制核心,并配以模拟量输入输出扩展模块EM235,可实现同步发电机励磁电流的自动控制。发电机励磁电源可以取自380V电网(他励方式),也可以取自机端(自励方式),通过4QS进行切换,交流电源经励磁变压器CB降压隔离后,经分立元件整流装置(1、2号机)或模块式晶闸管SCR-L变为直流,再通过灭磁开关3KM供电给发电机励磁绕组FLQ。Rm为灭磁电阻,通过3KM的常闭触点与励磁绕组FLQ并接。
由于同步发电机励磁装置的接线较复杂,相关接线图可参考实验室提供的详图。
四、实验内容
1、实验内容和步骤
(1)开机:合上1QS、3QS,按下1SB1使1KM合闸,将1SA放在手动位置,顺时针调节1WR使电动机转速逐渐升至额定转速1500r/min,起动过程中要监视转速表、频率表的指示是否正常,起动过程时如有异声或振动过大要立即跳开1KM停机。发电机采用他励励磁方式,将4SA放在手动位置,合上灭磁开关3KM后顺时针调节2WR使发电机起励并逐步建压至额定值。
(2)同期并网:合上6SA投入同期表S,三只同期指示灯应同时亮暗,根据同期表的压差频差指示和指针旋转情况(顺时针旋转说明发电机频率比系统高),利用调压调速旋钮细调发电机电压和频率。当同期表指针顺时针均匀缓慢旋转并距零位6°左右时,立即按下2SB1使2KM合闸并网,并网时冲击电流应不大,电流表指针应很快回复至零位附近,有功和无功功率接近零,如表计指示不正常要立即解列发电机。注意:同期表S不要长期通电,不并网或并网完成后都要断开6SA。
(3)发电机解列:调节调速旋钮1WR调有功功率表为零,再调节调压旋钮2WR调无功功率表为零,跳开发电机出口接触器2KM将发电机解列。
(4)发电机解列灭磁后,将发电机定子的三根相线顺序调相(即A→B→C→A)但相序不变,再将发电机起励建压并调节至与电网的电压和频率相同,观察同期表和同期灯的情况,分析是否能够并网。试验完后恢复原来的接线。
同期灯情况: 同时亮灭 , 能否并网: 能 。
(5)停机:先逆时针调节2WR将发电机电压降到最小值,跳灭磁开关3KM,再逆时针调节1WR使电动机转速降为零,跳开1KM,最后将所有开关复位。
五、实验现象及过程分析
1、实验现象是:同期过程中调节原动机调速旋钮,发电机的频率(功率)会改变;调节励磁电流旋钮,发电机的电压(无功)会做相应的改变。
2、过程分析:由电机学知识可知,频率与发电机转速n的关系式为f=pn/60,其中p为发电机定子绕组的极对数,因此调节原动机的转速,频率会变化;如下图所示,发电机感应电动势Eq与端电压的幅值关系为
cos=+
一般的值很小,可近似认为cos1,于是简化的运算式为
=+
上式说明,负荷的无功电流是造成和幅值差的主要原因,发电机的无功电流越大,两者间的差值越大。
图4 同步发电机的运行原理及向量图
由于发电机发出的有功功率只受调速器控制,与励磁电流的大小无关。故无论励磁电流如何变化,发电机的有功功率均为常数,即
=cos=常数
式中—功率因数角。
当不考虑定子电阻和凸极效应时,发电机功率又可用下式表示,即
=sin/=常数
式中—发电机的功率角。
以上两式分别说明当励磁电流改变时,cos和 sin的值均保持恒定,即
cos=
sin=
由图5中的向量关系可以看到,这时感应电动势的端点只能沿着AA虚线变化,而发电机电流的端点则沿着BB虚线变化。因为发电机端电压为定值,所以发电机励磁电流的变化只是改变了机组的无功功率和功率角值大小。
由此可见,与无限大母线并联运行的机组,调节它的励磁电流可以改变发电机无功功率的数值。
图5 同步发电机与无穷大母线并联运行
图6 灯光熄灭法原理接线图
如上图所示,灯光熄灭法(直接接法)是把三个同步指示灯分别跨接在电网和发电机的对应相之间,即接在U、,V、和W、之间。若频率f,则发电机和电网的电压向量之间便有相对运动,三个指示灯上的电压将同时发生时大时小的变化,于是三个灯将同时呈现出时亮时暗的现象(若三个灯轮流亮暗,则表示发电机与电网相序不同,应改变发电机相序)。调节发电机的转速,直到三个灯的亮度不再闪烁时就表示=f。
六、分析思考题
(1)发电机同期方式有几种?本实验采用的是什么同期方式?同期条件是什么?
答:发电机同期方式有两种,分别是准同期并列和自同期并列。同期条件是频率相等、电压幅值相等和相角差为零。
(2)手动同期时,在同期表指针提前一定角度时发出合闸命令,为什么?
答:实际操作中,若采用手动准同期,由于合闸需要一个过程(断路器操动机构和合闸回路控制电器的固有动作时间),故应提前按下合闸按钮。
(3)发电机正常解列时,为什么要调有功功率和无功功率均为零?这时的定子电流是多少?
答:为了保护断路器和发电机,减少因带负荷开断断路器产生电弧对断路器的破坏,也防止带剩余有功和无功开断发电机,使发电机甩负荷而对发电机产生影响,此时定子电流为零。
(4)将发电机定子的三根相线顺序调相(即A→B→C→A)但相序不变,分析是否能够并网。说明相序和相别的区别。
答:能并网。相序是指各相按照一定的顺序排序,而相别是指A相B相C相。
(5)将发电机定子的任两根相线对调使之成为反相序,分析是否能够并网。
答:不能并网。因为存在相位差。
七、实验心得体会
通过实验我熟悉了同步发电机的组成结构、特性、发电机与系统并列的同步方式,发电机从启动到并网的各项步骤。这些感性上的体会使我对课堂上的理论知识得到更充分的理解,对同步发电机的并列原理、并列条件和并列过程有了更深入的理解和印象。
八、参考资料
[1] 杨冠成. 电力系统自动装置原理[M].北京:中国电力出版社,2007
[2] 杨德先,陆继明. 电力系统综合实验—原理与指导[M].北京:机械工业出版社,2010
[3] 胡虔生,胡敏强. 电机学[M].北京: 中国电力出版社,2009
第二篇:微型控制器实验报告1-8
微控制器技术
——实验报告
班级:自动化0703
姓名:谢 鹏
学号:0901070316
目录:
一:实验目的及要求……………………………………(2)
二:实验基本内容(TD-51单片机实验系统实现)……(2)
三:实验报告基本内容要求……………………………(3)
四:实验系统简介………………………………………(4)
实验一到实验三 …………………………(6)
实验四…………………………………… (11)
实验五…………………………………… (14)
实验六…………………………………… (15)
实验七…………………………………… (16)
实验八…………………………………… (18)
微控制器技术实验说明
一、 实验目的及要求:
1、学习Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;
2、熟悉TD-51单片机系统板及实验系统的结构及使用;
3、进行MCS51单片机指令系统软件编程设计与硬件接口功能设计;
4、学习并掌握Keil C51与Proteus仿真软件联机进行单片机接口电路的设计与编程调试;
5、完成指定MCS51单片机综合设计题
二、 实验基本内容(TD-51单片机实验系统实现)
实验一 清零程序与拆字程序设计
根据实验指导书之“第二章 单片机原理实验”(P17~P23页)内容,熟悉实验环境及方法,完成思考题1、2(P23)基础实验项目。
实验二 拼字程序与数据传送程序设计
汇编语言完成实验指导书P24思考题3、4题的基础实验项目。
实验三 排序程序与散转程序设计
汇编语言完成实验指导书P24思考题5、6题的基础实验项目。
实验四 静态存储器扩展实验
基本部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.1 静态存储器扩展实验”基本实验项目(P57)。
提高部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.2 FLASH存储器扩展实验”实验项目(P60)。
实验五 数字量输入输出实验
基本部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“3.1 数字量输入输出实验”基本实验项目(P36),。
提高部分:(任选一题)
题目一:LED交通灯控制(使用8255接口芯片)
要求:使用汇编语言编程,功能为:通过开关实现LED灯工作方式即时控
制,完成LED交通灯的开关控制显示功能和LED交通灯自动循环显示功能。
题目二:LED灯控制(使用8255接口芯片)
要求:使用汇编语言编程,功能为:通过KK1实现LED灯工作方式即时控
制,完成LED开关控制显示和LED灯左循环、右循环、间隔闪烁功能。
题目三:键盘扫描与数码管显示设计(
要求:阅读、验证P69上的C
语言参考程序功能。使用汇编语言完成编程与功能调试。
实验六 定时器/计数器实验
基本部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“3.3 定时/计数器实验”基本实验项目(P40)。
提高部分:(任选一题完成)
题目一:定时器控制LED灯
要求:由单片机内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。编写程序模拟时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个LED灯全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去。
题目二:计数器实验
要求:单片机内部定时计数器,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。使用T1作定时器,50ms中断一次,看T0内每0.50来了多少脉冲,将其数值按二进制在LED灯上显示出来,5秒后再次测试。
题目三:急救车与交通灯(外部中断实验)
要求:完成交通灯基本功能基础上,当有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验题以按键为中断申请,表示有急救车通过。
实验七 A/D、D/A转换实验
基本部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.3 A/D转换实验”项目(P64)和“4.4 D/A转换实验”项目(P67)。
提高部分:(要求:Proteus环境下完成)
小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A转换方式),经过A/D采样后,将采样数据用LED灯,显示当前模拟信号值大小及变化状态。
实验八 串行通讯实验
基本部分:阅读、调试C语言程序功能。使用汇编语言编程,完成实验指导书之“3.7 串口通讯实验”项目。(要求:实验仪器上完成)
提高部分:(要求:Proteus环境下完成)
题目一:利用单片机实验系统,实现与PC机通讯。功能要求:将从实验系统键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到单片机实验系统的数码管上。
题目二:进行实验七、实验八实验内容综合。
三、 实验报告基本内容要求
1、 实验题设计内容、目的和要求;2、软件、硬件环境要求; 3、给出硬件电路原理图并分析; 4、程序设计框图及程序清单; 5 、实验调试步骤及结果分析;6、结论
实验系统简介:
随着单片机技术的发展,八位单片机的功能发生了很大的变化。由简单的MCS-51 向嵌入式、增强型51 内核单片机发展,使用在系统可编程(ISP)技术、在应用可编程技术(IAP)以及内嵌仿真功能的单片机层出不穷。先进技术的发展使得单片机调试、开发的手段发生了天翻地覆的变化。TD-51 系统板是西安唐都科教仪器公司为TD 系列微机接口教学平台配套推出的扩展件,使用该系统板配合接口教学实验平台可以完成单片机原理及应用的学习。TD-51 系统板的出现为广大师生用户提供了一套廉价、实用的单片机实验教学方案。
TD-51 系统板的构成及特点:
1、 系统构成
TD-51 系统板为开放的最小单片机系统,采用具有在系统可编程和在应用可编程技术的增强型51 单片机,单片机内置仿真程序,可以实现调试、仿真功能,配合TD 系列微机接口教学 实验平台可开展单片机原理及应用的实验教学。
2 系统功能特点
1. 取代硬件仿真器的增强型单片机
系统采用具有在系统可编程(ISP)和在应用可编程(IAP)技术的增强型51 单片机,单片机内置仿真程序,完全取代传统的硬件仿真器和编程器。这种先进的单片机将仿真系统和应用系统合二为一,大大降低了应用开发成本,极大地提高了研发效率。把单片机的仿真开发和应用设计提高到一个崭新的技术领域。
2. 先进的集成开发调试环境
使用业界著名的Keil C51 集成开发环境作为实验设计、调试的工具。Keil C51 提供了强大的调试功能,可单步、断点、全速运行程序,可观察寄存器区、ROM 变量区、RAM 变量区等的内容。支持汇编语言和C 语言的源语言调试。
3. 灵活的组合方式
采用开放的系统板结构,可以灵活地配合各型号接口实验平台开展单片机的应用教学。
4. 丰富的实验内容
提供了丰富的原理及接口应用实验。配合接口实验平台可完成数字量输入/输出、中断、定时器/计数器、看门狗、低功耗、PCA、串口通讯、静态存储器、FLASH、A/D、D/A、键盘及数码显示、电子音响、点阵LED、LCD、步进电机、直流电机、温度控制等实验内容。
通过TD-51 系统板可以开展各种单片机实验,具体包括:
1. 单片机原理原
(1)系统认识实验
(2)数码转换实验
(3)运算程序设计实验
(4)查表程序设计实验
(5)数据排序实验
(6)位操作实验
2. 单片机集成功能模块模
(1)数字量输入/输出实验
(2)中断系统实验
(3)定时器/计数器实验
(4)看门狗实验
(5)低功耗实验
(6)PCA 实验
(7)串口通讯实验
3. 单片机系统扩展扩
(1)静态存储器扩展实验
(2)FLASH 扩展实验
(3)A/D 转换实验
(4)D/A 转换实验
(5)8255 键盘及数码显示实验
(6)电子发声实验
(7)点阵LED 实验
(8)LCD 图形液晶实验(选配)
4. 单片机控制应用应
(1)步进电机实验(选配)
(2)直流电机实验
(3)温度闭环控制实验
实验一到实验三:
(1) 清零程序:把 7000H –7FFFH 的内容清零。
(2) 折字程序:把 7000H 的内容拆开,高位送 7001H 低位,低位送 7002H 低位。7001H,7002H高位清零,一般本程序用于把数据送显示缓冲区时用。
(3) 拼字程序:把 7000H,7001H 的低位相拼后送人 7002H,一般本程序用于把显示缓冲区的数据取出拼装成个字节。
(4) 数据传输子程序:把(R2,R3)源 RAM 区首址内的(R6,R7)个字节数据,传送到(R4,R5)目的 RAM 区。
(5) 编写散转程序,根据 8032 片内 20H 中的内容(00 或 01 或 02 或 03)进行散转。
6) 编写并调试一个排序子程序,其功能为用冒泡法将内部 RAM 中几个单元字节无符号的正整数,按从小到大的次序重新排列。
(1): 清零程序:把 7000H –7FFFH 的内容清零。
程序清单:
ORG 00H
AJMP MAIN
ORG 30H
MAIN: MOV SP,#5FH
MOV R1,#00H
MOV DPTR,#7000H
LOOP: CLR A
MOVX @DPTR,A
INC DPTR
INC R1
CJNE R1,#0FFFH,LOOP
MOV DPTR,#7000H
MOV R1,#00H
SJMP $
END
(2)拆字程序:把 7000H 的内容拆开,高位送 7001H 低位,低位送 7002H 低位。7001H,7002H高位清零,一般本程序用于把数据送显示缓冲区时用。
程序清单:
ORG 0000H
AJMP START
ORG 000BH
START:MOV A,#26H ;给累加器a赋值
MOV DPTR,#7000H ;数据指针指向片外7000h单元
MOVX @DPTR,A ;将a中的数送给7000h单元
MOVX A,@DPTR ;将7000h单元中的内容取出
MOV R0,A ;将内容保存起来
ANL A,#0F0H ;将低四位清零
SWAP A ;高低位转换
MOV DPTR,#7001H ;数据指针指向7001h单元
MOVX @DPTR,A ;将高四位存入7001h中
MOV A,R0 ;取出7000h单元中的内容
ANL A,#0FH ;将高四位清零
MOV DPTR,#7002H ;数据指针指向7002h单元
MOVX @DPTR,A
END
(3)拼字程序:把 7000H,7001H 的低位相拼后送入 7002H,一般本程序用于把显示缓冲区的数据取出拼装成个字节。
程序清单:
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN:MOV DPTR,#7000H
MOV A,#26H
MOVX @DPTR,A
MOV DPTR,#7001H
MOV A,#5FH
MOVX @DPTR,A ;给7000h7001h赋初值
MOV DPTR,#7000H
MOVX A,@DPTR
SWAP A
ANL A,#0F0H
MOV R1,A ;取出7000h的低四位放入r1中,并作为高四位
MOV DPTR,#7001H
MOVX A,@DPTR
ANL A,#0FH ;取出7001h的低四位作为低四位放入A中
ORL A,R1 ;将r1和A内容相或拼起来
MOV DPTR,#7002H
MOVX @DPTR,A ;拼好后的内容放于7002中
END
(4) 数据传输子程序:把(R2,R3)源 RAM 区首址内的(R6,R7)个字节数据,传送到(R4,R5)目的 RAM 区。
ORG 0000H
AJMP MAIN
ORG 0100H
LOOP EQU 50H
MAIN:MOV R2,#70H
MOV R3,#00H 程序流程图:
MOV R4,#70H
MOV R5,#20H
MOV R6,#00H
MOV R7,#05H
MOV DPH,R6
MOV DPL,R7
MOV A,#05H
MOVX @DPTR,A
MOV LOOP,A ;字节数
CS: MOV DPH,R2
MOV DPL,R3
MOVX A,@DPTR ;首地址值里的内容
MOV DPH,R4
MOV DPL,R5
MOVX @DPTR,A ;首地址内容传送到R4R5的地址
CLR C ;进位端清零
MOV A,R3
ADD A,#01H
MOV R3,A
JC C1
JMP C3
C1: MOV A,R2
ADD A,#01H
MOV R2,A ;地址后移
C3: CLR C
MOV A,R5
ADD A,#01H
MOV R5,A
CLR A
ADDC A,R4 ;R4R5地址后移
MOV R4,A
C4: DJNZ LOOP,CS
SJMP $
END
(5) 编写散转程序,根据 8032 片内 20H 中的内容(00 或 01 或 02 或 03)进行散转。
程序清单:
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: MOV A,20H
RL A ;累加器a中的值乘2
MOV DPTR,#TABLE
JMP @A+DPTR
TABLE:AJMP CX0
AJMP CX1
AJMP CX2
AJMP CX3
CX0:MOV A,#10H
SJMP MAIN
CX1:MOV A,#11H
SJMP MAIN
CX2:MOV A,#12H
SJMP MAIN
CX3:MOV A,#13H
SJMP MAIN
END
(6) 编写并调试一个排序子程序,其功能为用冒泡法将内部 RAM 中几个单元字节无符号的正整数,按从小到大的次序重新排列。
ORG 0000H
AJMP MAIN
ORG 0100H
TABLE:DB 7,6,5,0,9
DB 2,1,8,4,3
SDZ EQU 30H
CNT EQU 0AH
MAIN: MOV DPTR,#TABLE
MOV R0,#SDZ
MOV R7,#CNT ;数列长度
CHAB:CLR A
MOVC A ,@A+DPTR
MOV @R0,A
INC DPTR
INC R0
DJNZ R7,CHAB
START:MOV R7,#CNT ;置外循环次数
LOOP0:MOV R6,#CNT-1 ;置内循环次数
MOV R0,#SDZ
LOOP1:CLR C
MOV A,@R0
MOV 50H,A ;保存前数
INC R0
MOV A,@R0 ;取后数
SUBB A,50H
JC LOOP3 ;若后数小于前数,则交换
SJMP LOOP4 ;若后数大于前数,则不交换
LOOP3:MOV A,@R0
DEC R0
XCH A,@R0
INC R0
MOV @R0,A ;数据交换
LOOP4:DJNZ R6,LOOP1 ;内循环计数器减一
DJNZ R7,LOOP0 ;外循环计数器减一
;SJMP $
END
实验四 静态存储器扩展实验
基本部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.1 静态存储器扩展实验”基本实验项目(P57)。
提高部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.2FLASH存储器扩展实验”实验项目(P60)。
(1)静态存储器扩展实验
实验目的:
1. 掌握单片机系统中存储器扩展的方法;
2. 掌握单片机内部RAM 和外部RAM 之间数据传送的特点。
实验内容
编写实验程序,在单片机内部一段连续RAM 空间30H~3FH 中写入初值00H~0FH,然后将这16 个数传送到RAM 的0000H~000FH 中,最后再将外部RAM 的0000H~000FH 空间的内容传送到片内RAM 的40H~4FH 单元中。
实验步骤
1. 按图4-1-2 连接使用电路;
2. 按实验内容编写实验程序,经编译、链接无误后启动调试;
3. 打开存储器观察窗口,在存储器#1 的Address 中输入D:0x30,在存储器#2 的Address中输入X:0x0000 来监视存储器空间;
4. 可单步运行程序,观察存储器内容的变化,或在while(1)语句行设置断点再运行程序,
验证实验功能。
图4-1-2 扩展存储器实验线路图
(2)FLASH 存储器扩展实验
实验目的
1. 学习FLASH 存储器的工作原理与读/写方式;
2. 了解AT29C010 的编程特性。
实验内容
编写实验程序对FLASH ROM 进行操作,要求对FLASH 的读/写、数据保护功能、芯片擦除等特性进行验证。带保护写入0~127 共128 个数,不带保护写入0x55 共128 个。
实验原理
在系统可编程可擦除只读存储器FLASH 通常称为“闪存”,该类型的存储器具有掉电时数据不丢失、扇区编程、 芯片擦除、单一供电和高密度信息存储等特性,主要用于保
存系统引导程序和系统参数等需要长期保存的重要信息,现广泛应用于各种产品中。
芯片擦除:AT29C010A 可以对整个芯片进行擦除,通过写入六个连续的命令实现,具体命令序列如图4-2-3 所示。
实验程序清单: (Flash.C)
#define START_ADDR ((unsigned char volatile xdata *) 0x0000)
#define ADDR_UNLOCK1 ((unsigned char volatile xdata *) 0x5555)
#define ADDR_UNLOCK2 ((unsigned char volatile xdata *) 0x2AAA)
sfr AUXR = 0x8E;
void delay()
{
unsigned int i;
for(i=0; i<1000; i++);
}
void unprotect() // 取消软件数据保护
{
*ADDR_UNLOCK1 = 0xAA;
*ADDR_UNLOCK2 = 0x55;
*ADDR_UNLOCK1 = 0x80;
*ADDR_UNLOCK1 = 0xAA;
*ADDR_UNLOCK2 = 0x55;
*ADDR_UNLOCK1 = 0x20;
}
void erase() // 芯片擦除
{
*ADDR_UNLOCK1 = 0xAA;
*ADDR_UNLOCK2 = 0x55;
*ADDR_UNLOCK1 = 0x80;
*ADDR_UNLOCK1 = 0xAA;
*ADDR_UNLOCK2 = 0x55;
*ADDR_UNLOCK1 = 0x10;
}
void unp_write() // 无保护写
{
unsigned int i;
unsigned char *Des;
Des = START_ADDR;
for(i=0; i<128; i++)
{
*Des = 0x55; //全部写0x55
Des++;
}
}
void p_write() // 带保护写
{
unsigned int i;
unsigned char *Des;
Des = START_ADDR;
*ADDR_UNLOCK1 = 0xAA;
*ADDR_UNLOCK2 = 0x55;
*ADDR_UNLOCK1 = 0xA0;
for(i=0; i<128; i++) //写0~128 到Flash
{
*Des = i;
Des++;
}
}
void main()
{
AUXR = 0x2;
①p_write(); // 带保护写
delay();
②unp_write(); // 不带保护写
delay();
unprotect(); // 去除保护
③unp_write();
delay();
④erase(); // 擦除
while(1);
}
实验步骤:
1. 按图4-2-4 连接实验电路;
2. 编写实验程序,可参考上述程序,编译、链接后启动调试;
3. 打开存储器观察窗口,在存储器#1 的Address 栏内输入X:0x0000,查看存储器的内容;
4. 执行完标号为①的函数,带保护写Flash,写入内容0~7F,观察存储器窗口;
5. 执行完标号为②的函数,不带保护写Flash,观察存储器窗口,正确情况下数据不会改变,仍为0~7F;
6. 执行完标号为③的函数,首先会去除写保护,然后不带保护写Flash,观察存储器窗口,此时应显示128 个55;
7. 执行完标号为④的函数,可以将整个Flash 擦除,观察存储器窗口,内容变为全FF,表示Flash 已被擦除;
8. 通过一步一步实验,了解Flash 的特性,实验结束,按复位按键退出调试。
实验五 数字量输入输出实验
基本部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“3.1 数字量输入输出实验”基本实验项目(P36),。
题目:LED灯控制(使用8255接口芯片)
要求:使用汇编语言编程,功能为:通过KK1实现LED灯工作方式即时控制,完成LED开关控制显示和LED灯左循环、右循环、间隔闪烁功能。
实验内容
P1 口是8 位准双向口,每一位均可独立定义为输入输出。编写实验程序,将P1 口的低4位定义为输出,高4 位定义为输入,数字量从P1 口的高4 位输入,从P1 口的低4 位输出控制发光二极管的亮灭。
程序清单:
定时器控制LED灯:
#include "SST89x5x4.h"
#include "Intrins.h"
sbit P10Value = P1^0;
sbit P11Value = P1^1;
sbit P12Value = P1^2;
sbit P13Value = P1^3;
sbit P14Value = P1^4;
sbit P15Value = P1^5;
sbit P16Value = P1^6;
sbit P17Value = P1^7;
void main()
{
int i=0;
P1=0X00;
TMOD = 0x11; //设定定时器1定时方式
TH1 = 0xf8; //计数初值
TL1 = 0x00;
TR1 = 1; //启动定时器1
while(1)
{
P1=0X00;
while(TF1==0); //判定时器1溢出标志
if(i==0)
{
P10Value=~P10Value;
P12Value=~P12Value;
i=i+1;
TF0=0;
TH0=0Xf8;
TL0=0X00;
}
if(i==1)
{
P11Value=~P11Value;
P13Value=~P13Value;
i=i+1;
TF0=0;
TH0=0Xf8;
TL0=0X00;
}
if(i==2)
{
P14Value=~P14Value;
P16Value=~P16Value;
i=i+1;
TF0=0;
TH0=0Xf8;
TL0=0X00;
}
if(i==3)
{
P15Value=~P15Value;
P17Value=~P17Value;
i=i+1;
TF0=0;
TH0=0Xf8;
TL0=0X00;
}
if(i==4)
{
P10Value=~P10Value;
P12Value=~P12Value;
P14Value=~P10Value;
P16Value=~P12Value;
i=i+1;
TF0=0;
TH0=0Xf8;
TL0=0X00;
}
if(i==5)
{
P11Value=~P11Value;
P13Value=~P13Value;
P15Value=~P15Value;
P17Value=~P17Value;
i=i+1;
TF0=0;
TH0=0Xf8;
TL0=0X00;
}
if(i==6)
{
P1=0Xff;
i=i+1;
TF0=0;
TH0=0Xf8;
TL0=0X00;
}
if(i==7)
{
P1=0X00;
i=0;
TF0=0;
TH0=0Xf8;
TL0=0X00;
}
}
}
实验七 A/D、D/A转换实验
基本部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.3 A/D转换实验”项目(P64)和“4.4 D/A转换实验”项目(P67)。
提高部分:(要求:Proteus环境下完成)小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A转换方式),经过A/D采样后,将采样数据用LED灯,显示当前模拟信号值大小及变化状态。
实验目的
1. 学习数/模转换的基本原理
2. 掌握 DAC0832 的使用方法。
实验内容
设计实验电路图实验线路并编写程序,实现 D/A 转换,要求产生锯齿波、脉冲波,并用示波器观察电压波形。
实验原理
D/A 转换器是一种将数字量转换成模拟量的器件,其特点是:接收、保持和转换的数字信息,不存在随温度、时间漂移的问题,其电路抗干扰性较好。大多数的 D/A 转换器接口设计主要围绕 D/A集成芯片的使用及配置响应的外围电路。DAC0832 是 8 位芯片,采用 CMOS 工艺和 R-2RT 形电阻解码网络,转换 WR1 结果为一对差动电流 Iout1 和 Iout2 输出,其主要性能参数如表 4-4-1 示,引脚如图 4-4-1所示。
实验步骤
1. 实验接线图如图 4-4-2 所示,按图接线;
2. 编写实验程序,经编译、链接无误后装入系统,启动调试;
3. 运行程序,用示波器测量 DA 的输出,观察实验现象;
4. 自行编写实验程序,产生三角波形,使用示波器观察输出,验证程序功能。
实验程序清单:(DA0832.C)
#include <Absacc.h>
#define DA XBYTE[0x7FFF]
void main(void)
{
unsigned int i;
while(1)
{
for(i=0; i<255; i++)
DA = i; //写DA
}
}
实验八 串行通讯实验
基本部分:阅读、调试C语言程序功能。使用汇编语言编程,完成实验指导书之“3.7 串口通讯实验”项目。(要求:实验仪器上完成)
提高部分:(要求:Proteus环境下完成)
题目:利用单片机实验系统,实现与PC机通讯。功能要求:将从实验系统键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到单片机实验系统的数码管上。
实验目的
1. 学习MCS-51 单片机串口的工作原理及程序设计;
2. 了解使用SSTEasyIAP11F.EXE 软件实现程序脱机运行的方法;
3. 熟悉启动加载代码与SoftICE 相互切换的方法。
实验原理
MCS-51 单片机内部的全双工串行接口部分,包含有串行接收器和串行发送器。有两个物理上独立的接收缓冲器和发送缓冲器。接收缓冲器只能读出接收的数据,但不能写入。发送缓冲器只能写入发送的数据,但不能读出。因此可以同时收、发数据,实现全双工通讯。两个缓冲器是特殊功能寄存器SBUF,它们公用地址为99H,SBUF 是不可位寻址的。此外,还有两个寄存器SCON 和PCON 分别用于控制串行口的工作方式以及波特率,定时器T1 可以用作波特率发生器 SST89E554RC 提供了增强型全双工串行接口,具有帧错误检测和自动地址识别的功能。 由于SST89E554RC 的串口用作调试目的,所以Keil C51 软件提供了串口模拟窗口,可以借助此窗口调试串口通讯程序。也可以将程序编译生成目标代码(.HEX),脱机运行。
实验内容
编写实验程序,每隔一定的时间单片机向串口发送一次数据“Xi’an Tangdu Corp.”。
实验步骤
实验参考程序:(Serial.C)
#include "REG51.h"
#include "stdio.h"
/************************************************************
* 函数原型: void Init_Serial(void) *
* 函数描述: 初始化串口,晶振为11.0592MHz,波特率为19200bps *
************************************************************/
void Init_Serial(void)
{
SCON = 0x50; // 串口工作方式1
TMOD = (TMOD&0x0F)|0x20; // 选择定时器1 方式2
PCON = 0x80; // 波特率倍增
TH1 = 0xFD; // 计数初值, 19200bps
TR1 = 1; // 启动定时器1
ES = 0;
}
void delay(void)
{
unsigned int i;
for(i=0; i<35000; i++);
}
void main(void) //====== 主程序 ======//
{
Init_Serial();
SBUF=0x00;
while(1)
{
printf("Xi'an Tangdu Corp.\n");
delay();
}
}
(1)串口通讯实验电路如图3-7-1 所示;
(2)编写实验程序,经编译、链接无误后启动调试;
(3)进入调试界面,点击命令,打开串口1 监视窗口;
(4)运行实验程序,观察此时有如图3-7-2 所示输出;
(5)阅读1.7 节的内容,首先将系统程序由SoftICE 切换到启动加载程序;
(6)将编译生成的Hex 文件通过SSTEasyIAP11F.EXE 软件下载到单片机内部Flash 中;
(7)复位单片机,打开超级终端或串口调试软件,将端口号及波特率等设置好,观察PC显
示,如图3-7-3 和图3-7-4 所示;
(8)实验结束,重新将SoftICE 下载到单片机系统区替换启动加载程序。