C8051F单片机PWM输出程序

发布者:hxcp18最新更新时间:2015-06-19 来源: 51hei关键字:C8051F  单片机  PWM 手机看文章 扫描二维码
随时随地手机看文章
//PWM输出脚P0.3
//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------
#include // SFR declarations
#include 
#include 
//-----------------------------------------------------------------------------
// Function PROTOTYPES
//-----------------------------------------------------------------------------
void PORT_Init (void);
void PCA_Init (void);
void PCA_ISR (void);
void SYSCLK_Init (void);
//-----------------------------------------------------------------------------
// MAIN Routine
//-----------------------------------------------------------------------------
void main (void)

unsigned long b;
WDTCN = 0xde; // disable watchdog timer
WDTCN = 0xad;
SYSCLK_Init ();
PORT_Init (); /*初始化I/O口*/
PCA_Init (); /*PCA初始化成8位脉宽调置方式*/
EIE1= 0x08;
EA=1;
PCA0CPH0=0x20;
while (1) 
{ }
}
//-----------------------------------------------------------------------------
// Initialization Subroutines
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// PORT_Init
//-----------------------------------------------------------------------------
void PORT_Init (void)

XBR0 = 0x11; // XBAR0: Initial Reset Value
XBR1 = 0x00; // XBAR1: Initial Reset Value
XBR2 = 0x40; // XBAR2: Initial Reset Value
// Port configuration (1 = Push Pull Output)
PRT0CF = 0x08; // Output configuration for P0 
PRT1CF = 0x00; // Output configuration for P1 
PRT2CF = 0x00; // Output configuration for P2 
PRT3CF = 0x00; // Output configuration for P3 
}
//-----------------------------------------------------------------------------
// SYSCLK_Init
//-----------------------------------------------------------------------------
void SYSCLK_Init (void)
{
unsigned int i; // delaynms counter
OSCXCN = 0x67; // start external oscillator with
for (i=0; i < 256; i++) ; // XTLVLD blanking interval (>1ms)
while (!(OSCXCN & 0x80)) ; // Wait for crystal osc. to settle
OSCICN = 0x88; // select external oscillator as SYSCLK 
}
//-----------------------------------------------------------------------------
// PCA_Init
//-----------------------------------------------------------------------------
void PCA_Init (void)

// PCA0CPM0 = 0x42; // PCA Capture/Compare Register 0
PCA0CN = 0x40;
PCA0CPM1 = 0x42;
PCA0CPL0 = 0x00;
PCA0CPH0 = 0x00;
// PCA0MD &= 0x40;
PCA0MD = 0x01;
}
//-----------------------------------------------------------------------------
// PCA_ISR
//-----------------------------------------------------------------------------
void PCA_ISR (void) interrupt 9
{ unsigned char a ;
bit PWM_PAC;
CF = 0;
if(PWM_PAC==0) //占空比由0 >>0xfe
{
PCA0CPH1=a;
a++;
if(a==0xfe){PWM_PAC=1;}
}
else //占空比由0xfe >>0
{
PCA0CPH1=a;
a--;
if(a==0){PWM_PAC=0;}
}
}
关键字:C8051F  单片机  PWM 引用地址:C8051F单片机PWM输出程序

上一篇:51单片机方波发生器程序100HZ和200HZ按键控制
下一篇:C8051F12X操作FLASH存储器程序

推荐阅读最新更新时间:2024-03-16 14:04

基于单片机的直流电机控制系统
第一章 绪论 随着社会的发展和科技的进步,人们对生产设备提出了速度更快、精度更高的使用要求,电机作为生产设备最为重要的驱动源,在人们的日常生活和工业生产活动中具有广泛应用,发挥着不可替代的作用。基于单片机的直流电机控制系统不仅结构简单可靠,而且易于编程控制,具有非常好的调速性能。 1.1 本文研究的目的 由于直流电机具有非常好的机械性能,多种多样的控制方式,以及非常好的环境适应性,因此,直流电机在很多工业现场得到越来越广泛的应用 。直流电机控制系统的好坏直接影响电机性能的发挥。在上世纪七八十年代,由于电子技术的落后,很多的直流电机还是依赖复杂的模拟电路进行控制,这种模拟电路采用分离原件搭建,不仅结构复杂,功能单一,而且一个控制
[单片机]
基于<font color='red'>单片机</font>的直流电机控制系统
51单片机实习-数码管动态显示4399(模块化编程)
#include reg52.h sbit wei0=P1^0; sbit wei1=P1^1; sbit wei2=P1^2; sbit wei3=P1^3; int zxm ={0x98,0x98,0xb0,0x99}; void delay(int i) { while(i--) { int j=0; for(;j 115;j++); } } void display() { int i; for( i=0;i 4;i++) { switch(i) { case 0: wei0=0,wei1=1,wei2=1,wei3=1;break; case
[单片机]
51<font color='red'>单片机</font>实习-数码管动态显示4399(模块化编程)
Microchip:不断拓展8位和16位MCU市场
一、约400种8位和16位MCU产品可供选择 Microchip如今有约400种8位和16位的单片机(MCU)产品供用户选择,适用于消费、汽车、办公自动化、通信及工业控制等不同市场领域的高产量嵌入式控制应用。这些产品可提供一系列功能特色:小的封装尺寸、高集成度、超低功耗、极高的性能、先进的模拟功能、高度可靠的闪存技术,以及先进的通信功能,如CAN、USB、Ethernet、LIN和RF。此外,Microchip还提供配套的开发工具和软件来为整个8位和16位单片机市场服务,让用户能够轻松、快速地开发出他们的应用。 Microchip产品的一大特色就在于所有产品都采用了同一种开发系统基础架构。当应用需求发生变动时,能够实现各类Mi
[单片机]
单片机做的8位计算器
局部图: 效果图 : 完整的源码下载地址 http://www.51hei.com/f/jsjzz.rar CODE: #include reg52.h #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; uchar LA ; uchar code wetable ={ 0x7f,0xbf,0xdf,0xef, 0xf7,0xfb,0xfd,0xfe}; uchar code dutable ={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x
[单片机]
<font color='red'>单片机</font>做的8位计算器
小型单片机可编程控制延时开关电路模块设计
  可编程控制电路设计   采用的增强型STC8051单片机及其周围电路,组成最小单片机系统。使用的STC8051芯片内部具有下列硬件资源:增强型STC8051单片机中包含中央处理器(CPU)、4K字节程序存储器(Flash)、128字节数据存储器(SRAM)、2个16位可重装载定时器、1K字节电可擦写EEPROM、6个通用I/O口、硬件看门狗(WDT)、片内高精度R/C震荡1T时钟,内部时钟从5MHz~35MHz 可选,速度比普通8051快6~12倍,及8级高可靠复位等模块。   通过定义单片机P3口的第三位为输出,串口功能由P3.0和P3.1口分别接收和发送数据,调用内部时钟,结合定时器,实现延时时间和输出控制。    供电
[电源管理]
小型<font color='red'>单片机</font>可编程控制延时开关电路模块设计
MCS-51单片机输入输出端口(I/O口)
单片机芯片内还有一项主要内容就是并行I/O口。MCS-51共有4个8位的并行I/O口,分别记作P0、P1、P2、P3。每个口都包含一个锁存器、一个输出驱动器和输入缓冲器。实际上,它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。 在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高8位地址由P2口传送。在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的I/O端口使用。
[单片机]
MCS-51<font color='red'>单片机</font>输入输出端口(I/O口)
STM32单片机硬件关键基础精华及注意事项
   STM32简单介绍   一、背景   如果你正为项目的处理器而进行艰难的选择:一方面抱怨16位单片机有限的指令和性能,另一方面又抱怨32位处理器的高成本和高功耗,那么,基于 ARM Cortex-M3内核的STM32系列处理器也许能帮你解决这个问题。使你不必在性能、成本、功耗等因素之间做出取舍和折衷。   即使你还没有看完STM32的产品手册,但对于这样一款融合ARM和ST技术的“新生儿”相信你和我一样不会担心这款针对16位MCU应用领域 的32位处理器的性能,但是从工程的角度来讲,除了芯片本身的性能和成本之外,你或许还会考虑到开发工具的成本和广泛度;存储器的种类、规模、性能和容 量;以及各种软件获得的难易,我相信你看
[单片机]
STM32<font color='red'>单片机</font>硬件关键基础精华及注意事项
单片机教程之51单片机红外摇控,并在LCD1602上显示
#include reg52.h #include intrins.h typedef unsigned int uint; typedef unsigned char uchar; sbit LCD_RS=P2^0; sbit LCD_RW=P2^1; sbit LCD_EN=P2^2; sbit IRINPUT=P3^2; uchar code Display_LINE0 ={ VALUE FROM IR: }; uchar Display_LINE1 ={ IR CODE: H }; uchar IR_Input_Buffer ; uchar Display_Buffer ={0x00,0x00}
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved