单片机原理实验指导书(2012.10)
2012单片机实验指导书
作者:朱兆优
实验一
一.实验目的
1.学习数据块的建立。 2.掌握数据块移动的编程方法。 3.掌握查表程序的编程方法。
数据块传送和查表
二.实验任务
1.编写程序将 100H 开始的片外部数据存储器中的 N 个单元的内容(N≤0FFH),传送到片外部 数据存储器 200H 开始的 N 个单元,N 为数据块长度,存放于 0FFH 中。 2.编写程序将 30H 开始的内部数据存储器中的 N 个单元的内容(N≤20H),传送到片内数据存 储器 50H 开始的 N 个单元,N 为数据块长度,存放于 2FH 中。 3.按下图给出的函数关系曲线,要求编写出一个解 Y=F(X)的查表程序。
待 转 换 的 二 进 制 数 - 104 够 减 , 万 位 计 数 加 1, 再 减 104 不够减,恢复减之前的数,即得万位
求得万位计数值后,再将余数减去 103,方法类同,可得千位、百位、十位,最后的余数即为个 位。另外: 104=2710H 102=0064H 103=03E8H 101=000AH
四.资源分配
<学生自行完成>
2
《单片机原理及应用》实验讲义、课程设计指导书
作者:朱兆优
五.实验步骤
1.根据程序流程图和资源分配表编写汇编源程序。 2.开 PC 机后,建立一个个人工作目录(文件夹) ,使用 TKS 或 Keil 调试软件将源程序输入 生成汇编文件(如 file1.ASM)并保存到个人工作目录中。 3. 在单片机调试软件 IDE 下新建一个工程项目文件 (如 name1.mpj) , 并将汇编文件 file1. ASM 添加到工程中(工程项目文件也应存放到个人目录中) 。 4.对源程序进行编译。编译有错误要对出错的程序段或语句进行修改,程序修改后再编译, 如此反复直至程序编译无错误。 5.编译无错后,点击 快捷命令将程序装入单片机中动态调试状态。可选择使用单步、跟踪、
单片机实验指导书(6个实验)
单片机原理和接口技术实验指导书襄樊学院物理和电子信息技术系实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。
2)编写实验所要用到的程序,将其放在U盘上。
3)写出预习报告。
2. 进入实验室后完成的部分1)建立工程,加入已准备好的程序文件。
2)对程序进行调试,修改错误,获得要求的结果。
3)保存调试后的程序。
3.实验结束后的部分对实验结果进行分析、总结,写出实验报告。
实验报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。
流程图也可不画。
5.程序清单本实验使用的完整程序。
如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。
6.实验步骤7.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。
此项为实验成绩评定的重要依据。
实验1 Keil C51的使用(汇编语言)实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。
实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。
实验原理及环境:在计算机上已安装Keil C51软件。
这个软件既可以和硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不和硬件连接,仅在计算机上以虚拟仿真的方法运行程序。
如果程序有对硬件的驱动,就需要和硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。
实验内容:1.掌握软件的开发过程:1)建立一个工程项目选择芯片确定选项。
2)加入C 源文件或汇编源文件。
3)用项目管理器生成各种使用文件。
4)检查并修改源文件中的错误。
5)编译连接通过后进行软件模拟仿真。
6)编译连接通过后进行硬件仿真。
7)I A P 编程操作2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。
单片机实验指导书
单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备1. 实验设备和材料:- 单片机开发板- USB数据线- 适配器- 数字电路元件(如LED、电位器等)2. 软件准备:- 单片机开发软件(如Keil、IAR EWARM等)- 编程软件(如C语言编辑器)- USB驱动程序三、实验步骤1. 搭建实验环境:- 将USB数据线连接单片机开发板和计算机。
- 通过适配器给单片机开发板供电。
- 检查驱动程序是否正确安装。
2. 编写程序:- 打开单片机开发软件,并创建一个新的工程。
- 选择适当的单片机型号和编程语言。
- 编写程序代码,实现所需功能。
- 编译程序并下载到单片机开发板。
3. 实验操作:- 根据实验要求连接相应的电路元件。
- 调试程序,确保程序能正确运行。
- 运行实验并观察结果。
四、实验注意事项1. 请确保您具备基本的电路和编程知识。
2. 在操作实验设备和元件时,请小心谨慎,避免发生触电等事故。
3. 如果遇到问题,请及时咨询实验指导人员或相关专家。
五、实验示例以下是一个简单的实验示例,用于演示如何控制LED灯的亮度:实验电路连接:将一个LED灯连接至单片机开发板的一个GPIO口。
程序代码:#include <reg51.h>sbit LED = P1^0;void delay(unsigned int time){unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<120;j++);}void main(){while(1){LED = 1; // 点亮LEDdelay(200); // 延时200msLED = 0; // 熄灭LEDdelay(200); // 延时200ms}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。
2012级单片机实验指导书
一、基本控制语句应用——简单广告牌霓虹灯设计1. 实验目的:a.理解左移RL、右移RR指令的功能。
b.延时程序DELAY的具体执行过程、延时量控制等。
c.掌握通过设置程序的跳转来实现程序循环的方法。
2.实验设备使用:计算机一台、单片机实验箱一套、Keli C软件一套。
3.实验基本原理:Array (1)源程序及流程图:ORG 0000HAJMP MAINORG 0030HMAIN: MOV P0,#00HMOV A,#01HLOOP: MOV P0,ARL AJMP LOOPEND(2)电路原理图:4.实验内容:a. 编写一程序,可实现数据左移并通过I/O口输出显示。
b. 加入延时程序,观察实验现象是否有所变化。
c. 实现左移及右移的循环输出。
d.实现16盏LED的移位显示。
5.实验步骤:(1) 基本步骤:a. 读懂程序,分析程序中哪一句为控制语句,起到什么控制作用以及最终实现何功能。
b. 运行程序,观察结果是否与程序相符,如不相符请分析出现问题的原因所在。
c. 试着向源程序中加入延时语句,观察现象是否有所改变。
ORG 0000HAJMP MAINORG 0030HMAIN: MOV P0,#00HMOV A,#01HLOOP: MOV P0,ARL AACALL DELAYJMP LOOP;*****延时子程序******;DELAY:MOV R2,#10HLOOP1:MOV R1,#0FFHLOOP2:DJNZ R1,LOOP2DJNZ R2,LOOP1RETENDd. 适当修改延时量,使LED闪烁更为明显,易于肉眼观察。
e. 适当修改程序,使程序最终实现一只LED作流水状移动。
(2)发挥部分:①能自左向右——自右向左——自左向右反复循环来控制一只发光管如反弹状移动。
②能通过两组I/O口组合实现16只LED的流水灯效果。
6.实验报告要求:a.记录实验每一步骤的具体过程及实验现象。
b.叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。
《单片机原理》实验指导书
《单片机原理》实验指导书For personal use only in study and research; not for commercial use山东华宇职业技术学院实训中心电子教研室目录第一章认识单片机实验系统 (3)3 第一部分系统介绍.......................................................................................6 第二部分银环MCS—51调试软件的使用........................................................第三部分键盘监控使用简介 (9)第二章软件实验 (15)实验一字处理程 (15)实验二数据处理程序 (17)实验三多分支程序 (20)实验四脉冲计数(定时/计数器实验) (22)第三章硬件实验 (26)实验一 P1口实验 (26)*实验一 P1口实验 (31)实验二 P1口输入\输出 (35)实验三 P3.3输入 P1口输出 (38)实验四工业顺序控制 (40)实验五简单I/O扩展实验一 (43)实验六简单I/O扩展实验一 (47)实验七定时器实验 (49)实验八 8255A可编程并行接口实验一 (52)实验九 D/A转换实验 (54)实验十 A/D转换实验 (60)实验十一存储器扩展实验 (64)附:实验报告要求 (66)实验注意事项及要求 (67)第一章认识单片机实验系统第一部分系统介绍一、整机介绍1、DICE型微机教学实验系统结构DICE型微机教学实验系统由电源、系统板、CPU板、可扩展的实验模板、微机串口通讯线、JTAG通讯线及通用连接线组成。
二、系统特点DICE 型微机/单片机教学实验系统是启东计算机有限公司根据广大学者和许多高等院校实验需求,结合电子发展情况而研制的具有开发、应用、实验相结合的高科技实验设备。
旨在尽快提高我国电子科技发展水平,提高实验者的动手能力、分析解决问题能力。
单片机实验指导书2012版
实验一8051简单编程与调试实验目的通过简单小程序的输入和调试,熟悉并掌握Keil 的使用。
学会Proteus与Keil的整合调试。
实验基本要求建立三个项目,分别输入存储块清零、二进制BCD码及二进制ASCII码转换的汇编源程序,并进行仿真调试。
画出实验程序的流程框图。
实验步骤采用Keil Cx51 开发8051单片机应用程序一般需要经过下面几个步骤:1、在 Vision2集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机CPU器件。
在菜单栏中选择“Project”→“New Project”,弹出“Create New Project”对话框,选择目标路径,在“文件名”栏中输入项目名后,单击“保存(S)”按钮,弹出“Selecte Device for Target”对话窗口。
在此对话窗口的“Data base”栏中,单击“Atmel”前面的“+”号,或者直接双击“Atmel”,在其子类中选择“A T89C51”,确定CPU类型。
如图所示。
点击“确定”按钮后,弹出如下的对话框如果是进行汇编语言编程选择“否”。
2、利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。
一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。
在μVision2的菜单栏中选择“File”→“New”命令,新建文档,然后在菜单栏中选择“File”→“Save”命令,保存此文档,这时会弹出“Save As”对话窗口,在“文件名(N)”一栏中,为此文本命名,注意要填写扩展名“.asm”。
单击“保存(S)”按钮,这样在编写汇编代码时,Keil会自动识别汇编语言的关键字,并以不同的颜色显示,以减少输入代码时出现的语法错误。
程序编写完后,再次保存。
在Keil中“Project Workspace”子窗口中,单击“Target 1”前面的“+”号,展开此目录。
单片机原理实验指导书及其程序
实验一伟福编程软件、编程器、实验箱的使用一、实验目的1.掌握仿真软件、编程器、实验箱的安装、使用方法2.学习P1口的使用方法3.学习延时子程序的编写和使用二、实验说明使用伟福仿真软件Wave6000、编程器、实验箱。
实验时间:3学时。
三、实验内容及步骤1.启动计算机,按照软件安装说明安装伟福仿真软件,进入开发环境。
2.参照开发环境说明,掌握软件的使用。
3.P1.0 P1.1接发光二极管,参照如下结构,使用软件延时方式,编写程序,控制P1.0以4Hz、P1.0以2Hz的频率闪烁。
4.使用编程器、单片机开发实验箱,调试程序,观察发光二极管的闪烁。
5.写实验报告,内容包括电路原理图,汇编程序,延时的计算,心得体会等四、程序示例;P1.0输出以某频率方波,P1.1以其1/2频率输出方波ORG 00HSJMP MAIN ;跳转到主程序ORG 30HMAIN: MOV R0,#02HFP10: CALL DELAYCPL P1.0DJNZ R0, FP10CPL P1.1MOV R0,#02HSJMP FP10DELAY: MOV R1,#100DEL1: MOV R2,#50DJNZ R2,$NOPNOPDJNZ R1,DEL1RETEND;思考:在此例中,P1.0、P1.1输出方波的频率究竟是多少?实验二程序设计实验一、实验目的:⑴熟练掌握80C51汇编语言程序设计方法。
⑵熟练掌握80C51汇编语言程序的调试方法。
二、实验说明实验时间:2学时。
三、实验内容:完成从内部数据存储区20H开始的8个单字节数累加、计算平均程序的设计与调试。
累加结果存放在29H(高字节)、2AH(低字节),平均数存放在2BH。
四、实验设备:PC机五、思考:如何使用软件Wave6000调试所编写的计算程序?六、实验报告要求1. 整理好执行正确的程序和数据;2. 写实验报告,内容包括实验项目、内容,汇编程序及其相应的注释说明,实验完成情况,心得体会。
单片机实验指导书
单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备2.1 实验器材准备本实验需要准备以下器材:- 单片机开发板- USB线- 电脑2.2 软件安装在开始实验之前,需要安装以下软件:- Keil C51开发环境- STC单片机系列驱动程序第三章实验步骤3.1 硬件连接将单片机开发板通过USB线连接到电脑上,并确保连接正常。
3.2 软件设置打开Keil C51开发环境,点击菜单栏中的“文件”选项,选择“新建”创建新的工程。
设置工程的名称和保存位置,确定后点击“保存”。
3.3 编写程序在Keil C51开发环境中,编写单片机程序。
首先需要包含相应的头文件,然后编写具体的程序逻辑,实现所需的功能。
3.4 编译和烧录程序在编写完程序后,点击菜单栏中的“编译”选项进行编译。
编译成功后,点击菜单栏中的“下载”选项将程序烧录到单片机开发板中。
3.5 实验验证将程序烧录完毕后,将开发板与外部模块连接,观察实验现象是否符合预期。
第四章实验注意事项4.1 安全注意事项在实验过程中,要注意使用安全电压和电流,避免短路和电击风险。
4.2 实验环境实验需要在安静、整洁的环境中进行,以避免干扰和误操作。
4.3 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。
第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。
通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。
本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。
在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。
通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。
在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。
单片机原理实验指导书
实验一仿真软件的使用,简单程序设计一.实验目的:1.掌握单片机仿真软件的基本操作方法;2.熟悉汇编语言源程序的编辑、汇编、运行和检查运行结果的方法(能查看各存储空间中值的变化);3.掌握简单程序编写的基本方法和技巧;二.实验内容:1. 将内部RAM的30H—33H四个存储单元內分别存放01H、02H、03H、04H 四个数;然后送至工作寄存器R0—R3。
2.将内部RAM的30H—33H四个存储单元內的数分别传送至外部RAM的2030H--2033H存储单元中。
3. 将内部RAM的30—32H的连续3个字节中的无符号数相加,结果的低位送33H 单元,高位送34H单元实用文档三.实验步骤:1.实验内容1的步骤(1)新建文件,输入能实现实验内容1的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果:检查R0—R3的内容;(3)单步运行程序,并检查运行结果:检査R0—R3的内容;(4)查看程序的机器码。
2.实验内容2的步骤(1)新建文件,输入能实现实验内容2的源程序并以 .ASM为扩展名存盘(2)编译并运行程序,检查运行结果:检査外部RAM 2030H—2033H单元的內容(3)单步运行程序,并检查运行结果;(4)查看程序的机器码。
3.实验内容3的步骤(1)新建文件,输入能实现实验内容3的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果;实用文档(3)单步运行程序,并检查运行结果,检查33H、34H单元内容;(4)查看程序的机器码四.实验程序1.实验内容1的程序ORG 0000HMOV 30H,#00HMOV 31H,#01HMOV 32H,#02HMOV 33H,#03HMOV R0,30HMOV R1,31HMOV R2,32HMOV R3,33HEND实用文档2.实验內容2的程序ORG 0000HMOV 30H,#00HMOV 31H,#11HMOV 32H,#22HMOV 33H,#33HMOV DPTR,2030HMOV R0,#30HMOV R1,#04HLOOP:MOV A,·R0HMOVX ·DPTR,AINC R0INC DPTRDJNZ R1,LOOPSJMP $实用文档END3.实验内容3的程序ORG 0000HMOV 30H,#0F8HMOV 31H,#0C6HMOV 32H,#0D9HCLR CMOV A,30HADD A,31HJC NEXT1SJMP NEXT2NEXT1:INC R1NEXT2:ADD A,32HMOV 33H,AJC NEXT3实用文档SJMP NEXT4NEXT3:INC R1NEXT4:MOV 34H,R1SJMP $五.实验报告要求:1.对实验内容1和实验内容2的程序加注释。
《单片机原理与应用》实验指导书
《单片机原理与应用》 实 验 指 导蒋艳红 编桂林电子科技大学电子工程学院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。
单片机实验指导书(2012)
1、画出程序流程图;
2、写出程序清单;
3、写出调试过程及程序执行结果。
实验二、运算处理程序设计与调试
一、实验目的:
利用已学过的MCS-51单片机的指令系统,进行一些较复杂的程序设计,并通过实验,进一步熟悉调试程序的过程。
二、实验设备:
同实验一
三、实验内容及要求:
将30H~39H中10个无符号数,先剔除最大值和最小值,并将最大值放入40H单元,最小值放入41H单元;然后求出8个数的和放入42H单元,再将8个数的平均数放入43H单元;最后将8个数的和转换成BCD码,高8位即百位数存入50H单元,低8位即十位与个位合并后放入51H单元中。
如果有错误,信息窗口显示错误所在的位置,双击有错误的行,光标即跳到源程序的对应行上。修改错误,保存文件后,重新进行编译。若编译没有错误,信息窗口显示“就序”。
3、仿真器/仿真器设置:
[选择仿真器]:选择SP51,[选择仿真头]:选择POD-S8X5X,[选择CPU]:选择AT89C51,○[使用伟福软件模拟器],使用伟福软件模拟器,可以在完全脱离硬件仿真器情况下,对软件进行模拟执行。如果使用硬件仿真器,请不要选择使用伟福软件。按“好”确认。
如果仿真器和仿真头设置正确,并且硬件连接没有错误,就会出现“硬件仿真”的对话框,并且显示仿真器、仿真头的型号及仿真器的序列号,表明仿真器初始化正确。按“好”确认。
4、执行程序:
执行/全速执行
运行程序。
执行/跟踪
跟踪程序执行的每一步,观察程序运行状态。
执行/单步
单步执行程序,与跟踪不同的是,跟踪可以跟踪到子程序的内部,而单步执行则不跟踪到子程序内部。
附录:动态显示参考程序…………………………..…….………………..11
单片机实验指导书
目录实验一P1口输入、输出实验 (2)实验二继电器控制实验 (8)实验三音频控制实验 (11)实验四程序调试 (14)实验五5LED静态串行显示实验 (16)实验六6LED动态扫描显示实验 (21)实验七查询式键盘实验 (28)实验八阵列式键盘实验 (36)实验九计数器实验 (47)实验十定时器实验 (49)实验十一外部中断实验 (54)实验一P1口输入、输出实验一、实验目的1、学习P1口的使用方法2、学习延时子程序的编写和使用二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。
三、实验内容及步骤实验(一):用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。
1、使用单片机最小应用系统1模块。
关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加P1_A.ASM源程序,进行编译,直到编译无误。
4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。
发光二极管单只从右到左轮流循环点亮。
实验(二):用P1.0、P1.1作输入接两个拨断开关,P1.2、P1.3作输出接两个发光二极管。
程序读取开关状态,并在发光二极管上显示出来。
1、用导线分别连接P1.0、P1.1到两个拨断开关,P1.2、P1.3到两个发光二极管。
2、添加 P1_B.ASM源程序,编译无误后,运行程序,拨动拨断开关,观察发光二极管的亮灭情况。
向上拨为熄灭,向下拨为点亮。
四、流程图及源程序1.流程图2.源程序:(一)实验一ORG 0000HLJMP STARTORG 0030HSTART: MOV A, #0FEHMOV R2,#8OUTPUT: MOV P1,ARL AACALL DELAYDJNZ R2,OUTPUTLJMP STARTDELAY: MOV R6,#0MOV R7,#0DELAYLOOP:;延时程序DJNZ R6,DELAYLOOPDJNZ R7,DELAYLOOPRETEND(二)实验二KEYLEFT BIT P1.0 ;定义KEYRIGHT BIT P1.1LEDLEFT BIT P1.2LEDRIGHT BIT P1.3ORG 0000HLJMP STARTORG 0030HSTART: SETB KEYLEFT ;欲读先置一SETB KEYRIGHTLOOP: MOV C,KEYLEFTMOV LEDLEFT,CMOV C,KEYRIGHTMOV LEDRIGHT,CLJMP LOOPEND五、思考题(1)对于本实验延时子程序Delay: MOV R6,0MOV R7, 0DelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET如使用12MHz晶振,粗略计算此程序的执行时间为多少?六、电路图实验二继电器控制实验一、实验目的1、学习I/O端口的使用方法2、掌握继电器的控制的基本方法3、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
《单片机原理及应用》实验指导书
《单片机原理及应用》实验指导书目录实验一P1口输出实验(验证性实验) (1)实验二中断实验(验证性实验) (3)实验三键盘显示实验(验证性实验) (5)实验四计算器实验(综合性实验) (8)实验一P1口输出实验(验证性实验)一.实验目的1.熟悉P1 口的功能。
2.熟悉延时子程序编写和使用。
3.熟悉I/O口接法和总线接法4.初步熟悉单片机软硬件设计方法。
二.实验内容P1口做输出口,P1.0引脚接一只发光二极管,编写程序,使该发光二极管循环亮灭(亮0.2s、灭0.8s)。
要求采用I/O口接法和总线接法两种方法实现。
三.实验仪器计算机、Keil编程环境、LAP2000伟福实验箱四. 注意事项1.安装实验箱时,先接仿真器串口线,后接电源线。
2.实验过程中,在进行接插线操作时,必须先关闭电源。
五. 实验线路及原理实验箱中带有8051的仿真器,因此用户需按要求进行仿真器设置。
实验箱中单片机并口的各个引脚已经引出相应插孔,请同学自行查找。
实验箱上的LED,其电路图如下:六. 实验步骤1.打开keil软件编写程序,并进行仿真器设置。
2.将实验箱中单片机的某个并口引脚接发光二极管。
3.编译调试程序。
七. 思考1.实现走马灯程序。
(选做)2.实现简单的时钟功能。
(选做)实验二中断实验(验证性实验)一.实验目的1.熟悉中断的硬件电路。
2.熟悉中断的软件设计。
二.实验内容1. 利用实验箱上的单脉冲按键和发光二极管实现:每当单脉冲按键按下时(产生一个脉冲),发光二极管亮灭变化。
2. 利用计数器实现:每当单脉冲按键按下10次时,发光二极管亮灭变化三.实验仪器计算机、Keil编程环境、LAP2000伟福实验箱四. 注意事项1.安装实验箱时,先接仿真器串口线,后接电源线。
2.实验过程中,在进行接插线操作时,必须先关闭电源。
五. 实验线路及原理单脉冲电路由按键(PULSE) 和去抖动电路组成,每按一次(PULSE) 键产生一个单脉冲。
《单片机原理》实验指导书
实验一实验开发装置的使用[实验目的]1.巩固和加深理解所学的基本概念,了解MC9S12单片机的结构特点和工作原理。
2. 熟悉开发环境、指令集和汇编语言编辑、调试方法,为下一步用好MC9S12单片机奠定坚实的基础。
3.通过汇编语言源程序的编辑、汇编、调试及输出结果的分析等过程,熟悉MC9S12编程开发工具的使用方法。
4.通过使用各种监控命令,体验通过监控程序实现用户与单片机的对话过程。
[实验设备]1. MC9S12DP256/DG128开发板2. CodeWarrior编译器3. 微型计算机[实验内容]1. 连接开发板与PC机,配置超级终端,设置串行口及其通信协议。
2. 使用不同监控命令,对开发板进行各种操作。
如查看内存的内容,修改RAM中的内容,显示堆栈指针和CPU寄存器的内容,改变页面寄存器的内容,擦除Flash中的内容,下载数据文件到RAM中,下载程序文件到Flash中,设置硬件断点,运行程序等。
3.使用CodeWarrior C编译器,建立工程文件,编写C语言应用程序,定义存储空间分配,编译应用程序,向开发板下载*.S19文件,运行应用程序。
4.尝试使用ASM汇编器,编写汇编语言源程序,并进行汇编、下载和运行。
[实验预习要求]1.认真领会本实验的实验目的和实验内容。
2.复习教材中的有关内容。
3. 预习MC9S12DP256/DG128开发板的使用方法和各种监控命令的作用。
[实验步骤]1. 将开发板与PC机用普通串口线相连,插上5V电源。
2. 配置超级终端首先打开超级终端,按下列顺序操作:开始-→程序-→附件-→通讯-→超级终端,操作界面如图1-1所示。
3. 选择Hypertrm,填入名称,这里用MC9S12DP256,选择“确定”。
操作界面如图1-2和图1-3所示。
4. 串行口设置如果开发板是连接到串口1,就选“直接连接到串口1”,如果开发板连接到串口2,就选“直接连接到串口2”。
选择“确定”,串口设置如图1-4所示。
《单片机原理及应用》实验指导书.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)汇编、连接生产目标文件。
单片机技术实验指导书2012(精)
《单片机技术》实验指导书刘宝成内蒙古民族大学物理与电子信息学院2011年3月前言单片机技术课程是一门实践性很强的理论与实践相结合的课程,实践教学环节是单片机课程不可缺少的重要环节。
单片机技术课程安排的实验旨在培养学生的实际动手能力,锻炼学生的软件编程、调试能力,提高学生对单片机的软、硬件综合开发能力。
单片机技术实践教学环节安排30学时,包括10个实验项目。
项目1 P1口输入/输出实验、项目2 简单I/O口扩展实验、项目3 LED数码管动态显示实验、项目4 LCM液晶模块显示实验、项目5 外部中断实验、项目6 定时器/计数器应用实验、项目7 八位并行A/D 转换器实验、项目8 八位并行D/A转换器实验、项目9 12位串行A/D转换器实验、项目10 12位串行D/A转换器实验。
实验设备采用安装有Keil μVision4 C51集成开发环境的计算机和配有E-lab-Keil C51 CPU板的EL-MUT-III单片机实验挂箱。
实验要求学生在EL-MUT-III单片机实验挂箱及相应的扩展模块上设计与连接电路,利用Keil μVision4 C51集成开发环境采用汇编语言或C语言编写程序,实现单片机系统方案设计、硬件电路连接、软件程序编写、在线仿真调试以及程序下载运行等单片机系统开发的全部过程,让学生从实验中体会具体硬件接口的应用技巧,进一步理解单片机外围接口芯片使用方法,逐步掌握单片机系统的开发和应用方法。
书后附有Keil μVision4 C51集成开发环境的简单使用说明。
通过单片机技术实验的学习,学生可以掌握80C51系列单片机的输入/输出接口、定时器/计数器、中断系统等内部模块的应用方法,熟悉各种类型的外围接口芯片的使用,提高使用汇编语言或C语言编写单片机程序的能力,锻炼发现问题、分析问题、解决问题的能力,初步具备能够独立进行单片机控制系统开发的工作能力。
本书中的参考程序都经过调试和使用,所以正确性是有保证的,但是不是唯一的,也不一定是最优的。
《单片机原理及应用》课程实验指导书
江西理工大学《单片机原理及应用》课程实验指导书主审人:主撰人:前言单片机技术作为计算机技术的一个重要分支,广泛用于工业控制、智能化仪器仪表、家用电器,甚至电子玩具等各个领域,它具有集成度高、性能价格比优越、货源充足等优点。
因此,越来越受到工程技术人员重视,目前国内中高等学校电力技术、电气自动化、自动控制、电子技术等均开设了此课程。
目录第一部分绪论第二部分基本实验指导实验一单片机及其开发系统入门实验二单片机I/O口控制实验实验三外部中断实验实验四定时/计数器实验实验五蜂鸣器驱动实验实验六串转并的I/O口实验实验七 8x8LED扫描输出实验实验八基于C51单片机综合程序设计实验九并转串的I/O口实验实验十 RS232串行口通信实验实验十一并行的模数转换实验实验十二并行的数模转换实验附录实验仪硬件结构第一部分绪论本实验指导书是根据《单片机原理及应用》课程实验教学大纲编写,适用于电气工程及自动化、自动化专业。
一、本课程实验的作用与任务《单片机原理及应用》实验是单片机学习过程中必不可少的重要实践环节。
通过实验和设计,让学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念,使学生在分析问题和解决问题等方面受到系统科学的训练,从而提高学生理论联系实际能力、自主动手能力和创新能力。
二、本课程实验的基础知识本课程要求学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念。
学生在学习这门课程之前,必须掌握《模拟电子技术》、《数字电路》、《微机原理及应用》、《C语言程序设计》等课程相关内容。
三、本课程实验教学项目及要求第二部分基本实验指导实验一单片机及其开发系统入门一. 实验目的熟悉 Keil C51集成开发环境的使用方法。
二.实验原理利用单片机的P1口控制发光二极管,进行Keil C51集成开发环境的仿真调试练习。
《单片机原理及应用》实验指导书
《单片机原理及应用》102G05A实验指导书2016.02目录实验1 C语言编程 (3)实验2 Keil开发环境与编程 (5)实验3 数据排序 (18)实验4 数据搬运 (19)实验5 汇编程序实验 (20)实验6 流水灯实验 (21)实验7 C8051F020单片机基本配置方法 (21)实验8 外部中断实验 (25)实验9 按键接口与数码管输出 (26)实验10 定时器 (27)实验11 数字频率计设计 (28)实验12 串口通信实验 (30)实验13 数据采集系统设计 (31)实验14 函数信号发生器设计 (32)实验1 C语言编程一、实验目的1.复习C语言编程。
二、实验内容1.熟悉C语言编程。
软件调试一下题目:(1) 两数相加(2) 两数比大小(3) 1+2+3+……+10(4) 其他简单数学计算………三、实验步骤(简单操作可参见实验2中项目创建步骤)1.Keil软件,使用“Project”菜单中的“New μVision Project”选项来创建项目,放置到你指定的文件夹。
2.选择单片机型号AT89C513.编写源程序,并保存(扩展名用C),例程见图1-1。
4.将文件添加到工程中。
5.调试。
编写源程序注意:1.AT89C51为通用8051系列单片机2.头文件reg51.h用于51单片机特殊功能寄存器标识,stdio.h用于一些标准输入输出函数的调用如printf()。
3.因单片机没有PC机那样的显示器标准输出,printf()函数的输出通过单片机串口输出实现,所以要完成两件事:(1) printf()函数之前要执行“TI=1;”用于打开串口发送,只有执行“TI=0;”(2) 软件仿真调试时,信息在“串口输出”窗口中输出。
可在debug模式下使用菜单View-->Serial Windows-->UART #1打开“串口输出”4.使用单片机端口P0、P1、P2等输出,可在debug模式下使用菜单Peripherals—>I/O-Ports—>指定哪个端口5.调试界面如图1-2图1-1 C语言例程图1-2 C语言程序调试界面点击后进入调试模式串口输出从端口输出头文件实验2 Keil开发环境与编程一、实验目的1.熟悉基于KEIL下的实验环境。
《单片机原理及应用》实验指导书(第一部分实验--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)。
《单片机原理》实验指导书计算机科学与技术系2012年8月目录第一部分单片机仿真实验 (1)实验一:流水灯实验 (1)实验二:中断实验 (4)实验三:定时器中断实验 (6)实验四:串行口实验 (9)实验五:矩阵式键盘输入识别 (13)实验六:LCD循环显示设计 (19)第二部分单片机硬件实验............................错误!未定义书签。
第一章试验箱系统概述 ...................................错误!未定义书签。
一、系统地址分配........................................... 错误!未定义书签。
二、系统接口定义........................................... 错误!未定义书签。
三、通用电路简介........................................... 错误!未定义书签。
第二章实验指导...............................................错误!未定义书签。
实验七P1口亮灯和P1口加法器实验........... 错误!未定义书签。
实验八简单I/O口扩展(选作).................. 错误!未定义书签。
实验九8255控制交通灯................................ 错误!未定义书签。
实验十128*64LCD液晶显示 .......................... 错误!未定义书签。
第一部分单片机仿真实验实验一:流水灯实验一、实验目的:通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。
二、实验原理图实验参考电路图如下:三、参考实验程序//流水灯实验#include<reg51.h> //包含单片机寄存器的头文件sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机//的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的操作/****************************************函数功能:延时一段时间*****************************************/void delay(void){unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++); //利用循环等待若干机器周期,从而延时一段时间 }/*****************************************函数功能:主函数******************************************/void main(void){while(1){x=0xfe; //第一个灯亮delay(); //调用延时函数x=0xfd; //第二个灯亮delay(); //调用延时函数x=0xfb; //第三个灯亮delay(); //调用延时函数x=0xf7; //第四个灯亮delay(); //调用延时函数x=0xef; //第五个灯亮delay(); //调用延时函数x=0xdf; //第六个灯亮delay(); //调用延时函数x=0xbf; //第七个灯亮delay(); //调用延时函数x=0x7f; //第八个灯亮delay(); //调用延时函数}}四、实验思考题:修改程序使LED灯为18灯亮——27灯亮——36灯亮——45灯亮,再将LED 灯亮的顺序倒过来既:45灯亮——36灯亮——27灯亮——18灯亮,连续运行。
调试后的程序代码:实验二:中断实验一、实验目的:通过对P3.2、P3.3引脚的电平控制,实现外部中断处理,从而控制输出口P1的输出效果变化。
二、实验原理图实验参考电路图如下:三、参考实验程序/用外中断0的中断方式进行数据采集和处理#include<reg51.h> //包含51单片机寄存器定义的头文件sbit S=P3^2; //将S位定义为P3.2,/*******************************************函数功能:主函数******************************************/void main(void){EA=1; //开放总中断EX0=1; //允许使用外中断IT0=1; //选择负跳变来触发外中断P1=0xff;while(1); //无限循环,防止程序跑飞}/************************************************************** 函数功能:外中断T0的中断服务程序**************************************************************/ void int0(void) interrupt 0 using 0 //外中断0的中断编号为0 {P1=~P1; //每产生一次中断请求,P1取反一次。
}四、实验思考题:根据指导书中提供的原理图,自行设计一个外部中断实验,要求:1.两个外部中断全部用上;2.实验能体现不同中断优先级的中断源的相应情况;3.不同中断处理程序能输出不同的响应效果实验三:定时器中断实验一、实验目的:通过使用定时器T0的中断来控制P2.0引脚的的LED的灯闪烁,要求闪烁时间2S,既亮1 S,灭1 S。
二、实验原理图实验参考电路图如下(注释,下图只有D1等闪烁,既亮1 S,灭1 S):三、参考实验程序//用定时器T0的中断实现长时间定时,单片机晶体振荡器周期为12MHZ,机器//周期为1us#include<reg51.h> // 包含51单片机寄存器定义的头文件sbit D1=P2^0; //将D1位定义为P2.0引脚unsigned char Countor; //设置全局变量,储存定时器T0中断次数/**************************************************************函数功能:主函数**************************************************************/void main(void){EA=1; //开总中断ET0=1; //定时器T0中断允许TMOD=0x01; //使用定时器T0的模式2TH0=(65536-15536)/256; //定时器T0的高8位赋初值TL0=(65536-15536)%256; //定时器T0的高8位赋初值TR0=1; //启动定时器T0Countor=0; //从0开始累计中断次数while(1)//无限循环等待中断;}/**************************************************************函数功能:定时器T0的中断服务程序**************************************************************/void Time0(void) interrupt 1 using 0 //“interrupt”声明函数为中断服务函数//其后的1为定时器T0的中断编号;0表示使用第0组工作寄存器{Countor++; //中断次数自加1if(Countor==20) //若累计满20次,即计时满1s{D1=~D1; //按位取反操作,将P2.0引脚输出电平取反Countor=0; //将Countor清0,重新从0开始计数}TH0=(65536-15536)/256; //定时器T0的高8位重新赋初值TL0=(65536-15536)%256; //定时器T0的高8位重新赋初值}}四、实验思考题:修改程序使用定时器T1的中断方式来控制P2.0 、P2.1引脚的LED灯分别以200mshe 800ms的周期闪烁调试后的程序代码:实验四:串行口实验一、实验目的:本实验要求单片机U1通过其串行口TXD向计算机发送一个数据“oxab”。
利用集成电路MAX232将单片机的输出信号转化成计算机能够识别的信号。
针对发送的实例,再设计一个单片机接受计算机送出数据的过程二、实验原理图单片机发送数据实验参考电路图如图(1):图(1)单片机接受数据实验参考电路图如下:图(2)三、参考实验程序//单片机向PC发送数据#include<reg51.h> //包含单片机寄存器的头文件unsigned char code Tab[ ]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};//流水灯控制码,该数组被定义为全局变量/*****************************************************函数功能:向PC发送一个字节数据***************************************************/void Send(unsigned char dat){SBUF=dat;while(TI==0);TI=0;}/************************************************************** 函数功能:延时约150ms**************************************************************/ void delay(void){unsigned char m,n;for(m=0;m<200;m++)for(n=0;n<250;n++);}/*****************************************************函数功能:主函数***************************************************/void main(void){unsigned char i;TMOD=0x20; //TMOD=0010 0000B,定时器T1工作于方式2SCON=0x40; //SCON=0100 0000B,串口工作方式1PCON=0x00; //PCON=0000 0000B,波特率9600TH1=0xfd; //根据规定给定时器T1赋初值TL1=0xfd; //根据规定给定时器T1赋初值TR1=1; //启动定时器T1while(1){for(i=0;i<8;i++) //模拟检测数据{Send(Tab[i]); //发送数据idelay(); //150ms发送一次数据}}}四、实验思考题:根据参考原理图图(2)设计一个单片机接受计算机送出数据的过程。