stc15w wave
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的更多相关文章
- RIFF和WAVE音频文件格式
RIFF file format RIFF全称为资源互换文件格式(Resources Interchange File Format),是Windows下大部分多媒体文件遵循的一种文件结构.RIFF文 ...
- IEEE 802.11p (WAVE,Wireless Access in the Vehicular Environment)
IEEE 802.11p(又称WAVE,Wireless Access in the Vehicular Environment)是一个由IEEE 802.11标准扩充的通讯协定.这个通讯协定主要用在 ...
- Wave - 花たん 音乐
Wave 歌手:花たん 所属专辑:Flower 間違えて宇宙終わって(宇宙因为一个错误而终结了) 青信号はいつも通り(通行的灯号一如往常的) 飛んでまた止まって(又再停止传播) また 飛びそうだ(然后 ...
- Web 播放声音(AMR 、WAVE)
最近甚是苦闷,属于边学边做,跳进了很多坑,别提有多惨了,不过结果还是不错滴,纵观前后,一句话足以概括 “痛并快乐着” ~~~ ok,我少说废话,下面来总结下 Web 播放声音一些注意事项. 说到 We ...
- 多媒体(2):WAVE文件格式分析
目录 多媒体(1):MCI接口编程 多媒体(2):WAVE文件格式分析 多媒体(3):基于WindowsAPI的视频捕捉卡操作 多媒体(4):JPEG图像压缩编码 多媒体(2):WAVE文件格式分析
- UVa 488 - Triangle Wave
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=94&page=s ...
- modelsim 中 WAVE窗口中能不能只显示变量名,而不显示路径
可以的,在wave窗口左下角有一个黑色的logo,你点击它就可以省电路径,只显示port名称,再点击就切换回来了,如图红色圈圈标记的logo,你可以试试!
- C# 获取wave文件信息【转】
public class WaveHelper { /// <summary> /// 数据流 /// </summary> private Stream m_WaveData ...
- 【转载】PMC/PEC Boundary Conditions and Plane Wave Simulation
原文链接 PMC/PEC Boundary Conditions and Plane Wave Simulation (FDTD) OptiFDTD now has options to use Pe ...
随机推荐
- 初识DMA
初识DMA 关于AXI4-Memory Map 与 AXI4-Stream之间的转换: 查阅UG1037 重点关注DataMover这一块 此图似乎有错误之处,需要再次确认.
- Android开发 :androidstudio device offline
使用设备调试的时候,偶尔的就会遇到androidstudio device offline,尽管尝试开启/关闭 USB调试 .都无济于事. 如果PC安装了360手机助手就好办了(我的360手机助手 ...
- centos7如何查询已运行服务?
使用 systemctl list-unit-files 可以查看启动项 , 因为用chkconfig --list命令出现如下提示: 左边是服务名称,右边是状态,enabled是开机启动,disab ...
- 5.IAP - FLASH
一.Flash与时钟系统的关系 STM32系统时钟: HSE 高速外部时钟,电路上焊接的外部时钟,一般是4Mhz-16Mhz,板子上的是8Mhz ...
- ubuntu crontab python 定时任务备记
crontab -e 写入: # at a.m every week with: # * * tar -zcf /var/backups/home.tgz /home/ # # For more in ...
- ss客户端以及tcp,udp,dns代理ss-tproxy在线安装版--centos7.3 x64以上(7.3-7.6x64测试通过)
#!/bin/sh # # Script for automatic setup of an SS-TPROXY server on CentOS 7.3 Minimal. # export PATH ...
- Oracle + Mybatis批量插入数据,xml.mapper种的写法
1,把表中去年所有的信息全部复制作为今年的数据,即查询出去年所有的数据然后复制插入 <insert id="cover" parameterType="java.l ...
- 涂抹mysql笔记-mysql数据库文件结构
<>初始化选项文件:默认位置:windows平台 windir\my.ini windir可通过echo $WINDIR$查看 系统盘的根目录即:c:\my.ini installdir\ ...
- Java虚拟机------JVM内存区域
JVM内存区域运行时数据区域分为两种: JVM内存区域 运行时数据区域分为两种: 线程隔离的数据区: 程序计数器 Java虚拟机栈 本地方法栈 所有线程程共享的数据区: Java堆 方法区 JVM 内 ...
- centos7 设置系统默认启动的界面
系统默认 以某种方式启动 使用systemd创建符号链接指向默认运行级别. 修改方法为:在root下 1.首先删除已经存在的符号链接rm /etc/systemd/system/default.tar ...