📄 main.c
字号:
/*-----------------------------------------------------*
*工 程 名:PWM.prj *
*硬件接线:PTD.4,即定时器1通道0(21脚)接指示灯或蜂鸣器 *
*程序描述:通过对PWM占空比的调节实现现指示灯的渐亮的功能*
* 当占空比为100%时再从0%逐渐增加 *
*目 的:学习HC08系列定时器脉宽调制功能 *
*---------《嵌入式应用技术基础教程》教学实例----------*/
/*[头文件]*/
#include "GP32C.H" //包含头文件
#include "KB.h"
/*函数声明*/
extern void PWMInit(unsigned int ); //PWM初始化
extern void PWMconf(unsigned int); //PWM设置
extern void Delay_ms(unsigned char ); //延时
/*主程序*/
void main()
{
unsigned char KB_valve;
DDRB=0xFF;
PTB=0xFF;
//[主循环]
while(1)
{
//KB_Init();
KB_valve=KB_Scan();
KB_valve=KB_Def(KB_valve);
switch(KB_valve)
{
case '1':PWMconf(523);PTB=0x01;break;//1~7
case '2':PWMconf(587);PTB=0x02;break;
case '3':PWMconf(659);PTB=0x03;break;
case '4':PWMconf(698);PTB=0x04;break;
case '5':PWMconf(784);PTB=0x05;break;
case '6':PWMconf(880);PTB=0x06;break;
case '7':PWMconf(988);PTB=0x07;break;
case 'A':PWMconf(262);PTB=0x11;break;//#1~~~~#7
case 'B':PWMconf(294);PTB=0x12;break;
case 'C':PWMconf(330);PTB=0x13;break;
case 'D':PWMconf(349);PTB=0x14;break;
case 'E':PWMconf(392);PTB=0x15;break;
case 'F':PWMconf(440);PTB=0x16;break;
case 'G':PWMconf(494);PTB=0x17;break;
case 'a':PWMconf(1046);PTB=0x21;break;//*1~~~~*7
case 'b':PWMconf(1175);PTB=0x22;break;
case 'c':PWMconf(1318);PTB=0x23;break;
case 'd':PWMconf(1397);PTB=0x24;break;
case 'e':PWMconf(1568);PTB=0x25;break;
case 'f':PWMconf(1760);PTB=0x26;break;
case 'g':PWMconf(1976);PTB=0x27;break;
default :T1SC|=(1<<5);T1SC0=0x0e;PTB=0xFF;break;//停止定时器1计数器计数
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -