6个单片机实验设计报告

6个单片机实验设计报告
6个单片机实验设计报告

实验一:流水灯

程序:

#include

sbit d0=P0^0;

sbit d1=P0^1;

sbit d2=P0^2;

sbit d3=P0^3;

sbit d4=P0^4;

sbit d5=P0^5;

sbit d6=P0^6;

sbit d7=P0^7;

void delay(unsigned int x);

void main()

{

while(1)

{

d0=1;

delay(250);

d0=0;

d1=1;

delay(250);

d1=0;

d2=1;

delay(250);

d2=0;

d3=0;

delay(250);

d3=1;

d4=0;

delay(250);

d4=1;

d5=0;

delay(250);

d5=1;

d6=0;

delay(250);

d6=1;

d7=0;

delay(250);

d7=1;

}

}

void delay(unsigned int x)

{

unsigned int y;

for(;x>0;x--)

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

实验二:单个数码管显示0~9循环

#include

unsigned int dulatable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

void delay(unsigned int z);

void main()

{

unsigned int x;

while(1)

{

for(x=0;x<10;x++)

{

P1=dulatable[x];

delay(250);

}

}

}

void delay(unsigned int z)

{

unsigned int y;

for(;z>0;z--)

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

}

实验三:外部中断,数字循环终止,led闪烁报警持续20秒

#include

unsigned int dulatable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段码表sbit d=P0^0;

void delay(unsigned int z);

void main()

{

unsigned int x;

EA=1;

EX0=1;

d=0;

while(1)

{

for(x=0;x<10;x++)

{

P1=dulatable[x];

delay(250);

}

}

}

void exter0() interrupt 0

{

unsigned int p;

for(p=20;p>=0;p--)

{

d=1;

delay(150);

d=0;

delay(150);

}

}

void delay(unsigned int z)

{

unsigned int y;

for(;z>0;z--)

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

}

实验四:ADC0804测电压并用四连体共阳数码管显示

#include

sbit int1=P3^3;//定义管脚功能

sbit cs=P3^2;//使能端

sbit wr=P3^6;//写端口

sbit rd=P3^7;//读端口

unsigned int s[]={0x10,0x20,0x40,0x80};//位码表

unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段码表

void delay(unsigned int t);//延时函数

double convert(unsigned char sixteen);

unsigned char dushu(void);//从AD读数

void show(double qqq);//数码管显示

void main()

{

unsigned char output; //从AD读出的8位2二进制

double dianya;

while(1)

{

output=dushu();

dianya=convert(output);

show(dianya);

}

}

unsigned char dushu( void )

{

unsigned char q,i;

rd=1;

wr=1;

int1=1;//读ADC0804前准备

P1=0xff;//P1全部置一准备

cs=0;

wr=0;

wr=1;//启动ADC0804开始测电压

while(int1==1);//等待A/D转换完毕产生INT1(低电平有效)信号

rd=0;//开始读转换后数据

i=i; i=i;

q=P1;//读出的数据赋与output

rd=1;

cs=1;//读数完毕

return(q);

}

double convert(unsigned char sixteen)

{

unsigned int a;

double qq;

a=(unsigned int)sixteen;//强制装换char为unsigned int

qq=(double)a;

qq=qq/256*5;

return(qq);

}

void show(double qqq)

{

unsigned int p,a,b,c,t,d,i,*k[]={&d,&c,&b,&a};

p=(unsigned int)(qqq*1000);

a=p/1000;

p=p%1000;

b=p/100;

p=p%100;

c=p/10;

p=p%10;

d=p;

for(t=1000;t>0;t--)//数码管动态扫描

{

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

{

P2=s[i];//利用P2.4~P2.7端口作为位选动态扫描

if(i==3)P0=table[*k[i]]&0x7f;//通过&运算点亮第一个数码管小数点

else P0=table[*k[i]];

delay(200);

}

}

}

void delay(unsigned int t)

{

unsigned int qwe;

for(qwe=t;qwe>0;qwe--); }

实验五:定时器中断

利用定时器0工作方式1,实现发光管以1s亮灭闪烁

#include

#define uchar unsigned char

#define uint unsigned int

sbit led1=P1^0;

uchar num;

void main()

{

TOMD=0X01; //设置定时器0工作方式为1(M1M0 为01)

TH0=(65536-45872)/256; //装初值11.0952M晶振定时50ms数为45872 TL0=(65536-45872)%256;

EA=1; //开总中断

ET0=1; //开定时器0中断

TR0=1; //启动定时器0

while(1) //程序等待中断发生

}

void T0_time()interrupt 1

{

TH0=(65536-45872)/256; //重装初值

TL0=(65536-45872)%256;

num++;

if(num==20)

{

num=90;

led1=~led1; //发光管状态取反

}

}

实验六:点阵扫描1~3

#include

unsigned int welatable[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; unsigned int dulatable[][8]={0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,

0xc3,0xfb,0xfb,0xc3,0xdf,0xdf,0xc3,0xff,

0xc3,0xfb,0xfb,0xc3,0xfb,0xfb,0xc3,0xff,}; void delay(unsigned int x);

void main()

{

unsigned int a,b,t;

while(1)

{

for(a=0;a<3;a++)

{

for(t=0;t<120;t++)

{

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

{

P1=dulatable[a][b];

P0=welatable[b];

delay(200);

}

}

}

}

}

void delay(unsigned int x)

{

unsigned int y;

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

}

单片机实验报告

院系:计算机科学学院专业:智能科学与技术年级: 2012 学号:2012213865 姓名:冉靖 指导教师:王文涛 2014年 6月1日

一. 以下是端口的各个寄存器的使用方式: 1.方向寄存器:PxDIR:Bit=1,输出模式;Bit=0,输入模式。 2.输入寄存器:PxIN,Bit=1,输入高电平;Bit=0,输入低电平。 3.输出寄存器:PxOUT,Bit=1,输出高电平;Bit=0,输出低电平。 4.上下拉电阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。 5.功能选择寄存器:PxSEL,Bit=0,选择为I/O端口;Bit=1,选择为外设功能。6.驱动强度寄存器:PxDS,Bit=0,低驱动强度;Bit=1,高驱动强度。 7.中断使能寄存器:PxIE,Bit=1,允许中断;Bit=0,禁止中断。 8.中断触发沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。 9.中断标志寄存器:PxIFG,Bit=0:没有中断请求;Bit=1:有中断请求。 二.实验相关电路图: 1 MSP430F6638 P4 口功能框图: 主板上右下角S1~S5按键与MSP430F6638 P4.0~P4.4口连接: 2按键模块原理图: 我们需要设置两个相关的寄存器:P4OUT和P4DIR。其中P4DIR为方向寄存器,P4OUT 为数据输出寄存器。 主板上右下角LED1~LED5指示灯与MSP430F6638 P4.5~P4.7、P5.7、P8.0连接:

3 LED指示灯模块原理图: P4IN和P4OUT分别是输入数据和输出数据寄存器,PDIR为方向寄存器,P4REN 为使能寄存器: #define P4IN (PBIN_H) /* Port 4 Input */ #define P4OUT (PBOUT_H) /* Port 4 Output */ #define P4DIR(PBDIR_H) /* Port 4 Direction */ #define P4REN (PBREN_H) /* Port 4 Resistor Enable */ 三实验分析 1 编程思路: 关闭看门狗定时器后,对P4.0 的输出方式、输出模式和使能方式初始化,然后进行查询判断,最后对P4.0 的电平高低分别作处理来控制LED 灯。 程序流程图: 2 关键代码分析: #include void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P4DIR |= BIT5; // 设置4.5口为输出模式 P4OUT |= BIT0; // 选中P4.0为输出方式 P4REN |= BIT0; // P4.0使能 while (1) // Test P1.4 { if (P4IN & BIT0) //如果P4.0为1则执行,这是查询方式按下去后是低,否则为高

单片机课程设计报告实验报告

课程设计报告 学号: 1328403028 姓名:张帅华 班级: 13电子信息工程指导老师:邓晶 苏州大学电子信息学院 2016年4月

摘要 随着时代的进步和发展,单片机技术已经成为一种比较成熟的技术,普及到我们生活、工作、科研等各个领域。本次课程设计包含四个基于STC89C52单片机的设计,分别是:基于单总线数字式温度传感器DS18b20的数字温度计的设计;基于2K位串行CMOS 的EEPROM AT24C02的数字密码锁的设计;基于SPI接口实时时钟芯片DS1302的电子日历的设计以及基于无线收发芯片nrf24L01的简单无线通讯系统的设计。 关键词:单片机 DS18B20 AT24C02 DS1302 NRF24L01

目录 摘要 (1) 目录 (2) 第1章基于DS18B20的数字温度计设计 (3) 1.1 设计要求 (3) 1.2 系统组成 (3) 1.3 系统设计 (3) 1.3.1 硬件设计 (3) 1.3.2软件设计 (4) 1.4 设计结果 (6) 第2章基于AT24C02的电子密码锁设计 (7) 2.1 设计要求 (7) 2.2 系统组成 (7) 2.3 系统设计 (8) 2.3.1 硬件设计 (8) 2.3.2 软件设计 (9) 2.4 设计结果 (9) 第3章基于DS1302的电子日历的设计 (11) 3.1 系统功能 (11) 3.2 系统组成 (11) 3.3 系统设计 (11) 3.3.1 硬件设计 (11) 3.3.2 软件设计 (13) 3.4 设计结果 (14) 第4章基于NRF24L01的无线通信系统的设计 (15) 4.1 系统功能 (15) 4.2 系统组成 (15) 4.3 系统设计 (15) 4.3.1 硬件设计 (15) 4.3.2 软件设计 (16) 4.4 设计结果 (16) 总结 (17)

单片机实验报告

实验报告 专业:计算机科学与技术班级:C093 姓名:孙丽君 学号:098677

实验一:数据传送实验 1.实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—A FH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: 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 3.实验结果: 4. CPU 对8031内部RAM存储器有哪些寻址方式? 答:直接寻址,寄存器寻址,寄存器间接寻址,位寻址。

5. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH内容:A0~AF 内部RAM 50H~5FH内容:A0~AF 实验二多字节十进制加法实验 1.实验内容: 多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG0000H RESET: AJMP MAIN ORG0100H MAIN: MOV SP, #60H MOV R0, #31H MOV@R0, #22H DEC R0 MOV@R0, #33H

实验设计报告

创新思维实践 实验设计报告 实验名称萃取实验 实验报告人学号 13 班级 090233 同组人 实验日期年月日 室温大气压 指导老师 评分

实验名称:萃取实验 一、实验目的 1.了解转盘萃取塔的结构和特点; 2.掌握液—液萃取塔的操作; 3.掌握传质单元高度的测定方法,并分析外加能量对液液萃取塔传质单元 高度和通量的影响。 二、基本原理 萃取是利用原料液中各组分在两个液相中的溶解度不同而使原料液混合物得以分离。将一定量萃取剂加入原料液中,然后加以搅拌使原料液与萃取剂充分混合,溶质通过相界面由原料液向萃取剂中扩散,所以萃取操作与精馏、吸收等过程一样,也属于两相间的传质过程。 与精馏,吸收过程类似,由于过程的复杂性,萃取过程也被分解为理论级和级效率;或传质单元数和传质单元高度,对于转盘塔,振动塔这类微分接触的萃取塔,一般采用传质单元数和传质单元高度来处理。传质单元数表示过程分离难易的程度。 对于稀溶液,传质单元数可近似用下式表示: ?-=1 2 x x *OR x x dx N (1) 式中: N OR ——萃余相为基准的总传质单元数; X ——萃余相中的溶质的浓度,以摩尔分率表示; x*——与相应萃取浓度成平衡的萃余相中溶质的浓度,以摩尔分率表示。 x 1、x 2——分别表示两相进塔和出塔的萃余相浓度 传质单元高度表示设备传质性能的好坏,可由下式表示: OR OR N H H = (2) Ω =OR x H L a K (3) 式中: H OR ——以萃余相为基准的传质单元高度,m; H —— 萃取塔的有效接触高度,m; K x a ——萃余相为基准的总传质系数,kg/(m 3?h ?△x); L ——萃余相的质量流量,kg/h; Ω——塔的截面积,m 2 ; 已知塔高度H 和传质单元数N OR 可由上式取得H OR 的数值。H OR 反映萃取设备传质性 能的好坏,H OR 越大,设备效率越低。影响萃取设备传质性能H OR 的因素很多,主

实验报告(单片机实验报告)

1 双字节无符号数加法 例1: 双字节无符号数加法(R0 R1)+(R2 R3) → (R4 R5), R0、 R2、 R4存放16位数的高字节, R1、 R3、 R5存放低字节。已知(R0 R1)=(93h,79h);(R2 R3)=(25h,a4h) 假设其和不超过16位。请编程。 org 0000h Ljmp start org 0050h start: mov R0,#93h mov R1, #79h mov R2,#25h mov R3, #0a4h mov A,R1 ADD A,R3 mov R5,A mov A,R0 ADDC A,R2 mov R4,A ss: jmp ss end 2双字节无符号数减法

例2: 双字节无符号数相减(R0 R1)-(R2 R3) → (R4 R5)。R0、 R2、R4存放16位数的高字节, R1、 R3、 R5存放低字节,已知(R0 R1)=(93h,79h);(R2 R3)=(25h,a4h);请编程。同学自己可以设置被减数与减数数值 org 0000h Ljmp start org 0050h start: mov R0,#93h mov R1,#79h mov R2,#25h mov R3,#0a4h mov A,R1 CLR C SUBB A,R3 mov R5,A mov A,R0 SUBB A,R2 mov R4,A ss: jmp ss end 3双字节数乘以单字节数

例3: 利用单字节乘法指令,进行双字节数乘以单字节数运算。若被乘数为16位无符号数, 地址为M1(30H) 和M1+1(31H)(低位先、高位后), 乘数为8位无符号数, 地址为M2(32H), 积由高位到低位存入R2、 R3和R4三个寄存器中。 30H,31H,32H内容 12H,34H,56H ; org 0000h Ljmp start org 0050h start: mov 30h,#12h mov 31h,#34h mov 32h,#56h mov a,(30h) mov b,(32h) mul ab mov R3,b mov R4,a mov a,(31h) mov b,(32h) mul ab add A,R3 mov R3,A

51单片机综合实验交通灯设计报告

51单片机综合实验交通灯设计报告 班级: 学生姓名: 学号: 指导教师:

一实验题目 交通灯控制系统设计 二实验目的 1、学会用8051单片机开发简单的计算机控制系统; 2、学会用汇编语言和C语言开发系统软件; 3、学会8051单片机开发环境wave或Keil uVision3软件的使用; 4、学会Proteus软件的使用方法,会用Proteus单片机系统进行仿真; 5、学会Protel软件的使用方法,会用Protel绘制电气原理图和印制板图; 6、熟悉七位数码管显示的使用方法; 7、了解交通灯控制系统的基本组成。 三实验要求 交通灯处在十字路口上。它有红﹑黄﹑绿三种颜色的灯组成。红灯亮时道路上的车辆停止运行;黄灯是一种过渡用的信号灯,当它亮时,表示道路上的红绿色信号灯即将进行转换。下面拿东西南北四个方向来说明。当东西方向允许行车(或者左转)的时候,南北方向就禁止行车,即此时东西方向的绿灯亮红灯灭,而南北方向的绿灯灭红灯亮。反之当南北方向允许行车(或者左转)的时候,东西方向就禁止行车,即此时南北方向的绿灯亮红灯灭,而东西方向的绿灯灭红灯亮。交通灯配置示意图如图1所示。同时当有特殊的情况发生时,能手动控制各个方向的信号灯。设计任务就是将这一电路用单片机来实现具体的控制。

1 十字路口交通灯配置示意图 四 设计内容与原理 为了在后面的分析中便于说明,将南北方向允许直行命名为状态1,南北方向允许左转命名为状态2,南北方向行车到东西方向行车的转换阶段命名为状态3,将东西方向允许直行命名为状态4,东西方向允许左转命名为状态5,东西方向行车到南北方向方向行车的转换阶段命名为状态6。 假定直行绿灯点亮的时间为25s ,左转绿灯点亮的时间为20s ,黄灯点亮的时间为5s ,则对方红灯的点亮时间为50秒。黄灯每隔500ms 亮一次,之后灭500ms (亮灭一次叫作闪烁一次),一共闪烁5次,持续5s 。各个状态之间的变换情况如下: 具体显示周期如下:

mfc实验设计报告Word版

《面向对象程序设计》数学与计算机学院 VC++课程设计 设计题目:学生信息管理系统 学生学号:1007020304 学生姓名:刘正 学生专业:信息与计算科学 学生班级:10级信计三班 指导老师:李建湘 制作时间:2011年12月14日

目录 一、前言 (2) 二、系统需求分析 (3) 三、程序设计思路 (3) 四、模块分析 (5) 五、主要功能图示及代码 (9) 六、创新内容 (17) 七、存在的问题与不足 (17) 八、收获与感想 (18) 九、程序其它重要源代码 (19) 十、后记 (27) 十一、参考文献 (28)

前言 作为大二的一名学生,我们已经学习汇编语言快一年了,但是自己从来没有做过一个有实用价值的程序。总是怀疑我们学的c语言,c++以后会有用吗?几乎都是编写一些数学计算题。直到老是教我们MFC编程后,才知道应用程序的设计过程。说实话,在课程设计之前,我没有听过什么MFC编程,所以在设计的过程中也是困难重重,每走一步都是相当艰难的。从开始设计到完成设计,我花了两个多星期,中间重做了无数次。真的难以想象爱迪生发明电灯时是怎么熬过来的。这个程序虽然不完美,但是花了我不少的心血。这将是我程序生涯的开始! 学习MFC编程,最重要的就是自学。刚开始,什么都不懂,为什么要这么做?好多函数都不不知道是干什么用的,更不用说使用它们。因此,不得不借助图书馆和网络了解它们。MFC函数库很庞大,我这次用到的微乎其微,以后还得不断的学习和熟悉。一个那么庞大的函数库,我们该如何掌握它呢?通过这半个多月的学习,我个人觉得最重要的就是多练习,只有不断的练习,才能掌握它们的规律,帮助我们学好MFC函数库。 接下来,我将把这些天的成果在这里展现出来,与大家一起分享这份来之不易的喜悦!

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 口,如图所示:

单片机实验报告

南京晓庄学院电子工程学院 实验报告 课程名称:单片机系统设计与应用 姓名:森 专业:电子信息科学与技术 年级:14级 学号:05 2016年12 月1 日

实验项目列表 序号实验项目名称成绩指导教师 1 单片机仿真软件的使用 2 单片机I/O接口应用实验——流水灯 3 外部中断实验——工业顺序控制模拟 4 定时/计数器实验——矩形波 5 定时/计数器实验——计数器 6 综合实验 7 8 9 10 注: 1、实验箱端口为com6。 2、芯片选择切换到51 3、停止运行使用实验箱上的复位按钮

实验室号:___ 实验时间:成绩: 实验一仿真软件的使用 1.实验目的和要求 1)熟悉Keil C51软件界面,以及编辑、编译、运行程序的步骤; 2)掌握单片机仿真软件使用和调试的方法。 2.实验原理 Keil C51软件使用 在Keil C51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。 3.主要仪器设备(实验用的软硬件环境) 安装有Keil C51软件的PC机1台 4.操作方法与实验步骤 Keil C51软件使用 (1)建立用户文件夹 (2)建立工程 (3)建立文件并编码。输入以下源程序,并保存在项目所在的目录中 (4)把文件加入工程中 (5)编译工程。编译时观察在界面下方的“Build”页中的到编译错误信息和使用的系统资源情况等。 (6)调试。利用常用调试命令,如复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令进行调试,观察并分析调试结果。 (7)目标代码文件的生成。运行生成相应的.HEX文件。 5.实验内容及程序 1)从DATA区地址起始地址为40H的连续10个内存单元的内容传送到XDATA区起始地址为2000H的10个内存单元中。 注意:DATA区地址起始地址为40H的连续10个内存单元必须先赋初值。 P83-5源程序 #include #define uchar unsigned char xdata unsigned char buffer1[10]_at_ 0x2000; //在xdata区定义数组变量BUF1,首地址为2000H data unsigned char buffer2[10]_at_ 0x40; //在data区定义数组变量BUF2,首地址为40H void main(void)

单片机实验报告

实验一 LED流水灯 一、实验目的 1. 学习单片机并口的使用方法。 2. 学习延时子程序的编写和使用。 3. 学习集成开发环境MedWin的安装与使用。 4. 学习STC单片机在线下载软件STC-ISP的使用。 二、实验内容 所谓流水灯就是8个发光二极管(LED)轮流点亮,周而复始。实验板上以P0口作输出口,经74LS244驱动,接8只发光二极管LED0-LED7。当单片机的引脚输出为低电平时发光二极管点亮,为高电平时息灭。编写程序,使8个发光二极管循环点亮,时间间隔约0.5秒。 三、试验器具 STC89C51, 74LS244,8个限流电阻接8个LED发光管。 四、实验内容 1、74LS244驱动输出串联8个限流电阻接8个LED发光管,以防止其电流过大而烧坏。单片机的主时钟为11.0592MHz。JMP0和JMP1都短接1-2脚。 P0口作为通用接口时是一准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P0口用作输入口时必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。输出时需要接上拉电阻,P0口内部没有上拉电阻,若将外围电路设计为低有效,高无效,则无需再外接上拉电阻。 编写一个软件延时子程序,延时时间约0.5秒,采用三重循环实现,汇编语言程序如下: DELAY: MOV R7, #198

DEL1: MOV R6, #50 DEL2: MOV R5, #23 DJNZ R5, $ DJNZ R6, DEL2 DJNZ R7, DEL1 RET 查指令表可知执行MOV指令需用1个机器周期,DJNZ指令需用2个机器周期,在11.0592MHz晶振时,一个机器周期时间长度为1.085μs,所以该段程序执行时间为: [1+(1+2×23)×50]×198×1.085μs ≈ 500mS 流水灯的主程序(汇编语言)为: ORG 0000H LJMP MAIN ORG 0100H MAIN: CLR P1.5=0 ; P1.5=0,关闭蜂鸣器。 MOV A,#0FEH LOP: MOV P0,A LCALL DELAY RL A SJMP LOP END

辉光盘实验报告设计

辉光盘实验报告设计 一、实验目的 观察平板晶体中的高压辉光放电现象。 二、实验仪器 辉光盘演示仪 三、实验原理 闪电盘是在两层玻璃盘中密封了涂有荧光材料的玻璃珠,玻璃珠间充有稀薄的惰性气体(如氩气等)。控制器中有一块振荡电路板,通过电源变换器,将12V低压直流电转变为高压高频电压加在电极上。 通电后,振荡电路产生高频电压电场,由于稀薄气体受到高频电场的电离作用二产生紫外辐射,玻璃珠上的荧光材料受到紫外辐射激发而发出可见光,其颜色由玻璃珠上涂敷的荧光材料决定。由于电极上电压很高,故所发生的光是一些辐射状的辉光,绚丽多彩,光芒四射,在黑暗中非常好看。 四、实验步骤 1.将闪电盘后控制器上的电位器调节到最小; 2.插上220V电源,打开开关; 3.调高电位器,观察闪电盘上图像变化,当电压超过一定域值后,盘上出现闪光; 4.用手触摸玻璃表面,观察闪光随手指移动变化; 5.缓慢调低电位器到闪光恰好消失,对闪电盘拍手或说话,观察辉光岁声音的变化。 五、注意事项 1.闪电盘为玻璃质地,注意轻拿轻放; 2.移动闪电盘时请勿在控制器上用力,避免控制器与盘面连接断裂; 3.闪电盘不可悬空吊挂。

实验报告要求: 学生在完成实验报告时,需要写出所观察到的实验现象及实验感悟。 个人对演示实验的认识: 演示实验形象直观,能够引起学生的学习兴趣,同时演示实验能激发学生对实验的思考。学生学习的特点就是好奇心强,所以作为老师应根据学生这一认知特点,在物理教学中恰当进行演示实验,激发学生学习的好奇心和兴趣。演示实验留下的印象远比单纯的讲解要深得多。比如这个辉光盘实验能使学生了解平板晶体中的高压辉光放电的原理,通电后,由于稀薄气体受到高频电场的电离作用二产生紫外辐射,玻璃珠上的荧光材料受到紫外辐射激发而发出可见光,其颜色由玻璃珠上涂敷的荧光材料决定,由于电极上电压很高,故所发生的光是一些辐射状的辉光,绚丽多彩,光芒四射,在黑暗中非常好看。

89C51单片机课程设计之秒表设计实验报告

单片机课程设计报告 单 片 机 秒 表 系 统 课 程 设 计 班级: 课程名称:秒表设计 成员: 实训地点:北校机房 实训时间:6月4日至6月15日

目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2.1系统硬件方案设计 2.2所需元器件 3 程序编写流程及课程设计效果 3.1源程序及注释 3.2原理图分析 3.3课程设计效果 4 心得体会

1. 课程设计的目的和任务 1.1单片机秒表课程设计的概述 一、课程设计题目 秒表系统设计——用STC89C51设计一个4位LED数码显示“秒表”,显示时间为000.0~9分59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。 二、增加功能 增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。 三、课程设计的难点 单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。 四、课程设计内容提要 本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有三个开关按键:其中key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为“00.00”. key3按键按下去时数码管暂停。 五、课程设计的意义 1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的 应用进一步的了解。 2)掌握定时器、外部中断的设置和编程原理。 3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统, 拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义 1.2课程设计思路及描述

6个单片机实验设计报告

实验一:流水灯 程序: #include sbit d0=P0^0; sbit d1=P0^1; sbit d2=P0^2; sbit d3=P0^3; sbit d4=P0^4; sbit d5=P0^5; sbit d6=P0^6; sbit d7=P0^7; void delay(unsigned int x); void main() { while(1) { d0=1; delay(250); d0=0; d1=1; delay(250); d1=0; d2=1; delay(250); d2=0; d3=0; delay(250); d3=1; d4=0; delay(250); d4=1; d5=0; delay(250); d5=1; d6=0; delay(250); d6=1; d7=0; delay(250); d7=1; } } void delay(unsigned int x) {

unsigned int y; for(;x>0;x--) for(y=500;y>0;y--); }

实验二:单个数码管显示0~9循环 #include unsigned int dulatable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void delay(unsigned int z); void main() { unsigned int x; while(1) { for(x=0;x<10;x++) { P1=dulatable[x]; delay(250); } } } void delay(unsigned int z) { unsigned int y; for(;z>0;z--) for(y=1000;y>0;y--); }

单片机实验报告一

单片机实验报告 1 姓名 陈奋裕 时间 2014/10/30 地点 机电实验大楼B526 实验题目 软件开发环境和简单程序设计 一、实验目的 1. 熟悉WAVE 软件使用 2. 学习简单程序的调试方法 二、实验主要仪器及环境 PC 机、WA VE 软件、仿真器+仿真头、实验板、电源等。 三、实验内容及步骤 1.启动PC 机,打开WAVE 软件,软件设置为模拟调试状态。在所建的项目文件中输入源程序,进行编译,编译无误后,执行程序,点击全速执行快捷按钮,点击暂停按钮,观察存储块数据变化情况,点击复位按钮,可再次运行程序。 2.打开CPU 窗口,选择单步或跟踪执行方式运行程序,观察CPU 窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。 四、流程图及参考程序 实验1 1)参考程序 2)流程图 ORG 0000H START EQU 30H MOV R0, #START MOV R2, #10 mov a,#01h Loop: MOV @R0,A NOP LJMP $ END

五、实验及程序的分析和讨论 (1)第一个程序是将地址为30H到39H的寄存器的内容全部置1。先在R0中存放内部存储器的起始地址30H,R2中存放内部存储器的长度10个,累加器置1,然后利用循环控制指令DJNZ R2,Loop控制10次循环给上述10个单元赋值1.最后,使单片机自身跳转。 (2)实验得到全速执行后相应的测试结果: (3)实验得到30H到39H寄存器执行后的内容: 从该表中也可以看出该程序的功能,即将30H到39H的寄存器内容置1,说明自己的分析是对的。 六、实验小结 1、汇编语言的结果在软件里面全部都是黑色字体,无法编译,在老师的 提醒下,知道了WAVE软件只能执行ASM文件,所以实验前要先将文件 的类型改为.ASM。 2、程序中的逗号要在英文的状态下面编写;若提示有空余符号,则是分 号后面直接写注释,不要添加空格 七、思考题 1、软件开发环境提供了哪些调试手段?各有何特点? 答: 1.伟福仿真器为我们的调试提供了多种方法,它可以编译,以便查 找语法错误; 2.单步执行,来检查每句程序的功能; 3.全速执行程序,来检查整段程序要完成的功能; 4.还可以设置断点进行调试,以便分段执行程序。 2、如何将存储器块的内容移动到另一位置? 答:借助指针和寄存器,利用转移类指令即可将存储器块的内容移动到 另一位置。

《单片机系统设计》实验报告

短学期实验报告 (单片机系统设计) 题目: 专业: 指导教师: 学生姓名: 学号: 完成时间: 成绩:

基于单片机的交流电压表设计 目录 1系统的设计要求 (2) 2系统的硬件要求 (2) 2.1真有效值转换电路的分析 (2) 2.2放大电路的设计 (3) 2.3A/D转换电路的设计 (3) 2.4单片机电路的分析 (4) 2.5显示电路 (4) 3 软件设计 (5) 3.1 软件的总流程图 (5) 3.2 初始化定义与定时器初始化流程图 (5) 3.3 A/D转换流程图 (6) 3.4 数据处理流程图 (6) 3.5 数据显示流程图 (7) 4 调试 (7) 4.1 调试准备 (7) 4.2 关键点调试 (7) 4.3 测试结果 (8) 4.4 误差分析 (8) 5结束语 (8) 5.1 总结 (9) 5.2 展望 (9) 附录1 总原理图 (10) 附录2 程序 (10) 附录3 实物图 (14)

基于单片机的交流电压表设计 ****学院 ****专业 姓名 指导老师:******* 1 设计要求 (1)运用单片机实现真有效值的检测和显示。 (2)数据采集使用中断方式,显示内容为有效值与峰值交替进行。 2 硬件设计 本系统是完成一个真有效值的测量和显示,利用AD737将交流电转换成交流电压的有效值,用ADC0804实现模数转换,再通过单片机用数码管来显示。系统原理框图如图2-1所示。系统框图由真有效值转换电路、放大电路、A/D 转换电路、单片机电路、数码管显示电路五部分。 图2-1 原理框图 2.1 真有效值转换电路 真有效值转换电路主要是利用AD737芯片来实现真有效值直流变换的,即将输入的交流信号转换成直流信号的有效值,其原理图如图2-2所示。 图2-2 真有效值转换电路 由于AD737最大输入电压为200mV, 所以需要接两个二极管来限制输入电压,起到限幅的作用。如图中D1、D2,由IN4148构成,电容C6是耦合电容,电阻R1是限流电阻。 2.2 放大电路设计 放大电路主要是利用运放uA741来进行放大,电路原理图如图2-3所示。 A/D 转换 单片机 电路 显示 电路 转换 电路 交流 信号 放大 电路

单片机课程设计实验报告

单片机课程设计实验报告 课程设计题目:数字音乐盒 课程设计要求:.利用口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于秒) .采用显示信息 .开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称) .可通过功能键选择乐曲,暂停,播放。 .选作内容:显示乐曲播放时间或剩余时间 硬件电路:本设计中用到了单片机,*键盘,蜂鸣器,* ,七段 显示数码管。 原理说明:当键盘有键按下时,判断键值,启动计数器,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器,显示乐曲播放的时间,并驱动,显示歌曲号及播放时间。也可在显示歌曲号。 ()硬件电路中用控制按键,其中扫描行,扫描列。 ()用,控制,其中控制七段码,用为数码管位选信号。 ()用,作为的的控制信号。用作为的的控制信号。 ()用口控制蜂鸣器。 ()电路为晶振频率工作,起振电路中均为。 电路图:

【实验时请仔细阅读后文说明!此图仅为我站制作,并不代表原作者意愿;若您制作成功,望在网络推广。】 实验控制流程图如下:

键盘如下:

实验程序如下: ;定义液晶显示端口标号 ;******************************************** ;******************************************* : ;液晶初始化 ;清屏 位,行显示 ;屏显,光标,闪烁 ;计数地址加,显示幕 内存初始化 :

键盘扫描 : ;有按键转到 : : : ;读键盘 : ;为跳转,第一行无按键 : : : : : ;若同时有其他按键,则等待

单片机实验报告

本科生实验报告 实验课程单片机原理及应用 学院名称核技术与自动化工程学院 专业名称电气工程及其自动化 学生姓名 学生学号 指导教师任家富 实验地点6C902 实验成绩 二〇一五年三月二〇一五年六月 单片机最小系统设计及应用 摘要 目前,单片机以其高可靠性,在工业控制系统、数据采集系统、智能化仪器仪表等领域得到极其广泛的应用。因此对于在校的大学生熟练的掌握和使用单片机是具有深远的意义。通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用,本次设计课程采用STC89C52单片机和ADC0804,LED显示,键盘,RS232等设计一个单片机开发板系统。进行了LED显示程序设计,键盘程序设计,RS232通信程序设计等。实现了单片机的各个程序的各个功能。对仿真软件keil的应用提升了一个新的高度。单片机体积小、成本低、使用方便,所以被广

泛地应用于仪器仪表、现场数据的采集和控制。通过本实验的学习,可以让学生掌握单片机原理、接口技术及自动控制技术,并能设计一些小型的、综合性的控制系统,以达到真正对单片机应用的理解。 关键词:单片机;智能;最小系统;ADC;RS232;显示;STC89C52 第1章概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。单片机采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 它最早是被用在工业控制领域,由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。 第2章实验内容 2.1单片机集成开发环境应用

试验设计与数据处理试验报告

试验设计与数据处理试验报告 正交试验设计 1.为了通过正交试验寻找从某矿物中提取稀土元素的最优工艺条件,使稀土元素提取率最高,选取的水平如下:

需要考虑交互作用有A×B,A×C,B×C,如果将A,B,C分别安排在正交表L8(2)的 1,2,4列上,试验结果(提取量/ml)依次是1.01,,1,33,1,13,1.06,,1.03,0.08,,0.76,0.56. 试用方差分析法(α=0.05)分析实验结果,确定较优工艺条件 解:(1)列出正交表L8(27)和实验结果,进行方差分析。 试验号 A B A×B C A×C B×C 空号提取量(ml) 1 1 1 1 1 1 1 1 1.01 2 1 1 1 2 2 2 2 1.33 3 1 2 2 1 1 2 2 1.13 4 1 2 2 2 2 1 1 1.06 5 2 1 2 1 2 1 2 1.03 6 2 1 2 2 1 2 1 0.8 7 2 2 1 1 2 2 1 0.76 8 2 2 1 2 1 1 2 0.56 K1 4.53 4.17 3.66 3.93 3.5 3.66 3.63 K2 3.15 3.51 4.02 3.75 4.18 4.02 4.05 k1 2.265 2.085 1.83 1.965 1.75 1.83 1.815 k2 1.575 1.755 2.01 1.875 2.09 2.01 2.025 极差R 1.38 0.66 0.36 0.18 0.68 0.36 0.42 因素主次 A A×C B A×B B×C 优选方案 A1B1C1 SS J 0.23805 0.05445 0.0162 0.00405 0.0578 0.0162 0.02205 Q 7.7816 总和T 7.68 P=T^2/n 7.3728 SS T 0.4088 差异源SS df MS F 显著性 A 0.23805 1 0.23805 19.5925 9259 * B 0.05445 1 0.05445 4.48148 1481 A*B 0.0162 1 0.0162 1.33333 3333 C 0.00405 1 0.00405 0.33333 3333 A*C 0.0578 1 0.0578 4.75720 1646

单片机实验报告

实 验 报 告 实验课程:单片机原理及应用 班级: 12自动化2班 学号: 姓名: 教师:张玲 成绩: 实验日期:年月日 实验名称:实验1——计数显示器 一、实验目的: 学习Proteus 软件的使用,掌握单片机原理图的绘图方法。 二、实验内容: 1、绘制“计数显示器”电路原理图; 2、利用提供的hex文件验证此电路的运行效果。 三、实验要求: 提交的实验报告中应包括:1、绘图方法简述,要求说明元件与电源的选取、摆放及属性编辑,总线与标签的画法等内容;2、电路原理图; 3、仿真运行效果展示,要求就仿真文件加载方法及3~4幅运行截图进行简要说明;4、实验小结,说明遇到的主要问题或实验

1体会等。 参考电路原理图如下: 元件类别电路符号元件名称 Microproces sor ICs “U1”80C51 Miscellaneo us “X1”/12MHz CRYSTAL Capacitors“C1”~“C2” /1nF CAP Capacitors“C3”/22μF CAP-ELEC Resistors Packs “RP1”/7-100ΩRESPACK-7 Resistors“R1”/100ΩRES Optoelectro nics “LED1”~ “LED2” 7SEG-COM-CAT-G RN Switches & Relays “BUT”BUTTON 1、编程思路及C51源程序:

2、电路原理图: 3、仿真运行效果展示:

4、实验小结: 熟悉Proteus软件,了解软件的结构组成与功能;学习ISIS模块的使用方法, 学会设置图纸、选元件、线画总线、修改属性等基本操作;学会可执行文件 加载及程序仿法;理解Proteus在单片机开发中的作用,完成单片机电路原 理图的绘制。

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

湖南城市学院 实验报告 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)观察仿真结果,检验与电路的正确性。

相关文档
最新文档