重庆大学 单片机实验
- 格式:doc
- 大小:360.00 KB
- 文档页数:17
重庆大学电气工程学院老师名单及简介刘和平,博士,教授,博士生导师。
重庆大学研究生院研究生创新实践基地技术支持专家;重庆大学—美国德州仪器数字信号处理方案主任;重庆大学—美国微芯公司PIC单片机实验室主任。
赵霞,博士,副教授。
主讲“电力系统稳态分析”、“专业英语”及Power System Analysis全英文硕士课程;从事电力系统建模与仿真、电力系统风险评估及新能源接入方面的研究。
杨丽君,博士,副教授,硕士生导师。
从事大型电力变压器内绝缘老化机理及寿命预测、变压器局部放电在线监测、局部放电模式识别、电力设备在线监测抗干扰技术、绝缘材料改性等方面研究。
韩力,博士,教授,博士生导师。
获国家教学成果二等奖2项、国家教委教学成果三等奖1项、重庆市教学成果一等奖1项、重庆市教学成果二等奖1项、重庆市教委和重庆市高等教育学会教育科学奖励各1项,发表科研论文70余篇(其中SCI、EI检索论文20余篇),培养研究生30余人。
李剑,博士,教授,博士生导师院长助理,系主任。
周雒维,教授,博士生导师。
重庆大学电气工程学院党委书记;IEEE高级会员;国务院政府特殊津贴专家;重庆市首届电力电子学科学术带头人;《电路原理》国家精品课程负责人;中国电源学会副理事长、国际交流工作委员会主任委员;《电工技术学报》、《电源技术学报》、《电源技术应用》等杂志编委;2002-2007 International Conference on Power and Energy Systems USA 国际程序委员会委员、亚洲联络人。
王正勇,电力电子与新技术系老师,主讲电路原理1.2。
曾担任本科生毕业设计导师,其毕业设计方向有建筑电气与智能化工程设计与研究等。
张谦,博士,副教授,硕士生导师。
主持省部级教学改革研究项目1项,主持“国家电工电子基础实验教学中心创新性实验”项目1项,参加国家及省部级教改项目4项;2008-2009学年第一学期、2009~2010学年第二学期两次荣获重庆大学教学效果好前50名教师称号;2008年荣获电气工程学院“师德师风先进个人”称号;2007年获得重庆大学青年教师讲课比赛二等奖。
单片机(S12X)课程实验内容与指导实验参考:1、教材第4章“仿真、调试与C语言编程”,以及相关章节。
2、教材第14章“S12XS128开发平台的DIY设计与使用”。
3、文档附件:CQU-S12X核心板/扩展板简要说明、完全原理图PDF。
4、资源下载:/注意事项:1、教学实验核心开发板上MCU型号为MC9S12XS128MAL,16Mhz 外部晶振。
2、在做硬件下载调试实验时,需要连接仿真器TBDML,此时仿真器兼做电路板供电,应将仿真器的USB接口端连接在电脑背后以防供电电流不足。
3、硬件实验时要确保开发板上的外设部件已通过跳线帽跳接到MCU相关引脚,并且没有与其它外设部件冲突。
4、*号题为选做、提高内容。
实验一编程入门、仿真调试实验目的:熟悉飞思卡尔MCU仿真与调试环境的使用方法,掌握汇编语言程序的编辑书写规范,学习单片机汇编语言程序调试手段,进一步编制应用程序,体会MCU应用程序特点。
实验环境:CodeWarrior IDE仿真调试软件;编程语言选择:单选汇编语言(Relocatable Assembly);调试连接选择:全软件仿真(Full Chip Simulation);实验内容:1、编辑、编译简单样本程序:两个4字节无符号数相加。
熟悉CodeWarrior IDE 的工程建立、菜单、工具、窗口、状态等。
a. 已知:($2000)=被加数开始,($2004)=加数开始;具体值在单步运行开始前预先在Debug窗口的Memory区通过手工设定。
b. 仿真调试:分别利用单步、全速、停止、断点、复位等运行调试手段,观察寄存器A、B、X、Y、PC、CCR等的状态与变化,以及观察FALSH中指令地址和RAM中数据变化情况,验证运行结果。
(该仿真调试方法将运用于以后的各次实验中)样本程序代码参考如下:重点编辑Entry后面的代码,其它已在工程建立时自动完成,保留前面的宏定义代码,与自己任务无关的其它代码可以删除。
机械工程基础实验单片机控制系统综合实验实验指导书重庆工学院汽车学院汽车及机械制造实验室2008年1月学生实验守则1.学生应按照实验教学计划和约定的时间,准时上实验课,不得迟到早退。
2.实验前认真阅读实验指导书,明确实验目的、步骤、原理,预习有关的理论知识,并接受实验教师的提问和检查。
3.进入实验室必须遵守实验室的规章制度。
不得高声喧哗和打闹,不准抽烟、随地吐痰和乱丢杂物。
4.做实验时必须严格遵守仪器设备的操作规程,爱护仪器设备,服从实验教师和技术人员指导。
未经许可不得动用与本实验无关的仪器设备及其它物品。
5.实验中要细心观察,认真记录各种试验数据。
不准敷衍,不准抄袭别组数据,不得擅自离开操作岗位。
6.实验时必须注意安全,防止人身和设备事故的发生。
若出现事故,应立即切断电源,及时向指导教师报告,并保护现场,不得自行处理。
7.实验完毕,应主动清理实验现场。
经指导教师检查仪器设备、工具、材料和实验记录后方可离开。
8.实验后要认真完成实验报告,包括分析结果、处理数据、绘制曲线及图表。
在规定时间内交指导教师批改。
9.在实验过程中,由于不慎造成仪器设备、器皿、工具损坏者,应写出损坏情况报告,并接受检查,由领导根据情况进行处理。
10.凡违反操作规程,擅自动用与本实验无关的仪器设备、私自拆卸仪器而造成事故和损失的,肇事者必须写出书面检查,视情节轻重和认识程度,按学院有关规定予以赔偿。
重庆工学院说明1.同学可以登录学校的“实验选课系统”(从学校首页登陆:或从数字校园登录),自己进行实验项目的选择。
希望同学们能在每个实验项目开放的时间内尽早进行实验预约(预约时间必须比实验上课时间提前3天),因为学生数量比较多,如果某实验项目开放的时间内同学未能进行实验预约,则错过该实验项目的实验机会,补做就要在该实验项目下一次开放时进行。
2.在学期末因无法完成规定的实验项目个数,该门课程就必须重修。
3.如有什么问题,同学可以拨打电话68667451联系李鑫老师。
单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。
这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。
2、数码管显示利用单片机驱动数码管,实现数字的显示。
需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。
3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。
例如,通过按键切换不同的显示模式或控制其他外部设备。
4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。
例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。
5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。
四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。
2、编程语言本次实验采用 C 语言进行编程。
C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。
3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。
通过对这些引脚的合理配置和控制,可以实现各种功能。
4、数码管驱动原理数码管分为共阴极和共阳极两种类型。
通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。
5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。
单片机实验一(精选五篇)第一篇:单片机实验一实验一 Keil的使用及基本指令练习一、实验目的和要求:熟悉KEIL单片机编程软件使用环境,掌握利用KEIL调试指令的方法。
二、实验设备:安装了KEIL的计算机。
二、实验内容和步骤:1、双击KEIL图标,运行KEIL软件。
2、在Project下选择New Project新建一个项目,输入一个项目名,点击保存,进入选择单片机的对话框,选择:Atmel公司下的AT89C51,点确定;出现生成起始代码的选择,点否。
3、点File菜单下的New,新建一个文件,接着选File下的Save,给文件起个后缀名为ASM的文件。
4、在左边项目工作空间(Project Workspace)里,右键点击Sorce Group1 选择Add File to……..在出现的对话框里,选择文件类型为Asm Source file,将刚生成的文件添加到项目中。
5、左边项目工作空间的树状结构里,将出现新建的文件,双击它,进入右边编辑空间,开始进行汇编程序的编写。
输入以下程序段:(不用输入;之后的内容)ORG0000HLJMPSTAORG0040H STA:MOVSP,#6FH;SP=MOV17H,#34H;(17H)= MOVA,#83H;A= MOVR0,#17H;R0= ANLA,#17H;ORL17H,A;(17H)XRLA,@R0;CPLA;A= SJMP$ END6、保存文件,点击Projiect菜单下Rebuild all target files编译文件,若没有错误,编译成功。
7、点击Debug下Start/Stop Debug….进入调试状态。
8、点击View 菜单下的Memmery Window在编辑窗口的右下出现存储器窗口。
9、在存储器窗口输入:D:00回车,改变为观察内部数据存储区。
10、按F10,单步执行程序,每执行一步,观察左边的Register (寄存器)或存储器窗口,看各指令执行前后相关单元的内容变化,并记录下来。
实验一认识实验一.实验目的1.了解仿真器的硬件结构与接线。
2.了解MCS-51单片机复位功能及复位后的内部状态。
3.通过示例程序的键入与执行,学习仿真器的使用与操作方法。
二.实验内容1.对照实验指导书,查对实验机具体接线。
2.按照开发系统的使用方法,分别查看复位后PC、SP、DPTR等特殊功能寄存器及片内、片外RAM的内容。
3.熟悉开发器的使用,将下面程序键入实验机。
ORG 2000H2000 74AA MOV A,#0AAH2002 75F0BB MOV B,#0BBH2005 E5F0 MOV A,B2007 78CC MOV R0,#0CCH2009 E8 MOV A,R0200A 80FE SJMP $4.程序键入后,检查各存储单元所储机器码是否正确如有误,重新键入,达到修正的目的。
5.单步执行示例程序,逐步检查执行结果,核查与分析结果是否相符,直到执行完最后一条指令。
6.练习连续执行示例程序,检查执行结果,核查与分析结果是否相符。
7.自己在示例程序中插入一条指令,执行并查看结果,然后删除,熟悉插入/删除操作。
8.将示例程序移到另外一个存储区,执行并查看结果,熟悉程序块移动操作。
三.实验预习要求1.认真阅读指导书的相关内容,熟悉开发系统的各种操作。
2.实验前应写出规定操作任务的具体操作方法步骤。
四.思考题1.MCS-51单片机怎样实现内部复位,画出一种复位电路。
2.PC、SP、P0、P1、P2、P3复位状态是什么?各有何意义?3.示例程序中最后一条指令SJMP $的作用是什么?如果取掉这一条指令,程序的执行将发生什么变化?4.实验机监控系统怎样实现程序“单步执行”功能?五.实验报告要求1.按实验顺序,写出实验操作的方法步骤。
2.写出实验中所遇到的问题与解决过程。
写出思考题的答案。
实验二建立数据区、数据块传送一.实验目的1.进一步熟悉实验机操作,练习程序调试方法。
2.理解并掌握建立数据区与数据块传送程序。
一、实验名称:简单程序设计二、实验目的1、通过本实验,学习简单的51系列单片机汇编语言程序的编写和调试方法;2、初步掌握Keil C51软件集成环境的使用方法。
三、实验设备、应用软件计算机、Keil C51软件四、实验步骤1、Keil软件(汉化版)的基本操作和使用1)启动Keil C51。
2)建立一个新工程。
(1)单击工程菜单,在弹出的下拉菜单中选中“新建工程”选项。
(2)选择保存新建工程的路径,输入工程文件的名字,如保存到C51目录,工程文件的名字为C51,然后点击保存。
(3)保存工程后会弹出一个对话框,要求选择单片机的型号。
Keil C51几乎支持所有的51系列单片机。
例如选择Atmel的89C51。
选择89C51之后,右边栏是对这个单片机硬件资源的简单描述。
(4)单击确定后出现工程窗口界面。
(5)单击文件菜单,在下拉菜单中单击新建选项。
单击文件菜单,在下拉菜单中选中“另存为”选项单击。
在文件名栏右侧的编辑框中,键入文件名和扩展名。
如果用C语言编写的程序,则扩展名为.c;如果用汇编语言编写的程序,则扩展名必须为.asm。
然后单击保存按钮。
回到编辑界面后,单击目标1前面的+号,出现“源程序组1”。
在“源程序组1”上单击右键,单击增加文件到组“源程序组1”,在文件类型中选择“asm源文件”,选中c51.asm,单击Add后回到源程序编辑窗口。
(6)输入汇编语言源程序。
(7)单击工程菜单,在下拉菜单中单击“建造目标”选项(或者使用快捷键F7)。
编译成功后,再单击调试菜单,在下拉菜单中单击“开始/停止调试”(或者使用快捷键Ctrl+F5)。
(8)调试程序,单击调试菜单,在下拉菜单中单击“运行”选项(或者使用快捷键F5)。
若要观察寄存器窗口、存储器窗口以及外围设备窗口,单击调试菜单,在下拉菜单中单击“停止运行”选项(或者使用快捷键Esc),就可以看到程序运行后的结果。
如果要将程序下载到单片机仿真仪运行,可右键单击“目标1”,再在下拉菜单中单击目标“‘目标1’属性”,在弹出的选项卡中选择“输出”选项,选中“生成HEX文件”,使程序编译后产生HEX代码供下载器软件使用。
实验一系统认识及基本程序设计实验四、实验内容1. 将BCD 码整数0~255 存入片内RAM 的20H、21H、22H 中,然后转换为二进制整数00H~FFH,保存到寄存器R4 中。
修改20H、21H、22H 单元的内容,如:00H,05H,08H;观察实验结果。
参考程序:;==============================================================; 文件名称: Asm2-1.asm; 功能描述: BCD整数转换为二进制整数(8位, 范围从00H--FFH);==============================================================ORG 0000HLJMP MAINORG 0100HMAIN: MOV R0, #20H ;BCD存放高位地址MOV R7, #03H ;BCD码0--255, 最多3位CLR AMOV R4, ALP1: MOV A, R4MOV B, #0AHMUL AB ;乘10ADD A, @R0 ;加下一位的值INC R0 ;指向下一单元MOV R4, A ;结果存入R4DJNZ R7, LP1 ;转换未结束则继续SJMP MAIN ;设置断点, 观察实验结果R4中的内容END2. 将16 位二进制整数存入R3R4 寄存器中,转换为十进制整数,以组合BCD 形式存储在RAM 的20H、21H、22H 单元中。
参考程序:;=============================================================; 文件名称: Asm2-2.asm; 功能描述: 二进制整数(16位)转换为十进制整数(组合BCD);=============================================================; 0--FFFFH(R3R4)==>0--65535ORG 0000HLJMP MAINORG 0100HMAIN: MOV R0, #22H ;转换结果低位地址MOV A, R0PUSH ACC ;ACC表示累加器A的直接地址MOV R7, #03HCLR ALP1: MOV @R0, A ;结果存储地址清零DEC R0DJNZ R7, LP1POP ACCMOV R0, AMOV R7, #16LP2: PUSH ACCCLR CMOV A, R4 ;R4中为二进制数的低位RLC AMOV R4, AMOV A, R3 ;R3中为二进制数的高位RLC AMOV R3, AMOV B, #03HLP3: MOV A, @R0ADDC A, @R0 ;执行乘2操作DA A ;十进制调整MOV @R0, A ;结果保存DEC R0DJNZ B, LP3POP ACCMOV R0, ADJNZ R7, LP2LJMP MAIN ;设置断点观察结果, 可进行下一次转换END3. 通过查表的方法将16 进制数转换为ASCII 码;参考程序:;============================================================= ; 文件名称: Asm4-1.asm; 功能描述: 查表程序设计, 将十六进制数0~F通过查表的方法; 转换为ASCII码;=============================================================ORG 0000HLJMP MAINORG 0100HMAIN: MOV DPTR, #ASCTAB ;表格首地址送DPTRMOV A, R7 ;R7中为待转换的数ANL A, #0FH ;取低4位MOVC A, @A+DPTR ;查表MOV R5, A ;低4位转换结果送R1MOV A, R7ANL A, #0F0H ;取待转换数的高4位SWAP A ;高4位与低4位交换MOVC A, @A+DPTR ;查表MOV R6, A ;高4位转换结果送R2SJMP MAIN ;设置断点观察结果ASCTAB: DB 30H, 31H, 32H, 33H, 34HDB 35H, 36H, 37H, 38H, 39HDB 41H, 42H, 43H, 44H, 45H, 46HEND4. 通过查表的方法实现y=x2,其中x为0~9 的十进制数,以BCD码表示,结果仍以BCD 码形式输出。
参考程序:;==============================================================; 文件名称: Asm4-2.asm; 功能描述: 查表程序, 用程序实现Y=X*X, X为0到9的十进制数,; 用BCD码(00H到09H)表示, 将X的平方, 即Y也以BCD码; 的形式保存到R1中.;==============================================================ORG 0000HLJMP MAINORG 0100HMAIN: MOV DPTR, #SQR ;取表格首地址MOV A, R7 ;要计算的值MOVC A, @A+DPTR ;查表MOV R6, A ;结果保存SJMP MAINSQR: DB 00H, 01H, 04H, 09H, 16HDB 25H, 36H, 49H, 64H, 81HEND实验二片内I/O口及中断应用实验一、实验目的了解P1 口作为输入输出方式使用时,CPU 对P1 口的操作方式。
了解MCS-51 单片机的中断原理,掌握中断程序的设计方法。
二、实验设备PC机一台,TD-NMC+教学实验系统,连接线若干三、实验步骤⑴按实验内容要求完成硬件连线;⑵编写实验程序,经编译、链接无误后,启动调试功能;⑶观察实验现象,并分析原因;⑷按复位键退出调试状态。
四、实验内容1. 片内I/O口应用实验P1 口是8 位准双向口,每一位均可独立定义为输入输出。
编写实验程序,将P1 口的低4 位定义为输出,高4 位定义为输入,数字量从P1 口的高4 位输入,从P1 口的低4 位输出控制发光二极管的亮灭。
;============================================================; 文件名: DigitIO.ASM; 功能说明: 数字量输入输出实验, P1口高4位输入, 低4位输出;============================================================ORG 0000HLJMP STARTORG 0100HSTART: ORL P1, #0F0H ;P1口高四位为输入MOV A, P1 ;读P1口的值SWAP A ;A中高,低4位交换MOV P1, A ;输出到P1口SJMP STARTEND2. 片内中断系统实验⑴定时器中断单片机集成的定时器可以产生定时中断,利用定时器0 和定时器1,编写实验程序在P1.0及P1.1 引脚上输出方波信号,通过示波器观察实验现象并测量波形周期。
改变计数值,重新运行程序,反复验证程序功能。
参考程序:;================================================================; 文件名: INT1.ASM; 功能说明: 采用定时器的中断, 在P1.0与P1.1引脚上输出周期波形.;================================================================ORG 0000HLJMP STARTORG 000BHLJMP TIMER0ORG 001BHLJMP TIMER1ORG 0100HSTART: MOV P1, #0FFHMOV TH0, #0F8H ;初始化定时器0计数初值MOV TL0, #00HMOV TH1, #0F8H ;初始化定时器1计数初值MOV TL1, #00HMOV TMOD, #11H ;设置定时器工作模式为方式1MOV TCON, #50H ;启动定时器MOV IE, #8AH ;使能中断SJMP $TIMER0: CPL P1.0 ;定时器0中断服务程序, 对P1.0引脚取反MOV TH0, #0F8H ;重新装入计数初值MOV TL0, #00HRETI ;中断返回TIMER1: CPL P1.1 ;定时器1中断服务程序MOV TH1, #0F8HMOV TL1, #00HRETIEND⑵外部中断手动扩展外部中断INT0、INT1,当INT0 产生中断时,使LED8 亮8 灭闪烁4 次;当INT1 产生中断时,使LED 由右向左流水显示,一次亮两个,循环4 次。
先按KK1-,观察实验现象,然后按KK2-,观察实验现象。
51 单片机加入了中断系统,从而提高了CPU 对外部事件的处理能力和响应速度。
增强型单片机SST89E554RC 共有8 个中断源,即外部中断0(INT0)、定时器0(T0)、外部中断1(INT1)、定时器1(T1)、串行中断(TI 和RI)、定时器2(T2)、PCA 中断和Brown-out 中断。
参考程序:;======================================================================; 文件名: INT2.ASM; 功能说明: 外部中断INT0, INT1操作.; 外部中断0: 使发光二极管闪烁4次.; 外部中断1: 使发光二极管由右向左流水显示, 一次亮两个LED.;====================================================================== ORG 0000HLJMP STARTORG 0003HLJMP EINT0ORG 0013HLJMP EINT1START: MOV P1, #00HSETB IT0 ;定义外部中断0为边沿触发SETB EX0 ;使能外部中断0SETB IT1 ;定义外部中断1为边沿触发SETB EX1 ;使能外部中断1SETB EA ;使能总中断SJMP $EINT0: MOV R7, #04H ;外部中断0中断服务程序ELP0: MOV P1, #0FFHACALL DELAY ;调用延时程序MOV P1, #00HACALL DELAYDJNZ R7, ELP0RETIEINT1: MOV A, #03H ;外部中断1中断服务程序MOV R7, #10HILP1: MOV P1, ARL ARL AACALL DELAYDJNZ R7, ILP1RETIDELAY: MOV R6, #0FFH ;延时子程序DLP1: MOV R5, #0FFHDLP2: DJNZ R5, DLP2DJNZ R6, DLP1RETEND实验三定时器/计数器应用实验一、实验目的1.了解MCS-51 单片机定/计数器的工作原理与工作方式;2.掌握定时/计数器T0 和T1 在定时器和计数器两种方式下的编程;3.学习定时/计数器T2 的可编程时钟输出功能。