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. C#编程经验-选择结构和循环结构

    选择结构:if elseif else ifswitch 循环结构:whiledo whilefor()foreach() 种类太多,不便记忆,人脑要记多种结构,要用的时候一种也把握不住所以,为方便记 ...

  2. Kafka 如何读取offset topic内容 (__consumer_offsets)(转发)

    原文  https://www.cnblogs.com/huxi2b/p/6061110.html 众所周知,由于Zookeeper并不适合大批量的频繁写入操作,新版Kafka已推荐将consumer ...

  3. [UE4]Scroll Box带滚动条的容器

    一.黑边,当可以往下滚动的时候,下边会出现黑边.当可以往上滚动的时候,上边也会出现黑边.   Scroll Box.Style.Style:也可以自定义上下左右黑边的样式: 二.Scroll Box. ...

  4. Redis为什么可以支持那么大的并发访问量?为什么redis没有单点并发瓶颈?

    一是redis使用内存 而是redis使用多路复用的IO模型: 现代的UNIX操作系统提供了select/poll/kqueue/epoll这样的系统调用,这些系统调用的功能是:你告知我一批套接字,当 ...

  5. Web项目中得到访问者的真实ip

    Web项目中得到访问者的真实ip 描述:最近要实现个功能是要记录管理员登录的真实ip,但在项目中如果直接使用request.getRemoteAddr()获得ip的话,获得的可能不是真实ip,是因为使 ...

  6. spring boot 常见三十四问

    Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 问题一 Spring Boot.Spring MVC 和 Spring 有什么区别 ...

  7. gentoo emacs 中文输入法 呼出

    最近在另外一台电脑上面安装 gentoo和 emacs,但是碰到奇怪的问题,在旧电脑上面,可以使用 ctrl + space 呼出输入法,而新电脑只能触发 复制功能. 经过在网上查找和两台电脑之间的对 ...

  8. 面向的phthon2+3 的场景,Anaconda 安装+环境配置+管理

    standard procedure in pyCharm for creating environment when Anaconda installed Create a conda env vi ...

  9. 星级评分原理 N次重写的分析

    使用的是雪碧图,用的软件是CSS Sprite Tools 第一次实现与分析: <!DOCTYPE html> <html> <head> <meta cha ...

  10. Helm简介

    什么是Helm 微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,作为Kubernetes应用的一个包管理工具,可理解为Kuberne ...