《单片机原理及应用B》实验指导书
单片机原理与应用实验指导书(202203)-图文
单片机原理与应用实验指导书(202203)-图文实验指导书南通大学电气工程学院自动化系2022年3月前言单片机目前已广泛应用在智能仪表、工业控制、家用电器等各个领域,成为现代电子系统的一个极其重要的组成部分,对于电类专业学生来说,掌握单片机知识,具备基本应用技能,才能符合当前社会对专业人才的要求。
单片机是一门应用性极强的课程,学生在掌握基本理论知识的基础上,更要通过实验训练,提高其调试动手能力,学会解决具体问题的思路和手段,具备初步的系统设计和调试能力。
因此,为了更好地做好单片机课程的软硬件实验,特编写本实验指导书,书中叙述了各实验的目的、要求,对于设计性实验,给出了列出了接线图、程序结构框图和清单。
学生按要求完成本实验指导书中的实验,可基本掌握MCS-51单片机的结构原理、接口技术以及程序设计技巧。
另外:一、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据教学要求,选择相应实验。
二、对同一问题的解决方法往往不是唯一的,欢迎各位指导教师在使用本实验指导书的过程中提出更完善的实验方案,指出书中的错误和不足,并希望大家反馈给我们,以便及时修改。
I目录第一章集成开发环境简介..........................................1第二章演示程序......................................................9第三章实验项目 (15)实验一简单程序设计实验.............................................15实验二I/O 口实验......................................................18实验三定时器实验......................................................20实验四A/D、D/A转换实验..........................................21实验五并行接口扩展实验 (25)II第一章集成开发环境简介SuperICES-5180C51单片机实验仪使用当前流行的KeilC51开发软件,采用uViion2集成开发环境。
单片机原理及应用实验指导书
实验一指令系统和汇编语言程序设计实验本章实验主要包括指令系统和汇编语言程序设计两部分。
采用软件模拟调试的方法,目的在于通过这些实验可以使学生巩固所学知识,加深对MCS-51单片机内部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。
实验操作说明Keil 软件调试方式分为:软件仿真方式和硬件调试两种。
软件仿真实验上机操作步骤:1、进入Keil,点击桌面上“Keil μVersion 3”图标,进入Keil系统窗口;2、新建工程:1)打开“工程”菜单中的新建,在弹出的对话框中,键入自己定义的工程名;2)在进一步打开的对话框中,选择CPU的类型,为Intel公司的8032AH,确定;3)存入C:\keil 文件夹中。
(机房,安装在C盘,改为C:\keil)3、打开“视图”菜单中的“工程窗口”;4、在“工程窗口”中,右击“目标1”,为工程设置参数;1)在弹出的快捷菜单中选择“为目标“目标1”设置选项”;2)在弹出的对话框中选择“项目”选项卡,设置时钟为“12Mhz”;3)选择“调试”选项卡,在单选框选择“软件仿真方式”;4)确定,即完成了“软件仿真方式”的设置。
5、新建文件1)打开“文件”菜单,选择“新建”;2)系统打开一个文本窗口,你可在窗口的编辑区输入要调试的汇编语言源程序;3)存盘,命名文件名和扩展名,文件名任起,扩展名必须是.asm,存入C:\keil 文件夹中(在大机房,安装在C盘,改为C:\keil);例如:a.asm。
6、将刚建的新文件添入当前的工程中1)在“工程窗口”中,“目标1”的+号处打开,显示“源代码组1”;2)右击“源代码组1”,在快捷菜单中选择“为“源代码组1”添加文件”,弹出一个对话框; 3)在对话框中选择“文件类型”为*.*;4) 选择文件所在路径,同时找到刚键入的a.asm文件,点击“add”按钮,然后点击“close”按钮;5) 在“工程窗口”点击“源代码组1”左侧的+号,显示添加的a.asm文件,添加成功。
单片机原理和应用实验指导书
《单片机原理与应用》课程实验指导书电子、机电及电气工程与自动化专业适用吴茂屈丽丽王飞编佛山科学技术学院二00九年十月前言以往我校的单片机实验教学通常是使用启东DAIS系列单片机微机仿真实验系统进行单片机实验教学的,DAIS系统可以做二十多项试验,系统机构十分复杂,功能非常强大,但是在使用过程中也发现了一些不足的地方那个:厂家为了技术保密,把核心电路都屏蔽了,我们不能了解实验系统的工作原理,另外系统庞大,不方便学生带回宿舍实验,不方便学生课外学习。
根据我校学生对单片机课程学习的需求,我们在参考其他公司的产品的基础上,结合课程的实际情况,开发了适合学生入门学习的单片机学习板,FD-51学习板,该学习板设置了包括LED数码管、LCD1602液晶、AD\DA转换器件等单元电路,可以做几十个单片机实验,而且本实验板我们是以配件的形式提供给学生,让学生自己焊接调试线路板。
学生不但可以学习软件编程技术,还可以学习硬件焊接及调试技术,可以更好地锻炼学生的动手操作能力。
目录系统介绍 (2)软件实验:实验一清零程序....................... . (4)实验二拆字程序................................... . (5)实验三拼字程序................................... . (5)实验四数据区传送子程序 (6)实验五查找相同数个数 (6)硬件实验:实验A 工业顺顺序控制 (7)实验B 简单IO口扩展实验 ......... .. (8)实验一 P1口输出流水灯实验 (11)实验二 P1口输出交通灯实验 (11)实验三八段数码管显示实验 (12)实验四键盘实验........................... (12)实验五遥控解码实验...................... (12)实验六计数器实验.................................... (13)实验七继电器控制实验................................. .. (13)实验八定时器实验 (14)实验九单片机串行口通讯实验 (14)实验十电子时钟 (14)实验十一外部中断实验(急救车与交通灯) (15)实验十二 AT24C02读写实验........... .................... (15)实验十三 93C46读写实验 ........... ..................... (16)实验十四 LCD1602字符型液晶控制显示实验 (16)实验十五 LCD12864点阵型液晶控制显示实验 (17)实验十六 A/D转换(数字电压表)实验 (17)实验十七 D/A转换(波形发生器) 实验 (18)实验十八 DS18B20温度采集及处理实验...................... (19)系统介绍一、FD-51单片机学习板简介为了适应我校单片机课程教学的需要,我们在参考其他厂家学习板的基础上,再根据我校单片机课程教学大纲的要求,基于简单、使用的原则,开发了FD-51单片机实验板。
单片机原理及应用技术实验指导书
单片机原理及应用实验指导书实验前准备1.建立新程序选择菜单[文件| 新建文件]功能出现一个文件名为NONAME1 的源程序窗口,在此窗口中输入以下程序ORG 0 MOV A ,#0 MOV P1,#0 LOOP:INC P1 ACALL Delay SJMP LOOP Delay:MOV R2,#3 DPL2:MOV R1,#0 DPL1:MOV R0,#0 DPL:DJNZ R0,DPL DJNZ R1,DPL1 DJNZ R2,DPL2 RETEND输出程序后的窗口如图,现在要做的是将此文件存盘。
2.保存程序选择菜单[文件| 保存文件]或[文件| 另存为]功能给出文件所要保存的位置,例如:D:\My programm 文件夹,再给出文件名MY1.ASM 。
保存文件。
文件保存后,程序窗口上文件名变成了:D:\MY PROGRAMM\MY1.ASM3.建立新的项目选择菜单[文件| 新建项目]功能,新建项目会自动分三步走:A ) 加入模块文件。
在加入模块文件的对话框中选择刚才保存的文件MY1.ASM ,按打开键。
如果是多模块项目,可以同时选择多个文件再打开。
B ) 加入包含文件。
在加入包含文件对话框中,选择所要加入的包含文件(可多选)。
如果没有包含文件,按取消键。
C ) 保存项目。
在保存项目对话框中输入项目名称。
MY1 无须加后缀。
软件会自动将后缀设成“.PRJ ”。
按保存键将项目存在与你的源程序相同的文件夹下。
项目保存好后,如果项目是打开的,可以看到项目中的“模块文件”已有一个模块“MY1.ASM ”,如果项目窗口没有打开,可以选择菜单[窗口| 项目窗口]功能来打开。
可以通过仿真器设置快捷键或双击项目窗口第一行选择仿真器和要仿真的单片机。
4.设置项目选择菜单[设置| 仿真器设置]功能或按“仿真器设置”快捷图标或双击项目窗口的第一行来打开“仿真器设置”对话框。
在“仿真器”栏中,选择仿真器类型和配置的仿真头以及所要仿真的单片机。
单片机原理与应用实验指导书内容
用Debug工具栏的Go快捷命令Run命令按钮即可实现全速运行程序。当然若程序中已经设置断点,程序将执行到断点处,并等待调试指令;若程序中没有设置任何断点,在 Vision2处于全速运行期间, Vision2不允许任何资源的查看,也不接受其他命令。
(3) 单步跟踪(F11)
用Debug工具栏的Step或快捷命令StepInto命令按钮可以单步跟踪程序。每执行一次此命令,程序将运行一条指令(以指令为基本执行单元)。当前的指令用黄色箭头标出,每执行一步箭头都会移动,已执行过的语言呈绿色。在汇编语言调试下,可以跟踪到每一个汇编指令的执行。 Vision2处于全速运行期间, Vision2不允许任何资源的查看,也不接受其他命令。
图4.17程序存储器窗口
图4.18数据存储器窗口
在联机调试状态下可以启动程序全速运行、单步运行、设置断点等,单击“Debug菜单/Go”选项,启动用户程序全速运行。
下面介绍几种常用的调试命令及方法。
(1) 复位CPU
用Debug菜单或工具栏的Reset CPU命令可以复位CPU。在不改变程序的情况下,若想使程序重新开始运行,执行此命令即可。执行此命令后程序指针返回到0000H地址单元。另外,一些内部特殊功能寄存器在复位期间也将重新赋值。例如,A将变为00H,DPTR变为0000H,SP变为07H,I/O口变为0FFH。
图2.3安装序列号对话框
图2.4安装进度指示画面
接下来就是等待安装,安装完毕后单击Finish按钮加以确认,此时就可以在桌面上看到Keil μVision2软件的快捷图标,如图2.5所示,双击它就可以进入KeilμVision2集成开发环境。
图2.5μVision2的快捷图标
3. Keil的使用
单片机原理及应用实验指导书
单片机原理及应用实验指导书(电气工程及其自动化专业)电气工程学院2016年8月前言由于单片机具有高可靠性、超小型、低价格、容易产品化等特点,在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,具有十分广泛的用途。
由于目前在国内单片机应用中,MCS-51系列单片机仍然是一种主流单片机,所以本实验指导书为学习MCS-51单片机的学生和广大的工程技术人员,配合《单片机原理》课程的教学,结合一种单片机实验板编写了这本实验指导书。
《单片机原理及应用》是一门实践性很强的课程,提高教学质量的一个重要环节是上机实习和训练,无论是学习汇编语言程序设计,还是学习接口电路和外设与计算机的连接,或者软硬兼施地研制单片机应用系统,不通过加强动手是不能获得预期效果的。
本实验指导书提供多个实验的指导性材料,实验项目基本涵盖课程教学大纲的要,项目难易适中。
目录一、实验的性质与目的 (4)二、实验时间分配 (4)三、实验的地点选择 (4)四、实验的内容安排与要求· (4)五、注意事项 (5)六、实验报告要求 (5)七、成绩评定标准(参照模板制定) (5)实验一IO驱动实验 (6)实验二计数器实验 (8)实验三双机通信实验 (10)实验四数码管驱动显示实验 (13)实验五直流电机控制实验 (15)实验报告格式 (19)一、实验的性质与目的单片机原理及应用实验,是电气工程及其自动化及相关专业实践性环节系列之一,是学习《单片机原理及应用》课程中完成理论与实际结合的重要部分。
单片机实验过程中,学生通过查阅资料、接口设计、程序设计、安装调试等环节,完成一个基于MCS-51系列单片机,涉及多种资源应用,并具有综合功能的小应用系统设计。
使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件等方面的知识进一步加深认识,同时在软件编程、调试、相关仪器设备和相关软件的使用技能等方面得到较全面的锻炼和提高。
《单片机原理与应用》实验指导书
《单片机原理与应用》 实 验 指 导蒋艳红 编桂林电子科技大学电子工程学院2007.3目 录实验一 单片机开发系统的使用方法 (1)实验二 I/O口输入、输出实验 (7)实验三 定时器/计数器实验 (9)实验四 中断实验 (12)实验五 串行通讯实验 (15)附录一 逻辑分析工具 (17)附录二 系统自动检测功能 (21)实验一 单片机开发系统的使用方法一、实验目的1.学习单片机开发系统和仿真软件的使用及程序调试方法。
2.掌握汇编程序的编写方法及常用技巧。
二、单片机实验系统简介单片机的开发与应用需要借助于开发软件及硬件仿真系统进行。
在单片机应用系统的开发过程中,为了得到满足要求的用户程序,需要有一个对程序的调试过程,这项工作依靠单片机自身是无法完成的。
因为程序在机器内连续高速地运行,难以观测程序的运行情况。
此外,还需要把调试成功后的程序固化到单片机的程序存储器中,当单片机运行起来后,对整个用户样机系统的软硬件进行实时的诊断、调试。
因此需要有相应的仿真设备才能完成。
单片机实验系统LAB6000即是具有对应用程序进行输入编辑、修改等功能的设备,软硬件仿真可以实现对源程序进行编译,及程序的执行和检测。
在对目标系统的调试过程中,可以运用单步执行,设置断点执行、状态查询等功能,以达到设计目的、完成从用户程序的编写到单片机应用系统的正确运行之前的一切准备工作即仿真功能。
系统运行时,能够产生和单片机完全相同的实时信号,以实现对用户样机系统中软、硬件的故障诊断和调试。
LAB6000实验系统由硬件及软件两部分组成。
三、调试步骤(一)建立源文件并保存 双击桌面WAVE图标,进入伟福开发环境。
1、选择菜单:文件/新建文件,进入源程序编辑窗口,在此输入源程序。
如图1-1。
图 1-1选择菜单:文件/保存文件或直接点击工具栏上小磁盘图标,指定文件所要保存的位置,例如:F:\0820101文件夹,再确定文件名:sy1.ASM ,注意后缀应为 .ASM。
MCS51单片机原理及应用实验指导书
《MCS51单片机原理及应用》实验指导书唐山学院电工电子实验教学中心年月前言一.单片机原理实验的任务单片机原理实验是单片机原理及应用课程的一部分,它的任务是:1.通过实验进一步了解和掌握单片机原理的基本概念、单片机应用系统的硬件设计及调试方法。
2.学习和掌握单片机应用系统程序设计技术。
3.提高应用计算机的能力及水平,提高逻辑思维及动手能力。
二.实验设备单片机实验所使用的设备由计算机、单片机实验开发系统(见下图0-1),其中计算机是软件开发平台,主要完成程序编辑、编译、下载程序等任务;单片机实验开发系统是硬件开发平台,是基于51/196单片机的扩展实验系统。
计算机和单片机实验开发系统之间是通过RS232串行接口进行通信的。
图0-1 单片机原理实验设备单片机实验开发系统配有开关电源、单片机、晶振、存储器、可编程并行接口芯片、键盘显示控制芯片、24键键盘、六位LED数码管显示、A/D及D/A转换芯片、简单输出口2个、简单输入口1个、逻辑电平输入开关、发光二极管显示电路,并配有小直流电机、步进电机、继电器、音响等驱动电路。
在计算机软件的控制下可完成单片机基本实验及综合设计性实验项目。
所有的MCS51单片机原理及应用课程实验都是在这套实验系统上完成的。
三.对参加实验学生的要求1.阅读实验指导书,复习与实验有关的理论知识,明确实验目的,了解内容和方法。
2.按实验指导书要求进行接线和操作,经检查和指导老师同意后再通电。
3.在实验中注意观察思考,记录有关数据和程序,并由指导教师复查后才能结束实验。
4.实验后应断电并返回WINDOWS下关闭计算机,整理实验台,恢复到实验前的情况。
5.认真写实验报告,按规定格式写出程序流程图、程序、并分析实验结果、完成思考题等。
字迹要清楚,结论要明确。
爱护实验设备,遵守实验室纪律。
*注:本实验指导书适用于MCS51单片机原理及应用A、单片机原理及应用B等课程。
目录第一章MC51单片机原理及应用实验 (3)实验一P1口实验(验证性) (3)实验二外部中断实验(验证性) (5)实验三定时器实验 (7)实验四串行口实验--串并转换实验 (9)实验五数码显示实验 (11)实验六A/D转换实验 (13)实验七数字电子钟实验(综合性) (15)实验八D/A转换实验 (16)实验九简单I/O口扩展实验 (18)实验十步进电机实验 (20)实验十一直流电机实验 (22)实验十二PC机与单片机串行通信实验 (24)实验十三继电器与电子音响实验 (26)实验十四8255可编程并行接口实验 (28)实验十五键盘显示接口实验 (30)第二章单片机开发实验系统及TMSD调试程序 (32)第一节单片机开发实验系统 (32)第二节TMSD源语言调试程序简介 (35)第一章MCS51单片机原理及应用实验实验一P1口实验一.实验目的1.学习P1口的使用方法。
2013(2)单片机原理及应用实验指导书
实验一、LED灯的闪烁控制实验一、实验目的1、学习单片机并行I/O端口的使用方法;2、学习延时子程序的编写;3、学习Keil 和Proteus软件的基本使用方法。
二、实验说明1、P1口为一组双向口,每位都可独立地定义为输入或输出线,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入(即:P1=0xff)。
2、本实验中延时采用循环程序来实现, 入口参数控制延时时间长短。
3、实现发光二极管的闪烁控制。
三、实验内容及步骤1、硬件原理图2、源程序//功能:控制一个信号灯闪烁程序#include <reg51.h> //包含头文件REG51.H,定义了MCS-51单片机的特殊功能寄存器sbit P1_0=P1^0; //定义位名称void delay(unsigned char i); //延时函数声明void main() //主函数{while(1) {P1_0=0; //点亮信号灯delay(10); //调用延时函数,实际变量为10P1_0=1; //熄灭信号灯delay(10); //调用延时函数,实际变量为10}}//函数功能:实现软件延时void delay(unsigned char i) //延时函数,无符号字符型变量i为形式参数{unsigned char j,k; //定义无符号字符型变量j和kfor(k=0;k<i;k++) //双重for循环语句实现软件延时for(j=0;j<255;j++);}四、思考题1、MCS-51系列单片机的P0~P3四个I/O端口在结构上有何异同?使用时应注意的事项?实验二、模拟交通信号灯实验一、实验目的1、熟悉C语言的数据类型、常量与变量、运算符和表达式等基本概念及函数、程序设计基本结构;2、掌握C51对标准C语言的扩充功能;3、学习Keil软件和Protues软件的联合在线仿真调试系统的使用。
二、实验说明1、使用单片机控制LED来模拟十字路口交通信号灯的切换过程和显示效果。
《单片机原理及应用》实验指导书.doc
《单片机原理及应用》实验指导书广州大学松田学院电气与汽车工程系2011年10月实验一流水灯实验.................................. 实验二数码管动态显示实验 (3)实验三单片机外部中断实验 (5)实验四单片机定时器/计数器应用 (7)实验五中断及综合实验 (10)附录开发板电路原理图 (II)实验一流水灯实验1.实验H的及要求1)掌握keil c51软件和STC-ISP软件使用方法。
2)巩固单片机基本程序的编写方法和单片机工程项F1的建立流程。
3)熟悉用单片机P0 口控制LED灯亮和灭的方法。
2.实验仪器计算机、keil c51软件、单片机开发板、下载线3.实验内容利用P0 口直接控制8个LED灯的亮和灭。
把不同的数据(本实验采用40 个不用的字节)定时输出P0 口,控制LED灯相应的变化,产生花样灯效果。
改变延吋吋间,则改变LED灯改变速度,效果也不一样。
4.实验步骤1)使用ke订c51软件建立一个工程,命名保存,并配置工程。
2)新建一个文件,主文件名与工程名一致,文件后缀名为MSM。
编辑实验源程序。
(注意:源程序编辑不要在屮文状态下)实验参考程序如下:ORG 0100HTMP1:DB 0111, 02H, 04H, 0811, 10H, 2011, 40H, 80H, 8111, 8211DB 84H, 88H, 90H, OAOH, OCOH, 0C1H, 0C2H, 0C4H, 0C8H, ODOHDB OEOH, 0E1H, 0E2H, 0E4H, 0E8H, OFOH, 0F1H, 0F2H, 0F4H,0F8H0RG 000011 ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主稈序的开始MAIN: MOV DPTR, #TMP1 ;得到数据的地址MOV R7, #40 ;设置循环40次Ml: CLR AMOVC A, ©A+DPTR ;读取相应地址的数据CPL A ;因发光二极管采用共阳极,所以将数据取反再输出MOV P0, AINC DPTRLCALL DELAY ;转入延时了程序DJNZ R7, Ml ; 40次未完成继续LJMP MAIN ;40次完成冋到开始处DELAY: MOV R5, #255 ;延时子稈序D1: MOV R6, #255DJNZ R6, $DJNZ R5, DIRETEND ;程序体结束3)汇编、连接生产目标文件。
单片机原理与应用技术实验指导书(V2.3)
单片机原理与应用技术实验指导书(Freescale)机械工程学院机械电子工程教研室王晓峰实验一飞思卡尔嵌入式实验系统入门—GPIO控制实验一、实验目的:熟悉CodeWarrior集成开发环境及飞思卡尔嵌入式实验开发系统掌握AW60的GPIO结构及控制方法掌握CodeWarrior工程结构及创建汇编工程熟悉汇编指令及应用汇编语言编程方法二、实验内容1.运用CodeWarrior新建工程,进行工程程序编辑、编译、下载、调试;2.利用飞思卡尔嵌入式实验开发系统根据实验需要进行硬件连接;3.观察示例工程项目,该工程功能为:根据连接在PTC0、PTC1口上的两个拨动开关的状态,控制接中PTB口上的八个LED处在以下二种不同状态:八个LED同时亮-灭循环;四个灯交替亮-灭;4.设计一个比示例工程简单的工程项目,内容为控制PTB口上连接的八个LED灯同时亮-灭循环一次再四个灯交替亮-灭一次。
5.设计一个比示例工程更复杂一些的工程项目,根据连接在PTC口上的两个拨动开关的状态,控制接中PTB口上的八个LED处在以下四种不同状态:八个LED亮—灭循环;四个灯交替亮—灭;一个LED左移流水灯;两个LED右移流水灯。
三、实验步骤(注意:在调试过程中如需要进行连接线路时,要先将实验箱断电,待电路连接好后再接通电源!!!)1.将飞思卡尔嵌入式实验开发系统实验箱接上电源,写入器BDM接头插接入核心卡BDM座,USB头接入PC机USB口。
2.PC机上启动CodeWarrior,新建工程LED.mcp(注意设置工程保存路径)3.观察工程文件结构,查看相应文件。
4.在main.asm中编辑工程主文件5.编辑相关子程序6.编译,如果有错误修改,直至编译通过7.链接、下载,调试观察LED灯现象导线接插点Vcc拨码开关GN图1-1 LED及拨动开关原理图四、参考程序1.主汇编程序main.asm该程序为根据PTD口的PTD0上接的拨动开关的状态控制连接在PTB口上的八个LED灯在四亮四暗状态或八个灯同时亮同时暗的状态XDEF asm_mainXREF MCUInitXREF DelayHXINCLUDE 'derivative.inc'INCLUDE 'light.inc'INCLUDE 'switch.inc'MyCode: SECTION; this assembly routine is called the C/C++ applicationasm_main:JSR MCUInitJSR Switch_InitJSR Light_InitM_Scan: JSR Switch_ReadLDA $70CMP #$01BNE M01LDA #0JSR Light_On_OffLDHX #$0fffJSR DelayHXLDA #1JSR Light_On_OffLDHX #$0fffJSR DelayHXBRA M_ScanM01: CMP #$02BNE M02JSR Light_HalfLDHX #$0fffJSR DelayHXM02: BRA M_ScanRTS ; return to caller2、LED灯构件程序light.asm;[Light.asm]小灯驱动-----------------------------------------------------* ;本文件包含: * ; (1)Light_init:定义控制小灯的MCU的I/O引脚为输出* ; (2)Light_On_Off:驱动小灯"亮","暗" * ;--------------------------------------------------------------------------------*;小灯驱动所需头文件INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名;小灯控制引脚宏定义Light_P: equ PTBD ;灯(Light)接在PTB口Light_D: equ PTBDD ;相应的方向寄存器Lon: equ $00Loff: equ $ffLdiff: equ $0f;声明外部函数XDEF Light_Init ;小灯初始化XDEF Light_On_Off ;驱动小灯"亮","暗"XDEF Light_Half ;驱动小灯"四亮","四灭";Lightinit:定义控制小灯的MCU引脚为输出---------------------------* ;功能:定义控制小灯的MCU引脚为输出,并使小灯初始为暗* ;----------------------------------------------------------------------------------* Light_Init:LDA #$FFSTA Light_P ;设置初始时八个LED灯全灭LDA #$FFSTA Light_D ;设置LED所接PTB口为输出RTS;Light_On_Off:驱动小灯"亮","灭"---------------------------------------* ;功能:根据A的值控制小灯的亮和暗* ;---------------------------------------------------------------------------------* Light_On_Off:CMP #0BNE Light_1LDA #LonSTA Light_PBRA Light_ExitLight_1:CMP #1BNE Light_Exit ;入口非'L'/'A',程序无响应LDA #LoffSTA Light_PLight_Exit:RTS;Light_Half:驱动小灯"四亮","四灭"-------------------------------------* ;功能:根据A的值控制小灯的亮和暗* ;---------------------------------------------------------------------------------*Light_Half:LDA Light_PCMP #LdiffBNE Light_half1LDA #~LdiffSTA Light_PBRA L_exitLight_half1:LDA #LdiffSTA Light_PL_exit:RTS3、拨动开关控制程序Switch.asm;[switch.asm]开关状态输入---------------------------------------------* ;本文件包含: * ; (1)Switch_init:定义连接开关的MCU的I/O引脚为输入* ; (2)Switch_read:读取开关状态* ; (3)RAM$70保存开关状态;--------------------------------------------------------------------------------*;小灯驱动所需头文件INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名XDEF Switch_InitXDEF Switch_Read;开关连接引脚宏定义Switch_P: equ PTCDSwitch_D: equ PTCDDS_K1: equ 0S_K2: equ 1;Switch_Init:定义连接开关的I/O为输入----------------------------------*Switch_Init:BCLR S_K1,Switch_DBCLR S_K2,Switch_DRTS;Switch_Read:读取连接开关的I/O口数据,取出开关状态------------* ;RAM$70保存开关状态* ;------------------------------------------------------------------------------------*Switch_Read:PSHALDA #0STA $70BSET S_K1,$70BSET S_K2,$70LDA Switch_PAND $70STA $70PULARTS4、延时通用程序DelayHX.asmXDEF DelayHXDelayHX:PSHA ;[A进栈](保护寄存器A)CPX #0 ;X变址寄存器中的值是否为0BEQ DelayHX_ExitDelayHX_1:LDA #200 ;延时约200*5=1000(T)------DelayHX_2:NOP ;(1T)NOP ;(1T)DBNZA DelayHX_2AIX #-1 ;(HX - 1) -> HXCPHX #0BNE DelayHX_1DelayHX_Exit:PULA ;[A出栈](恢复寄存器A)RTS;[MCUInit.asm]AW60芯片初始化子程序---------------------*;功能: *; 系统初始化设置,设置ICGC1和ICGC2寄存器,SOPT的寄存器*; 设置,由外部晶振f = 4MHz,产生内部总线时钟f = 20MHz *;入口:无*;出口:无*;------------------------------------------------------*INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名;声明外部函数XDEF MCUInit ;芯片初始化MCUInit:PSHA ;A进栈(保护寄存器A)LDA #%01100000; |||; |||; |||; ||+------STOPE --- 允许STOP; |+-------COPT ---- long timeout 2^18; +--------COPE ---- 关看门狗STA SOPT ;系统选项寄存器(只写一次)MOV #%00110000,ICGC2; |||||||| 应该在设置ICGC1之前写MFDx; |||||||+-RFD0 \; ||||||+--RFD1 --- 分频因子R=1; |||||+---RFD2 /; ||||+----LOCRE --- 丢失时钟信号后产生一个中断信号; |||+-----MFD0 \; ||+------MFD1 --- 锁频环倍乘因子N = 10; |+-------MFD2 /; +--------LOLRE --- 锁频环失锁后产生一个中断信号(不复位) MOV #%01111000,ICGC1; |||||||x; ||||||+--LOCD ---- 允许检测时钟信号丢失Lost of Clock; |||||+---OSCSTEN - 在OFF模式下允许晶振电路; ||||+----CLKS0 \ - 选择FLL engaged external reference(FEE) ; |||+-----CLKS1 / 使用锁频环的外时钟模式; ||+------REFS ---- 使用晶振(0表示使用外时钟信号); |+-------RANGE --- 使用高频晶振(4MHz p=1) (1-1;0-64); +--------HGO ----- 低功耗;等待FLL稳定PULA ;A出栈(恢复寄存器A)RTS四、思考题1.CodeWarrior建立工程有什么工程框架文件,这些文件的作用?2.该实验采用模块化设计方法,工程框架包含哪些文件,画出其组织结构,画出主程序流程图。
单片机原理与应用实验教案实验指导书
单片机原理与应用实验指导书专业班级姓名计算机学院编2007年3月实验目录第一部分软件实验选做实验一清零程序实验二拆字程序实验三拼字程序实验四数据区传送子程序实验五数据排序实验实验六查找相同个数实验七无符号数双字节快速乘法子程序实验八脉冲计数(定时/计数综合实验)第二部分硬件实验选做实验一 P1口亮灯实验实验二 P1口转弯灯实验实验三 P3.3口输入,P1口输出实验四工业顺序控制实验五 8255PA口控制PB口实验六 8255控制交通灯实验七简单I/O口扩展实验八 A/D转换实验第一部分软件实验实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容把2000H~20FF的内容清零。
三、实验步骤用连续或单步方式运行程序,检查2000H~20FF执行程序前后的内容变化。
四、思考 1、假使把2000H~20FF中的内容改为FF,如何修改程序。
2、将程序中的汇编语言中每条单步执行的指令阐述出来。
五、程序清单(sw01.asm)ORG 0000HLJMP SE01ORG 0640HSE01:MOV R0,#00HMOV DPTR,#00H ;(0000H)送DPTRLOO1:CLR AMOVX @DPTR,A ;0送DPTRINC DPTR ;DPTR+1INC R0 ;字节数加1CJNE R0,00H,LOO1 ;不到FF个字节再清LOOP:SJMP LOOPEND实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。
二、实验内容把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、实验程序框图四、实验步骤用连续或单步方式运行程序,检查2000H~2002H中内容变化情况。
五、思考 1、如何用断点方式调试本程序。
2、将程序中的汇编语言中每条单步执行的指令阐述出来。
六、程序清单(sw02.asm)ORG 0000HLJMP SE02ORG 0660HSE02: MOV DPTR,#2000HMOVX A,@DPTRMOV B,A ;(2000H)→A→BSWAP A ;交换ANL A,#0FH ;屏蔽高位INC DPTRMOVX @DPTR,A ;送2001HINC DPTRMOV A,BANL A,#0FH ;(2000H)内容屏蔽高位MOVX @DPTR,A ;送2002HLOOP: SJMP LOOPEND实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。
《单片机原理及应用》课程实验指导书
江西理工大学《单片机原理及应用》课程实验指导书主审人:主撰人:前言单片机技术作为计算机技术的一个重要分支,广泛用于工业控制、智能化仪器仪表、家用电器,甚至电子玩具等各个领域,它具有集成度高、性能价格比优越、货源充足等优点。
因此,越来越受到工程技术人员重视,目前国内中高等学校电力技术、电气自动化、自动控制、电子技术等均开设了此课程。
目录第一部分绪论第二部分基本实验指导实验一单片机及其开发系统入门实验二单片机I/O口控制实验实验三外部中断实验实验四定时/计数器实验实验五蜂鸣器驱动实验实验六串转并的I/O口实验实验七 8x8LED扫描输出实验实验八基于C51单片机综合程序设计实验九并转串的I/O口实验实验十 RS232串行口通信实验实验十一并行的模数转换实验实验十二并行的数模转换实验附录实验仪硬件结构第一部分绪论本实验指导书是根据《单片机原理及应用》课程实验教学大纲编写,适用于电气工程及自动化、自动化专业。
一、本课程实验的作用与任务《单片机原理及应用》实验是单片机学习过程中必不可少的重要实践环节。
通过实验和设计,让学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念,使学生在分析问题和解决问题等方面受到系统科学的训练,从而提高学生理论联系实际能力、自主动手能力和创新能力。
二、本课程实验的基础知识本课程要求学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念。
学生在学习这门课程之前,必须掌握《模拟电子技术》、《数字电路》、《微机原理及应用》、《C语言程序设计》等课程相关内容。
三、本课程实验教学项目及要求第二部分基本实验指导实验一单片机及其开发系统入门一. 实验目的熟悉 Keil C51集成开发环境的使用方法。
二.实验原理利用单片机的P1口控制发光二极管,进行Keil C51集成开发环境的仿真调试练习。
《单片机原理及应用》实验指导书(第一部分实验--4学时)
《单片机原理及应用》课程实验指导书一、实验目的《单片机原理及应用》课程实验是电子信息工程专业的一门专业基础课实验,是本专业学生获得单片机知识的开端。
要求学生通过本课程实验,具备利用单片机技术解决实际控制问题的能力。
培养与提高学生科学实验的能力,动手实践能力、理论联系实际的能力、自学能力、从简单的设计到综合的应用能力和创新能力。
通过实验的训练,使学生掌握《单片机原理及应用》实验的基本方法和基本技能,加深对单片机知识的理解,掌握单片机应用系统设计方法,为今后的工作打下良好的基础。
二、实验设备及器件PC机一台DP-51PROC单片机综合仿真实验仪一台示波器一台电阻若干电容若干导线若干三、实验内容本实验共8个实验内容:实验一仿真实验仪的操作使用练习实验二单片机I/O口控制实验实验三蜂鸣器驱动实验实验四电子琴实验实验五定时器输出PWM实验实验六直流电机实验实验七点阵LED 扫描输出实验实验八串口通信实验*详细指导内容请见附录。
四、实验考核、成绩评定考核方法:设计过程中检查学生实际操作能力,根据课程设计内容要求,设计相关程序, 指导书中所给代码仅供参考,要求学生独立进行整体程序设计,教师要检查学生的运行步骤及结果。
成绩评定:实验成绩根据考勤、实验态度、动手能力、创新能力和实验报告来综合评定,实验成绩计入课程平时成绩,占总成绩的20%。
五、参考资料1、DP-51PROC实验指导书(实验设备配套指导资料),2007年.2、李广第.等单片机基础.北京航空航天大学出版社,2005年.3、蒋辉平等.基于Proteus的单片机系统设计与仿真实例,2012年.六、实验报告格式要求按学院实验报告统一格式报告内容包括:实验目的与要求、实验步骤、程序流程图和实验程序、实验步骤和实验结论。
附录——详细指导内容第一次实验(4学时)实验一仿真实验仪的操作使用练习一.实验目的和要求熟悉Keil C51 集成开发环境调试功能的使用和DP-51PROC 单片机综合仿真实验仪的使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌工程学院《单片机原理及应用B》实验指导书余良国编专业班级09通信工程南昌工程学院2012 年2 月目录实验一………………………………………KeilC51集成开发环境基本操作.. 实验二……………………………………………………………IO驱动实验.. 实验三……………………………………………74LS164串入并出移位实验.. 实验四…………………………………………………………PWM蜂鸣器实验..实验一KeilC51集成开发环境基本操作一、实验目的1.掌握KeilC51集成开发环境的使用方法。
2.掌握KeilC51集成开发环境调试功能的使用和FB-DPJFZ-I型微控制器仿真实验实训台的使用。
3.熟悉单片机的最小系统,了解单片机I/O的结构;掌握按键键值的读入和处理;学习简单程序的编写。
二、实验设备和仪器1.IBMPC机一台2.FB-DPJFZ-I型微控制器仿真实验实训台一台3.ISP下载器一台三、实验内容1、硬件电路图:8位独立LED图:8位独立按键1、利用单片机,按键和发光二极管,构成一个LED灯控制电路;2、上电时, 点亮LED,按下K1时, LED向右移一位,按下K2时, LED向左移一位。
五、实验步骤1、打开Uv4 IDE环境,选择菜单Project的下拉菜单Open Project选项, 加载后缀名为uvproj的工程文件。
2、选择菜单Project的下拉菜单Options for Target选项。
在弹出的窗口中,选择output选项,在Creat HEX File的勾选项中,勾选。
这样才能生成HEX文件。
3、选择菜单Project的下拉菜单Build target选项,如无错误或特别警告,编译链接完成后就会产生相应工程的HEX文件了。
4、如果无仿真工程时,可跳过下列步骤。
有相应的仿真工程文件时,可进行下列步骤:a、双击打开P_PROTEUS文件夹中的后缀为DSN的仿真工程文件。
b、在处理器芯片AT89C52器件上,鼠标右键单击,选择Edit Properties选项,或者双击AT89C52芯片,在Program File的浏览选项中添加上面步骤中生成的HEX文件。
点击OK,完成HEX文件添加。
c、选择菜单Debug的下拉菜单Start/Restart Debugging选项。
此时程序已处于调试状态,同样再次选择菜单Debug,选择Execute选项,程序开始运行。
可通过人机接口观察程序的效果。
5、连接ISP下载器一端到USB接口,另一端连到目标板。
打开实验台电源,参考产品说明书中的ISP 下载软件使用方法对程序进行下载。
6、接下来大家就可以按照硬件连接表连线了,然后测试程序,观察实验现象,理解程序,最后自己修改程序提高编程能力。
六、实验预习要求1、单片机最小系统电路构成;2、I/O口的内部结构;3、简单程序指令熟悉;七、实验结果分析及实验报告要求:1.内容包括实验项目、实验线路、实验原理、实验原始记录、实验数据处理及实验结果评估。
2.整理实验数据,分析实验结果。
3.必须写出符合规范的实验报告。
八、实验思考题1、增加LED灯的显示花样,丰富实验的效果。
九、实验成绩评定(考试方法):实验过程中的考核(实际操作)和实验报告成绩综合评分(各占50%)实验二IO驱动实验一、实验目的1.掌握I/O口简单使用,了解I/O口的电气特性和驱动能力。
2.掌握利用P1口作为输入和输出口。
了解LED电路中加入限流电阻的原因。
3.掌握程序编写的方法。
二、实验设备和仪器1.IBMPC机一台2.FB-DPJFZ-I型微控制器仿真实验实训台一台3.ISP下载器一台三、实验内容1、硬件电路:图:8位独立LED2、硬件连接表四、实验要求利用单片机及8个发光二极管等器件,构成一个流水灯单片机系统。
五、实验步骤1、打开Uv4 IDE环境,选择菜单Project的下拉菜单Open Project选项, 加载后缀名为uvproj的工程文件。
2、选择菜单Project的下拉菜单Options for Target选项。
在弹出的窗口中,选择output选项,在Creat HEX File的勾选项中,勾选。
这样才能生成HEX文件。
3、选择菜单Project的下拉菜单Build target选项,如无错误或特别警告,编译链接完成后就会产生相应工程的HEX文件了。
4、如果无仿真工程时,可跳过下列步骤。
有相应的仿真工程文件时,可进行下列步骤:a、双击打开P_PROTEUS文件夹中的后缀为DSN的仿真工程文件。
b、在处理器芯片AT89C52器件上,鼠标右键单击,选择Edit Properties选项,或者双击AT89C52芯片,在Program File的浏览选项中添加上面步骤中生成的HEX文件。
点击OK,完成HEX文件添加。
c、选择菜单Debug的下拉菜单Start/Restart Debugging选项。
此时程序已处于调试状态,同样再次选择菜单Debug,选择Execute选项,程序开始运行。
可通过人机接口观察程序的效果。
5、连接ISP下载器一端到USB接口,另一端连到目标板。
打开实验台电源,参考产品说明书中的ISP 下载软件使用方法对程序进行下载。
6、接下来大家就可以按照硬件连接表连线了,然后测试程序,观察实验现象,理解程序,最后自己修改程序提高编程能力。
六、实验预习要求1、单片机最小系统电路构成;2、I/O口的内部结构;3、简单程序指令熟悉;七、实验结果分析及实验报告要求:1.内容包括实验项目、实验线路、实验原理、实验原始记录、实验数据处理及实验结果评估。
2.整理实验数据,分析实验结果。
3.必须写出符合规范的实验报告。
八、实验思考题编写代码实现LED的灰度控制。
九、实验成绩评定(考试方法):实验过程中的考核(实际操作)和实验报告成绩综合评分(各占50%)实验三74LS164串入并出移位实验一、实验目的1.理解串行通讯和并行通讯的含义。
2.了解74LS164的工作原理,理解串转并的原理。
3.掌握单片机串口用于并行输出口扩展的原理。
二、实验设备和仪器1.IBMPC机一台2.FB-DPJFZ-I型微控制器仿真实验实训台一台3.ISP下载器一台三、实验内容1、硬件电路图:74LS164串入并出移位2、硬件连接表利用单片机的串行口和IO端口串行输出,通过移位寄存器74LS164转换为并行数据送给8个LED完成串行端口扩展,实现跑马灯闪烁。
五、实验步骤1、打开Uv4 IDE环境,选择菜单Project的下拉菜单Open Project选项, 加载后缀名为uvproj的工程文件。
2、选择菜单Project的下拉菜单Options for Target选项。
在弹出的窗口中,选择output选项,在Creat HEX File的勾选项中,勾选。
这样才能生成HEX文件。
3、选择菜单Project的下拉菜单Build target选项,如无错误或特别警告,编译链接完成后就会产生相应工程的HEX文件了。
4、如果无仿真工程时,可跳过下列步骤。
有相应的仿真工程文件时,可进行下列步骤:a、双击打开P_PROTEUS文件夹中的后缀为DSN的仿真工程文件。
b、在处理器芯片AT89C52器件上,鼠标右键单击,选择Edit Properties选项,或者双击AT89C52芯片,在Program File的浏览选项中添加上面步骤中生成的HEX文件。
点击OK,完成HEX文件添加。
c、选择菜单Debug的下拉菜单Start/Restart Debugging选项。
此时程序已处于调试状态,同样再次选择菜单Debug,选择Execute选项,程序开始运行。
可通过人机接口观察程序的效果。
5、连接ISP下载器一端到USB接口,另一端连到目标板。
打开实验台电源,参考产品说明书中的ISP 下载软件使用方法对程序进行下载。
6、接下来大家就可以按照硬件连接表连线了,然后测试程序,观察实验现象,理解程序,最后自己修改程序提高编程能力。
六、实验预习要求1、主要知识点概述::本实验用到了两个主要知识点是:74LS164的工作机制、简单的单片机串口输出。
2、实验结果说明:使用74LS164的并行输出端接8个LED,利用它串入并出的功能,把LED按预先规定的次序点亮。
七、实验结果分析及实验报告要求:1.内容包括实验项目、实验线路、实验原理、实验原始记录、实验数据处理及实验结果评估。
2.整理实验数据,分析实验结果。
3.必须写出符合规范的实验报告。
八、实验思考题1、使用74LS164串行输入并行输出移位寄存器扩展IO做输出驱动数码管显示九、实验成绩评定(考试方法):实验过程中的考核(实际操作)和实验报告成绩综合评分(各占50%)实验四 PWM蜂鸣器实验一、实验目的1.掌握定时器的使用;掌握蜂鸣器的发声原理。
2.熟悉PWM波形的产生;了解不同音调声音的编程方法。
3.掌握数据输出的程序的编制方法。
二、实验设备和仪器二、实验设备和仪器1.IBMPC机一台2.FB-DPJFZ-I型微控制器仿真实验实训台一台3.ISP下载器一台三、实验内容1、硬件电路图:蜂鸣器2、硬件连接表用定时器设计PWM波形驱动蜂鸣器发声。
五、实验步骤1、打开Uv4 IDE环境,选择菜单Project的下拉菜单Open Project选项, 加载后缀名为uvproj的工程文件。
2、选择菜单Project的下拉菜单Options for Target选项。
在弹出的窗口中,选择output选项,在Creat HEX File的勾选项中,勾选。
这样才能生成HEX文件。
3、选择菜单Project的下拉菜单Build target选项,如无错误或特别警告,编译链接完成后就会产生相应工程的HEX文件了。
4、如果无仿真工程时,可跳过下列步骤。
有相应的仿真工程文件时,可进行下列步骤:a、双击打开P_PROTEUS文件夹中的后缀为DSN的仿真工程文件。
b、在处理器芯片AT89C52器件上,鼠标右键单击,选择Edit Properties选项,或者双击AT89C52芯片,在Program File的浏览选项中添加上面步骤中生成的HEX文件。
点击OK,完成HEX文件添加。
c、选择菜单Debug的下拉菜单Start/Restart Debugging选项。
此时程序已处于调试状态,同样再次选择菜单Debug,选择Execute选项,程序开始运行。
可通过人机接口观察程序的效果。
5、连接ISP下载器一端到USB接口,另一端连到目标板。
打开实验台电源,参考产品说明书中的ISP 下载软件使用方法对程序进行下载。
6、接下来大家就可以按照硬件连接表连线了,然后测试程序,观察实验现象,理解程序,最后自己修改程序提高编程能力。