找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 748|回复: 0
收起左侧

几个单片机实验 求指导

[复制链接]
ID:990612 发表于 2021-12-10 17:25 | 显示全部楼层 |阅读模式
一些单片机实验
实验一  51单片机开发环境    5
实验二 单片机硬件测试及简单程序设计    9
实验三 简单程序设计二    11
实验四 中断系统实验    13
实验五  定时器/计数器实验    17
实验六 电子时钟设计    19
实验六  异步串行通信实验    21

实验一  51单片机开发环境
一、实验目的
1. 掌握Keil集成开发环境基本使用方法;
2. 掌握学林51mini仿真器和下载(编程)器的基本使用方法。
二、实验说明
通过实验了解单片机系统开发的基本流程,掌握开发工具,为进一步设计、调试单片机系统打下基础。
三、实验内容及步骤
1.安装仿真器和下载器的驱动程序,具体方法详见随机光盘和说明书。(实验室电脑无需再安装,打开选择EDA系统)
2.运行下载器软件(XLISP),装入3路跑马灯文件:38LED.hex。下载到单片机的文件必须是*.hex。具体方法详见随机光盘和说明书。观察记录LED的运行情况。(此步骤参考Word文件:xl600+使用手册或录像文件:xlisp烧写方式录像。)
3.安装Keil集成开发软件并运行,具体方法详见随机光盘和说明书。(实验室电脑无需再安装)
4.新建一个以自己学号命名的文件夹,在该文件夹中再建以实验序号命名的文件夹:实验一命名为—EX1,实验二命名为—EX2,依此类推。注意文件的路径必须是英文的,不然软件可能报告找不到文件。
5.在Keil集成开发环境中建立以新项目(命名为38LED),编辑源文件38LED.asm(文件路径同38LED.hex),将该文件加入到新建的项目,设置目标属性,然后编译生成38LED.hex文件。(此步骤参考Word文件:Keil教程中的第1项内容)
6.仿真。(调试参考Word文件:Keil教程中的第2项内容)
1)复位。观察记录SFR、IO的状态以及第一条指令代码的地址,验证复位后51单片机的状态;
2)全速运行。观察记录LED的运行情况,与前面下载到单片机运行的情况相比较。
3)复位,采用单步运行(F10),观察记录执行每一条指令后相关寄存器、IO的变化情况。
4)复位,在延时程序处设置断点,运行到断点时,采用单步跟踪(F11),进入到延时程序,观察记录相关寄存器、IO的变化情况。
5)修改程序,增大、减少延迟时间,仿真观察LED变化情况,保存源程序。
6)创建一个显示8个LED的项目,并仿真调试。要求:8个LED轮流显示,由P0口控制。程序自拟。
四、实验程序
;******************************************************************************
;  p1口八个灯作3路跑马灯。分别往端口送三个不同的数, 理解数字和端口的对应关系  
;******************************************************************************
;* 日期:                                                            
;* 作者:学号                   姓名     
;******************************************************************************
           ORG 0000H    ;      
        LJMP MAIN    ;
        ORG 0080H    ;
MAIN:    MOV P1,#0DBH    ;11011011--零为亮
        ACALL DELay    ;
        MOV P1,#06DH    ;01101101
        ACALL DELay    ;
        MOV P1,#0B6H    ;10110110
        ACALL DELay    ;
           AJMP MAIN    ;
delay:  mov r7,#255    ;延时子程序
d1:        mov r6,#255
d2:        djnz r6,d2
           djnz r7,d1
           ret
           end
五、思考题
1、简述单片机系统的开发过程,所使用的主要工具有哪些?分别解决哪些问题?
2、开发环境提供了哪些调试手段?各有何特点?
3、根据程序,结合LED的工作情况,画出单片机LED流水灯的电路图。
4、根据源程序,分析单片机如何实现流水灯的功能,画出程序流程图,计算出延迟子程序的延迟时间。



实验二 单片机硬件测试及简单程序设计
一、实验目的
1、掌握单片机硬件的测试方法;
2、学习单片机程序编写和调试方法。
二、实验仪器和设备
    PC机、keil软件、仿真器、实验板。
三、实验说明
下载一应用程序到单片机,连接好相应的电路,通电运行,测试单片机引脚信号。采用示波器观察引脚的信号波形以及信号的幅度、频率(周期)等。
根据要求编写单片机程序并仿真调试,运行结果采用LED指示。
四、实验内容
1、单片机硬件测试
将实验一的程序下载到单片机,联接LED电路,通电运行。观察记录:
(1)单片机时钟信号波形、频率;
(2)地址锁存信号ALE波形、幅值和频率;
(3)/EA信号;
(4)连接LED的I/O口信号(任选一位)波形、幅值和频率。
2、单片机程序设计和仿真调试
   设计要求:
选择按键作为单片机输入信号,采用LED实时指示按键编号(二进制数表示);
五、预习要求
1、复习单片机引脚功能;
2、根据设计要求编写程序并进行软件仿真。
六、思考题
1、MCS—51单片机I/O口的输入/输出逻辑电平是多少?其负载能力有多大?若用I/O口控制一个继电器(工作电压12V,工作电流100mA)电路该如何设计?
2、欲使结果闪烁指示,程序应如何修改?

实验三 简单程序设计二

一、实验目的
1、掌握单片机硬件的测试方法;
2、学习单片机程序编写和调试方法。
二、实验仪器和设备
    PC机、keil软件、仿真器、实验板。
三、实验说明
根据要求编写单片机程序并仿真调试,运行结果采用示波器显示。
四、实验内容
   设计要求:
(1)选择函数发生器输出TTL信号输入单片机的某I/O口,经单片机分频后从另一I/O口输出,I/O分配自定,分频比范围1-10,要求分频比在程序中可进行设置;
(2)实现2位10进制有符号数(0-49)的加、减运算,按键K1选择加,按键K2选择或运算,LED指示运算结果。采用仿真器仿真运行,数据输入采用存储器直接置数,存储器分配自定。画出程序设计流程图,程序必须加以注释。
五、预习要求
3、复习单片机引脚功能;
4、根据设计要求编写程序并进行软件仿真。
六、思考题
1、若要采用中断方式实现设计要求要如何设计分频程序?

实验四 中断系统实验

一、实验目的
1. 掌握51单片机中断系统结构以及初始化程序、中断服务程序的设计与调试。
2. 学习、掌握LED数码管显示原理及软件译码的方法。
二、实验仪器和设备
    PC机、keil软件、仿真器、实验板。
三、实验说明
通过实验1学习掌握LED数码管显示原理及软件译码的方法,实验2通过按键产生中断请求,单片机响应中断实现相应的输出,从而进一步深入掌握中断的的初始化程序、中断服务程序设计方法以及软件调试方法。
四、实验内容
1、LED数码管显示:实验箱上的数码管为共阴。P0输出接LED数码管七段码a-g(8位数码管共用),P2.0-P2.2口接位选(CBA),详细内容参考书上P194-195。
(0-9的段码值为   3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH)
CBA为位选的二进制编码,如000第0位,001第1位
1)设计一个10进制计数器(0-9),间隔1秒(软件延时)自动加1,并将计数值显示在一位数码管上。要求采用查表法,实现计数值(0—9)到7段码(a-g)的译码;
2)8位数码管轮流显示固定数0,改变显示间隔时间观察显示效果。
3)在8位数码管上稳定显示0-7。(选作)
  2、外部中断:
1) 通过K01(JP37)产生外部中断请求(/INT0)信号,K02产生外部中断请求(/INT1)信号,在对应的中断服务程序实现在一位数码管上显示中断源编号(0或1)。
    2) 设计一个10进制计数器(0-9),选择一个按键(K01-K04任选)产生外部中断信号/INT0(或/INT1),每按一次计数器加1,并将计数值显示在一位数码管上。(注意按键抖动处理,参考教材P198 10.2 键盘接口原理)
五、预习要求
根据设计要求编写程序并进行软件仿真。提供译码的依据,计算延时时间。
六、思考题
1、实现单片机的中断功能有哪些要求?
    2、如何处理按键抖动?
    3、进一步总结仿真调试的方法。



实验五  定时器/计数器实验
一、实验目的
1. 学习定时/计数器的工作原理及使用方法。
2. 学习定时/计数器的初始化程序、应用程序的设计与调试。
二、实验说明
通过实验1学习掌握定时/计数器设置的基本方法;实验2应用单片机的定时/计数器产生定时,产生周期信号输出;实验3应用单片机的定时/计数器测量时间参数。通过本实验学生可以掌握单片机定时/计数器的工作原理及使用方法以及定时/计数器的初始化程序、应用程序的编写和调试。
三、实验内容
1、LED流水灯控制:8个LED轮流显示,由P0口控制,时间间隔采用定时/计
数器控制。
基本要求:时间间隔为1秒,定时/计数器分别采用方式1和方式2实现。系统
时钟为12MHz,计算两种工作方式下定时/计数器的初值以及循环计数器的数值。
发挥部分(选作):时间间隔0.5~2秒可调,时间步进为0.2秒,采用按键(K01
~K04任选一个)产生外部中断信号,作为时间间隔选择输入,中断服务程序调
整时间间隔。
2、周期性信号产生:P0.0输出频率为1KHz的矩形波信号。
基本要求:P0.0输出频率为1KHz的方波信号。时间采用定时/计数器控制。定时/
计数器分别采用方式1和方式2实现,系统时钟为12MHz。采用数字示波器分别
测量两种工作方式下所产生的方波信号频率,比较信号频率误差,分析误差来源。
发挥部分(选作):P0.0输出频率为1KHz、占空比可变(范围20%~90%,步进
为10%)的矩形波信号。采用按键(K01~K04任选一个)产生外部中断信号,作
为占空比选择输入,中断服务程序调整占空比。
3、脉冲信号测量:被测信号采用函数发生器输出的TTL信号,采用外部计数输
入。
基本要求:被测信号频率范围为1~10KHz,采用定时/计数器实时检测信号频率。
测试结果可查,同时与采用数字示波器测量的被测信号频率比较,分析误差来源。
发挥部分(选作):测量矩形波信号占空比。占空比范围20%~90%,信号频率范
围100Hz~1KHz,测试结果采用数码管输出,同时与采用数字示波器测量的结果
比较,分析误差来源。
四、实验电路与程序
根据实验要求画出硬件电路原理图,画出每个实验程序流程图,设计实验程序,并通过Keil仿真软件调试。
五、思考题
1、MCS-51单片机的定时/计数器有哪几种工作方式?各有何特点?如何选择?
2、MCS-51单片机定时/计数器用作定时模式时,定时时间与哪些因素有关?如何提高定时的精度?
3、MCS-51单片机定时/计数器用作计数模式时,对外界计数频率有何限制?设系统时钟为12MHz,最高计数频率为多少?

实验六 电子时钟设计

一、任务
采用51单片机设计、制作电子钟。
二、要求
    1、基本要求
电子钟基本要求的控制面板如图所示。
时钟的时、分采用LED数码管显示,秒采用LED闪烁显示(亮0.5秒,暗0.5秒)。设有两个功能键,分别用于选择校时、校分,   键
递增,  递减,用于在功能选择后输入相应的时间。24小时计时制。
   2、发挥部分
    增加定时闹钟功能,到达设定的时间响铃30秒,音频频率为1kHz。
   采用矩阵式键盘,数字输入采用直接置数,按键数根据功能要求自行确定。   
   采用PCB设计制作电子钟。
三、设计报告
    1、任务及要求
    2、系统组成:硬件框图,各部分的作用。
    3、硬件电路设计:电路图,电路工作原理(包括必要的理论计算)。
    4、软件设计:软件流程图,各程序块的作用及工作流程,显示、定时计数器初值计算,主要的程序段。
    5、测试数据及结果分析:采用图、表形式记录数据,注明测试方法、测试仪器。
    6、总结
   附录:原理图、PCB。
注:1、电路必须设计可供测试的计时秒信号输出端;
2、程序语言自选(汇编或C51),源程序(有注释和说明)打印,其余硬件电路设计、流程图、测试数据及结果分析手写。
3、最后实验报告的源程序如果与预习报告的不一致需要重新整理打印。

实验六  异步串行通信实验
一、实验目的
1. 学习AT89S51串行口的工作原理及使用方法。
2. 学习AT89S51串行口的初始化程序、应用程序的编写和调试。
二、实验说明
实验1通过测试串口数据输出波形,熟悉串口的工作过程。实验2主要掌握波特率的设置及波特率测试方法,AT89S51单片机串行口的初始化程序、应用程序的编写和调试。实验3为AT89S51单片机串行通信的综合应用,掌握单片机串行通信的组成、单片机串行口的初始化程序、应用程序的编写和调试。
三、实验内容
1、串口工作方式设置为方式0,发送数据0AAH(或55H),编写相应的测试程序并在实验平台进行仿真调试,测试记录系统时钟频率、输出数据波形、移位时钟波形,指出移位时钟频率与系统时钟频率的关系。
2、串口工作方式设置为方式1,发送数据0AAH(或55H),波特率设置为1200b/s。编写相应的测试程序并在实验平台进行仿真调试,测试记录系统时钟频率、输出数据波形、指出实际测试的波特率。
3、双机通信。串口工作方式设置为方式3,收发均采用中断控制,数据通信采用奇校验,波特率自定,完成2位BCD码传送,BCD码通过拨动开关输入,采用一个按键作为发送控制。甲机发送时,乙机接收,反之亦然。要求接收时必须把接收到的BCD码显示出来(采用LED或数码管),并向发送方回送一个接收确认信号(信号形式自定),发送方接收到确认信号后发出指示(声或光)。编写相应的测试程序并在实验平台进行仿真调试。
注意:先按要求完成本机的串行通信,即自发自收(将RXD、TXD短接)。调试通过后再进行双机通信,即两个实验平台之间的通信。
四、预习要求
画出实验电路,复习串口工作方式设置及波特率设置,计算定时器初值,编写好测试程序,在keil开发平台上编译通过。思考改变波特率程序应做哪些修改,分析波特率的误差来源以及如何提高波特率的精度,考虑好测试的方法和步骤。自拟测试表格。
实验报告要求:1-3程序打印,在实验报告相应位置自制测试表格,思考题写在第七部分上。
五、实验仪器和设备
PC机、keil软件、仿真器、实验平台、示波器。
六、思考题
1、AT89S51单片机串行口有几种工作方式?有几种帧格式?
2、AT89S51单片机的波特率如何确定?如何提高波特率精度?
3、AT89S51串行口应怎样与计算机的232C串口接口?为什么?画出接口电路。
4、AT89S51单片机如何实现多机通信?

以上文字的Word格式文档下载(内容和本网页上的一模一样):
单片机实验.rar (64.31 KB, 下载次数: 3)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表