1. 定时器和延时

#include    "15W4KxxS4.h"
#define FOSC 12000000
#define CLK (65536-FOSC/2/12/1000)
sbit clk=P3^; void clk_wave(void) //1KHZ@12MHz
{ AUXR |= 0x00; //串口1选择定时器2为波特率发生器
T2L = CLK; //设定定时初值
T2H = CLK>>; //设定定时初值
AUXR |= 0x10; //启动定时器2
INT_CLKO=0x04; }
void Delay5ms() //@12.000MHz
{
unsigned char i, j; i = ;
j = ;
do
{
while (--j);
} while (--i);
} int main(void)
{ //clk_wave();
while ()
{
clk=;
Delay5ms();
clk=;
Delay5ms();
};
}

2. 中断

#include    "15W4KxxS4.h"
#include "intrins.h" #define uint8 unsigned char
#define uint16 unsigned int //uint8 data temp[100];
uint8 ti = ; sbit clk=P3^; void Timer0Init(void) //500微秒@12.000MHz
{
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0x0C; //设置定时初值
TH0 = 0xFE; //设置定时初值
TF0 = ; //清除TF0标志
ET0=;
EA=;
TR0 = ; //定时器0开始计时
} int main(void)
{
Timer0Init();
while ();
} void wave() interrupt
{
if(ti<=)
clk=;
if(ti>&&ti<=)
clk=;
ti++;
ti=ti%;
//clk=!clk;
}

3. 占空比

#include    "15W4KxxS4.h"
#include "intrins.h" #define uint8 unsigned char
#define uint16 unsigned int //uint8 data temp[100];
uint8 ti = ; sbit SI=P3^;
sbit CLK=P0^; void Timer0Init(void) //1毫秒@12.000MHz
{
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0x18; //设置定时初值
TH0 = 0xFC; //设置定时初值
TF0 = ; //清除TF0标志
ET0=;
EA=;
TR0 = ; //定时器0开始计时
}
int main(void)
{
ti=;
Timer0Init();
while ();
} void wave() interrupt
{
ti++;
if(ti==) //低电平循环次数,高电平为两者之差
CLK=;
else if(ti==) //总循环次数
{
CLK=;
ti=;
} }

4. 两束波,相位延迟

#include    "15W4KxxS4.h"
#include "intrins.h" #define uint8 unsigned char
#define uint16 unsigned int //uint8 data temp[100];
uint8 ti = ; sbit CLK=P3^;
sbit SI=P0^; void Timer0Init(void) //1毫秒@12.000MHz
{
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0x18; //设置定时初值
TH0 = 0xFC; //设置定时初值
TF0 = ; //清除TF0标志
ET0=;
EA=;
TR0 = ; //定时器0开始计时
}
void Delay500us() //@12.000MHz
{
unsigned char i, j; i = ;
j = ;
do
{
while (--j);
} while (--i);
}
void Delay1ms() //@12.000MHz
{
unsigned char i, j; i = ;
j = ;
do
{
while (--j);
} while (--i);
}
void Delay359500us() //@12.000MHz
{
unsigned char i, j, k; _nop_();
_nop_();
i = ;
j = ;
k = ;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
} int main(void)
{ Timer0Init(); ti=;
while ()
{
Delay500us();
SI=;
Delay1ms();
SI=;
Delay359500us();
};
} void wave() interrupt
{
CLK=!CLK; }

stc15w wave的更多相关文章

  1. RIFF和WAVE音频文件格式

    RIFF file format RIFF全称为资源互换文件格式(Resources Interchange File Format),是Windows下大部分多媒体文件遵循的一种文件结构.RIFF文 ...

  2. IEEE 802.11p (WAVE,Wireless Access in the Vehicular Environment)

    IEEE 802.11p(又称WAVE,Wireless Access in the Vehicular Environment)是一个由IEEE 802.11标准扩充的通讯协定.这个通讯协定主要用在 ...

  3. Wave - 花たん 音乐

    Wave 歌手:花たん 所属专辑:Flower 間違えて宇宙終わって(宇宙因为一个错误而终结了) 青信号はいつも通り(通行的灯号一如往常的) 飛んでまた止まって(又再停止传播) また 飛びそうだ(然后 ...

  4. Web 播放声音(AMR 、WAVE)

    最近甚是苦闷,属于边学边做,跳进了很多坑,别提有多惨了,不过结果还是不错滴,纵观前后,一句话足以概括 “痛并快乐着” ~~~ ok,我少说废话,下面来总结下 Web 播放声音一些注意事项. 说到 We ...

  5. 多媒体(2):WAVE文件格式分析

    目录 多媒体(1):MCI接口编程 多媒体(2):WAVE文件格式分析 多媒体(3):基于WindowsAPI的视频捕捉卡操作 多媒体(4):JPEG图像压缩编码 多媒体(2):WAVE文件格式分析

  6. UVa 488 - Triangle Wave

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=94&page=s ...

  7. modelsim 中 WAVE窗口中能不能只显示变量名,而不显示路径

    可以的,在wave窗口左下角有一个黑色的logo,你点击它就可以省电路径,只显示port名称,再点击就切换回来了,如图红色圈圈标记的logo,你可以试试!

  8. C# 获取wave文件信息【转】

    public class WaveHelper { /// <summary> /// 数据流 /// </summary> private Stream m_WaveData ...

  9. 【转载】PMC/PEC Boundary Conditions and Plane Wave Simulation

    原文链接 PMC/PEC Boundary Conditions and Plane Wave Simulation (FDTD) OptiFDTD now has options to use Pe ...

随机推荐

  1. python eval()和exec()以及complie()

    1.eval() 函数 eval() 函数用来执行一个字符串表达式,并返回表达式的值. ------->>  eval(expression[, globals[, locals]]) 参 ...

  2. VRay(一)材质基础

    专业术语 漫反射(Diffuse reflection)高光反射(Specular reflection)折射(Refraction)菲涅耳反射(Fresnel reflection)次表面散射(Su ...

  3. JS高级-异步

    单线程 只有一个线程,同一时间只能做一件事 原因:避免DOM渲染的冲突 浏览器需要渲染DOM JS可以修改DOM结果 JS执行的时候,浏览器DOM渲染会暂停 两段JS也不能同时执行(修改DOM就冲突) ...

  4. Oracle 查询合并列

    在ORACLE  查询时,有时要将多个列合并成一行,其方法如下: 1. decode 函数 decode 函数的语法为: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省 ...

  5. 使用Python内置浏览器缓存cookies并做更新

    import requests #python内置的微型浏览器,没有界面的 #作用:缓存cookies s = requests.session() print(s.headers) #伪造请求头部, ...

  6. Java性能调优(一):调优的流程和程序性能分析

     https://blog.csdn.net/Oeljeklaus/article/details/80656732 Java性能调优 随着应用的数据量不断的增加,系统的反应一般会越来越慢,这个时候我 ...

  7. Swift get和set方法以及只读属性(计算型属性,本身不保存数据,都是通过计算获得结果)

    import UIKit class Person: NSObject { private var _name: String? var name: String? { get { return _n ...

  8. python中面向对象元类的自定义用法

    面向对象中的常用方法 1.instance 和 issubclass instance :判断两个对象是不是一类 issubclass :判断某个类是不是另一个类的子类 #两个常用方法的使用 clas ...

  9. ODPS SQL <for 数据定义语言 DDL>

    数据定义语言:(DDL) 建表语句: CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...

  10. springboot 启动脚本

    #!/bin/bash cd `` data_dir=`pwd` JAVA_HOME=/usr/local/jdk1..0_92 logs_dir=$data_dir/logs if [ ! -d $ ...