嵌入式花样流水灯实验报告(嵌入式编程实现流水灯)

http://www.itjxue.com  2023-02-19 08:37  来源:未知  点击次数: 

单片机流水灯怎么写实验报告

单片机流水灯的话,建议你先在Proteus这个单片机软件上先进行实验一下,然后根据你的实验结果来写这份报告。

单片机原理流水灯实验报告

单片机原理流水灯实验报告:

本实验的目的是通过使用单片机,来实现流水灯的功能。实验中,使用了AT89C51单片机,通过设置定时器,实现了不同的流水灯灯序,并使用外部中断按键,来控制流水灯的开关。实验的结果表明,单片机通过定时器和外部中断按键,可以实现流水灯的功能。

拓展:本实验的

拓展可以包括,使用其他单片机,如STC89C52、STM8S103等,来实现流水灯的功能;另外,可以在实验中增加按键,实现不同的灯序变化;可以添加LCD显示屏,显示当前灯序;还可以通过设置定时器,实现时间控制,实现定时开启和关闭流水灯。

单片机,花样流水灯

K1 BIT P3.0

K2 BIT P3.1

ORG 0000H

JMP START

START:

MOV TMOD, #01H

SETB TR0

MOV R4, #7FH

MOV R5, #7FH

MOV R6, #0FEH

M_LOOP:

JNB K1, K1_PROG

JNB K2, K2_PROG

MOV P1, R4

MOV A, R4

RR A

MOV R4, A

CALL DL1S

JMP M_LOOP

;---------------------------------

K1_PROG:

MOV A, R5

ANL A, R6

MOV P1, A

MOV A, R5

RR A

MOV R5, A

MOV A, R6

RL A

MOV R6, A

CJNE R6, #0EFH, K1_DL

MOV R5, #7FH

MOV R6, #0FEH

K1_DL:

CALL DL1S

JMP M_LOOP

;---------------------------------

K2_PROG:

MOV R3, #16

LP2:XRL P1, #255

CALL DL1S

DJNZ R3, LP2

JMP M_LOOP

;---------------------------------

DL1S:

MOV R2, #20

LP1:MOV TL0, #LOW (65536-50000)

MOV TH0, #HIGH(65536-50000)

JNB TF0, $

CLR TF0

DJNZ R2, LP1

RET

;---------------------------------

END

单片机c语言流水灯的实验报告

这个怎么写??X个发光二极管连续依次闪烁,往复不断。能够成功正确地完成编写的程序。体现了单片机工作正常,语句使用得当,试验完美成功。

一个花样流水灯单片机程序(要求1,3,5,7灯亮,2,4,6,8灯亮然后全灭)

先把P1口全部接低电平。

ORG 0000H。

AJMP START。

ORG 0040H。

AA:MOV P1,#55H。

ACALL DELAY。

MOV P1,#0AAH。

ACALL DELAY。

MOV P1,#00H。

ACALL DELAY。

AJMP AA。

DELAY:MOV R5,#256。

LOOP2:MOV R4,#256。

LOOP1:NOP。

NOP。

DJNZ R4,LOOP1。

DJNZ R5,LOOP2。

RET。

单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。

在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。

单片机C语言 两个按键控制8位花样流水灯,P1.0接按键k1,P1.1接按键k2,P0口的8位接8个发光二极管

汇编程序如下:

; 花样流水灯(8个发光二极管以各种形式循环点亮)

; 功能:流水灯(8个发光二极管循环以1S间隔以各种形式循环点亮)

ORG H ;伪指令,指定程序从H开始存放

LJMP MAIN ;跳转指令,程序跳转至MAIN处执行

ORG H ;伪指令,指定程序从H开始存放

MAIN: MO SP, #60H ;给堆栈指针赋初值

MO P1,#0FFH ;给P1口赋值

MO DPTR,#TABLE;查表

LIGHT: MO R4,#42 ;设置循环次数

LOOP: MO A,#42 ;给A赋初值

SUBB A,R4 ;将A的值与R4的值相减,结果存在A中

MOC A,@A+DPTR ;将A+DPTR的值所对应的TABLE中的值赋给A

MO P1,A ;将A的值赋给P1口

LCALL DEL1S ;调用1S延时子程序

DJNZ R4,LOOP ;判断R4是否为0,不为0跳转,为0顺序执行

LJMP LIGHT ;跳转指令,跳转至LIGHT处继续执行

;1S延时子程序(11.MHz晶振,误差0微秒)

DEL1S: MO R5, #H

DL1S0: MO R6, #0A4H

DL1S1: MO R7, #H

DJNZ R7, $

DJNZ R6, DL1S1

DJNZ R5, DL1S0

RET

TABLE: ;定义表格数据

DB 0FFH ;全灭

DB 0FEH 0FDH 0FBH 0F7H 0EFH 0DFH 0BFH 07FH ;依次逐个点亮

DB 0FEH 0FCH 0F8H 0F0H 0E0H 0C0H H H ;依次逐个叠加

DB H 0C0H 0E0H 0F0H 0F8H 0FCH 0FEH 0FFH ;依次逐个递减

DB 07EH 0BDH 0DBH 0E7H 0E7H 0DBH 0BDH 07EH ;两边靠拢后分开

DB 07EH 03CH H H H H 03CH 07EH ;两边叠加后递减

DB H ;全亮

END ;程序结束指令

C语言程序如下:

/* 该实验是花样流水灯(8个发光二极管以各种方式循环点亮),功能是花样流水灯(8个发光二极管以1S间隔以各种方式循环点亮) */

#include//包含reg.52文件

#define uint unsigned int//宏定义

#define uchar unsigned char//宏定义

void delay(uint z);//声明延时函数

uint a;//定义循环用变量

uchar code table[]={

0xff,//全灭

0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,//依次逐个点亮

0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,//依次逐个叠加

0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,//依次逐个递减

0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e,//两边靠拢后分开

0x7e,0x3c,0x18,0x00,0x00,0x18,0x3c,0x7e,//两边叠加后递减

0x00,//全亮

;//?¨???·????

/*Aμ???????e£??o??Ζ??ぁ£??o??Ζ??

?o??Ζ????o????£o??a£??o??????

?o??a£??·£?*/

void in()//inoˉ?

{

a=0;//?????

while(1)//while??·

{

P1=table[a];//??a??μ?able?μ?μ?3???

delay();//1S???3?? a ;//aμ?μ???

if(a==42)//2?a?·???2

a=0;//???μ

}

}

void delay(uint z)//1ms???3???¨1±????F{

uint x,y;

for(x=z;x

(责任编辑:IT教学网)

更多

相关网站优化文章