给大家分享下51单片机播放音乐简谱的函数库: /********************************************* SOUND PLAY FOR 51MCU COPYRIGHT (c) 2005 BY JJJ. --ALL RIGHTS RESERVED-- File Name: SoundPlay.h
这5条指令的的功能均为原寄存器的内容加1,结果送回原寄存器。上述提到,加1指令不会对任何标志有影响,如果原寄存器的内容为FFH,执行加1后,结果就会是00H。这组指令共有直接、寄存器、寄存器减间址等寻址方式:IN
要研究指针,我们得先来深入理解内存地址这个概念。打个比方:整个内存就相当于一个拥有很多房间的大楼,每个房间都有房间号,比如从 101、102、103 一直到 NNN,我们可以说这些房间号就是房间的地址。相对应的内存中
;NAME:跑马灯;AUTOR:;CONTENT:P1.0~P1.7接发光二极管L1~L8 CSEGAT4000H;定义起始地址,为什么是4000H呢 ;存储器:程序存储器、数据存储器统一编址,达64K,板上ROM(16K);RAM ;(32K)
在MCS-中断优先级中由中断优先级寄存器IP来高置的,IP中某位设为1,相应的中断就是高优先级,否则就是低优先级。---PSPT1PX1PT0PX0IP优先级别寄存器各位介绍如下:PS:串行口中断优先级控制位。PS=1设定串行口为高优
请编制串行通信的数据发送程序,发送片内RAM50H~5FH的16B数据,串行接口设定为方式2,采用偶校验方式。设晶振频率为6MHz。解:查询方式发送程序如下MOVSCON,#8OHM OVPCON,#80HMOVR0,#50HMOVR7,#16HLOOP: MOVA,@R0MOV
1 /* 数据发送格式:2 * 0 1 2 3 4 ... DataLenth-1 DataLenth3 * HEAD1 - HEAD2 - DataLenth(n+1) - data_1 - data_2 - ... - data_n - CheckSum4 * CheckSum = HEAD1 + HEAD2 + DataLenth + da
一、实现延时的两种方法1、硬件延时优点:用到定时器/计数器,这种方法可以提高CPU的工作效率,也能做到精确延时;缺点:往往在精度要求不是很高时,会使定时器/计数器大材小用,而且很极端时,定时器根本不够的。2、
2.4内核由于本身并不支持2410,移植起来较为烦琐,所以直接上2.6的版本.1.准备工作 下载解压交叉编译工具,2.6的内核编译要用3.4.1版本的(arm-linux-gcc-3.4.1)ftp://ftp.handhelds.org/projects/toolchain/arm-linux-g
硬件平台:stm32F407Zet6软件平台:stm32cubeMX 4.7+MDK5.14电路连接:PA9,PA10第一步、通过Stm32CubeMX图形界面创建Keil工程需要配置的地方是在这里可以修改串口工作的一下参数,软件就可以生成配置好的工程,不需要
下面是用普通C51实现的I2C基本电平模拟函数和通用函数。/*电平模拟函数和基本读写函数 void IIC_Start(void); void IIC_Stop(void); void SEND_0(void); void SEND_1(void); bit Check_Acknowledge(void); voi
#include #define uchar unsigned char#define uint unsigned int//延时子程序void mDelay(uchar Delay){ uchar i; for(;Delay>0;Delay--) { for(i=0;i
在电力电子控制中,PWM几乎是无处不在的,不论是AC/DC,DC/AC,还是DC/DC,都涉及到PWM,PWM具体是什么可以自行百度,网上资料非常多,这里就不再赘述。在电力电子变换里面,PWM波形生成有两种方式,模拟和数字,专用
先来简单说说C语言的标识符和关键字。 标识符是用来标识源顺序中某个对象的名字的, C语言是大小字敏感的一种高级语言, 假设我们要定义一个定时器1, 标识符由字符串, 数字和下划线等组成, 留意的是第一个字符必须
/*************PIC16F630单片机程序******************************//*************************************************************/ /*****File Function : LED测试 *****/ /*****Program Author : ZhengWen(C