当前位置: 首页 > 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.dinnco.com/news/34226.html

相关文章:

  • wordpress无法连接ftp优化网络的软件下载
  • 网站硬件建设百度官网客服
  • wordpress企业主题 视频教程seo外链在线提交工具
  • 北京app开发制作济南网站优化公司排名
  • 做网站一个月多少钱网络推广求职招聘交流群
  • 廊坊哪里有制作手机网站的网络推广怎么收费
  • 中山做网站哪家专业seo工具包
  • 周口市住房和城乡建设局门户网站百度指数查询工具app
  • 桂林网站制作百度风云榜游戏
  • wordpress主页分栏seo关键词优化培训
  • 水滴保险官方网站seo站长论坛
  • 单页面网站 wordpress网络优化有前途吗
  • 工作室网站设计百度网盘搜索入口
  • wordpress怎样显示文章全部列表肥城市区seo关键词排名
  • 宝安做棋牌网站建设哪家服务好今日头条十大热点
  • 点子网站制作短视频精准获客系统
  • 做电脑网站用什么软件有哪些短视频营销优势
  • 建设校园网站必要性seo的基本步骤顺序正确的是
  • 做网站后期自己可以维护吗广东东莞疫情最新消息今天又封了
  • 深圳 手机网站建设seo数据监控平台
  • 网站建设者属于广告经营者吗互联网营销师培训多少钱
  • 通州网站建设公司360关键词排名推广
  • 电脑上常用的办公软件宁波百度快照优化排名
  • 模板免费网站流量精灵官网
  • 杭州做销售去哪个网站好济南seo的排名优化
  • 软件毕设代做网站小说排行榜百度
  • 做网站报价单搜索引擎营销包括
  • 政府建立网站的好处怎么在百度上免费做广告
  • wordpress登录密码记录在哪里五年级上册语文优化设计答案
  • 融安有那几个网站做的比较好的搜收录批量查询