当前位置:文档之家› 单片机实验9

单片机实验9

单片机实验9
单片机实验9

乐山师范学院学生实验报告

实验课程名称:实验日期:年月日

姓名沈佳琪学号1330104040 同组人

班级物电系(院)电信专业13 级 3 班指导老师

一、实验项目名称

键盘和数码管、液晶的应用

二、实验目的

掌握数码管显示基本原理、编程方法

了解液晶的使用

了解键盘扫描程序的编写

熟悉液晶、数码管的应用

三、实验主要仪器设备仪器、器材、软件等

计算机

四、实验原理

五、实验内容、步骤

六、实验记录(数据、现象、报表、软件、图象等)

org 0000h

sjmp main

org 000bh

ajmp timer0

org 0030h

main:

mov sp,#0dfh

mov p0,#0

mov r2,#0

mov r3,#0

mov r4,#20

mov tmod,#02h

mov tl0,#6

mov th0,#6

setb tr0

loop:

setb p0.0

setb p0.5

aa:

acall disp

cjne r4,#0,aa

clr p0.0

clr p0.5

mov r4,#2

setb p0.1

setb p0.4

bb:

acall disp

cjne r4,#0,bb

clr p0.1

clr p0.4

mov r4,#20 setb p0.2

setb p0.3

cc:

acall disp

cjne r4,#0,cc

clr p0.2

clr p0.3

mov r4,#2

setb p0.1

setb p0.4

dd:

acall disp

cjne r4,#0,dd

clr p0.1

clr p0.4

mov r4,#20 sjmp loop

timer0:

inc r2

cjne r2,#100,stop

cjne r3,#40,stop

mov r3,#0

dec r4

stop:reti

disp:

mov dptr,#tt

mov a,r4

mov b,#10

div ab

mov r6,a

mov a,b

movc a,@a+dptr

clr p2.6

mov p1,a

acall delay

setb p2.6

mov a,r6

movc a,@a+dptr

mov p1,a

clr p2.7

acall delay

setb p2.7

ret

delay:

mov r5,#50

djnz r5,$

mov p1,#0

ret

tt: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh end

#include

#include

unsigned char key();

void del(unsigned int j);

void main()

{

unsigned char k,m;

LCD_Initial();

GotoXY(0,0);

Print("your choice is :");

while(1)

{

k=key();

while(k!=255)

{

GotoXY(7,1);

LCD_Write(1, k);

m=key();

if(m!=k)

break;

}

}

}

void del(unsigned int j)

{

unsigned char i;

for(i=0;i

}

unsigned char key()

{

P1=0x0f;

if((P1&0x0f)!=0x0f)

{

del(100); //延时除抖

if((P1&0x0f)!=0x0f)

{

P1=0xef; //第一列

switch(P1&0x0f)

{

case 0x0e: return('1'); //第一行

case 0x0d: return('4'); //第二行

case 0x07: return('*');

default: break;

}

P1=0xdf; //第2列

switch(P1&0x0f)

{

case 0x0e:return('2');

case 0x0d:return('5');

case 0x0b:return('8');

case 0x07:return('0');

default: break;

}

P1=0xbf; //第3列

switch(P1&0x0f)

{

case 0x0e:return('3');

case 0x0d:return('6');

case 0x0b:return('9');

case 0x07:return('#');

default: break;

}

}

while((P1&0x0f)!=0x0f); //等待释放

}

else return(255);

}

#include

#include

unsigned int time,count;

void init_sys(void);

void main()

{

LCD_Initial();

init_sys();

GotoXY(0,0);

Print("HZ:");

while(1)

{

GotoXY(4,0);

LCD_Write(1,time/1000+0x30); //千位

LCD_Write(1,time%1000/100+0x30); //百位

LCD_Write(1,time%100/10+0x30); //十位

LCD_Write(1,time%10+0x30); //个位

}

void init_sys(void)

{

TMOD=0x51; //0101 0001,T1计数,T0定时5ms GATE,C/T,M1M0 TH0=(65536-5000)/256;

TL0=(65536-5000)%256;

TH1=0;TL1=0;

ET0=1;

EA=1; count=0;

TR0=1;TR1=1;

}

void timer0(void) interrupt 1 //定时器0方式1,5ms中断一次

{

TH0=(65536-5000)/256;

TL0=(65536-5000)%256;

if(count++>=200)

{

time=TH1*256+TL1; //注意:T1为16位的计数器,可测频率范围有限

TH1=0;TL1=0;

count

#include

#include

sbit p32=P3^2;

unsigned long time;

void main()

{

TMOD=0X09; //0000 1001,t0定时,受INT0控制

LCD_Initial();

GotoXY(0,0);

Print("Hz:");

while(1)

{

TH0=0;TL0=0;TR0=0;

while(p32==1);

TR0=1;

while(p32==0);//gate=1时,计数器工作

while(p32==1);

TR0=0; //测量了一半周期

time=TH0*256+TL0;

time=500000/time; //将周期转换成频率,机器周期为1us

GotoXY(4,0);

LCD_Write(1,time/10000+0x30);

LCD_Write(1,time%10000/1000+0x30);

LCD_Write(1,time%1000/100+0x30);

LCD_Write(1,time%100/10+0x30);

LCD_Write(1,time%10+0x30);

}

}

八、问题与心得

实验报告日期:年月日

51单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

单片机实验项目及要求

单片机实验项目 实验一 LED闪烁灯设计(参照实验指导书实验一) 要求:1、完成一个LED亮、灭循环(间隔0.2秒)修改间隔时间为0.01秒 2、完成2个指示灯同时亮、灭循环(间隔0.2秒) 3、完成8个指示灯同时亮、灭循环(间隔0.2秒) 实验二广告灯左右移设计(参照实验指导书实验四) 要求:1、完成8个LED 单一灯(LED)的左移、右移(间隔0.2秒) 2、完成8个LED的从左到右、从右到左依次点亮(间隔0.2秒) 3、完成8个指示灯从两边倒中间依次点亮(间隔0.2秒) 4、完成8个指示灯从中间倒两边中间依次点亮(间隔0.2秒) 创新:实验一与实验二结合完成连续6个花色的广告灯运行过程 实验三单键识别设计(参照实验指导书实验八) 要求:1、完成独立按键的单次识别、去抖、等待弹起的原理与方法(利用8个LED实现BCD码变换)。 2、完成16进制、20进制等计数器编程方法 3、完成计数器的加、减法的计数过程及原理 4、完成一键多功能设计(参照实验指导书实验九) 5、完成4*4矩阵键盘的设计(参照实验指导书实验十四) 6、增加键盘音 实验四动态数码显示设计(参照实验指导书实验十三) 要求:1、完成2个动态数码管的设计(利用按键手动计数,实现20进制计数器的设计)(参照实验指导书实验十) 实验五六十秒计时器设计(参照实验十三)动态数码显示设计 1、完成8个动态数码管的设计(利用按键手动计数,实现60进制计数器的设计)(参照实验指导书实验十一) 2、利用4个动态数码管的完成20进制可逆计数器的设计(参照实验指导书实验十二) 实验七定时器中断实验(参照实验十六)定时计数器T0作定时应用设计(二) 要求:1、完成秒计数器,并在数码管上显示秒计数过程 2、完成进制控制(20秒),并在数码管上显示循环过程 实验八智能电子钟设计(参照实验二十)智能电子钟设计 要求:1、完成智能电子钟的自动走时设计,并在数码管上显示走时过程,时、分、秒中间采用“-”分开。 2、利用四个独立按键完成时、分、秒的初始化过程,要求第一个按键设置功能“0”代表时间设置功能、“1”代表分钟设置功能、“2”代表秒设置功能;第二、三个按键在不同的功能下分别控制各自的时、分、秒计数器;第四个按键完成设置退出。

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

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路与相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度与精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度与精度也相对要低一些。例如,现在的单片机产品的CPU 大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量与CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术与段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都就是非标准的,且千差万别,种类很多。单片机的I/O接口实际上就是向用户提供的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。 另外,单片机的微处理器(CPU)、存储器、I/O接口电路集成在一块芯片上,而通用微机的微处理器(CPU)、存储器、I/O接口电路一般都就是独立的芯片 1-4 IAP、ISP的含义就是什么? ISP:In System Programable,即在系统编程。用户可以通过下载线以特定的硬件时序在线编程(到单片机内部集成的FLASH上),但用户程序自身不可以对内部存储器做修改。 IAP:In Application Programable,即在应用编程。用户可以通过下载线对单片机进行在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51单片机与通用微机相比,结构上有哪些主要特点? (1)单片机的程序存储器与数据存储器就是严格区分的,前者为ROM,后者为RAM; (2)采用面向控制的指令系统,位处理能力强; (3)I/O引脚通常就是多功能的; (4) 产品系列齐全,功能扩展性强; (5) 功能就是通用的,像一般微处理机那样可广泛地应用在各个方面。 1-7 51单片机有哪些主要系列产品? (1)Intel公司的MCS-51系列单片机:功能比较强、价格比较低、较早应用的单片机。 此系列三种基本产品就是:8031/8051/8751; (2)ATMEL公司的89系列单片机:内含Flash存储器,开发过程中可以容易地进行程

单片机35个实例1(汇编)

1.闪烁灯 1.实验任务 如图4.1.1所示:在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。 2.电路原理图 图4.1.1 3.系统板上硬件连线 把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。

4.程序设计内容 (1).延时程序的设计方法 作为单片机的指令的执行的时间是很短,数量大微秒级,因此, 我们要求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太 大,所以我们在执行某一指令时,插入延时程序,来达到我们 的要求,但这样的延时程序是如何设计呢?下面具体介绍其原 理: 如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒 机器周期微秒 MOV R6,#20 2个 2 D1: MOV R7,#248 2个 2 2+2×248 =498 20× DJNZ R7,$ 2个2×248 (498 DJNZ R6,D1 2个2×20=40 10002

因此,上面的延时程序时间为10.002ms。 由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7 =248时,延时10ms,以此为基本的计时单位。如本实验要求 0.2秒=200ms,10ms×R5=200ms,则R5=20,延时子程序如 下: DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET (2).输出控制 如图1所示,当P1.0端口输出高电平,即P1.0=1时,根据 发光二极管的单向导电性可知,这时发光二极管L1熄灭;当 P1.0端口输出低电平,即P1.0=0时,发光二极管L1亮;我 们可以使用SETB P1.0指令使P1.0端口输出高电平,使用 CLR P1.0指令使P1.0端口输出低电平。 5.程序框图

51单片机20个实验-代码详细

第一章单片机系统板说明 一、概述 单片机实验开发系统是一种多功能、高配置、高品质的MCS-51单片机教学与开发设备。适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。 该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验,并能一直延伸到综合电子设计等创新性实验项目。该系统采用集成稳压电源供电,使电源系统的稳定性大大提高,同时又具备完备的保护措施。为适应市场上多种单片机器件的应用,该系统采用“单片机板+外围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不同的教学需求。 二、单片机板简介 本实验系统因为自带了MCS-51单片机系统,因此没有配置其他单片机板,但可以根据教学需要随时配置。以单片机板为母板,并且有I/O接口引出,可以很方便的完成所有实验。因此构成单片机实验系统。 1、主要技术参数 (1)MSC-51单片机板 板上配有ATMEL公司的STC89C51芯片。 STC89C51资源:32个I/O口;封装DIP40。 STC89C51开发软件:KEIL C51。 2、MSC-51单片机结构 (1)单片机板中央放置一块可插拔的DIP封装的STC89C51芯片。 (2)单片机板左上侧有一个串口,用于下载程序。 (3)单片机板的四周是所有I/O引脚的插孔,旁边标有I/0引脚的脚引。 (4)单片机板与各个模块配合使用时,可形成—个完整的实验系统。 三、母板简介 主要技术参数 (1)实验系统电源 实验系统置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验的稳定性。 主板的右上角为电源总开关,当把220V交流电源线插入主板后,打开电源开关,主板

2019单片机实验要求指导书13页word

海南师大物理与电子工程学院 电子信息科学与技术专业《单片机应用技术》 实验指导 2019年4月 目录 实验一单片机仿真与开发系统认识 (1) 实验二汇编语言简单编程实验 (3) 实验三C51语言简单编程实验 (4) 实验四并口实验 (5) 实验五定时/计数器实验 (7) 实验六单片机中断实验 (9) 实验七串口实验 (11) 实验八A/D、D/A实验 (13) 附录一开发板布局图 (15) 附录二开发板各部分电路原理图 (16)

实验一单片机仿真与开发系统认识[实验类型] 验证性实验[实验目的]1、掌握51单片机开发软件Keil 的用法; 2、掌握单片机硬件仿真软件Proteus的基本用法; 3、了解实验所用开发板的电路原理,熟练掌握其基本使用方法。 [实验内容&要求]1、准备工作文件夹 在D盘建立一个实验一工作文件夹,文件夹名字自定(英文)。以下所有步骤建立的文件都存放在这个文件夹内。 2、Keil软件的使用 首先打开KEIL软件,然后依次练习汇编程序和C程序的建立和编译。 (1)汇编语言程序练习: 1>建立一个项目(建立一个项目文件夹,存在第1步所建立的文件夹内) 2>输入课本P127页[例6-1]中的汇编程序(不过把P1和P0口所接器件换一下,即P0口接8个发光二极管,P1口接8个开关),在Keil C中输入,以.asm 做扩展名,保存到项目文件夹内。 3>在项目中添加该文件,编译生成.hex文件。 (2)C语言程序练习: 1>再建另外一个项目(也在工作文件夹内另建一个项目文件夹); 2>输入课本P127页[例6-1]中的C程序(同样注意把P1和P0换一下),保存、加入项目并生成.hex文件。 3、Proteus软件的使用 (1)打开Proteus软件,参考课本P127页[例6-1]的要求建立硬件仿真图,注意把P1和P0所接器件换一下。仿真文件名自定,保存在第1步所建立的文件夹内。 (2)在Proteus设置单片机属性为使用前面所生成的.hex文件,进行仿真测试。 4、实验开发板的使用 (1)认真研读本学期所用实验开发板(普中HC6800EM3 V2.2单片机开发板)的使用说明及电路原理图。(实验前须预习) (2)安装开发板驱动软件:CH340驱动程序。(如已装过,略过本步骤)(3)连接开发板和电脑,打开开发板电源,运行开发板专用烧录下载程序“PZISP自动下载软件”,设置正确的参数,将前面所生成的.hex文件下载到开发板单片机上。 (4)接线:P1口接开关,P0口接led灯。具体是开发板上的JP10接J12,JP8接JP5,如下图所示:

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

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠

51单片机实验课题集

51单片机实验课题设计要求 1.1课程设计的总体要求 本课程设计是在理论课程学习和软件设计的基础上,对51单片机硬件系统进行了解和研究,使学生更深入的掌握51单片机开发技术,培养学生面对实际课题,发现问题、分析问题和解决问题,提高学生的实验动手能力。设计根据实验大纲提供的题目要求,选择适当的课题,并通过课题资料收集、原理分析、理论计算、实际编程、系统调试、测试和故障排除,解决在实际设计中的问题,使设计系统能正常工作,有能力的同学可以超出题目要求任意发挥设计。 (1)基本要求: 根据课题要求,研究51单片机实验(如AT89S51_V1.4等)开发板或其它实验开发板的功能和实验样例,学习和掌握keil集成开发环境或Medwin集成开发环境,在此基础上仔细研究课题功能,重新设计实验所需要的电气原理图,编写相对应的应用程序,实现其功能,学生课题实验的优劣可以从以下几个标准衡量: 1.只会使用标准测试程序和资源实现课题部分功能; 2.使用标准测试程序及其他资源实现部分功能; 3.通过修改标准程序实验全部课题基本要求者; 4.完全自主编程实现全部课题基本要求者; 5.软硬件技术应用自如,超越课题要求者。 (2)发挥要求: 在完成本人选题的基本要求前题下,完成发挥部分要求,并具有新内容的自主 发挥和创新,并取得良好效果。 (3)分类标准: 1.完成了实验(1)的全部要求,并熟练运用开发工具。 2.在完成实验(2)的部分要求,并具有创新内容。 1.2分组和实验注意事项 本实验提供的实验课题根据教学要求组成设计小组,进行分工合作,实验工作要细心认真、防止意外,有问题及时向指导老师反映,同学间可以通过研讨、互相学习解决实验中的问题。 每组同学实验过程包括: (1)听课,了解实验方法 (2)调研和了解课题,进行课题的方案选择 (3)学习开发工具,包括实验板,编程软件,仿真软件等 (4)学习汇编语言以及C语言在51编程上的使用 (5)学习系统测试、调试和故障排除,功能实现 (6)自主实验,包括课题实现和相关资料整理提交 1.3报告要求 (3)基本要求:写明实验内容和方法,画出所用部分资源的原理图等。 (4)提高要求:说明选题依据,资源的选择和该资源在设计中的功能说明,原理图设计,程序结构框图和说明,操作使用说明。 (5)发挥部分:提出设计思想,设计原理图,提供源程序,说明创新点。提供程序

单片机实训题目及要求

实训设计说明 一、实训设计的基本要求: 单片机实训设计的主要内容包括:理论设计、调试与仿真、撰写设计报告等。其中理论设计又包括选择总体方案,硬件系统设计、软件系统设计;硬件设计包括单元电路,选择元器件及计算参数等;软件设计包括模块化层次结构图,程序流程图。程序设计是实训设计的关键环节,通过调试进一步完善程序设计,使之达到课题所要求的指标,使理论设计更接近于实际产品。实训设计的最后要求是写出设计总结报告,把理论设计内容,调试的过程及性能指标的测试结果进行全面的总结,把实践内容上升到理论高度。 单片机实训设计的教学采用相对集中的方式进行,到单片机实验室(7-710)进行实训,每组配备一台PC机、一套单片机综合实验箱、相关的软件及电子元器件等器材设备。做到实训教学课堂化,严格考勤制度,在实训期间(一周)累计旷课达到6节以上,或者迟到、早退累计达到6次以上的学生,该实训考核按不及格处理。在实训期间需要外出查找资料、购买电子元器件时,必须向指导老师请假,经同意后方可外出。实训设计的任务相对分散,每2名学生组成一个小组,完成一个课题的设计。小组成员既有分工、又要协作,同一小组的成员之间可以相互探讨、协商,可以互相借鉴或参考别人的设计方法和经验。但每个学生必须单独完成设计任务,要有完整的设计资料,独立撰写设计报告,设计报告雷同率超过50%的实训设计考核按不及格处理。 二、进度安排: 单片机实训设计共安排4周,合计50学时,具体分配如下: ?实训动员、准备工作及选题:2学时 ?总体方案设计:6学时 ?硬件设计及仿真:7学时 ?软件设计:9学时 ?软件调试:6学时 ?整机测试:5学时 ?撰写设计报告:9学时 ?答辩与总结:4学时 该时间只是粗略进行划分,各个组员可依据进度完成情况,适当调整,但需确保整个设计能按期完成。 三、设计报告要求: 设计完成后,必须撰写实训设计报告。设计报告必须独立完成,格式符合要求,文字(不含图形、程序)不少于5000字,图形绘制规范,装订成册。设计报告的格式如下: 1、封面 2、内容提要 3、目录 4、正文 (1)所作题目的意义、原理等,本人所做的工作及系统完成的主要功能; (2)硬件电路设计及描述(要有原理框图和原理图); (3)软件设计流程及描述(要有程序流程图); (4)设计调试过程(分步进行); (5)源程序代码(要有注释); 5、心得体会 6、参考文献

单片机实验考核题目及答案

---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

单片机实验指导书

实验一KEIL 51软件实验 实验目的: 1、掌握KEIL集成开发环境的使用 2、掌握算术运算程序 实验设备:计算机、KEIL51软件 实验内容: 编程实现把片人RAM30H单元和40H单元两个16字节数相加,结果放于30H单元开始的位置处。在KEIL51编译、连接、仿真调试。 实验步骤: 一、运行KEIL51软件,出现图1所示KEIL 51主界面。 图1 KEIL 51主界面 首先用Project菜单下的New Project命令建立项目文件,过程如下。 (1) 选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。 图2 Create New Project对话框 (2) 在Create New Project对话框中选择新建项目文件的位置(最好一个项目建立一个文件夹如E:\project), 输入新建项目文件的名称,例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的Select Device for Target ‘Target 1’对话框,用户可以根据使用情况选择单片机型号。Keil uVision2 IDE几乎支持

所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。 图3 Select Device for Target ‘Target 1’对话框 (3) 这里选择atmel公司的A T89c51。单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。 单击后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。 这时只有一个框架,紧接着需向项目文件中添加程序文件内容。 图4 Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框 二、给项目添加程序文件 当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。 (1) 选择文件菜单上的new命令,出现新建文本窗口,如图5所示。

单片机原理与应用技术实验报告(实验项目:发光二极管闪烁)

***数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术姓名:学号:实验室:硬件实验室 同组同学: 实验时间:2013年3月20日指导教师签字:成绩: 实验项目:发光二极管闪烁 一实验目的和要求 1.使用单片机的P1.5口做输出口,使该位发光二极管闪烁。 2.掌握单片机使用。 二实验环境 PC机一台,实验仪器一套 三实验步骤及实验记录 1.在pc机上,打开Keil C。 2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。 3.选择工程文件要存放的路径 ,输入工程文件名 LED, 最后单击保存。 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 led=P1^5; //表示用led等效于P1^5, P1^0就是指头文件里定义的P1寄存器的第5BIT #define uchar unsigned char #define uint unsigned int

C51单片机实验报告

实验报告册 课程名称:单片机原理与应用B 指导老师:xxx 班级:xxx 姓名:xxx 学号:xxx 学期:20 —20 学年第学期南京农业大学工学院教务处印

实验目录实验一:指示灯/开关控制器 实验二:指示灯循环控制 实验三:指示灯/数码管的中断控制 实验四:电子秒表显示器 实验五:双机通信

姓名:学号:班级:成绩: 实验名称:指示灯/开关控制器 一、实验目的: 学习51单片机I/O口基本输入/输出功能,掌握C语言的编程与调试方法。 二、实验原理: 实验电路原理图如图所示,图中输入电路由外接在P1口的8只拨动开关组成;输入电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。 三、软件编程原理为; (1)8只发光二极管整体闪烁3次

亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P1口(即开关状态)内容送入P2口;无限持续:无条件循环。 四、实验结果图: 灯泡闪烁:

按下按键1、3、5、7:

经检验,其余按键按下时亦符合题目要求。 五、实验程序: #include"reg51.h" void delay(unsigned char time) { unsigned int j=15000; for(;time>0;time--) for(;j>0;j--); } void main(){ key,char i; for(i=0;i<3;i++) { P2=0x00; delay(500); P2=0xff; delay(500) } while(1) { P2=P3;

51单片机20个实验-代码详细

51单片机20个实验-代码详细

第一章单片机系统板说明 一、概述 单片机实验开发系统是一种多功能、高配置、高品质的MCS-51单片机教学与开发设备。适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。 该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验,并能一直延伸到综合电子设计等创新性实验项目。该系统采用集成稳压电源供电,使电源系统的稳定性大大提高,同时又具备完备的保护措施。为适应市场上多种单片机器件的应用,该系统采用“单片机板+外围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不同的教学需求。 二、单片机板简介 本实验系统因为自带了MCS-51单片机系统,因此没有配置其他单片机板,但可以根据教学需要随时配置。以单片机板为母板,并且有I/O 接口引出,可以很方便的完成所有实验。因此构

成单片机实验系统。 1、主要技术参数 (1)MSC-51单片机板 板上配有ATMEL公司的STC89C51芯片。 STC89C51资源:32个I/O口;封装DIP40。 STC89C51开发软件:KEIL C51。 2、MSC-51单片机结构 (1)单片机板中央放置一块可插拔的DIP封装的STC89C51芯片。 (2)单片机板左上侧有一个串口,用于下载程序。 (3)单片机板的四周是所有I/O引脚的插孔,旁边标有I/0引脚的脚引。 (4)单片机板与各个模块配合使用时,可形成—个完整的实验系统。 三、母板简介 主要技术参数 (1)实验系统电源 实验系统内置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验的稳定性。

单片机实验模版

单片机实验模版 本科实验报告 课程名称:单片机综合设计学院(系): 专业:电子 班级: 学号: 学生姓名: 2018 年月日

实验项目列表 注意:独立完成预习报告和实验操作。 专业:班级:学号: 学生签字: 联系:

《单片机原理及应用实验》报告填写要求依照《大连理工大学本科实验报告规范(试行)》提出的各项要求,现规定《单片机原理及应用实验》报告填写要求如下: 一、每次实验前必须完成预习报告。注意:预习报告中的回答问题必须手写,且由 学生本人签名。第一次实验时,课前将预习报告与《实验项目列表》一同交给 实验老师。每次实验时,课前提交预习报告,没有完成预习报告者不得进行实 验。 二、每一个实验项目均须撰写一份实验报告,最后按顺序装订、上交。 三、实验报告内容: 1、实验目的和要求:写明实验的目的和任务要求; 2、实验原理和内容:与实验内容相关的算法描述、程序的结构类型,与实验相关的 接口模块功能描述。 3、算法流程:使用流程图对算法进行描述。流程图应当逻辑正确、简单清晰。流程 图能够采纳打印或手工绘制。 4、使用protel等工具绘制实验系统电路图(也可手工绘制)。系统电路图应正确、 工整。系统电路中应包含单片机以及单片机工作时所必需的外围相关器件(晶 体、上电复位电路等); 5、程序清单:程序清单一律采纳打印的方式,源程序文件的格式要整齐、规范(语 句的标号、指令及注释应在不同列中)。在程序的关键语句上加注释。相关子程 序要在凝视中进行功能说明; 6、实验结果与分析:明确地写出最后结果(是否实现设计要求等),对实验中所遇 到的问题以及解决的方法加以描述; 7、实验体会、建议:通过实验所体会的收成。针对实验内容、教学方法、考核方法 等提出需要解决的问题,提出改进建议; 8、全部文字叙述内容要求简明扼要,思路清晰、用词规范; 9、要紧仪器设备:记录要紧仪器的名称、型号(包括实验运行软件名称)等 10、实验时刻:报告中应标明实验的日期(年、月、日;星期;组号)。 四、要求实验报告字迹工整,文字简练,数据齐全,图表规范,运算正确,分析充分、具体、定量。

51单片机实验报告

实验一数据传送实验 实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—AFH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 源程序清单: ORG 0000H RESET:AJMP MAIN ORG 003FH MAIN:MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1:MOV @R0,A INC R0 INC A DJNZ R2, A1 MOV R1,#40H MOV R0, #50H MOV R2, #10H A3: MOV A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, A3 LJMP 0000H 思考题: 1. 按照实验内容补全程序。 2. CPU 对8031内部RAM存储器有哪些寻址方式? 直接寻址,立即寻址,寄存器寻址,寄存器间接寻址。 3. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH ___0A0H~0AFH______________________ 内部RAM 50H~5FH___0A0H~0AFH_______________________ 实验二多字节十进制加法实验

实验内容: 多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。源程序清单:ORG 0000H RESET: AJMP MAIN ORG 0100H MAIN: MOV SP, #60H MOV R0, #31H MOV @R0, #22H DEC R0 MOV @R0, #33H MOV R1, #21H MOV @R1, #44H DEC R1 MOV @R1, #55H MOV R2, #02H ACALL DACN HERE: AJMP HERE DACN: CLR C DAL: MOV A, @R0 ADDC A, @R1 DA A MOV @R1, A INC R0 INC R1 DJNZ R2,DAL CLR A MOV ACC.0 , C RET 思考题: 1. 按照实验内容补全程序。 2. 加数单元、被加数单元和结果单元的地址和内容为? 3130H,2120H,6688H 3. 如何检查双字节相加的最高位溢出? 看psw.3 的溢出标志位ov=1 则溢出 4. 改变加数和被加数,测试程序的执行结果。 实验三数据排序实验

(完整版)单片机课后习题答案

单片机课后习题答案 1.89C51单片机内包含哪些主要逻辑功能部件? 答:80C51 系列单片机在片内集成了以下主要逻辑功能部件: (l)CPU(中央处理器):8位(2)片内RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4KB (5)并行I/O 口:8位,4个⑹串行接口:全双工,1个⑺定时器/计数器:16位,2个(8)片内时钟电路:1 个 2.89C51 的EA 端有何用途? 答:/EA端接高电平时,CPU只访问片内flash Rom并执行内部程序,存储器/EA 端接低电平时,CPU 只访问外部ROM ,并执行片外程序存储器中的指令。/EA 端保持高电平时,CPU 执行内部存储器中的指令。 3.89C51 的存储器分哪几个空间?如何区别不同空间的寻址? 答:ROM (片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits 地址)(64KB)片外RAM(MOVX)(16bits 地址)(64KB)片内RAM (MOV)(8bits 地址)(256B) 4. 简述89C51 片内RAM 的空间分配。 答:片内RAM有256B,低128B是真正的RAM区,高128B是SFR (特殊功能寄存器)区。 5. 简述布尔处理存储器的空间分配,片内RAM 中包含哪些可位寻址单元。 答:片内RAM 区从00H~FFH (256B) 其中20H~2FH (字节地址)是位寻址区对应的位地址是00H~7FH 6. 如何简捷地判断89C51 正在工作? 答:用示波器观察8051 的XTAL2 端是否有脉冲信号输出(判断震荡电路工作是否正常?)ALE (地址锁存允许)(Address Latch Enable )输出是fosc 的 6 分频用示波器观察ALE 是否有脉冲输出(判断8051 芯片的好坏?)观察PSEN (判断8051能够到EPROM 或ROM中读取指令码?) 因为/PSEN 接外部EPROM (ROM )的/OE 端子OE=Output Enable (输出允许) 7. 89C51 如何确定和改变当前工作寄存器组? 答:PSW (程序状态字)(Program Status Word )中的RS1和RS0可以给出4 中组合,用来从4组工作寄存器组中进行选择PSW属于SFR( Special Function Register)(特殊功能寄存器) 9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令? 答:读锁存器(ANLP0,A )就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1 这条指令就是读引脚的,意思就是把端口p1 输入数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH 、XCHD 算术及逻辑运算 ORL、CPL、ANL 、ADD、ADDC 、SUBB、INC 、DEC 控制转移CJNE、DJNZ 都属于读锁存器。10. 89C51 P0?P3 口结构有何不同?用作通用I /O 口输入数据时,应注意什么?

个单片机C语言实例()

11.00-59 秒计时器<利用软件延时) 1.实验任务 如下图所示,在AT89S51单片机的P0和P2端口分别接有两个共阴数码管,P0 口驱动显示秒时间的十位,而P2 口驱动显示秒时间的个位。2.电路原理图 图 4.11.1 3.系统板上硬件连线 <1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7 端口用8 芯排线连接到“四路静态数码显示模块”区域中的任一个a-h 端口上;要求:P0.0/AD0 对应着a, P0.1/AD1对应着b,……,P0.7/AD7对应着h。 <2.把“单片机系统”区域中的P2.0/A8-P2.7/A15 端口用8 芯排线连接到“四路静态数码显示模块”区域中的任一个a-h 端口上;要求:P2.0/A8 对应着a, P2.1/A9对应着b,……,P2.7/A15对应着h。 4.程序设计内容 tyw 藏书<1.在设计过程中我们用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加 1 ,当秒计数达到60 时,就自动返回到0,重新秒计数。<2.对于秒计数单元中的数据要把它十位数和个数分开,方法仍采用对10 整除和对10 求余。 <3.在数码上显示,仍通过查表的方式完成。<4.一秒时间的产生在这里我们采用软件精确延时的方法来完成,经过精确计算得到1 秒时间为1 .002 秒。 DELY1S: MOV R5,#100 D2: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D2 RET 5.程序框图 tyw 藏书 图 4.11.2 6.汇编源程序 Second EQU 30H ORG 0 START: MOV Second,#00H NEXT: MOV A,Second MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B MOVC A,@A+DPTR MOV P2,A

相关主题
文本预览
相关文档 最新文档