单片机技术实验教程
单片机技术实验教程
单片机技术实验教程
《单片机技术》原理与应用是机电一体化、应用电子技术、自动控制及数控技术应用等专业的一门实用技术骨干课程,它对培养学生的工程思维能力和解决问题的能力具有重要作用。
通过本课程的学习 , 可以使学生较系统地掌握汇编语言的编程方法,掌握单片机的基本原理、接口和应用技术。
熟悉单片机技术在工业控制中的应用 , 可以培养和锻炼学生动手操作和技术创新的能力,使得学生能紧跟计算机技术的发展脚步,为将来从事工业领域相关工作,尤其是自动控制以及应用电子产品的检测和维修奠定坚实的基础,为将来从事电子电器新产品设计开发,电子产品的检测和维护等工作奠定坚实的基础,是理工信息类大学生一门重要的技术课程。
课程重点是:单片机体系结构、存储器体系结构、指令系统、汇编语言程序设计、中断系统及其应用、定时器及其应用、外围设备与单片机的接口
技术。
实验一循环结构程序设计
实验目的
1、掌握汇编语言设计和调试方法;
2、熟悉键盘操作;
3、熟悉8051指令系统,掌握循环结构程序设计方法。
实验器材
DAILS 80985B+、微机开发系统、PC机
实验原理
利用R0寄存器做为循环次数计数器,利用DPTR寄存器做为外部RAM的地址指针,通过循环赋值实现外部RAM 2000H-20FFH 单元内容的清零。
程序设计的参考流程如下:
图1-1 清零程序流程图
实验内容与步骤
1、把单片机片外数据存储器的2000H-20FFH的内容清零。
2、把单片机片内数据存储器的40H-60H单元的内容依次送到片外数据存储器以2000H 作为首地址的数据块中。
实验注意事项
1、认真预习外部RAM读写操作和循环类指令。
2、认真预习外部RAM读写操作、逻辑与操作和交换类指令。
3、实验中认真记录程序在编译、链接和调试过程中出现的问题以及解决的方法,
观察程序执行前后相关寄存器和存储单元内容的变化,并在实验总结中加以分析。
实验与思考
1、如果将内部RAM 20H~3FH单元的内容清零,应该如何做?
2、如果将外部RAM 2000H~20FFH单元的内容赋值为该单元地址值的低8位值,应该如何实现?
3、编写并调试一个排序程序,其功能为用冒泡法将内容RAM中00H—1FH这连续的32个单元字节无符号的正整数,按从小到大的次序重新排列。
图1-2 排序程序流程图
实验二选择结构程序设计
实验目的
1、掌握汇编语言的编程;
2、熟悉8051指令系统,掌握选择结构程序设计方法。
实验器材
DAILS 80985B+ 微机开发系统、PC机
实验原理
利用R0寄存器做为循环次数计数器,利用DPTR寄存器做为外部RAM的地址指针,在单片机的片外数据存储器的2000-200FH地址中查出有几个字节是零,并把个数放在单片机的片外数据存储器的2100H中。
程序设计的参考流程如下:
图3-1选择程序流程图
实验内容与步骤
1、在单片机的片外数据存储器的2000H-200FH地址中查出有几个字节是零,并把个数放在单片机的片外数据存储器的2100H中。
2、在单片机的片外数据存储器以2000H作为首地址的数据块送到片内以00H作为首地址的数据区域中,已知片外数据块以出现的第一个0值作为结束标记。
假设数据块长度不超过127个字节。
实验注意事项
1、认真预习外部RAM读写操作和循环类指令。
2、认真预习外部RAM读写操作、逻辑与操作和交换类指令。
3、实验中认真记录程序在编译、链接和调试过程中出现的问题以及解决的方法,观察程序执行前后相关寄存器和存储单元内容的变化,并在实验总结中加以分析。
实验与思考
1、如果查找其他数值,程序该如何修改?
2、该程序在数据采集过程中如何应用?
3、利用单片机系统,将R2和(R6R7)中所存储的双字节无符号整数相乘,积送R3R4R5中。
实验三单片机最小系统设计与制作
实验目的
1、掌握单片机的结构及工作方式;
2、掌握单片机外围接口相应扩展方法与技巧。
实验器材
DAILS 80985B+ 微机开发系统、PC机
实验原理
见单片机最小系统设计
实验内容与步骤
设计一个单片机最小系统,该系统可向用户提供4KB程序存储器、2K以上数据存储器、4个并行口、一个串行口、2个定时/计数器、两个外部中断输入,并且实现输入缓冲、输出锁存。
完成课题的实验报告,并写出查询相应端口值的程序段。
实验注意事项
1、注意人身安全。
通电前,注意电路连接情况。
2、实验中认真记录程序在编译、链接和调试过程中出现的问题以及解决的方法,观察程序执行前后相关寄存器和存储单元内容的变化,并在实验总结中加以分析。
实验与思考
单片机最小系统的用途,以及设计技巧
实验四信号灯控制
实验目的
1、了解P1口的使用;
2、学习汇编语言的编程方法与调试技巧。
实验原理
实验内容及步骤
1、P1作为输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
电路自行设计。
2、P1.0开关接5V,右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮,P1.0、P1.1开关同时接5V或接地时,转弯灯不闪亮。
实验五脉冲计数实验
实验目的
1、熟悉汇编语言编程;
2、掌握初始化编程显示方法。
实验器材
DAILS80985B+ 微机开发系统、PC机
实验原理
将单脉冲发生器的输出接到T0的输入端(即P3.4口),P3.3~P3.0、P1.7~P1.0接L12~L1共12个LED灯。
利用T0的计数功能实现对外部脉冲的计数,用软件循环读取计数值将TH0和TL0的内容并送到12个LED灯上显示出来即可,程序设计的参考流程如下:
图5-1程序流程图
实验内容与步骤
1、把定时器0外部输入的脉冲进行技术,并送显示器显示。
2、观察数码管上计数脉冲的速度及个数。
实验注意事项
1、由于实验系统在进行单步调试时需要使用T0、RD和WR,故软件设计中要避免修改P3.4~P3.7的值,以免程序运行出现错误。
2、实验中认真记录程序在编译、链接和调试过程中出现的问题以及解决的方法,观察程序执行前后相关寄存器和存储单元内容的变化,并在实验总结中加以分析。
实验与思考
如果将脉冲计数值用LED数码管以十进制数显示出来,硬件设计上还应该增加什
么器件?软件上应如何改变?
实验六动态数码显示
实验目的
1、熟悉汇编语言编程;
2、掌握初始化编程显示方法。
实验器材
DAILS80985B+ 微机开发系统、PC机
实验内容
利用P0端口接动态数码管的字形码笔段,P2端口接动态数码管的数位选择端,P1.7接一个开关,当开关接高电平时,显示“123456”字样;当开关接低电平时,显示“HELLO”字样。
实验原理
动态扫描方法:动态接口采用各数码管循环显示的方法,当循环显示频率较高时,利用人眼的视觉暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一个接口完成数码管的轮流点亮。
对于显示的字形码数据可用查表来完成。
实验七秒表
实验目的
1、熟悉汇编语言编程;
2、掌握延时的方法。
实验器材
DAILS80985B+ 微机开发系统、PC机
实验内容
在单片机的P0和P2端口分别接两个共阴数码管,P0口驱动显示秒时间的十位,而P2口驱动显示秒时间的个位。
在设计过程中用一个存储单位作为秒计数单元,当一秒钟到来时,就在秒计数单元加一,当秒计数达到60时,就自动返回0,重新秒计数。
对于秒计数单元中的数据采用对10整除和对10取余。
在数码管上显示,采用查表的方式完成。
一秒时间的产生,用软件延时的方法完成。
实验八D/A波形发生器
实验目的
1、熟悉汇编语言编程;
2、掌握D/A转换与单片机的接口方法。
实验器材
DAILS80985B+ 微机开发系统、PC机
实验内容
利用0832输出一个从0V开始逐渐升至5V,再将至0V的三角波输出;利用相同的原理产生锯齿波及方波。
实验九数字电压表
实验目的
1、熟悉汇编语言编程;
2、掌握A/D转换与单片机的接口方法。
3、掌握数码显示的方法。
实验器材
DAILS80985B+ 微机开发系统、PC机
实验内容
从单片机最小应用系统基本要求出发,拟定一个智能化数字电压表设计方案,合理选择各种器件。
根据所采用的A/D转换器,分析计算数字电压表的测量精度。
根据所采用的显示器件,设计合理的A/D采样和数字显示程序,要求显示误差满足设计精度,最终实现智能化数字电压表功能。
单片机实验指导书
单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备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}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。
51单片机实验手册
51单片机实验手册一、概述51单片机是一种经典的8位微控制器,具有广泛的应用领域。
本实验手册旨在提供详细的实验指导,帮助初学者快速入门,并为进一步的学习提供基础。
二、实验准备在进行51单片机实验之前,我们需要准备以下材料:1. 一块51单片机开发板2. USB数据线或者串口线3. 电脑及编程软件4. 面包板及对应的连接线5. 红、绿、蓝LED以及相应的电阻三、实验一:LED闪烁LED闪烁是最基础的实验之一,通过控制51单片机的I/O口状态,使LED灯交替亮灭。
1. 连接电路将51单片机的VCC引脚连接到正极,GND引脚连接到负极,将LED的长脚连接到P1.0引脚,短脚连接到GND引脚。
2. 编写程序使用C语言编写如下程序:```c#include <reg52.h>void main() {while(1) {P1 = 0x00; // P1置低电平,LED灯熄灭Delay(1000); // 延时1秒P1 = 0xFF; // P1置高电平,LED灯点亮Delay(1000); // 延时1秒}}void Delay(unsigned int t) {while (t--);}```3. 烧录程序将编写好的程序通过编程软件下载到51单片机中。
4. 运行实验将USB数据线或串口线连接到51单片机开发板和电脑,将开发板上的开关打开,观察LED灯的闪烁情况。
四、实验二:数码管显示通过控制51单片机的I/O口状态,驱动数码管显示数字。
1. 连接电路将51单片机的VCC引脚连接到正极,GND引脚连接到负极,将数码管的A、B、C、D、E、F、G引脚分别连接到P1.0、P1.1、P1.2、P1.3、P1.4、P1.5、P1.6引脚。
2. 编写程序使用C语言编写如下程序:```c#include <reg52.h>unsigned char code segment[] = { // 数码管段码表0x3F, // 数字00x06, // 数字10x5B, // 数字20x4F, // 数字30x66, // 数字40x6D, // 数字50x7D, // 数字60x07, // 数字70x7F, // 数字80x6F // 数字9};void main() {unsigned int i;while(1) {for(i = 0; i < 10; i++) {P1 = segment[i]; // 依次在数码管上显示数字0-9 Delay(1000); // 延时1秒}}}void Delay(unsigned int t) {while (t--);}```3. 烧录程序将编写好的程序通过编程软件下载到51单片机中。
单片机实验教案
单片机实验教案一、实验目的本实验旨在通过学习单片机的基本原理和实际操作,掌握单片机的编程与应用技巧,并能够独立完成一些简单的单片机实验。
二、实验器材与环境要求1. 单片机开发板:推荐使用51系列开发板,如STC89C52等。
2. 计算机:用于编写和下载单片机程序。
3. USB转串口模块:用于将计算机与单片机开发板相连,进行程序下载。
4. LED灯、蜂鸣器、按键等外部器件:用于实验验证。
三、实验内容本实验将分为以下几个部分,每个部分都包含一些具体的实验任务。
实验一:LED闪烁实验1. 连接开发板与计算机,并安装相应的驱动程序和开发环境。
2. 打开开发环境(如Keil),新建一个工程。
3. 编写程序,使开发板上的LED灯交替闪烁。
4. 将程序下载到单片机中,观察LED灯是否按预期闪烁。
实验二:蜂鸣器控制实验1. 在实验一的基础上,接入一个蜂鸣器。
2. 编写程序,使蜂鸣器发出不同频率的声音。
3. 将程序下载到单片机中,观察蜂鸣器是否按预期发声。
实验三:外部按键检测实验1. 在实验二的基础上,接入一个外部按键。
2. 编写程序,使按键按下时,LED灯闪烁一次。
3. 将程序下载到单片机中,观察按键与LED灯的互动是否正确。
实验四:数码管显示实验1. 在实验三的基础上,接入一个数码管。
2. 编写程序,使数码管可以显示0-9的数字。
3. 将程序下载到单片机中,观察数码管是否按预期显示数字。
实验五:蓝牙通信实验1. 在实验四的基础上,接入一个蓝牙模块。
2. 编写程序,使单片机能够与蓝牙模块进行通信,并将接收到的信息在数码管上显示。
3. 将程序下载到单片机中,通过蓝牙终端发送信息,观察数码管是否正确显示接收到的信息。
四、实验要点与注意事项1. 在进行实验之前,务必查阅相关资料,了解单片机的基本原理和编程知识。
2. 在编写程序时,要注意语法的正确性和逻辑的严谨性。
3. 在下载程序之前,先检查硬件连线是否正确,以免造成损坏。
单片机实验第一次课PPT课件
New Project菜单
保存文件窗口
11
选取芯片:
ATMEL公司AT89C51
12
点击:是
并打开STARTUP.A51文件,找到一句:
CSEG AT 0 修改为:CSEG AT 8000H 并保存
13
1—新建文本 2--文本编辑窗口 3--保存文本
在文本编辑窗口输入编写的程序,并保存为后缀名为.C的文 件类型,路径和工程文件相同。
7
步骤三:编写程序
#include “id)
{
unsigned char i,j,k;
for(i=0;i<20;i++)
for(j=0;j<20;j++)
for(k=0;k<248;k++);
}
void main()
{
while(1)
{P1=0;
delay02s();
21
谢谢大家
荣幸这一路,与你同行
It'S An Honor To Walk With You All The Way
演讲人:XXXXXX
时 间:XX年XX月XX日
22
单片机原理及应用实验
1
实验一: I/O口控制实验
范例:P1口控制8个LED灯,使这一组灯以一定时间 间隔闪烁;
间隔时间可以通过“软件延时”实现。
2
实现步骤:
1、根据题目要求,构思电路原理图; 2、在实验箱上,确定系统连线; 3、编写程序; 4、在仿真软件中调试、运行程序,在 实验箱上观察实验现象。
P1=1;
delay02s();
}}
8
步骤四:软件仿真程序
最新单片机实验步骤
文库宝 百度文库原版文档免费下载站,免登陆,免财富值,一键下载。
单片机实验步骤一、 实验箱准备工作检查实验箱配件是否齐全?电源线1根,串口线1根,数据线若干,实验手册1本。
1、接上实验箱电源线。
2、串口线一头接在计算机串口上,另一头接在实验箱的“仿真串口”端(注意:不能误接到“实验串口”端)。
3、根据本次实验要求,按实验手册连接数据线。
4、按下实验箱右上方的两个黄色圆形按钮,观察按钮旁的两个红色显示灯是否点亮。
二、 Keil C51集成软件使用步骤1、在D :盘根目录下新建一个空文件夹,文件夹名为学生学号,例如:D:\200811510012、打开Keil C51 集成软件,可以双击桌面上的图标3、建立工程点击菜单Project → 选择New Project … → 弹出以下对话框4、然后弹出以下对话框——选择单片机芯片型号(1)选择D 盘下的空文件夹路径(1)选择“Atmel ”公司 (2)选择“89C51”芯片型号(3)点击“确定”文库宝 百度文库原版文档免费下载站,免登陆,免财富值,一键下载。
5、把本次实验的汇编源程序复制到刚才在D :盘建立的空文件夹里,例如本次实验为“实验十 广告灯实验”,翻开实验手册第28页,可以看到本次实验的源文件名为“ZY ADV .ASM ”,该文件在“C:\Keil\单片机实验程序”路径下。
6、将汇编源文件添加到当前工程项目中7、进入源代码编辑界面(1)点击“加号”(2)双击“ZY ADV .ASM ”编辑界面由三个窗口构成:左侧为工程窗口;右侧为编辑窗口;下方为输出窗口。
如果在源程序中存在语法错误,输出窗口中会出现错误提示信息。
如果源程序语法完全正确后,点击Debug → Start/Stop Debug Session进入软件模拟的仿真窗口,如下图所示:8、编译连接后进行硬件仿真在进行硬件仿真之前,还需对工程属性进行某些设置。
选择“Project → Options for Target ‘Targetl’”,(2)选择“Creat HEX”(4)硬件仿真选项文库宝百度文库原版文档免费下载站,免登陆,免财富值,一键下载。
单片机原理及应用实验教程课程设计
单片机原理及应用实验教程课程设计一、概述单片机是指集成了中央处理器(CPU)、存储器(ROM/FLASH、RAM)、输入输出接口及时钟电路等功能于一体的微型计算机系统,被广泛应用于各个领域。
本教程旨在通过实验教学的方式,让学生深入了解单片机原理及应用,并掌握相应的技术。
二、实验内容及步骤1、基础实验:单片机开发环境的搭建实验目的让学生了解单片机的开发环境搭建过程,并熟悉用于单片机编程的集成开发环境(IDE)。
实验设备与材料•电脑•USB线•STC89C52单片机开发板•电源实验步骤1.将STC89C52单片机开发板通过USB线与电脑相连;2.下载并安装Keil集成开发环境,并在Keil中新建一个工程;3.在工程中编写简单的程序,例如让板载LED闪烁等;4.将程序下载到单片机开发板并测试;2、实验:单片机的输入/输出控制实验目的让学生学会单片机的输入/输出控制,掌握相应的编程显示和输入技术。
实验设备与材料•STC89C52单片机开发板•LED•杜邦线实验步骤1.将LED通过杜邦线连接到单片机开发板的GPIO口;2.编写控制GPIO口的程序,通过控制单片机开发板的GPIO口驱动LED的亮灭;3.调试程序并测试。
3、实验:单片机的定时器/计数器应用实验目的让学生学会单片机的定时器/计数器应用,掌握相应的编程技术。
实验设备与材料•STC89C52单片机开发板•数码管•7段数码管驱动芯片•杜邦线实验步骤1.将数码管驱动芯片和数码管通过杜邦线连接到单片机开发板;2.编写控制定时器/计数器的程序,通过控制定时器/计数器实现数码管的亮灭;3.调试程序并测试。
4、综合实验:单片机的应用实验目的让学生学会将单片机应用到实际项目中,并掌握相应的编程技术。
实验设备与材料•STC89C52单片机开发板•人体红外传感器•LED•蜂鸣器•电阻•电容•杜邦线实验步骤1.将人体红外传感器、LED、蜂鸣器、电阻、电容通过杜邦线连接到单片机开发板;2.编写控制程序,通过单片机的输入/输出、计时等功能,实现红外感应、LED控制、蜂鸣器控制等功能;3.完成实际项目的设计与制作,并测试。
单片机实验内容_1-单片机开发系统的使用
实验一单片机开发系统的使用一、实验目的1、掌握DVCC仿真系统使用方法;2、掌握P1口的输入/输出使用方法;3、编程的初步知识。
二、实验设备DVCC仿真系统一套、计算机一台。
三、实验内容1、掌握DVCC仿真系统的的基本使用方法。
2、了解程序编辑、汇编、修改、连接和运行的过程。
四、实验步骤1、DVCC仿真系统的的部分硬件的实物与作用了解。
2、在教师的指导下编辑、保存下列程序。
ORG 0000H ;伪指令ORG,说明机器码存储的首地址LOOP: MOV P1,#0FH ;数据传送指令,将0FH这个数传送到P1中,定义P1.0-P1.3为输入状态。
MOV A, P1 ;将P1.0-P1.3引脚的状态和P1.4-P1.7锁存器的数传送到A中。
ANL A,#0FH ;逻辑运算指令,寄存器A中的数与0FH进行“与”运算。
JZ OVER ;条件转移指令,若(A)=00H,程序转移到标号OVER处执行SWAP A ;高低字节交换指令,ACC.0-ACC.3与ACC.4-ACC.7交换。
MOV P1,A ;将寄存器A中的数传送到P1,并由P1.4-P1.7输出到LED。
SJMP LOOP ;无条件转移指令,程序转移到标号LOOP处执行。
OVER:SJMP $ ;无条件转移指令,程序转移到标号OVER处执行,即原地等待。
END ;伪指令END,表示程序结束。
3、编译、修改、连接上述程序,记录编译过程中提示的错误和修改的方法。
常见的错误有:①数字…0‟与字母…O‟混淆。
MOV P1, #0FH写成MOV P1, #OFH②掉了逗号。
如MOV A,P1写成MOV A P1③助记符写错。
如ANL A,#0FH 写成AML A,#0FH④标号后面的冒号掉了。
如OVER:SJMP $写成OVER SJMP $⑤标号不一致。
如SJMP LOOP写成SJMP LOP⑥END后面有空行。
此时提示“”,修改方法是将光标放在END后面,不断地按“Delete”键。
单片机课程实验教材
一.单片机I/O端口原理与应用试验80C5l单片机有4个双向的8位I/O口P0~P3,在无片外存储器系统中,这4个I/O 口的每一位都可以作为准双向通用I/O口使用;在具有片外存储器的系统中,P2口作为地址的高8位,P0口作为地址的低8位和双向数据总线。
1 P0口结构及工作原理P0口的位内部结构如图2-6所示。
它由一个锁存器、两个三态输入缓冲器以及控制电路和驱动电路组成。
P0口实际上是一个真正的双向口,当P0口输出地址/数据信息时,控制信号为“l”,使模拟开关MUX把地址/数据信息经反相器和T2接通,同时打开与门,输出的地址/数据信息即可通过与门去驱动T1,又通过反相器去驱动T2,使两个FET构成推拉输出电路。
若地址/数据信息为“0”,则该信号使T1截止、T2导通,因而引脚上输出相应的“0”信号。
若地址/数据信息为“l”,则T1导通,T2截止,引脚上输出“1”信号。
若由P0口输入数据,则输入信号从引脚通过输入缓冲器进入内部总路线。
当P0口作为通用I/O口使用时,CPU内部发出控制信号“0”封锁与门,使T1截止,同时使模拟开关MUX把锁存器的Q——端与T2的栅极接通。
在P0作输出时,因为Q——端和T2的倒相作用,内部总线上的信号与到达P0口上的信息是同相位的,只要写脉冲加到锁存器的CL端,内部总路线上的信息就送到P0的引脚上。
由于此时T2为漏极开路输出,因而需外接上拉电阻。
当P0口作输入时,由于该信号既加到T2,又加到下面一个三态缓冲器上,如果此前该口曾输出过锁存数据“0”,则T2是导通的,这样,引脚上的电位就被T2钳在“0”电平上,使输入的“1”无法读入,故作为通用I/O口使用时,P0口也是一个准双向口,即输入数据前,应先向口锁存器写“1”,使T2截止。
但在访问外部存储器期间,CPU会自动向P0的锁存器写入“1”,所以面对用户而言,P0口作为地址/数据总线时,则是一个真正的双向口。
前述为数据由引脚输入的情况,称之为“读引脚”。
MCS-51单片机应用实验教程课程设计
MCS-51单片机应用实验教程课程设计1. 简介MCS-51单片机是一种高性能、低功耗单片机,广泛应用于各个领域。
本文主要介绍MCS-51单片机应用实验教程课程设计内容,以帮助初学者了解MCS-51单片机的应用。
2. 实验环境•Keil C51编译器•STC89C52RC单片机•电路板和外围器件•PC3. 实验内容3.1 实验1:LED流水灯LED流水灯是MCS-51单片机入门实验,可以让学生熟悉MCS-51单片机基本指令和寄存器的使用,以及加深对位运算的理解。
实现方法:通过MCS-51单片机的IO口和位运算实现8个LED灯的流水效果。
3.2 实验2:数码管显示数码管是一种常见的数字显示器件,通过数码管的显示,可以实现对数字的显示和闪烁等效果。
该实验可以让学生了解MCS-51单片机的定时器和中断服务程序的使用,以及对数码管的控制。
实现方法:通过MCS-51单片机的定时器,按照一定的时间间隔对数码管进行显示和闪烁。
3.3 实验3:按键控制LED灯按键开关是电子产品常用的一种输入方式,通过按键的不同状态可以控制LED等输出设备的开关。
该实验可以让学生了解MCS-51单片机的IO口的输入状态读取和控制。
实现方法:通过MCS-51单片机的IO口读取按键输入状态,通过位运算控制LED灯的开关。
3.4 实验4:外部中断实现按钮控制LED灯外部中断是MCS-51单片机的一种重要功能,通过外部中断可以实现对按钮的响应,进而实现对LED等设备的控制。
该实验可以让学生进一步了解MCS-51单片机的外部中断服务程序的使用和IO口管理。
实现方法:通过MCS-51单片机的外部中断输入,响应按键状态,并通过位运算控制LED灯的开关。
3.5 实验5:定时器PWM控制LED灯亮度通过调节LED灯的亮度,可以达到调节电子产品亮度的效果。
该实验可以让学生了解MCS-51单片机的定时器的PWM输出功能,以及通过PWM实现对LED等设备的亮度调节。
单片机实验指导书
目录实验一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、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
