ABOV 程序
第一节 ABOV 程序生成器的使用
ABOV官网
前言
韩国现代单片机是 “以顾客为中心挑战与创新” 经营理念为基础, 在2006年2月从Magnachip半导体(旧:海力士)公司独立出来的专业半导体公司,现代单片机以MCU(微控制器)技术为基础,融合 Sensor和 Connectivity解决方案,在5G时代到来之际与AI(人工智能)和IOT技术创新一起,引领着数字化时代。
提示:以下是本篇文章正文内容,下面案例可供参考
一、ABOV是什么?
ABOV半导体在2006年自韩国HYNIX分离出来,有超过20年单片机领域耕耘经验。ABOV半导体有单片机和标准IC另类产品
二、使用步骤
1.选择需要用到的IC资料
ABOV MC95FG308数据手册
原理图如下:
安装低版本的KEIL软件,因为ABOV关联的版本低
2.利用软件初步生产IC配置文件
软件链接 : OCD2_debugger_V2.031
步骤如下(示例): 1. 选择芯片类型 2. 选择相关芯片 3. 选择引脚脚位数量
3.利用软件初步生产代码文件
步骤如下(示例): 1. 选择芯片的图 2. 配置相关芯片脚位 3. 首先配置USAR1 引脚输入输出状态 4. 配置IC 晶振需要配置 5. 配置输入输出口 6. 配置AD口 7. 选项卡选择定时器的参数 有时间使能定时时间大小 8. 选项卡选择AD的参数 有使能 数据中断 数据对其方式 9. 选项卡选择USAR的参数 有使能 波特率 中断方式
-- 最后记得将IC晶振外置进行勾选。
4.利用软件初步生产代码文件
步骤如下(示例): 1. 选择File进行芯片程序更新
#define MAIN 1
#include "MC95FG308.h"
#include "func_def.h"
void main()
{
cli();
port_init();
clock_init();
ADC_init();
Timer0_init();
UART_init();
sei();
while(1);
}
void INT_USART0_Rx() interrupt 6
{
}
void INT_USART1_Rx() interrupt 10
{
}
void INT_Timer0() interrupt 12
{
}
void INT_ADC() interrupt 18
{
}
unsigned char UART_read(unsigned char ch)
{
unsigned char dat;
if (ch == (unsigned char)0) {
while(!(USTAT & 0x20));
dat = UDATA;
}
if (ch == (unsigned char)1) {
while(!(USTAT1 & 0x20));
dat = UDATA1;
}
return dat;
}
unsigned int ADC_read()
{
unsigned int adcVal;
while(!(ADCM & 0x10));
adcVal = (ADCRH << 8) | ADCRL;
ADCM &= ~0x40;
return adcVal;
}
void ADC_init()
{
ADCM = 0x00;
ADCM2 = 0x04;
IEN3 |= 0x01;
}
void ADC_start(unsigned char ch)
{
ADCM = (ADCM & 0xf0) | (ch & 0xf);
ADCM |= 0x40;
}
void Timer0_init()
{
T0CR = 0x9A;
T0DR = 0x26;
IEN2 |= 0x01;
T0CR |= 0x01;
}
void UART_init()
{
UCTRL2 = 0x02;
UCTRL1 = 0x06;
UCTRL2 |= 0xAC;
UCTRL3 = 0x00;
UBAUD = 0x33;
UCTRL12 = 0x02;
UCTRL11 = 0x06;
UCTRL12 |= 0xAC;
UCTRL13 = 0x00;
UBAUD1 = 0x33;
IEN1 |= 0x11;
}
void UART_write(unsigned char ch, unsigned char dat)
{
if (ch == (unsigned char)0) {
while(!(USTAT & 0x80));
UDATA = dat;
}
if (ch == (unsigned char)1) {
while(!(USTAT1 & 0x80));
UDATA1 = dat;
}
}
void clock_init()
{
}
void port_init()
{
P0IO = 0xE7;
P0PU = 0x08;
P0OD = 0x00;
P0DB = 0x00;
P0 = 0x00;
P1IO = 0xFF;
P1PU = 0x00;
P1OD = 0x00;
P1DB = 0x00;
P1 = 0x00;
P2IO = 0xFE;
P2PU = 0x00;
P2OD = 0x00;
P2DB = 0x00;
P2 = 0x00;
P3IO = 0x7F;
P3PU = 0x80;
P3OD = 0x00;
P3DB = 0x00;
P3 = 0x00;
PSR0 = 0x10;
PSR1 = 0x00;
}
5.利用软件对生产的代码进行仿真
1.开发环境:官方推出的IDE有Keil和IAR两种,但是官网上所给出的代码例程绝大数都是Keil为例,所有强烈推荐Keil C51作为你的首选开发环境
2.仿真工具:开发环境Keil C51 连接官方的USB OCD-II仿真工具可以实现代码的实时仿真,仿真板Target需要4根线连接到USB OCD-II,分别是VCC、GND、SDA、SCL,注意仿真器不带有电源,所以需要单独给仿真板子供电,注意数据线和时钟线是ABOV单片机的特定引脚的专用接口,并非通常的IIC接口,这点需要特别注意。仿真工具USB OCD-II的驱动安装最新文件可以在官网进行下载 ,一般仿真器的驱动在安装文件夹里
OCD2仿真软件下载
步骤如下(示例): 1. 建立代码生成器与KEIL直接的关系 2. 建立自己的代码并进行编译 3. 打开仿真软件 -> 插入仿真器与电脑口-> 选择8MS 的芯片类型--> 点击 仿真 -> 打开HEX文件-> 选择外部晶振和禁止
总结
以上就是今天的内容,本文介绍了ABOV的使用,关于代码生成器的使用以及芯片配置的注意问题
|