单片机实验报告一

院(系)   计算机学院   专业    计算机科学与技术    班级             

姓名                    学号                        同组人           

实验室     S4306        组号                        日期            

课程      单片机技术    指导教师                    成绩              

实验项目编号  8103201201      实验项目名称     计数显示器的设计     

一、实验目的

熟悉Proteus仿真软件、掌握单片机原理图的绘制方法

二、实验环境(仪器设备、软件)

Win XP、Proteus ISIS 7 Professional

三、实验原理(或要求)

该计数显示器的功能是:按压按键BUT后,数码管LED1和LED2上立即显示出按键压下的次数。当显示值达到99后再次按压按键,显示值将从1重新开始,以此无限循环。

四、实验步骤

(1)启动ISIS模块;

(2)选取原件

在左侧绘图工具栏中的“元件模式”按钮和对象选择按钮“P”,弹出Pick Devices”元件选择窗口,依次添加清单中的元器件,如下表所示;

(3)放置元件

 (4)放置“地”、“电源”

 (5)编辑元件的属性

(6)连线

(7)添加.hex仿真软件

(8)仿真运行

五、记录与处理(实验数据、误差分析、结果分析)

1.电路原理图如下:

2.在Proteus中加载程序, Source---add/remove source files ,加载jsq.hex文件。

3.仿真运行启动后,单击button,数码管数字加1,增加到99又重新开始计数。

六、思考题

1.什么是特殊功能寄存器,其在单片机的控制中起到什么作用?

特殊功能寄存器是80C51单片机中各功能部件对应的寄存器,用来对片内各功能模块进行管理,控制,监听的控制寄存器和状态寄存器,是一个特殊功能的RAM区。作用是对片内各功能模块进行管理,控制,监听。

2.什么是单片机的时钟周期、指令周期、机器周期?针对MCS5­1系列单片机,如采用12MHZ晶振,它们的频率和周期各是什么?

时钟周期也称为振荡周期,定义为时钟脉冲的倒数,是单片机中最小的时序单位。8051单片机把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。

指令周期是执行一条指令所需的时间。1个指令周期由1-4个机器周期所组成,是80C51单片机中最大的时序单位。

机器周期:1个机器周期等于6个状态周期。

时钟周期=1/12000000S;机器周期=时钟周期*12=1uS;执行周期是2uS。

七、实验小结

通过本次实验,掌握了一些画基本原理图的操作技巧,但对Proteus软件里面很多操作工具仍不熟悉,今后有待加强和改进。

 

第二篇:单片机实验报告1,2

实验一    软件集成开发环境WAVE6000的使用和练习

      

 一,  系统的安装和启动

       1,仿真开发系统集成调试软件的安装和使用见WAVE仿真开发系统使用手册。

       2,用户根据实验内容,进行MCS51单片机实验时,应插上EX51B仿真板。

       3,将配套的串行通讯电缆的一端与实验仪上的“仿真器串口”

       4,9芯D形插座相连,另一端与PC相的串行口相连。

       5,将实验台的电源线与220V电源相连。(实验结束后应拔下)

       6,打开实验台电源开关,红色电源指示灯亮。仿真开发器初始化成功后,

       7,LED会显示8051,表示仿真系统正常。

       8,打开计算机电源,执行WAVE集成调试软件。

二, MCS51系列单片机实验仿真器设置

        WAVE集成调试环境应设置如下:

       1,仿真器型号:伟福Lab6000实验仪

       2,仿真头型号:MCS51实验  (8031/32)

三,       实验内容

       1,建立并运行Hello.prj项目。

       2,实验File,View,Edit,Project菜单和其他选项功能。

       3,实验设置Options的方法。

四,实验步骤

       1, 进入WAVE集成调试环境。

       2, 建立Hello.prj项目。

       3,编辑,编译程序文件Hello.C。

       4,运行并观察输出结果。

五, 参考程序Hello.C

       #includ<reg51.h>

#include<stdio.h>

void main(void)

   {

 SCON=0x50;//SCON:mode 1, 8-bit UART

 TMOD|=ox20;//tmod TC1 mode 2

 TH1=221;//16M BOT=1200

 TR1=1;//T1起动

 While(1)

  {

    Printf("Hello Word\n");

   }

}

实验二    P1口输入输出实验

一, 实验内容

1.       P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

2.       P1.0、P1.1作输入口,接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来。编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。

二, 实验目的

1, 学习P1口的使用方法。

2, 学习延时子程序的编写和使用

三,实验仪器、电路及连线


            

      

                 实验1 P1口循环点灯                   实验2 P1口输入输出

四, 实验说明

        P1口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。

五,实验原理及软件框图

六, 参考程序

(1)

#include <reg51.h>

void delay()

{

  unsigned int i;

  for (i=0; i<20000; i++) {}

}

void main()

{

  unsigned char index;

  unsigned char LED;

  while (1) {

    LED = 1;

    for (index=0; index < 8; index++) {

      P1 = LED;

      LED <<= 1;

      delay();

    }

  }

}

(2)

#include <reg51.h>

sbit KeyLeft  = P1^0;

sbit KeyRight = P1^1;

sbit LEDLeft  = P1^2;

sbit LEDRight = P1^3;

void main()

{

  while (1) {

                  LEDLeft  = KeyLeft;

                  LEDRight = KeyRight;

             }

}

相关推荐