当前位置: 首页 > news >正文

免费做优化的网站建设长春比较有名的做网站建设

免费做优化的网站建设,长春比较有名的做网站建设,长链接变短链接工具,宁夏百度网站怎么做基本说明 本章使用芯片:STC8H8K64U核心板 芯片手册:点此查看 Keil 开发环境配置:点此查看 本章学习内容:利用库函数,开发C程序,实现呼吸灯效果。 代码实例 需求:使用串口来控制呼吸灯效果&…
基本说明

本章使用芯片:STC8H8K64U核心板

芯片手册:点此查看

Keil 开发环境配置:点此查看

本章学习内容:利用库函数,开发C程序,实现呼吸灯效果。

代码实例

需求:使用串口来控制呼吸灯效果,如果串口接收的数据为1,则奇数灯亮;如为0,则偶数位灯亮。

#include "NVIC.h"
#include "GPIO.h"
#include "Config.h"
#include "Switch.h"
#include "STC8H_PWM.h"
#include "UART.h"
#include "Delay.h"#define PEROID MAIN_Fosc/1000 //主频周期
#define LED_SW P45 //总开关接的P45引脚,要设置为低电平
#define LED1 P27
#define LED2 P26
#define LED3 P15
#define LED4 P14
#define LED5 P23
#define LED6 P22
#define LED7 P21
#define LED8 P20PWMx_Duty duty;void GPIO_Config(){GPIO_InitTypeDef init;init.Mode=GPIO_OUT_PP;//推挽输出init.Pin=GPIO_Pin_5;GPIO_Inilize(GPIO_P4, &init);init.Pin=GPIO_Pin_7 | GPIO_Pin_6 |GPIO_Pin_3 |GPIO_Pin_2 |GPIO_Pin_1 |GPIO_Pin_0 ;GPIO_Inilize(GPIO_P2, &init);init.Pin=GPIO_Pin_5 | GPIO_Pin_4;GPIO_Inilize(GPIO_P1, &init);}void UART_Config(){COMx_InitDefine init;init.UART_Mode = UART_8bit_BRTx;			init.UART_BRT_Use=BRT_Timer1;		init.UART_BaudRate=115200;		init.Morecommunicate=DISABLE;	init.UART_RxEnable=ENABLE;		init.BaudRateDouble=DISABLE;	UART_Configuration(UART1, &init);// UART会触发中断,所以要在NVIC中找到中断并配置优先级,URAT关系到写数据,所以优先级要高于其他任务NVIC_UART1_Init(ENABLE, Priority_3);// 切换引脚,本实验电路板默认就是PIN脚30、31 ,也可以不写,但有多组时必须配置UART1_SW(UART1_SW_P30_P31)	}void PWM_Config(){PWMx_InitDefine init;init.PWM_Mode=CCMRn_PWM_MODE1;			//模式,通常选择模式1或者模式2init.PWM_Period=PEROID-1;//周期时间,   0~65535	init.PWM_Duty=0;		//PWM占空比时间, 0~Period	init.PWM_DeadTime=0;	init.PWM_EnoSelect=ENO1P| ENO1N| ENO2P| ENO2N| ENO3P| ENO3N| ENO4P| ENO4N;		init.PWM_CEN_Enable=ENABLE;		init.PWM_MainOutEnable=ENABLE;// 配置PWMA和PWM1、PWM2、PWM3、PWM4PWM_Configuration(PWMA,&init);PWM_Configuration(PWM1,&init);PWM_Configuration(PWM2,&init);PWM_Configuration(PWM3,&init);PWM_Configuration(PWM4,&init);// 初始化PWMA的中断NVIC_PWM_Init(PWMA, DISABLE, Priority_0);//切换PWM引脚PWM1_SW(PWM1_SW_P20_P21);PWM2_SW(PWM2_SW_P22_P23);PWM3_SW(PWM3_SW_P14_P15);PWM4_SW(PWM4_SW_P26_P27);
}void main(){int percent=0; //单片机中要使用的变量必须定义在离函数名最近的位置,否则编译时会报错未定义或重复定义int direction=1;EAXSFR(); //扩展寄存器访问使能, 使用PWM功能必须配置,且要配置在前面,否则可能无呼吸效果EA=1; //中断使能GPIO_Config();UART_Config();PWM_Config();// 总开关LED_SW=0;//点亮所有灯LED1 = LED2 = LED3 = LED4 = LED5 = LED6 = LED7 = LED8 = 0;while (1){// 倒计时5次确保缓冲区内此时没正在接收数据if (COM1.RX_TimeOut>0 &&--COM1.RX_TimeOut==0){// 判断缓冲区有数据if (COM1.RX_Cnt>0){if (RX1_Buffer[0]==0){direction=1;} else if (RX1_Buffer[0]==1){direction=-1;}// 让duty_percent一直在0-100来回往返if (percent>=100){percent=100;}else if(percent<=0){percent=0;}percent +=direction;// 修改PWM的duty并更新duty.PWM1_Duty=PEROID*percent/100;duty.PWM2_Duty=PEROID*percent/100;duty.PWM3_Duty=PEROID*percent/100;duty.PWM4_Duty=PEROID*percent/100;UpdatePwm(PWMA, &duty);//缓冲区数据拿完后要将数据长度置为0COM1.RX_Cnt=0;//设置延时delay_ms(250);delay_ms(250);}}}}}

http://www.yayakq.cn/news/449639/

相关文章:

  • 公路水运建设质量与安全监督系统网站太原自学网站建设
  • 自适应网站平台外贸网站推广上海
  • 公司做网站算什么费用集团网站信息建设情况
  • 北京朝阳网站太原seo团队
  • 中国建设银行网站首页旧版今天的新闻直播
  • 用php做的网站跨境电商主要平台有哪些
  • 微信网页上的网站怎么做的百姓网招聘信息最新招聘
  • 怎么做钓鱼网站呢毕业设计指导网站建设
  • 地板网站建设图片网站收录
  • 租一个国外的服务器 建设网站软件开发一天收费多少
  • 银川网站seo小企业广告投放平台
  • 企业做网站的方案网站开发类标书报价明细表
  • 课程网站开发流程图及原型图大连网站制作怎么做
  • 宣城 网站建设网站类型后缀
  • 招标网官方网站建设执业资格注册中心网站办事大厅
  • 怎么促成客户做网站广州网络营销类岗位
  • 手机网站设计尺寸毫米睢宁县建设局网站
  • 网站域名推广linux怎么使用wordpress
  • 网站中的二级菜单怎么做23济南好的网站建设公司哪家好
  • 长乐区建设局网站青岛网络推广公司哪家好
  • php企业网站多少钱中国最早做网站是谁
  • 相亲网站怎么做的品牌商城网站建设公司
  • 温州网站建购物网站开发背景及意义
  • 格尔木市公司网站建设优惠券网站要怎么做推广
  • c 网站开发案例代码网站合作建设合同
  • 国外网站设计案例大数据营销的作用
  • 网站的seo方案发布建设网站
  • 顺德网站开发多国语言网站建设
  • 做网站的方法及措施网站建设移动端是什么意思
  • asp婚纱摄影网站湖北省和建设厅网站