文档库 最新最全的文档下载
当前位置:文档库 › 单片机原理和应用实验指导书

单片机原理和应用实验指导书

单片机原理和应用实验指导书
单片机原理和应用实验指导书

《单片机及使用系统设计》实验指导书

12 / 13 年第一学期

姓名:_____________

学号:_____________

班级:_____________

指导教师:_____________

计算机信息工程学院

计算机科学和工程系

2009年8月修订

目录

实验一P1口输入输出实验 (1)

实验二定时器实验 (3)

实验三外部中断实验 (5)

实验四串行口实验 (7)

实验五键盘显示实验 (9)

实验一P1口输入输出实验

一、实验目的

掌握单片机I/O口的使用,掌握数据输入输出程序编制的方法。

二、实验环境

硬件平台:TX-1C单片机学习板。

软件平台:keil软件

三、实验内容和要求

P1口循环点亮8个发光二极管

四、实验预习和准备

参考相关书籍,掌握TX-1C单片机学习板原理图。

五、实验过程和结果

#include

#include

unsigned char x=0xfe;

void delay(long time)

{

while(time>0)

time--;

}

void main()

{while(1)

{

P1=x;

delay(37620);

x=_crol_(x,1);

}}

六、实验小结和体会

通过本实验,懂得如何安装kell软件以及实验仿真板,懂得KEIL C51单片机仿真软件的调试,初步了解并熟悉实验板上单片机I/O口和LED灯的电路结构,能通过软件修改程序实现仿真板上不同灯的亮灭情况,并希望通过多次试验对

它有更多的了解。

实验二定时器实验

一、实验目的

掌握单片机定时器使用及其编程方法。

二、实验环境

硬件平台:TX-1C单片机学习板。

软件平台:keil软件

三、实验内容和要求

P1口循环点亮8个发光二极管,循环间隔为2S。

四、实验预习和准备

参考相关书籍,掌握TX-1C单片机学习板原理图。五、实验过程和结果

#include

#include

#define uchar unsigned char

uchar x=0xfe;

uchar count=0;

void sysinit()

{

TMOD=0x01;

TH0=0x4C;TL0=0x00;

TR0=1;ET0=1;

EA=1;

}

void Timer0() interrupt 1

{

count++;

if(count==40)

{

P1=x;

x=_crol_(x,1);

count=0;

}}

void main()

{ sysinit();

while(1);

}

六、实验小结和体会

通过本实验,了解了定时器的用途,真正做到了书本知识和实验相结合。当P1口用作输入时,所有位对应的锁存器必须先置1;读引脚和读锁存器区别:第一种方式是将引脚作为输入,那是真正地从外部引脚读进输入的值,第二种方式是该引脚处于输出状态时,有时需要改变这一位的状态,则并不需要真正地读引脚状态,而只是读入锁存器的状态,然后作某种变换后再输出。

实验三外部中断实验

一、实验目的

学习外部中断技术的基本使用方法及中断处理的编程方法。

二、实验环境

硬件平台:TX-1C单片机学习板。

软件平台:keil软件

三、实验内容和要求

当有外部中断0时,发光二极管开始循环点亮,循环间隔2S,同时蜂鸣器响,到最后一个发光二级管后,灯全灭,同时蜂鸣器停止响声。

四、实验预习和准备

参考相关书籍,掌握TX-1C单片机学习板原理图。

五、实验过程和结果

#include

#include

#define uchar unsigned char

uchar count=0,cs=0;

uchar x=0xFE;

uchar flag;

sbit SPK=P1^0;

void sysinit1()

{

EX0=1;

IT0=0;

EA=1;

PX0=0;

flag=1;

}

void sysinit2()

{

TMOD=0x01;

TH0=0x4C;

TL0=0x00;

TR0=1;

ET0=1;

EA=1;

PT0=1;

if(x==0xff)

x=0xFE;

//cs=0;

}

void main()

{

while(1)

{

sysinit1();

}

while(1);

}

void int0() interrupt 0 using 1 {

sysinit2();

}

void timer0() interrupt 1

{

TH0=0x4C;

TL0=0x00;

count++;

if(flag)

{ if(count==40)

{

count=0;

P1=x;

x=_crol_(x,1);

if(x==0xfe)

{

x=0xff;

}

cs++;

}

if(cs>8)

{ SPK=1;

flag=0;

ET0=0;

TR0=0;

cs=0;

}

else

SPK=!SPK;

}

}

六、实验小结和体会

本次实验,在经过了多次修改后我们才做出来。最大的感受就是实践是检验真理的唯一标准。通过本次实验了解了中断的使用方法以及外部中断和定时器是如何嵌套的,是通过改变PX和PT的值来实现中断的优先级,以及蜂鸣器的使用,这在以后的学习中会给我们很大的帮助。

实验四串行口实验

一、实验目的

利用单片机串行口,实现和PC机的通讯,了解其工作原理。

二、实验环境

硬件平台:TX-1C单片机学习板。

软件平台:keil软件

三、实验内容和要求

1、由上位机发送1给单片机时,蜂鸣器以400ms频率发声,发2时以200ms频

率发声,发3时以100ms频率发声,发4时关闲蜂鸣器。

2、根据通信协议控制单片机

协议定义:

地址码功能码数据码校验码校验字节为前面数据的异或和;

地址码为单片机地址码;

功能码为一个字节,具体含义如下:

0X00 : 设置单片机蜂鸣器发声频率,此时,数据码长度为2字节,为蜂鸣器发声频率,高位在前,低位在后,即f=数据码;

功能码0X00的返回码和接受码相同。

例如:设置单片机蜂鸣器发声频率为5HZ

发送:0X00 0X00 0X00 0X05 0X05

回复:0X00 0X00 0X00 0X05 0X05 同时单片机设置蜂鸣器发声频率为5HZ

0X01:读单片机蜂鸣器发声频率,发送时数据码长度为0,回复时数据码长度为2字节,高位在前,低位在后,

例如:

发送:0X00 0X01 0X01

回复:0X00 0X01 0X00 0X05 0X04

四、实验预习和准备

参考相关书籍,掌握TX-1C单片机学习板原理图。

五、实验过程和结果

4-1#include

#define uchar unsigned char

#define uint unsigned int

uchar aa,tt,flag,temp;

sbit SPK=P1^0;

void sysinit()

{

TMOD=0x21;TH0=0x3C;

TL0=0xB0;TH1=0xfd;

TL1=0xfd;TR1=1;

SM0=0;SM1=1;

REN=1;EA=1;

ET0=1;ES=1;

SPK=1;flag=0;

tt=0;temp=0;

}

void main()

{

sysinit();

while(1)

{ if(flag==1)

{flag=0;ES=0;

SBUF=temp;while(!TI);

TI=0;TR0=1;

if(temp==1)

{aa=8;

}

if(temp==2)

{aa=4;

}

if(temp==3)

{ aa=2;

}

if(temp==4)

{TR0=0;

SPK=1;

}

ES=1;

}}}

void time0() interrupt 1 {TH0=0x3c;

TL0=0xb0;

tt++;

if(tt==aa)

{tt=0;

SPK=~SPK;

}}

void ser() interrupt 4

{ RI=0;

temp=SBUF;

flag=1;

}

4-2.#include

#define uchar unsigned char uchar t,i,j,match,p,m;

uchar table[5],table1[5];

sbit SPK=P1^0;

void main()

{

TMOD=0x21;TH0=0x3c;

TL0=0xb0;TH1=0xfd;

TL1=0xfd;TR1=1;

TR0=1;SM0=0;

SM1=1;REN=1;

EA=1;ET0=1;

ES=1;SPK=1;

while(1)

{if(i==5&&table[0]==0x00&&table[1]==0x00) {match=table[0]^table[1]^table[2]^table[3];

m=table[3]+table[2]*256;

table1[0]=table[2];

table1[1]=table[3];

if(match==table[4])

{ for(j=0;j<5;j++)

{ ES=0;

SBUF=table[j];

while(!TI);

TI=0;ES=1;

}}

p=1;i=0;

}

if(i==3&&table[0]==0x00&&table[1]==0x01)

{match=table[0]^table[1];

if(match==table[2])

{ table[2]=table1[0];

table[3]=table1[1];

table[4]=table[0]^table[1]^table[2]^table[3];

for(j=0;j<5;j++)

{ ES=0;

SBUF=table[j];

while(!TI);

TI=0;

ES=1;

}}

i=0;

}

if(p==1)

{ t=0;

while(t!=m);

SPK=~SPK;

}}}

void ser() interrupt 4

{ RI=0;

table[i]=SBUF;

if(i<5)

i++;

}

void time0() interrupt 1

{

TH0=0x3c; TL0=0xb0;

t++;

if(i!=5&&i!=3)

i=0;

}

六、实验小结和体会

通过上课听老师讲解,和自己的操作,理解了单片机串行口的工作原理,学会了使用单片机的TXD、RXD口、MAX232芯片的使用。更好的了解单片机的发送和接受。

基本上了解了串行口之间的通信过程。

实验五键盘显示实验

一、实验目的

1.熟悉并掌握系统中扩展键盘显示接口的方法。

2.掌握键盘显示的工作原理和编程的方法。

二、实验环境

硬件平台:TX-1C单片机学习板。

软件平台:keil软件

三、实验内容和要求

按下矩阵键盘某个按键,数码管上显示对应的按键编号。

四、实验预习和准备

参考相关书籍,掌握TX-1C单片机学习板原理图。

五、实验过程和结果

5.1.#include

#define uchar unsigned char

#define uint unsigned int

sbit MOSIO=P2^2;

sbit R_CLKa=P2^3;

sbit S_CLKa=P2^4;

uchar code Table[]={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7c,~ 0x39,~0x5e,~0x79,~0x71};

uchar code Wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

uchar temp;

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void scan(void)

{

P3=0xf7;

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

delay(5);

P3=0xf7; //去抖动

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

temp=temp|0x07;

}

else

{

P3=0xfb; //扫描第三排

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

delay(5);

P3=0xfb; //去抖动

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

temp=temp|0x0b;

}

else

{ P3=0xfd; //扫描第二排

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

delay(5);

P3=0xfd; //去抖动

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

temp=temp|0x0d;

}

else

{

P3=0xfe; //扫描第一排

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

delay(5);

P3=0xfe; //去抖动

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

temp=temp|0x0e;}}}}} void send(uchar dat) //数据输入

{

uchar i;

for(i=0;i<8;i++)

{

if((dat<

MOSIO=1;

else

MOSIO=0;

S_CLKa=0;

S_CLKa=1;

}

}

void out(void) // 数据输出

{

R_CLKa=0;

R_CLKa=1; //上升沿

}

void disp(uchar w,uchar d) //数码管显示函数:w-位码,d-段码{

send(Wei[w]);

send(Table[d]);

out();

}

void dispoff(void) //关闭共阳数码管

{

send(0);

send(0);

out();

send(0xff);

out();

}

void main()

{

uchar num,shi,ge;

while(1)

{ dispoff();

scan(); //调用键盘扫描

switch(temp) //键盘扫描值num_key判断,即几号按键被按下

{

case 0xee :num=0;break; //B1按键按下

case 0xde :num=1;break; //B2按键按下

case 0xbe :num=2;break; //B3按键按下

case 0x7e :num=3;break; //B4按键按下

case 0xed :num=4;break; //B5按键按下

case 0xdd :num=5;break; //B6按键按下

case 0xbd :num=6;break; //B7按键按下

case 0x7d :num=7;break; //B8按键按下

case 0xeb :num=8;break; //B9按键按下

case 0xdb :num=9;break; //B10按键按下

case 0xbb :num=10;break; //B11按键按下

case 0x7b :num=11;break; //B12按键按下

case 0xe7 :num=12;break; //B13按键按下

case 0xd7 :num=13;break; //B14按键按下

case 0xb7 :num=14;break; //B15按键按下

case 0x77 :num=15;break; //B16按键按下

}

if(num<10)

{

disp(6,0);

delay(8);

disp(7,num);

delay(8);

}

else

{ shi=num/10;

ge=num%10;

disp(6,shi);

delay(8);

disp(7,ge);

delay(8);

} }}

5.2.#include

#define uchar unsigned char

#define uint unsigned int

sbit MOSIO=P2^2;

sbit R_CLKa=P2^3;

sbit S_CLKa=P2^4;

uchar code Table[]={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7c,~ 0x39,~0x5e,~0x79,~0x71};

uchar code Wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

uchar temp,temp1;

void delay(uint z)

{ uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);}

void scan(void)

单片机原理及应用实验指导书

单片机原理及应用实验指导书 湖南人文科技学院 二00一年三月

实验一I /O口输出实验—LED流水灯实验 一、实验目的 1、掌握单片机最小系统的构成; 2、掌握I/O口的使用及驱动能力的概念; 3、熟悉移位指令和软件延时程序。 二、实验设备与器件 1、计算机1台 2、PROTEUS单片机教学实验箱FB-EDU-P51A 三、实验原理 如下图所示,用单片机控制LED的亮与灭,在实验图中将MCU的P1口与LED的阴极相连,当P1口给低电平时,LED发亮,当P1口给高电平时,

四、实验内容 1、利用51单片机及8个发光二级管等器件,构成一个流水灯单片机系统。 2、用Keil C51软件创建程序 3、对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真; 4、实验板验证 (1)用ISP下载hex程序到CPU (2)按连接表连接电路 (3)检查验证结果 五、实验报告 在预习报告的基础上写出详细实验过程;画出实验原理图,写出单片机控制程序,写出调试步骤与仿真方法,观察实验现象,得出实验结果,并分析实验结果的正确性。 六、预习要求 1、单片机最小系统的构成 2、单片机I/O口的使用以及软件延时程序的编写。 七、实验参考程序 ORG 00H START: MOV R2,#8 MOV A,#0FEH LOOP: MOV P1,A LCALL DELAY RL A ;循环左移 DJNZ R2,LOOP ;判断移动是否超过8 位, 未超过继续循环 LJMP START DELAY: MOV R5,#20 ;延时程序,延时0.2s D1: MOV R6,#20

单片机原理及应用技术苏家建曹柏荣汪志锋课后习题参考答案

单片机原理及应用技术苏家建 课后习题参考答案 第三章MCS-51指令系统 3-1 MCS-51指令系统有哪几种寻址方式?按功能分类有哪几种指令? 3-2 设A=0FH,R0=30H,片内RAM的(30H)=0AH, (31H)=0BH, (32H)=0CH,下列程序段运行后的结果? MOV A,@R0 ;A=0AH MOV @R0,32H ;(30H)=0CH MOV 32H,A ;(32H)=0AH MOV R0,#31H ;R0=31H MOV A,@R0;A=(31H)=0BH 3-3 (1)R0的内容传送到R1 MOV A,R0 MOV R1,A (2)内部RAM 20H单元的内容传送到A MOV A,20H (3)外部RAM 30H单元的内容传送到R0 MOV R1,#30H MOVX A,@R1 MOV R0,A (4) 外部RAM 30H单元的内容传送到内部RAM 20H单元 MOV R1,#30H MOVX A,@R1 MOV 20H,A (5) 外部RAM 1000H单元的内容传送到内部RAM 20H单元 MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A (6)程序存储器ROM 2000H单元的内容传送到R1 MOV DPTR,#2000H CLR A MOVC A,@A+DPTR MOV R1,A (7) RAM 2000H单元的内容传送到内部RAM 20H单元 MOV DPTR,#2000H MOVX A,@DPTR MOV 20H,A (8) RAM 2000H单元的内容传送到外部RAM 30H单元 MOV DPTR,#2000H MOVX A,@DPTR MOV R0,#30H MOVX @R0,A (9) RAM 2000H单元的内容传送到外部RAM 1000H单元

单片机原理及其接口技术实验报告

单片机原理及其接口技术实验指导书 实验1 Keil C51的使用(汇编语言) 一.实验目的: 初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。 二.实验设备: ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。 三.实验原理及环境: 在计算机上已安装Keil C51软件。这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。 四:实验内容: 1.掌握软件的开发过程: 1)建立一个工程项目选择芯片确定选项。 2)加入C 源文件或汇编源文件。 3)用项目管理器生成各种应用文件。 4)检查并修改源文件中的错误。 5)编译连接通过后进行软件模拟仿真。 6)编译连接通过后进行硬件仿真。 2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。 3.在2的基础上,实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。 五:程序清单: ORG 0000H AGAIN:CPL P1.0 MOV R0,#10 ;延时0.5秒 LOOP1:MOV R1,#100 LOOP2:MOV R2,#250 DJNZ R2,$ DJNZ R1,LOOP2 DJNZ R0,LOOP1 SJMP AGAIN END 六:实验步骤: 1.建立一个工程项目选择芯片确定选项 如图1-1所示:①Project→②New Project→③输入工程名test→④保存工程文件(鼠标点击保存按钮)

《单片机原理及应用》实验指导

《单片机原理及应用》实验指导 控制技术实验室

实验一 熟悉 Keil c51 集成开发环境及常用指令实验 (2 课时,验证型) 一、实验目的 1) 了解 8051 典型应用系统的开发过程,熟悉 Keil C51集成开发环境。 2) 掌握单步执行程序,查看专用寄存器和单片机 RAM 的执行结果。 3) 掌握 8051 的寻址方式及常用指令的使用方法。 二、实验内容 1) 基本指令练习。 2) 数据传送(循环方式) 。 3) 位操作指令。 4) 8051 内部 RAM 的 40H~4FH 置初值 A0H~AFH,然后将 40H~4FH 的内容 传送到外部 RAM 中的 C000H~C00FH 单元,再把外部数据 RAM 中的 C000H~C00FH 单元的内容传送到 8051 内部 RAM 中的 50H~5FH 单元。 5) 调试下列程序,熟悉程序调试手段,观测程序运行结果。 ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV SP,#6FH MOV R0,#40H MOV R1,#30H MOV 30H,#40H MOV A,#40H MOV @R0,A ?哪一个存储单元的内容与 A 中内容相等 INC A MOV A,@R1 ?A 中的内容?哪一个存储单元的内容传给 A PUSH ACC POP 32H ?SP 指针的变化?32H 中的内容 MOV A,#5FH SWAP A ?A 中的内容 ?上面程序为顺序执行的程序 XUNHUAN1: MOV R0,#30H MOV R7,#10H CLR A ?这 3 条指令的作用 LOOP1: MOV @R0,A INC A INC R0 DJNZ R7,LOOP1 ?R7 的作用 ?循环程序执行完之后,指出 32H,37H,3BH, 3FH 存储单元中的值,为什么? XUNHUAN2: MOV R0,#30H MOV R1,#40H

单片机原理实验指导书(2012.10)

《单片机原理》实验指导书 计算机科学与技术系2012年8月

目录 第一部分单片机仿真实验 (1) 实验一:流水灯实验 (1) 实验二:中断实验 (4) 实验三:定时器中断实验 (6) 实验四:串行口实验 (9) 实验五:矩阵式键盘输入识别 (13) 实验六:LCD循环显示设计 (19) 第二部分单片机硬件实验............................错误!未定义书签。第一章试验箱系统概述 ...................................错误!未定义书签。 一、系统地址分配........................................... 错误!未定义书签。 二、系统接口定义........................................... 错误!未定义书签。 三、通用电路简介........................................... 错误!未定义书签。第二章实验指导...............................................错误!未定义书签。实验七P1口亮灯和P1口加法器实验........... 错误!未定义书签。实验八简单I/O口扩展(选作).................. 错误!未定义书签。实验九8255控制交通灯................................ 错误!未定义书签。实验十128*64LCD液晶显示 .......................... 错误!未定义书签。

第一部分单片机仿真实验 实验一:流水灯实验 一、实验目的: 通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。 二、实验原理图 实验参考电路图如下: 三、参考实验程序 //流水灯实验 #include //包含单片机寄存器的头文件 sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机 //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的

单片机原理与应用技术教学大纲

《单片机原理与应用技术》教学大纲 一、课程名称 单片机原理与应用技术 二、先修课程 电子技术类基础课程和微机应用类基础课程 三、课程性质与任务 课程性质: 本课程是高职高专电子类相关专业的的一门专业课程。本大纲可作为(高中后大专、对口单招、五年制高职)层次学生的教学参考。 课程的任务: 它以MCS-51单片机为例,详细介绍片内结构、工作原理、接口技术和单片机在各领域中的应用。为学生进一步学习微机在智能仪表、工业控制领域中的应用技术奠定必要的基础。 四、课程教学目标 1、知识目标 (1)熟练掌握单片机内部硬件结构、工作原理及指令系统,掌握程序的设计基本方法,能够较熟练地设计常用的汇编语言源程序; (2)掌握单片机的接口技术,熟悉常用的外围接口芯片及典型电路。 (3)熟悉设计、调试单片机的应用系统的一般方法,具有初步的软、硬件设计能力。 (4)能够熟练地掌握一种单片机开发系统的使用方法。 2、能力目标 初步具备应用单片机进行设备技术改造、产品开发的能力。 五、教学内容 第一章微机基础知识 (一)教学目的 熟悉微处理器、微型机和单片机的概念及组成。掌握计算中常用数制及数制间的转换,了解BCD码和ASCII码。熟悉数据在计算机中的表示方法。 (二)教学重点与难点 重点:

计算中常用数制及数制间的转换。 难点: 微处理器、微型机和单片机的概念及组成,微机的工作过程 (三)教学内容 1、微处理器、微机和单片机的概念; 2、微机的工作过程。 (四)本章小结 1、数制有二进制、十进制、十六进制等。 2、计算机系统中常包含有地址总线、数据总线、控制总线 3、微处理器是由运算器、控制器两部组成 4、单片机是由输入、输出、接口电路、时钟电路、存储器、运算器、控 制器几部分组成 (五)思考题 1、试用计算机汇编语言指令完成12*34+56÷7-8的计算步骤? 第二章 MCS-51单片机的结构和原理 (一)教学目的 熟悉MCS- 51单片机内部结构、引脚功能以及单片机执行指令的时序;掌握单片机存储器结构和输入/输出端口结构特点。掌握堆栈的使用。 (二)教学重点与难点 重点: 1、8051的存储器配置及特点; 2、21个特殊功能寄存器(SFR)的功能; 3、堆栈的概念; 4、复位电路。 难点: 1、MCS- 51单片机内部结构; 2、CPU时序。 (三)教学内容

《单片机原理及应用》实验指导书.

单片机原理及应用实验指导书 罗钧付丽编 重庆大学光电工程学院 2010年5月 目录 实验规则 (2 实验一单片机监控程序实验(4学时 (3 附1.1:LAB2000P实验仪 (9 附1.2:验证实验程序 (10 附1.3:K EIL的使用步骤参考 (17 实验二 A/D转换实验 (3学时 (21 附2.1:验证实验程序 (24 实验三 D/A转换实验 (2学时 (25

附3.1:DA转换实验程序 (27 实验四单片机系统综合实验( 3学时 (28 附4.1:实验仪中的温度传感器电路 (30 附4.2:直流电机和步进电机控制接口电路 (31 实验规则 为了维护正常的实验教学次序,提高实验课的教学质量,顺利的完成各项实验任务,确保人身、设备安全,特制定如下实验规则: 一、实验前必须充分预习,完成指定的预习内容,预习要求如下: 1.认真阅读本实验指导书,分析掌握本次实验的基本原理; 2.完成各实验预习要求中指定的内容; 3.明确实验任务。 二、实验时,认真、仔细的写出源程序,进行调试,有问题向指导老师举手提问; 三、实验时注意观察,如发现有异常现象(电脑故障或实验箱故障,必须及时报告指导老师,严禁私自乱动。 四、实验过程中应仔细观察实验现象,认真记录实验数据、波形、逻辑关系及其它现象,记录的原始结果必须经指导教师审阅签字后,方可离开。 五、自觉保持实验室的肃静、整洁;实验结束后,必须清理实验桌,将实验设备、工具、导线按规定放好,并填写仪器设备使用记录。 六、凡有下列情况之一者,不准做实验: 1.实验开始后迟到10 分钟以上者;

2.实验中不遵守实验室有关规定,不爱护仪器,表现不好而又不服从教育者; 七、实验后,必须认真作好实验报告,在规定时间里必须交给实验指导老师,没交实验报告者,视为缺做一次实验。实验报告要求必须包括: 1.写出设计实验程序; 2.总结实验步骤和实验结果; 八、一次未做实验,本实验课成绩视为不及格。 以上实验规则,请同学们自觉遵守,并互相监督。 实验一单片机监控程序实验(4学时 实验预习要求: 1.按照附3学习使用Keil软件。 2.熟悉键盘和显示器接口及工作原理。 3.根据实验原理,读懂验证实验程序,并写出设计性实验源程序。 4.思考题: (1从附1.2监控程序可以看出:六位数码管显示的数据存放在单片机哪个位置? (2参考图1.1A与监控程序,键盘上若数字键7被按下,单片机怎样判断该键被按下? 一、实验目的 1.掌握8031系统中,键盘和显示器的接口方法。 2.掌握键盘扫描和LED八段码显示器的工作原理。

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

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

实验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);

单片机原理实验指导书

实验一LED 流水灯 一、实验目的 1. 学习单片机并口的使用方法。 2. 学习延时子程序的编写和使用。 3. 学习集成开发环境MedWin的安装与使用。 4. 学习STC单片机在线下载软件STC-ISP的使用。 二、实验内容 所谓流水灯就是4 个发光二极管(LED)轮流点亮,周而复始。实验板上以P3口作输出口,接有四只发光二极管,当单片机的引脚输出为低电平时发光二极管点亮,为高电平时息灭。编写程序,使4 个发光二极管循环点亮,时间间隔约0.5 秒。 三、实验电路连线 实验板上与本实验有关的硬件如下图所示。4 个LED上串联4 个限流电阻,以防止其电 流过大而烧坏。单片机的主时钟为11.0592MHz。 四、实验说明 1、P3 口是准双向口,它作为输出口时与一般的双向口使用 方法相同。由准双向口结构可知当P1 口用作输入口时必须先对它 置“1”。若不先对它置“1”,读入的数据是不正确的。输出时需 要接上拉电阻,P3 口内部有弱上拉,若将外围电路设计为低有效, 高无效,则无需再外接上拉电阻。 2、为使每次点亮一个LED,应使P3.4~P3.7 4 个端口中有 一个为低,其余均为高,延时一段时间后再点亮另一个LED。 3、编写for 循环构成的软件延时子程序,在MedWin 下模拟 执行,根据MedWin 显示的执行时间,调整循环变量的终值,使延时时间约0.5秒,在晶振频率为11.0592MHz情况下,循环终值约27000。程序如下: void delay(void) { unsigned int i,j,k,l; for(i=0;i<=27000;i++) {j++; k++;l++;}; } #include void main (void) { unsigned char i,c[4] = {0xef,0xdf,0xbf,0x7f};// 从左往右流水 i = 0; while(1) { P3 = c[i & 3]; i++; 11 delay(); } } 五、思考 1、如何使点亮的LED 从右往左移动? 2、如何使点亮的LED 从两边往中间移动?

单片机原理与接口技术实验指导书

《单片机原理与接口技术》实验指导书 主编李鹏、张杰 西南科技大学制造科学与工程学院 2013年3月

制造科学与工程学院 目录 实验一I/O接口实验 (3) 实验二中断系统实验 (5) 实验三定时器/计数器实验 (8) 实验四串行通信实验 (10) 2

西南科技大学实验指导书 3 实验一 I/O 接口实验 一、 实验目的 了解单片机片内4个8位I/O 端口的使用,掌握I/O 端口的应用及C51的编程方法。 二、 实验仪器和设备 1. 单片机实验板 一台 2. 计算机 一台 三、 实验简介 1. 实验内容 上下来回循环点亮八个发光二极管。 2. 实验线路及其连接 图1-1 发光二极管与P1口的连接电路 3. 实验程序参考流程图

制造科学与工程学院 图1-4程序流程图 四、实验步骤 1. 检查实验板连线是否正确 2. 用USB线连接单片机实验板和PC,利用USB接口对实验板供电 3. 用keil软件编写并调试程序,在程序无误的时候编译成hex文件,使用串口线与电脑的串口相连,运行串口下载工具STC-ISP,下载程序到单片机中。 4.观察发光二极管的闪烁状态,是否与实验要求相符。若不符,请修改程序,直到达到实验需求。 五、实验报告 实验类型为验证型实验,要求学生在实验过程中掌握单片机的输入输出接口技术、单片机的编程方法,为后续实验打下坚实的基础。 本次实验报告的内容主要是: 1. 实验目的:本次实验主要达到的要求及目的 2. 实验设备:本次实验的主要设备 3. 实验内容:本次实验的硬件原理图(要求用Protel或Proteus画出原理图)及原理图的说明、程序流程图及详细说明、实验程序等 4. 实验具体步骤:连接线路、输入程序、调试程序、观察结果、修改程序 5. 实验程序上机验证:写出运行后得到的结果,并分析与预习中的结果是否相同 6. 心得体会:本次实验中遇到的问题、解决方法及收获 六、预习要求 1. 复习单片机输入输出接口技术相关内容。 2. 预习本次实验内容,画出流程图、编写程序 4

西南科技大学单片机原理实实验四及代码

2.1实验四中断实验 一、实验目的 加深对MCS-51单片机中断系统基础知识的理解。 二、实验设备 Keil C单片机程序开发软件。 Proteus仿真软件 DP51-PROC单片机综合实验仪。 三、实验容和步骤 容: 利用外部中断输入引脚(以中断方式)控制步进电机的转动。要求:每产生1次中断,步进电机只能步进1步。 实验程序: 使用INT0的中断服务程序控制步进电机正向步进;使用INT1中断服务程序控制步进电机反向步进。 设计思路: ①主程序在完成对INT0和INT1的设置后,可进入死循环(等待中断请求)。 ②为便于实验观察和操作,设INT0和INT1中断触发方式为边沿。 ③步进电机的转动控制由外部中断的服务程序来实现。 ④当前步进电机的相位通电状态信息可以使用片RAM中的一个字节单元来存储。 设计参考: ①主程序需要设置的中断控制位如下: IT0和IT1 外部中断触发方式控制0=电平1=边沿(下降沿) EX0和EX1 外部中断允许控制0=屏蔽1=允许 PX0和PX1 中断优先级级别控制0=低级1=高级 在同级别(PX0=PX1)时INT0的优先级高于INT1 EA 中断允许总控制0=屏蔽1=允许 ②外部中断服务程序的入口地址: 0003H 外部中断0 0013H 外部中断1 预习: 1)编写好实验程序。 2)根据编写的程序和实验步骤的要求制定调试仿真的操作方案。 实验单元电路:

1) 步进电机驱动电路。 步进电机共有4相,当以A →B →C →D →A →B …的顺序依次通电时,电机就会正转,若按相反的顺序依次通电,电机就会反转。每顺序切换一相(1步),电机旋转18°,切换的频率决定电机的转速(切换的频率不能超过电机的最大响应频率)。根据图2.4中的电路,当BA (插孔)输入为高时,对应的A 相通电。 2) SW 电路 开关SW X 拨在下方时,输出端SWX 输出低电平,开关SW X 拨在上方时,输出端SWX 输出高电平。其中SW1和SW3具备消除抖动电路,这样,SW1或SW3每上下拨动一次,输出端产生单一的正脉冲(上升沿在前,下降沿在后)。 3) LED 和KEY 电路 步骤: 1) 在S : \ STUDY \ Keil 文件夹中新建Ex04文件夹(该文件夹用于保存本次实验的所 有容),通过网上邻居将服务器上本次实验共享文件夹下的所有文件拷贝到S : \ STUDY \ Keil \ Ex04文件夹中。 2) 在Keil C 中创建一个新工程,新工程保存为S : \ STUDY \ Keil \ Ex04\Ex04.uv2, 然后选择单片机型号为Generic 中的8051。 3) 设置工程选项,将工程选项设置如下: 图2.5 单脉冲电路原理图 +5V +5V 图2.4 步进电机驱动电路原理图 LED1 LED8 +5V 图2.6 LED 和KEY 电路 +5V

2012单片机原理及应用实验指导书

《单片机原理与应用》 实验指导书 青岛科技大学信息学院

实验一简单程序设计 一、实验目的 1.熟悉实验环境 2.掌握基本指令的使用方法 3.掌握RAM的操作方法 二、预习知识 1. MCS-51存储器组织 2. 简单指令 3. QTH单片机实验仪和模拟调试器集成开发环境 三、实验设备与环境 1.硬件:QTH单片机实验仪 2.软件:QTH模拟调试器集成开发环境 四、实验内容 1. 设从片内30H和32H开始分别存放两个16位无符号二进制数(低8位在低地址,高8位在高地址),完成两个数相加的程序,并将结果放入34H开始的单元。将1122H和3344H分别送入RAM单元,观察结果和CY标志;再分别将8899H和AABBH放入RAM单元,再观察结果和CY标志。 2.将30H单元内的2个BCD数相乘,乘积为BCD数,并把乘积送入31H单元。 3.实现将无符号数扩大6倍,设扩大6倍后的值不超过255。 4.内部RAM从30H开始的连续10个单元存放着10个无符号数,写一段程序将此十个数按增序列排序 5. 以上编写的程序,进行单步执行,观察相应专用寄存器、RAM空间(包括工作寄存器区、位寻址区、用户RAM区)数据的变化情况以及程序存储器的指令代码。 6. 验证堆栈操作的步骤: PUSH direct:①(SP)←(SP)+1, ②direct地址单元的内容压入SP指向的单元。 POP direct:①SP指向的单元内容弹出到以direct为地址的单元, ②(SP)←(SP)-1。 7. 调试上课所讲的例题。 五、实验要求 掌握程序的设计、调试并保证其正确运行;认真完成实验报告。 六、实验报告1、实验目的2、实验内容3、实验采用的器件和连线4、实验结果和现象5、实验过程分析6、实验总结

单片机原理及应用习题答案

思考与练习题1 1.1单项选择题 (1)单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCP B.CPU C.DPJ D.SCM (2)Intel公司的MCS-51系列单片机是( C )的单片机。 A.1位 B.4位 C.8位 D.16位 (3)单片机的特点里没有包括在内的是( C ) A.集成度高 B.功耗低 C.密封性强 D.性价比高 (4)单片机的发展趋势中没有包括的是( B ) A.高性能 B.高价格 C.低功耗 D.高性价比 (5)十进制数56的二进制数是( A ) A.00111000B B.01011100B C.11000111B D.01010000B (6)十六进制数93的二进制数是( A ) A.10010011B B.00100011B C.11000011B D.01110011B (7)二进制数11000011的十六进制数是( B ) A. B3H B.C3H C.D3H D.E3H (8)二进制数11001011的十进制无符号数是( B ) A. 213 B.203 C.223 D.233 (9)二进制数11001011的十进制有符号数是( B ) A. 73 B.-75 C.-93 D.75 (10)十进制数29的8421BCD压缩码是( A ) A.00101001B B.10101001B C.11100001B D.10011100B (11)十进制数-36在8位微机中的反码和补码是( D ) A.00100100B、11011100B B.00100100B、11011011B C.10100100B、11011011B D.11011011B、11011100B (12)十进制数+27在8位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B (13)字符9的ASCII码是( D ) A.0011001B B.0101001B C.1001001B D.0111001B (14)ASCII码1111111B的对应字符是( C ) A. SPACE B.P C.DEL D.{ (15)或逻辑的表达式是( B ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (16)异或逻辑的表达式是( C ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.01100110B、11111111B、10011001B (19)下列集成门电路中具有与门功能的是( D ) A.74LS32 B.74LS06 C.74LS10 D.74LS08

单片机原理和应用实验指导书

《单片机及使用系统设计》实验指导书 12 / 13 年第一学期 姓名:_____________ 学号:_____________ 班级:_____________ 指导教师:_____________ 计算机信息工程学院 计算机科学和工程系 2009年8月修订

目录 实验一P1口输入输出实验 (1) 实验二定时器实验 (3) 实验三外部中断实验 (5) 实验四串行口实验 (7) 实验五键盘显示实验 (9)

实验一P1口输入输出实验 一、实验目的 掌握单片机I/O口的使用,掌握数据输入输出程序编制的方法。 二、实验环境 硬件平台:TX-1C单片机学习板。 软件平台:keil软件 三、实验内容和要求 P1口循环点亮8个发光二极管 四、实验预习和准备 参考相关书籍,掌握TX-1C单片机学习板原理图。 五、实验过程和结果 #include #include unsigned char x=0xfe; void delay(long time) { while(time>0) time--; } void main() {while(1) { P1=x; delay(37620); x=_crol_(x,1); }} 六、实验小结和体会 通过本实验,懂得如何安装kell软件以及实验仿真板,懂得KEIL C51单片机仿真软件的调试,初步了解并熟悉实验板上单片机I/O口和LED灯的电路结构,能通过软件修改程序实现仿真板上不同灯的亮灭情况,并希望通过多次试验对

它有更多的了解。 实验二定时器实验 一、实验目的 掌握单片机定时器使用及其编程方法。 二、实验环境 硬件平台:TX-1C单片机学习板。 软件平台:keil软件 三、实验内容和要求 P1口循环点亮8个发光二极管,循环间隔为2S。 四、实验预习和准备 参考相关书籍,掌握TX-1C单片机学习板原理图。五、实验过程和结果 #include #include #define uchar unsigned char uchar x=0xfe; uchar count=0; void sysinit() { TMOD=0x01; TH0=0x4C;TL0=0x00; TR0=1;ET0=1; EA=1; } void Timer0() interrupt 1 { count++;

单片机原理与应用技术实验报告(实验项目:定时器)

*****数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术 姓名:学号:实验室:硬件实验室 同组同学: 实验时间:2013年3月20日指导教师签字:成绩: 实验项目:定时器 一实验目的和要求 定时器0实现1s定时,流水灯显示上的数据每秒加1。 二实验环境 PC机一台,实验仪器一套 三实验步骤及实验记录 1.在pc机上,打开Keil C。 2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。 3.选择工程文件要存放的路径 ,输入工程文件名 M, 最后单击保存。 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 LE1=P2^0; //位选573锁存器使能 sbit LE2=P2^1; //段选573锁存器使能 #define uchar unsigned char #define uint unsigned int

单片机原理实验报告 (格式)

成都工业学院实验报告 评定成绩:评定教师: 课程名称:单片机原理与应用实验类型:验证性 实验项目名称:实验二:基本的输入输出 学生姓名:薛佳伟专业:电子信息工程学号:1603013135 同组学生姓名:谢志宏指导老师:曾一江,袁曦 实验地点:2209 实验日期:2018 年11 月1 日 一、实验目的和要求 进一步熟悉Keil软件的单步和断点的调试方法,熟悉proteus软件的仿真环境,掌握用proteus软件绘制原理图,加载程序进行仿真的基本方法;熟悉片内I/O查询方式输入输出的仿真输出编程方法及无条件指令LJMP与SJMP的应用,完成片内I/O口查询方式输入输出的仿真调试。 二、实验内容和原理 采用查询方式判断SU1开关是否闭合,如果开关闭合,采用循环程序控制方式控制4个灯

轮流点亮,延时方式采用软件延时。 三、主要仪器设备 计算机一台,KEIL仿真软件,Proteus仿真软件,单片机开发板一个。 四、实验步骤 (一)建立设置工程,保存文件 使用keil软件工程建立,输入程序并保存工程SY3.Uv2及SY3.ASM的文件,并对工程进行设置 (二)编译,链接 编译,链接程序,修改编译错误,并生成SY3.HEX文件用于Protues仿真 (三)调用延时程序 将断点设在RET处,设置PC=0100H点击运行,看程序从0100H是否能执行到断点RET 处 (四)调试主程序 1.调试前段程序 调试时,先将“断点”设在LOOP1处,然后按复位按钮使单片机”复位“,程序从0000H 开始执行,看开关为“0”时程序是否停在LOOP1处,若不是,则用单步方式细调。 在调试P0~P3端口时,可选择打开P0~P3口的监视窗口。 2.调试后一段程序 第一步先检查调用指令是否正常。检查调用指令时,将“断点”设在标号DL Y即0100H

《单片机原理》实验指导书proteus

《单片机原理及接口》 实验指导书 莆田学院信息工程学院 2016年2月

目录 实验一仿真系统搭建 (1) 实验二实验系统编程应用 (7) 实验三流水灯实验 (9) 实验四 LED数码管显示实验 (11) 实验五键盘实验 (13) 实验六中断系统实验 (15) 实验七 51定时器实验 (17)

实验一仿真系统搭建 一、实验目的 了解实验设备的软硬件组成,包括keil单片机仿真软件的安装、设置与使用,单片机仿真调试软件的安装、设置与使用,单片机仿真器的功能、结构与使用,51单片机实验板的电路结构、工作原理与使用。 熟悉使用keil单片机仿真软件、仿真调试软件和实验板进行协调工作的方法。熟悉使用至少两种单片机仿真系统建立、设置、调试工作项目的方法。 二、实验原理 整个实验系统由仿真调试软件(keil单片机仿真软件、伟福仿真调试软件)、单片机仿真头(伟福仿真器)和单片机最小板(51单片机实验板)组成或使用Proteus 仿真系统进行硬件仿真。仿真软件进行项目的管理设置,仿真器进行软件的下载与单片机的仿真(IAP),实验板搭载建立各种外围电路。 主要掌握的软件有KEIL编程软件、Proteus硬件仿真软件和其他一些差用软件及硬件构造。 整个实验系统使用时,若使用硬件仿真,第一步安装KEIL软件,第二步安装星研系列仿真调试软件,第三步将仿真器的数据口和电源口连接微机及实验板,进行仿真器驱动安装。第四步将仿真头插入实验板插座(注意仿真头三角箭头标注引脚为第一脚),开机调试。若使用软件仿真,第一步安装KEIL软件,第二步安装Proteus硬件仿真软件,然后用Proteus硬件仿真软件进行电路构建,最后进行程序调试。 1、Keil软件的安装设置:

单片机原理及应用课程标准

《单片机原理及应用》课程标准 课程名称:《单片机原理及应用》 课程类型:专业基础课 总学时:100 适应专业:电子类专业 制订人:段安红 2010年6月

《单片机原理及应用》课程标准 课程名称:《单片机原理及应用》 课程类型:专业基础课 总学时: 适应专业:电子类专业 一、课程概述 1.课程性质 单片机技术是现代电子工程领域一门飞速发展的技术,其在教学及产业界的技术推广仍然是当今科学技术发展的热点,学习单片机并掌握其设计应用技术已经成为电子类学生必须掌握的一门技术,也是现代工科学生的一个基本条件。 《单片机原理及应用》是应用电子技术的一门专业基础课。它以模拟电子技术、数字电子技术、C语言或汇编语言等课程为基础。它可以充分体现学生利用自己所掌握的知识解决实际工程问题的能力。 通过本课程的学习,使学生掌握单片机技术及其在工业控制和日常生活中的应用,培训学生实践能力、创新能力和新产品设计开发能力,为将来从事电子电器新产品设计开发,电子产品的检测和维护等工作奠定坚实的基础,为学生将来在电子类专业领域进一步发展打下良好基础。 2.课程基本理念 本课程的设计突破了学科体系模式,打破了原来各学科体系的框架,将学科的内容按“项目”进行整合。本课程的“项目”包含了单片机就用技术的四个项目,每个项目均由若干个具体的典型工作任务组成,每个任务均将相关知识和实践过程有机结合,力求体现“做中学”,“学中做”的教学理念;本课程内容的选择上降低理论重心,突出实际应用,注重培养学生的应用能力和解问题的实际工作能力。 3.课程设计思路 本课程标准注重培养分析问题、解决问题的能力、强化学生动手实践能力,遵循学生认知规律,紧密结合应用电子专业的发展需要,为将来从事应用电子产品的设计、检测奠定坚实的基础。将本课程的教学活动分析设计成若干项目或工作情景,以项目为单位组织教学、并以典型设备为载体,通过具体案例,按单片机项目实施的顺序逐步展开,让学生在掌握技能的同时,引出相关专业理论知识,使学生在技术训练过程中加深对专业知识、技能的理解和应用、培养学生的综合职业能力,满足学生职业生涯发展的需要。

单片机原理实验报告(详细)

湖南城市学院 实验报告 2018-2019 学年上学期 姓名:*** 班级学号:****** 实验课程:单片机原理及应用 实验室名称:电子工程实验室 湖南城市学院信息与电子工程学院实验中心印制

实验项目名称:实验一指示灯和开关控制器实验 一、实验目的及要求 1、学习51单片机I/O基本输入/输出功能,掌握汇编语言的编程与调试方法; 2、熟悉proteus软件,了解软件的结构组成与功能; 3、学会在ISIS模块中进行汇编程序录入、编译和调试; 4、理解单片机程序控制原理,实现指示灯/开关控制器的预期功能。 二、实验原理 实验电路原理图如图1所示,图中输入电路由外接在P3口的8只拨动开关组成;输出电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 图1 实验原理图

在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的灯亮状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。软件编程原理为:(1)8只发光二极管整体闪烁3次 亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P3口(即开关状态)内容送入P2口; 无限持续:无条件循环。 程序流程图如图2所示。 图2 实验程序流程图

三、实验仪器设备及装置 (1)硬件:电脑一台; (2)仿真软件:Proteus; (3)编程软件Keil uVision4。 其中,仿真软件ISIS元件清单如表1所示。 表1 仿真软件ISIS元件清单 四、实验内容和步骤 (一)实验内容: (1)熟悉ISIS模块的汇编程序编辑、编译与调试过程; (2)完成实验的汇编语言的设计与编译; (3)练习ISIS汇编程序调试方法,并最终实现实验的预期功能。 (二)实验步骤: (1)提前阅读与实验相关的阅读材料; (2)参考指示灯/开关控制器的原理图和实验的元件清单,在ISIS中完成电路原理的绘制; (3)参考程序流程图在Keil uVision4中编写和编译汇编语言程序; (4)利用ISIS的汇编调试功能检查程序的语法和逻辑错误; (5)观察仿真结果,检验与电路的正确性。

单片机原理与应用实验指导书(学生部分)(2009.4修订)

单片机原理与应用实验指导书 2009年5月

第一章实验箱系统概述一、系统地址分配 (1),存贮器地址分配 (2),I/O地址分配 二、系统接口定义 (1),CZ11:用户实验通讯接口; (2),CZ4:打印接口;

(3),JX0,JX17为系统提供的数据总线接口 (4),CZ7:系统提供的扩展接口; (5),JX12、JX14:液晶显示接口 三、通用电路简介 (1)LED发光二极管指示电路:实验台上包括16只发光二极管及相应驱动电路。见图1-1,Ll—L16为相应发光二极管驱动信号输入端, 该输入端为低电平 “0”时发光二极管亮

图1-6 (2)逻辑电平开关电路:见图1-2。实验台上有8只开关Kl-K8, 与之相对应的K1-K8个引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电平“l”, 向下拨相应插孔输出低电平“0”。 图1-7 (3)单脉冲电路:实验台上单脉冲产生电路如图1-3,标有“”和“”的两个引线插孔为正负单脉冲输出端。附近按钮AN为单脉冲产生按钮,每按一次产生一个单脉冲。 图1-8

(4)分频电路:该电路由一片74LS393组成,见图1-4。T0—T7为分频输出插孔。 该计数器在加电时由RESET信号清零。当脉冲输入为8.0MHZ时,T0—T7输出脉 冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。 图1-9 (5)脉冲发生电路:实验台上提供一8MHZ的脉冲源,见图1-5,实验台上标有8MHZ 的插孔,即为脉冲的输出端。 图1-10 (6)485接口电路: 图1-11

相关文档
相关文档 最新文档