标题:
FMD辉芒微单片机FT60F12x学习例程 C语言汇编都有
[打印本页]
作者:
tyu666
时间:
2022-4-28 12:50
标题:
FMD辉芒微单片机FT60F12x学习例程 C语言汇编都有
51hei.png
(7.23 KB, 下载次数: 110)
下载附件
2022-4-28 16:57 上传
代码下载:
FT60F12x-C语言.7z
(6.91 MB, 下载次数: 127)
2022-4-28 16:58 上传
点击文件名下载附件
c
下载积分: 黑币 -5
包含以下常用功能模块的C语言和汇编语言例程
EEPROM
IIC
INT
IO
IR
LVD
LVD_PWM
MSCK
PA_INT
PWM
SLEEP
SPI
TIMER0
TIMER2
UART
WDT
部分单片机源程序如下:
//*********************************************************
/* 文件名:TEST_60F12x_IO.c
* 功能: FT60F12x-IO功能演示
* IC: FT60F123 SOP16
* 晶振: 16M/2T
* 说明: 当DemoPortIn悬空或者高电平时,
* DemoPortOut输出50Hz占空比50%的波形
* 当DemoPortIn接地时,DemoPortOut输出高电平
*
* FT60F123 SOP16
* ----------------
* VDD-----------|1(VDD) (VSS)16|-----------VSS
* NC------------|2(PA7) (PA0)15|------------NC
* DemoPortIn----|3(PA6) (PA1)14|------------NC
* NC------------|4(PA5) (PA2)13|------------NC
* DemoPortOut---|5(PA4) (PA3)12|------------NC
* NC------------|6(PC5) (PC0)11|------------NC
* NC------------|7(PC4) (PC1)10|------------NC
* NC------------|8(PC3) (PC2)09|------------NC
* ----------------
*/
//*********************************************************
#include "SYSCFG.h"
//***********************宏定义****************************
#define DemoPortOut PA4
#define DemoPortIn PA6
/*-------------------------------------------------
* 函数名:POWER_INITIAL
* 功能: 上电系统初始化
* 输入: 无
* 输出: 无
--------------------------------------------------*/
void POWER_INITIAL (void)
{
OSCCON = 0B01110001; //IRCF=111=16MHz/2T=8MHz,0.125us
INTCON = 0; //暂禁止所有中断
PORTA = 0B00000000;
TRISA = 0B01000000; //PA输入输出 0-输出 1-输入
//PA4-OUT PA6-IN
PORTC = 0B00000000;
TRISC = 0B00000000; //PC输入输出 0-输出 1-输入
WPUA = 0B01000000; //PA端口上拉控制 1-开上拉 0-关上拉
//开PA6上拉
WPUC = 0B00000000; //PC端口上拉控制 1-开上拉 0-关上拉
//60系列PC口无上拉
OPTION = 0B00001000; //Bit3=1,WDT MODE,PS=000=WDT RATE 1:1
PSRCA = 0B11111111; //源电流设置最大
PSRCC = 0B11111111;
PSINKA = 0B11111111; //灌电流设置最大
PSINKC = 0B11111111;
MSCON = 0B00110000;
//Bit5: PSRCAH4和PSRCA[4]共同决定源电流。00:4mA; 11: 33mA; 01、10:8mA
//Bit4: PSRCAH3和PSRCA[3]共同决定源电流。00:4mA; 11: 33mA; 01、10:8mA
//Bit3: UCFG1<1:0>为01时此位有意义。0:禁止LVR; 1:打开LVR
//Bit2: 快时钟测量慢周期的平均模式。0:关闭平均模式;1:打开平均模式
//Bit1: 0:关闭快时钟测量慢周期;1:打开快时钟测量慢周期
//Bit0: 0:睡眠时停止工作:1: 睡眠时保持工作。
// 当T2时钟不是选择指令时钟的时
}
/*----------------------------------------------------
* 函数名称:DelayUs
* 功能: 短延时函数 --16M-2T--大概快1%左右.
* 输入参数:Time延时时间长度 延时时长Time Us
* 返回参数:无
----------------------------------------------------*/
void DelayUs(unsigned char Time)
{
unsigned char a;
for(a=0;a<Time;a++)
{
NOP();
}
}
/*----------------------------------------------------
* 函数名称:DelayMs
* 功能: 短延时函数
* 输入参数:Time延时时间长度 延时时长Time ms
* 返回参数:无
----------------------------------------------------*/
void DelayMs(unsigned char Time)
{
unsigned char a,b;
for(a=0;a<Time;a++)
{
for(b=0;b<5;b++)
{
DelayUs(197); //快1%
}
}
}
/*-------------------------------------------------
* 函数名: main
* 功能: 主函数
* 输入: 无
* 输出: 无
--------------------------------------------------*/
void main(void)
{
POWER_INITIAL(); //系统初始化
while(1)
{
DemoPortOut = 1;
DelayMs(10); //10ms
if(DemoPortIn == 1) //判断输入是否为高电平
{
DemoPortOut = 0;
}
DelayMs(10);
}
}
复制代码
作者:
hjh002
时间:
2023-8-15 17:16
想要PWM 的,能不能直接贴出来?
作者:
likejian
时间:
2023-8-23 12:16
搞不定pwm怎么写的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1