单片机实验要求及实验步骤(新)

单片机实验要求及实验步骤(新)
单片机实验要求及实验步骤(新)

实验要求及实验步骤

一、实验要求

1、预习《单片机技术实验教程》书中第一、二、三章;第三章预习所要做的实验项目,并写预习报

告。

2、每位同学必须编好每次实验程序,未编好程序不得上机做实验。

3、上机时,程序调试完后,须由指导老师在机器上检查运行结果,经认可签字后方可退出试验。

二、实验步骤

1、路径:双击桌面图标进入Keil软件集成开发环境。[最初进入uV2时,只能看到工程管

理窗口(左边窗框)、源程序窗口(右边窗框)和输出窗口(下面窗框)。]

2、实验的调试需按下面的步骤来完成:(1)建立一个工程项目文件;(2)工程选择一个目标器件(如

AT89C51);(3)创建源文件,输入程序代码并保存;(4)把源文件添加到项目中;(5)为工程项目设置软硬件调试环境;(6)编译连接项目文件;(7)硬件调试或软件调试。

操作步骤:①工程的建立:点击窗口中“【工程】/【新建工程】”选项,然后在弹出的“新建工程”对话框中选择要保存项目文件的路径,在“文件名”文本框输入项目名,然后单击“保存”按钮。此时左边工程管理窗口中“目标1”文件夹前会变成“+”(注:目标文件夹的前为“+”表示工程建立,否则未建立工程);同时弹出一个对话框,要求选择单片机的型号,在“为目标‘目标1’选择设备”对话框中双击“Atmel”,选择“AT89C51或AT89C52”后单击“确定”按钮。

②源文件的建立(输入设计的模块文件):点击窗口中“【文件】/【新建】”选项或单击工具栏上的

按钮,在右边源程序窗口弹出的程序文本框中输入所设计的程序代码,输入完毕后,选择【文件】/【保存】选项,在弹出的“另存”对话框中输入文件名(后缀为.asm),单击”保存”按钮, 保存文件。

③把源文件添加到工程项目中(将模块文件选项入工程):单击左边工程管理窗口中“目标1”文件

夹前面的+号,展开里面的内容“源程序组1”。用右键单击“源程序组1”,在弹出的快捷菜单中选择“增加文件到组“源程序组1”选项,在“文件类型”下拉列表框中选择“Asm源文件(*.a*;*.src)”此时会将文件夹下的*.asm文件显示出来,单击要加入的文件后再单击Add按钮,则将该文件加入了工程中,然后点击“关闭”按钮则关闭该对话框。此时在边工程管理窗口中“源程序组1”下一层有*.asm文件出现,表示文件已加入,否则文件未加入,必需重复上述操作直至加入为止。

④设置软、硬件调试环境(设置环境):单击左边工程管理窗口中“目标1”,在弹出的快捷菜单中

选择“目标…目标1?属性”选项或单击工具栏上的按钮。在弹出的“目标…目标1?属性”对话框中,点击“调试”菜单,在此菜单中可选择是使用硬件仿真,还是软件仿真。

软件仿真:做软件实验时或不连接实验箱做实验时:选中“使用软件仿真器”、“加载代码到仿真器”

等,通常默认值全选。然后单击“确定”。

连接实验箱做实验时选择硬件仿真:选中“使用”并在其下拉列表框中选择“Keil Monitor-51 Drive”,

然后点击后面的[设置]选项,在此对话框中选择串口和波特率,波特率为9600或38400;然后单击“OK”。最后单击“确定”。则调试环境设置完成。

⑤编译、链接程序:选择【工程】/【重新构造所有目标】选项或单击工具栏上的按钮,如果编译成功,

下面输出窗口中状态将显示“0 个错误,0 个警告”;否则修改源程序,重新编译,直到成功。

⑥硬件调试或软件调试:选择【调试】/【启动/停止调试】选项单击工具栏上的按钮,进入调试界面。软件调试:采用软件仿真调试,在调试界面中可以对程序进行单步或全速运行的调试;若要查看内存中的数据,点击“【视图】/【存贮器窗口】”,在弹出的地址对话框中,输入不同的地址(具体输入格式见实验教程P9)查看内部数据。若要看输出结果现象,如P1口输入、输出,点击“【处部设备】/ 【I/O-Ports】/【Port 1】”,则调出P1引脚的外部接口状态窗口,运行程序后将显示P1.0-P1.7状态的变化,其打“√”为“1”,空白为“0”。

硬件调试:选择硬件仿真,在调试界面中可以对程序进行单步或全速运行的调试;连接实验箱,运行程序后从实验箱上看输出结果的现象。

3、调试运行程序过程中注意事项:(1)、做硬件实验时,程序要调试时,先按仿真板上S1复位按钮程序

在全速运行时,如果需暂停运行,请按仿真板上S1复位按钮,此时仿真器存储器数据清零。如果您要再次运行您所编写的程序,就必须重新装载运行。

三、实验报告要求:

(一)、实验报告的案头要填满:

1、做该次实验的时间;

2、同组人;

3、实验课名称、该实验名称等。

(二)、实验报告包括:

1、实验目的;

2、实验内容;

3、实验电路及连线;

4、程序思路框图;

5、汇编程序清单及功能注释(注释要详细);

6、程序运行结果;

7、调试或设计说明;

8、小结。

9、原始数据。

注:实验报告不提倡计算机打印,同组程序及报告不能一样,不得复印实验报告有关内容。

单片机实验一

软件实验部分 实验一 Keil uVision2 开发环境入门 一、实验目的 1、初步熟悉Keil uVision2开发环境的使用; 2、了解C51语言程序设计和调试方法。 二、实验内容 1、应用给定程序联系使用Keil uVision2软件 2、对指定数据块赋值 三、实验流程图 1、输入以下程序: 全速运行实验程序,观察相关单元中数据的变化和单步运行的方法 2、对指定数据块赋值 (1)对指定单元进行清零操作 (2)对外部RAM中2000H开始的单元进行赋值,赋值数据为0~16.并对相关单元进行观察。 四、实验步骤 (一)存储块清零 1、打开Keil uVision2开发环境; 2、新建一个文件:File→New; 3、根据清零实验要求输入代码如下: xdata unsigned char Buffer[256] _at_ 0x3000; void main() {

unsigned int index; unsigned char xdata * ptr; ptr = &Buffer; // 起始地址 for (index = 0; index <= 255; index++) { *ptr++ = 0; // 清0, 地址加一 } } 4、保存文件名为“Text1.c”并为其建一个工程; Project→New Project→AT89s51→确定→右键Source Group 1→Add Files to Group ” Source Group 1”→将“Text1.c”选中加入工程即可。 5、编译→改错→直到编译通过没有错误; 6、仿真程序:按钮→按钮→屏幕下方会出现Address工具栏→Address栏中输入 如右图→通过改变表中地址对应的内容,这 三个按钮运行程序,查看内容是否被清零。 (二)对指定数据块赋值 1、建立工程和新建文件同(一)中类似 2、自己编程 仿真结果如下图:(仿真步骤与(一)类似)

单片机实验报告

实验报告 专业:计算机科学与技术班级:C093 姓名:孙丽君 学号:098677

实验一:数据传送实验 1.实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—A FH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG 0000H RESET:AJMP MAIN ORG 003FH MAIN:MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1:MOV@R0,A INC R0 INC A DJNZ R2, A1 MOV R1,#40H MOV R0, #50H

MOV R2, #10H A3: MOV A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, A3 LJMP 0000H 3.实验结果: 4. CPU 对8031内部RAM存储器有哪些寻址方式? 答:直接寻址,寄存器寻址,寄存器间接寻址,位寻址。

5. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH内容:A0~AF 内部RAM 50H~5FH内容:A0~AF 实验二多字节十进制加法实验 1.实验内容: 多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG0000H RESET: AJMP MAIN ORG0100H MAIN: MOV SP, #60H MOV R0, #31H MOV@R0, #22H DEC R0 MOV@R0, #33H

单片机实验项目及要求

单片机实验项目 实验一 LED闪烁灯设计(参照实验指导书实验一) 要求:1、完成一个LED亮、灭循环(间隔0.2秒)修改间隔时间为0.01秒 2、完成2个指示灯同时亮、灭循环(间隔0.2秒) 3、完成8个指示灯同时亮、灭循环(间隔0.2秒) 实验二广告灯左右移设计(参照实验指导书实验四) 要求:1、完成8个LED 单一灯(LED)的左移、右移(间隔0.2秒) 2、完成8个LED的从左到右、从右到左依次点亮(间隔0.2秒) 3、完成8个指示灯从两边倒中间依次点亮(间隔0.2秒) 4、完成8个指示灯从中间倒两边中间依次点亮(间隔0.2秒) 创新:实验一与实验二结合完成连续6个花色的广告灯运行过程 实验三单键识别设计(参照实验指导书实验八) 要求:1、完成独立按键的单次识别、去抖、等待弹起的原理与方法(利用8个LED实现BCD码变换)。 2、完成16进制、20进制等计数器编程方法 3、完成计数器的加、减法的计数过程及原理 4、完成一键多功能设计(参照实验指导书实验九) 5、完成4*4矩阵键盘的设计(参照实验指导书实验十四) 6、增加键盘音 实验四动态数码显示设计(参照实验指导书实验十三) 要求:1、完成2个动态数码管的设计(利用按键手动计数,实现20进制计数器的设计)(参照实验指导书实验十) 实验五六十秒计时器设计(参照实验十三)动态数码显示设计 1、完成8个动态数码管的设计(利用按键手动计数,实现60进制计数器的设计)(参照实验指导书实验十一) 2、利用4个动态数码管的完成20进制可逆计数器的设计(参照实验指导书实验十二) 实验七定时器中断实验(参照实验十六)定时计数器T0作定时应用设计(二) 要求:1、完成秒计数器,并在数码管上显示秒计数过程 2、完成进制控制(20秒),并在数码管上显示循环过程 实验八智能电子钟设计(参照实验二十)智能电子钟设计 要求:1、完成智能电子钟的自动走时设计,并在数码管上显示走时过程,时、分、秒中间采用“-”分开。 2、利用四个独立按键完成时、分、秒的初始化过程,要求第一个按键设置功能“0”代表时间设置功能、“1”代表分钟设置功能、“2”代表秒设置功能;第二、三个按键在不同的功能下分别控制各自的时、分、秒计数器;第四个按键完成设置退出。

单片机实验

实验三急救车与交通灯实验(4学时) 一、实验目的 (1)了解8255芯片的结构、工作方式及编程方法 (2)学习模拟十字路口交通控制的实现方法; (3)熟练掌握外部中断技术的使用方法。 二、实验内容 (1)在实验箱上完成: 用8255的PA口、PB口的低四位做输出口,控制十二个发光二极管亮灭,模拟十字路口交通灯管理。一般情况下正常显示,有急救车到达时,两个方向四个路口交通信号灯全红,以便让急救车通过。设急救车通过路口时间为10秒,急救车通过后,交通恢复正常。本实验用单次脉冲申请外部中断,表示有急救车通过。 (2)用Proteus软件参照实验电路连线并仿真运行,得出与实验箱上相同的软件仿真结果。 所用元器件:单片机AT89C51、可编程并口芯片8255A、按键BUTTON、发光二极管LED-GREEN(RED、BLUE)、8位锁存器74LS273或74LS373、3-8译码器74LS138、或非门74LS02、排阻或电阻RESPACK-8(RES) 、8位缓冲器74LS244 参考仿真电路图: 三、程序框图

四、实验连线(只连图中粗实线) 五、实验步骤 ①8255 PB3~PB0、PA7~PA0依次接发光二极管L1~L12。 ②编写程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。延时一段时间后东西路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,再切换到东西路口方向,之后重复以上过程。 六、实验说明 中断服务程序的关键是: ①保护进入中断时的状态,并在退出中断之前恢复进入时的状态。 ②必须在中断程序中设定是否允许中断重入,即设置EX0位。 本例中使用了INT0中断(P3.2),一般中断程序进入时应保护PSW、ACC以及中断程序使用但非其专用的寄存器。本例的中断程序保护了PSW、ACC等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。本例中没有涉及这种情况。 中断信号由单脉冲按钮SP产生。 七、思考 (1)试编程解决中断返回以后不能回到中断之前状态的问题。

单片机实验报告 计算器

单片机原理及其应用实验报告基于51单片机的简易计算器的设计 班级:12电子1班 姓名:金腾达 学号:1200401123 2015年1月6日

摘要 一个学期的51单片机的课程已经随着期末的到来落下了帷幕。“学以致用”不仅仅是一句口号更应该是践行。本设计秉承精简实用的原则,采用AT89C51单片机为控制核心,4X4矩阵键盘作为输入,LCD1602液晶作为输出组成实现了基于51单片机的简易计算器。计算器操作方式尽量模拟现实计算器的操作方式,带有基本的运算功能和连续运算能力。并提供了良好的显示方式,与传统的计算器相比,它能够实时显示当前运算过程和上一次的结果,更加方便用户记忆使用。本系统制作简单,经测试能达到题目要求。 关键词:简易计算器、单片机、AT89C51、LCD1602、矩阵键盘

目录 一、系统模块设计......................................................................................... 错误!未定义书签。 1.1 单片机最小系统 (1) 1.2 LCD1602液晶显示模块 (1) 1.3 矩阵按键模块 (2) 1.4 串口连接模块 (1) 二、C51程序设计 (2) 2.1 程序功能描述及设计思路 (2) 2.1.1按键服务函数 (2) 2.1.2 LCD驱动函数 (2) 2.1.3 结果显示函数 (2) 2.1.4状态机控制函数 (2) 2.1.5串口服务函数 (2) 2.2 程序流程图 (3) 2.2.1系统总框图 (3) 2.2.2计算器状态机流程转换图 (3) 三、测试方案与测试结果 (4) 3.1测试方案 (4) 3.3 测试结果及分析 (7) 4.3.1测试结果(仿真截图) (7) 4.3.2测试分析与结论 (7) 四、总结心得 (7) 五、思考题 (8) 附录1:整体电路原理图 (9) 附录2:部分程序源代码 (10)

2019单片机实验要求指导书13页word

海南师大物理与电子工程学院 电子信息科学与技术专业《单片机应用技术》 实验指导 2019年4月 目录 实验一单片机仿真与开发系统认识 (1) 实验二汇编语言简单编程实验 (3) 实验三C51语言简单编程实验 (4) 实验四并口实验 (5) 实验五定时/计数器实验 (7) 实验六单片机中断实验 (9) 实验七串口实验 (11) 实验八A/D、D/A实验 (13) 附录一开发板布局图 (15) 附录二开发板各部分电路原理图 (16)

实验一单片机仿真与开发系统认识[实验类型] 验证性实验[实验目的]1、掌握51单片机开发软件Keil 的用法; 2、掌握单片机硬件仿真软件Proteus的基本用法; 3、了解实验所用开发板的电路原理,熟练掌握其基本使用方法。 [实验内容&要求]1、准备工作文件夹 在D盘建立一个实验一工作文件夹,文件夹名字自定(英文)。以下所有步骤建立的文件都存放在这个文件夹内。 2、Keil软件的使用 首先打开KEIL软件,然后依次练习汇编程序和C程序的建立和编译。 (1)汇编语言程序练习: 1>建立一个项目(建立一个项目文件夹,存在第1步所建立的文件夹内) 2>输入课本P127页[例6-1]中的汇编程序(不过把P1和P0口所接器件换一下,即P0口接8个发光二极管,P1口接8个开关),在Keil C中输入,以.asm 做扩展名,保存到项目文件夹内。 3>在项目中添加该文件,编译生成.hex文件。 (2)C语言程序练习: 1>再建另外一个项目(也在工作文件夹内另建一个项目文件夹); 2>输入课本P127页[例6-1]中的C程序(同样注意把P1和P0换一下),保存、加入项目并生成.hex文件。 3、Proteus软件的使用 (1)打开Proteus软件,参考课本P127页[例6-1]的要求建立硬件仿真图,注意把P1和P0所接器件换一下。仿真文件名自定,保存在第1步所建立的文件夹内。 (2)在Proteus设置单片机属性为使用前面所生成的.hex文件,进行仿真测试。 4、实验开发板的使用 (1)认真研读本学期所用实验开发板(普中HC6800EM3 V2.2单片机开发板)的使用说明及电路原理图。(实验前须预习) (2)安装开发板驱动软件:CH340驱动程序。(如已装过,略过本步骤)(3)连接开发板和电脑,打开开发板电源,运行开发板专用烧录下载程序“PZISP自动下载软件”,设置正确的参数,将前面所生成的.hex文件下载到开发板单片机上。 (4)接线:P1口接开关,P0口接led灯。具体是开发板上的JP10接J12,JP8接JP5,如下图所示:

单片机应用技术与实训项目

国家级骨干教师培训课程 单片机应用技术 实训项目 技术师学院师培中心 电子与信息学院 克编写

实训项目一 1.实训目的 ⑴掌握汇编语言程序的基本结构。 ⑵了解汇编语言程序设计的基本方法和思路。 ⑶实现8个发光二极管闪动点亮状态,并不断循环。 2. 实训设备与器件 微机、LTE-3000TB单片机开发系统箱、烧录器、MCS-51芯片等。 3. 实训步骤 ⑴在keil C51 uVision2软件开发平台上建立工程项目、建立asm汇编程序文件、导入目标源组、生成十六进制代码。 ⑵软件调试与仿真,观察程序运行情况等。 ⑶硬件调试与仿真,观察8个发光二极管的点亮状态是否与设计要求相符。 ⑷烧录(固化)芯片,实际运行电路。比较及观察是否与硬件仿真结果相同。 4. 实训电路 实验平台上有8只发光二极管,由74HC245驱动器,以显示电平状态。高电平“1”点亮发光二极管。

实训一电路图5.程序流程图

6. 程序清单 ORG 0000H START: MOV P1,#00H ACALL DELAY MOV P1,#0FFH ACALL DELAY AJMP START DELAY: MOV R3,#7FH DEL2: MOV R4,#0FFH DEL1: NOP DJNZ R4,DEL1 DJNZ R3,DEL2 RET

END 实训项目二 1.实训目的 ⑴掌握汇编语言程序的基本结构。 ⑵了解汇编语言程序设计的基本方法和思路。 ⑶编程实现P1口连接的8个LED显示方式如下:从P1.0到P1.7的顺序, 依次点亮其连接的LED,并不断循环。 2. 实训设备与器件 微机、LTE-3000TB单片机开发系统箱、烧录器、MCS-51芯片等。 3. 实训步骤 ⑴在keil C51 uVision2软件开发平台上建立工程项目、建立asm汇编程序文件、导入目标源组、生成十六进制代码。 ⑵软件调试与仿真,观察程序运行情况等。 ⑶硬件调试与仿真,观察8个发光二极管的点亮状态是否与设计要求相符。 ⑷烧录(固化)芯片,实际运行电路。比较及观察是否与硬件仿真结果相同。 4. 实训电路 实验平台上有8只发光二极管,由74HC245驱动器,以显示电平状态。

单片机实验报告 (3)

单片机原理及接口技术 学院:光电信息科学与技术学院班级:——实验报告册 083-1 实验一系统认识实验 1.1 实验目的 1. 学习keil c51集成开发环境的操作。 2. 熟悉td-51系统板的结构和使用。 1.2实验仪器 pc 机一台,td-nmc+教学实验系统。 1.3实验内容 1. 编写实验程序,将00h—0fh共16个数写入单片机内部 ram 的30h—3fh空间。 2.编写实验程序,将00h到0fh共16个数写入单片机外部ram的1000h到100fh空间。 1.4 源程序 https://www.360docs.net/doc/e612851687.html, 0000h mov r1,#30h mov r2, #10h mov a, #00h mov @r1, a inc r1 inc a djnz r2,loop sjmp $ end 2. org 0000h mov dptr, #1000h mov r2, #10h mov a, #00h movx @dptr, a inc dptr inc a djnz r2,loop sjmp $ end loop: loop: 1.5 实验步骤 1.创建 keil c51 应用程序 (1)运行 keil c51 软件,进入 keil c51 集成开发环境。 - 3 -(2)选择工具栏的 project 选项,弹出下拉菜单,选择 newproject 命令,建立一个新的μvision2 工程。选择工程目录并输入文件名 asm1 后,单击保存。 (3)工程建立完毕后,弹出器件选择窗口,选择 sst 公司的 sst89e554rc。(4)为工程添加程序文件。选择工具栏的 file 选项,在弹出的下拉菜单中选择 new 目录。 (5)输入程序,将 text1 保存成asm1.asm。 (6)将asm1.asm源程序添加到 asm1.uv2 工程中,构成一个完整的工程项目。 2.编译、链接程序文件(1)设置编译、链接环境 (2)点击编译、链接程序命令,此时会在 output window 信息输出窗口输出相关信息。 3.调试仿真程序 (1)将光标移到 sjmp $语句行,在此行设置断点。 (2)运行实验程序,当程序遇到断点后,停止运行,观察存储器中的内容,验证程序功能。 1.6 实验结果. 2. 4 实验二查表程序设计实验 2.1实验目的 学习查表程序的设计方法,熟悉 51 的指令系统。 2.2实验设备 pc 机一台,td-nmc+教学实验系统 2.3实验内容 1.通过查表的方法将 16 进制数转换为 ascii 码; 2.通过查表的方法实现y=x2,其中x为0—9的十进制数,以bcd码表示,结果仍以bcd 码形式输出。

单片机实验报告一

单片机实验报告 1 姓名 陈奋裕 时间 2014/10/30 地点 机电实验大楼B526 实验题目 软件开发环境和简单程序设计 一、实验目的 1. 熟悉WAVE 软件使用 2. 学习简单程序的调试方法 二、实验主要仪器及环境 PC 机、WA VE 软件、仿真器+仿真头、实验板、电源等。 三、实验内容及步骤 1.启动PC 机,打开WAVE 软件,软件设置为模拟调试状态。在所建的项目文件中输入源程序,进行编译,编译无误后,执行程序,点击全速执行快捷按钮,点击暂停按钮,观察存储块数据变化情况,点击复位按钮,可再次运行程序。 2.打开CPU 窗口,选择单步或跟踪执行方式运行程序,观察CPU 窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。 四、流程图及参考程序 实验1 1)参考程序 2)流程图 ORG 0000H START EQU 30H MOV R0, #START MOV R2, #10 mov a,#01h Loop: MOV @R0,A NOP LJMP $ END

五、实验及程序的分析和讨论 (1)第一个程序是将地址为30H到39H的寄存器的内容全部置1。先在R0中存放内部存储器的起始地址30H,R2中存放内部存储器的长度10个,累加器置1,然后利用循环控制指令DJNZ R2,Loop控制10次循环给上述10个单元赋值1.最后,使单片机自身跳转。 (2)实验得到全速执行后相应的测试结果: (3)实验得到30H到39H寄存器执行后的内容: 从该表中也可以看出该程序的功能,即将30H到39H的寄存器内容置1,说明自己的分析是对的。 六、实验小结 1、汇编语言的结果在软件里面全部都是黑色字体,无法编译,在老师的 提醒下,知道了WAVE软件只能执行ASM文件,所以实验前要先将文件 的类型改为.ASM。 2、程序中的逗号要在英文的状态下面编写;若提示有空余符号,则是分 号后面直接写注释,不要添加空格 七、思考题 1、软件开发环境提供了哪些调试手段?各有何特点? 答: 1.伟福仿真器为我们的调试提供了多种方法,它可以编译,以便查 找语法错误; 2.单步执行,来检查每句程序的功能; 3.全速执行程序,来检查整段程序要完成的功能; 4.还可以设置断点进行调试,以便分段执行程序。 2、如何将存储器块的内容移动到另一位置? 答:借助指针和寄存器,利用转移类指令即可将存储器块的内容移动到 另一位置。

单片机实训题目及要求

实训设计说明 一、实训设计的基本要求: 单片机实训设计的主要内容包括:理论设计、调试与仿真、撰写设计报告等。其中理论设计又包括选择总体方案,硬件系统设计、软件系统设计;硬件设计包括单元电路,选择元器件及计算参数等;软件设计包括模块化层次结构图,程序流程图。程序设计是实训设计的关键环节,通过调试进一步完善程序设计,使之达到课题所要求的指标,使理论设计更接近于实际产品。实训设计的最后要求是写出设计总结报告,把理论设计内容,调试的过程及性能指标的测试结果进行全面的总结,把实践内容上升到理论高度。 单片机实训设计的教学采用相对集中的方式进行,到单片机实验室(7-710)进行实训,每组配备一台PC机、一套单片机综合实验箱、相关的软件及电子元器件等器材设备。做到实训教学课堂化,严格考勤制度,在实训期间(一周)累计旷课达到6节以上,或者迟到、早退累计达到6次以上的学生,该实训考核按不及格处理。在实训期间需要外出查找资料、购买电子元器件时,必须向指导老师请假,经同意后方可外出。实训设计的任务相对分散,每2名学生组成一个小组,完成一个课题的设计。小组成员既有分工、又要协作,同一小组的成员之间可以相互探讨、协商,可以互相借鉴或参考别人的设计方法和经验。但每个学生必须单独完成设计任务,要有完整的设计资料,独立撰写设计报告,设计报告雷同率超过50%的实训设计考核按不及格处理。 二、进度安排: 单片机实训设计共安排4周,合计50学时,具体分配如下: ?实训动员、准备工作及选题:2学时 ?总体方案设计:6学时 ?硬件设计及仿真:7学时 ?软件设计:9学时 ?软件调试:6学时 ?整机测试:5学时 ?撰写设计报告:9学时 ?答辩与总结:4学时 该时间只是粗略进行划分,各个组员可依据进度完成情况,适当调整,但需确保整个设计能按期完成。 三、设计报告要求: 设计完成后,必须撰写实训设计报告。设计报告必须独立完成,格式符合要求,文字(不含图形、程序)不少于5000字,图形绘制规范,装订成册。设计报告的格式如下: 1、封面 2、内容提要 3、目录 4、正文 (1)所作题目的意义、原理等,本人所做的工作及系统完成的主要功能; (2)硬件电路设计及描述(要有原理框图和原理图); (3)软件设计流程及描述(要有程序流程图); (4)设计调试过程(分步进行); (5)源程序代码(要有注释); 5、心得体会 6、参考文献

单片机综合性实验项目设计及实践教学研究

. 单片机综合性实验项目设计与实践教学研究 【摘要】本文分析了综合性实验项目设计课程的作用和特点。以中等职业学校单片机课程实践教学为例,对于如何充分发挥综合性实验项目设计课程的作用进行一些分析和探讨,提出了几点看法和意见。 【关键词】单片机,综合性实验,项目设计 综合性实验项目设计课程一般作为职业学校高年级的专业课中所设置的一个重要的教学环节,也有一些学校不开设综合性实验项目,而是直接以最后的毕业设计来取代。然而综合性项目设计课程本身对于专业课教学来说具有重要的价值,它的作用不容忽视。如果教学计划安排合理,教师指导适度,那么综合性项目设计课程完全可以大有作为。本文以中等职业学校单片机课程教学为例,对于如何充分发挥综合性实验项目设计课程的作用进行一些分析和探讨。 一、职业学校的单片机专业课教学现状分析 职业教育是以就业为导向的,其人才培养的特殊性不同于普通教育。中等职业学校的单片机学科的教学也不同于其他学科教学,由于单片机目前被广泛应用在工业自动化控制,具有广泛的市场需求和重要的实用价值,在教学上不仅要培养学生扎实的理论基础知识,更应注意学生动手、创新能力的培养,所以必须突出教学过程中的实践教学。 综合性实验项目设计课程是单片机教学中的重要环节,但是在过去的实践中,由于种种原因,它的作用往往得不到充分发挥。在传统的教学思想和方

法引导下,存在对单片机实践教学的“轻视性”。比如,反映到对学生学习的评价上,以学生理论学习的考试成绩作为衡量标准,因而常常出现“高分低能”现象。这种评价体系造就不少教师和学生对实践环节的轻视心理,往往就会在课程安排、在教与学的过程等各个方面导致理论与实践的脱节,而综合性实验项目设计这一原本可以在学生实践综合能力训练方面发挥重要作用的教学环节,更是难以得到落实和充分利用。 重视理论学习,可使学生系统掌握知识体系结构,本无可厚非,但是当前中等职业学校不能再以学历为导向,而是以市场、就业为导向,各个用工单位着重于考察学生的动手操作等实践能力,从近年的就业形势上明显看到这一点。 中职类学校的生源普遍存在缺乏自信心,纪律涣散,思想上不求上进,知识基础薄弱、学习积极性低甚至厌学情况严重等问题,面对有相当难度的单片机课程,他们当中很多人无所适从。而单纯的理论知识灌输,可能只会使学生增加厌学情绪,而不能较好地掌握实际技能,所以在单片机实践教学改革方面十分值得探讨。要改变这样的现状,不仅仅要求教师具备较强的专业应用能力,关键是要根据学生特点在教学上采取行之有效的好方法。 二、综合性实验项目设计的定位 类似毕业设计,综合性实验项目设计课程要求学生在一段时间内,在占用较多课时的情况下,完成覆盖多门专业课程知识的综合性设计课题,从而有机整合自己的专业知识,培养并提高自己的综合实践能力。综合性实验项目不可能像毕业设计题目一样让学生有充分的时间对大量的新知识、新理论进行资料收集和分析消化。所以,在设计题目时要立足于对学生已有理论知识的综合和应用,适当加入一些新的相关知识,锻炼学生的学习能力;同时

单片机实验程序(全)

2基本输入输出实验(蜂鸣器控制程序) /******************************************************* 名称:基本输入输出(I/O)程序 说明: ********************************************************/ #include //包含头文件 #define uint unsigned int //宏定义 #define uchar unsigned char sbit buzzer=P3^5; sbit Keyadd=P2^0; sbit Keydec=P2^1; sbit Keycom=P2^2; void Delay(uint z) { uint x; uchar y; for(x=z;x>0;x--) //延时 { for(y=250;y>0;y--); } } void main(void) { uchar voice; voice=3; while(1) { if(Keyadd==0) //按键被按下时为0 voice=1; if(Keydec==0) voice=2; if(Keycom==0) voice=3; if(voice==1) {buzzer=~buzzer; Delay(1); } else if(voice==2) {buzzer=~buzzer; Delay(20); } else buzzer=1; } }

3定时器中断实验 /******************************************************* 名称:实验三作业 说明: ********************************************************/ #include //包含头文件 #define uint unsigned int //宏定义 #define uchar unsigned char uchar counter; uchar voice; sbit buzzer=P3^5; sbit Keyadd=P2^0; sbit Keydec=P2^1; sbit Keycom=P2^2; sbit Keycan=P2^3; //----------------计算计数器初值-----------------// #define T0_TIME1 254 //定时时间us为单位 #define T0ReLoadL1 ((65536-(uint)(T0_TIME1*11.0592/12)) % 256) #define T0ReLoadH1 ((65536-(uint)(T0_TIME1*11.0592/12)) / 256) //----------------计算计数器初值-----------------// #define T0_TIME2 1400 //定时时间us为单位 #define T0ReLoadL2 ((65536-(uint)(T0_TIME2*11.0592/12)) % 256) #define T0ReLoadH2 ((65536-(uint)(T0_TIME2 *11.0592/12)) / 256) /********************************************************* 名称:主程序 说明: **********************************************************/ void main(void) { //-----------------------------初始化TIMER0 TMOD|=0x01; //定时器T0方式1 TH0 =T0ReLoadH1; //装载计数器初值 TL0 =T0ReLoadL1; TR0 =1; //启动Timer0 ET0 =1; //Timer0中断使能 EA =1; //总开关使能 //-----------------------------大循环 counter=0;

单片机实验指导书

实验一KEIL 51软件实验 实验目的: 1、掌握KEIL集成开发环境的使用 2、掌握算术运算程序 实验设备:计算机、KEIL51软件 实验内容: 编程实现把片人RAM30H单元和40H单元两个16字节数相加,结果放于30H单元开始的位置处。在KEIL51编译、连接、仿真调试。 实验步骤: 一、运行KEIL51软件,出现图1所示KEIL 51主界面。 图1 KEIL 51主界面 首先用Project菜单下的New Project命令建立项目文件,过程如下。 (1) 选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。 图2 Create New Project对话框 (2) 在Create New Project对话框中选择新建项目文件的位置(最好一个项目建立一个文件夹如E:\project), 输入新建项目文件的名称,例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的Select Device for Target ‘Target 1’对话框,用户可以根据使用情况选择单片机型号。Keil uVision2 IDE几乎支持

所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。 图3 Select Device for Target ‘Target 1’对话框 (3) 这里选择atmel公司的A T89c51。单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。 单击后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。 这时只有一个框架,紧接着需向项目文件中添加程序文件内容。 图4 Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框 二、给项目添加程序文件 当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。 (1) 选择文件菜单上的new命令,出现新建文本窗口,如图5所示。

51单片机20个实验,代码详细

第一章单片机系统板说明 一、概述 单片机实验开发系统是一种多功能、高配置、高品质的MCS-51单片机教学与开发设备。适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。 该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验,并能一直延伸到综合电子设计等创新性实验项目。该系统采用集成稳压电源供电,使电源系统的稳定性大大提高,同时又具备完备的保护措施。为适应市场上多种单片机器件的应用,该系统采用“单片机板+外围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不同的教学需求。 二、单片机板简介 本实验系统因为自带了MCS-51单片机系统,因此没有配置其他单片机板,但可以根据教学需要随时配置。以单片机板为母板,并且有I/O接口引出,可以很方便的完成所有实验。因此构成单片机实验系统。 1、主要技术参数 (1)MSC-51单片机板 板上配有ATMEL公司的STC89C51芯片。 STC89C51资源:32个I/O口;封装DIP40。 STC89C51开发软件:KEIL C51。 2、MSC-51单片机结构 (1)单片机板中央放置一块可插拔的DIP封装的STC89C51芯片。 (2)单片机板左上侧有一个串口,用于下载程序。 (3)单片机板的四周是所有I/O引脚的插孔,旁边标有I/0引脚的脚引。 (4)单片机板与各个模块配合使用时,可形成—个完整的实验系统。 三、母板简介 主要技术参数 (1)实验系统电源 实验系统内置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验的稳定性。 主板的右上角为电源总开关,当把220V交流电源线插入主板后,打开电源开关,主板

单片机原理及应用实验报告

单片机原理实验报告 专业:计算机科学与技术 学号: :

实验1 计数显示器 【实验目的】 熟悉Proteus仿真软件,掌握单片机原理图的绘图方法 【实验容】 (1)熟悉Proteus仿真软件,了解软件的结构组成与功能 (2)学习ISIS模块的使用方法,学会设置图纸、选元件、画导线、修改属性等基本操作 (3)学会可执行文件加载及程序仿真运行方法 (4)理解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制【实验步骤】 (1)观察Proteus软件的菜单、工具栏、对话框等基本结构 (2)在Proteus中绘制电路原理图,按照表A.1将元件添加到编辑环境中(3)在Proteus中加载程序,观察仿真结果,检测电路图绘制的正确性 表A.1

Switches&Relays BUT BUTTON 【实验原理图】 【实验源程序】 #include sbit P3_7=P3^7; unsigned char x1=0;x2=0 ; unsigned char count=0; unsigned char idata buf[10]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(int time) { int k,j;

for(;time<0;time--) for(k=200;k>0;k--) for(j=500;j<0;j--); } void init() { P0=buf[x1]; delay(10); P2=buf[x2]; delay(10); } void main() { init(); while(1) { x1=count/10; x2=count%10; P0=buf[x1]; delay(10);

单片机原理与应用技术实验报告(实验项目:发光二极管闪烁)

***数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术姓名:学号:实验室:硬件实验室 同组同学: 实验时间:2013年3月20日指导教师签字:成绩: 实验项目:发光二极管闪烁 一实验目的和要求 1.使用单片机的P1.5口做输出口,使该位发光二极管闪烁。 2.掌握单片机使用。 二实验环境 PC机一台,实验仪器一套 三实验步骤及实验记录 1.在pc机上,打开Keil C。 2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。 3.选择工程文件要存放的路径 ,输入工程文件名 LED, 最后单击保存。 4. 在弹出的对话框中选择 CPU 厂商及型号。 5.选择好 Atmel 公司的 89c51 后 , 单击确定。 6.在接着出现的对话框中选择“是”。 7.新建一个 C51 文件 , 点击file菜单下的NEW,或单击左上角的 New File快捷键。 8.保存新建的文件,单击SAVE。 9.在出现的对话框中输入保存文件名MAIN.C,再单击“保存”。 10.保存好后把此文件加入到工程中方法如下 : 用鼠标在 Source Group1 上单击右键 , 然后再单击 Add Files to Group ‘Source Group 1'。 11.选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击Close。 12.在编辑框里输入代码如下: #include "reg51.h" //包含头文件 sbit led=P1^5; //表示用led等效于P1^5, P1^0就是指头文件里定义的P1寄存器的第5BIT #define uchar unsigned char #define uint unsigned int

单片机实验1

学号序号35 单片机原理与接口技术 实验报告 ) 实验项目序号实验一 实验项目名称跑马灯实验

姓名赵吉婷专业电子信息工程班级电信1班完成时间 一、实验目的 1、$ 2、熟悉HNIST-2型单片机系统相关硬件电路,程序下载方法; 3、掌握采用汇编语言与C语言开发单片机系统的程序结构; 4、掌握51系列单片机通用I/O口的使用。 二、实验前准备 1、完成作业3; 2、根据实验内容编写好相关程序,并进行Proteus仿真。 三、实验内容 实验内容为3项,其中第1、2项必做。 1、基本的流水灯。 根据图1电路,编写一段程序,使8个发光二极管D1、D2、D3、D4、D5、D6、D7、D8顺序(正序)点亮:先点亮D1,再点亮D2、D3……D8、D1……,循环点亮。每点亮一个LED,采用软件延时一段时间。 2、简单键控的流水灯。 , 不按键,按正序点亮流水灯;按下K1不松手,按倒序点亮流水灯,即先点亮D8,再顺序点亮D7、D6……D1、D8……。松手后,又按正序点亮流水灯。

3、键控的流水灯。 上电,不点亮LED,按一下K1键,按正序点亮流水灯。按一下K2键,按倒序点亮流水灯,按一下K3键,全部关闭LED。 四、实验原理图 如图所示。 图跑马灯实验电路原理图 电路原理图如图,AT89S52的~作为输出连接8个发光二极管,输出低电平0时对应发光二极管发光;由于发光二极管的导通电压为,所以HNIST-2型实验装

置在电源与二极管之间加一个阻值为1K限流电阻保护二极管。 AT89S52的、作为输入连接2个按键K1、K2,若检测到=0,则说明K1键按下。 五、软件设计思想 . 1、基本的流水灯 软件延时采用例题程序delay( j ),可调整延时时间。 2、简单键控的流水灯。 由于是按下键不松手,键值一直保留,所以判断=0即是按下K1,采用如例题所示的while= =0)或while(P2= =0xfe)的模式。 3、键控的流水灯 由于是按一下键后马上松手,所以要设置一个变量b保留按键键值,要在延时程序中检测是否按键,当按键后立即设置b的值。 六、实验过程: 编写延时程序: ORG 00H JMP MAIN ORG 30H | MAIN: MOV A,#0FFH CLR C MOVR2,#08H ;循环八次 LOOP:

51单片机实验报告

实验一数据传送实验 实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—AFH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 源程序清单: ORG 0000H RESET:AJMP MAIN ORG 003FH MAIN:MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1:MOV @R0,A INC R0 INC A DJNZ R2, A1 MOV R1,#40H MOV R0, #50H MOV R2, #10H A3: MOV A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, A3 LJMP 0000H 思考题: 1. 按照实验内容补全程序。 2. CPU 对8031内部RAM存储器有哪些寻址方式? 直接寻址,立即寻址,寄存器寻址,寄存器间接寻址。 3. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH ___0A0H~0AFH______________________ 内部RAM 50H~5FH___0A0H~0AFH_______________________ 实验二多字节十进制加法实验

实验内容: 多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。源程序清单:ORG 0000H RESET: AJMP MAIN ORG 0100H MAIN: MOV SP, #60H MOV R0, #31H MOV @R0, #22H DEC R0 MOV @R0, #33H MOV R1, #21H MOV @R1, #44H DEC R1 MOV @R1, #55H MOV R2, #02H ACALL DACN HERE: AJMP HERE DACN: CLR C DAL: MOV A, @R0 ADDC A, @R1 DA A MOV @R1, A INC R0 INC R1 DJNZ R2,DAL CLR A MOV ACC.0 , C RET 思考题: 1. 按照实验内容补全程序。 2. 加数单元、被加数单元和结果单元的地址和内容为? 3130H,2120H,6688H 3. 如何检查双字节相加的最高位溢出? 看psw.3 的溢出标志位ov=1 则溢出 4. 改变加数和被加数,测试程序的执行结果。 实验三数据排序实验

相关文档
最新文档