打印
[其它应用]

中颖单片机6488总结

[复制链接]
10063|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1. 配置字

1.OSC1 12M,

2.OSC1为32768.OSC2为内部12M

3.OSC1为32768 OSC2 外部晶振400K--12M



使用特权

评论回复
沙发
xiaoqi000|  楼主 | 2021-6-22 22:42 | 只看该作者
2. OSC时钟
开启OSC2的时候需要等待片刻。配置OSC2作为SYSCLK

PLLCON开启锁相环,只有48M的二分频。

使用特权

评论回复
板凳
xiaoqi000|  楼主 | 2021-6-22 22:44 | 只看该作者
3.开启校准功能
实际测试发现时钟不准确,需要校准。


使用特权

评论回复
地板
xiaoqi000|  楼主 | 2021-6-22 22:44 | 只看该作者
4.PWM配置
PWM1PH = 2000>>8;
        PWM1PL = 2000%256;
        PWM1DH = 1500>>8;
        PWM1DL = 1500%256;
        PWM1CON = 0x81;

使用特权

评论回复
5
xiaoqi000|  楼主 | 2021-6-22 22:45 | 只看该作者
配置周期寄存器,占空比寄存器,开启PWM,配置占空比是高电平还是低电平。

使用特权

评论回复
6
xiaoqi000|  楼主 | 2021-6-22 22:46 | 只看该作者
5.串口配置
// bref: ´®¿Ú³õʼ»¯
// para:
// note:
static void uart_init(void)
{
        SCON = 0x50;
        /*???????,???9600*/
        /* ????:(int)X=FSY/(16*???) ;  SBRT=32768-X  ;   SFINE=(FSY/???)-16*X   FSY=24M*/
        SBRTH=0xFF;
        SBRTL=0xF3;
        SFINE=0x04;
}

使用特权

评论回复
7
xiaoqi000|  楼主 | 2021-6-22 22:47 | 只看该作者
x = FSY/(16*波特率)  SBRT = 32768-x.  SPINE = (FSY/波特率)-16*x

SBRTH 最高位是使能位。

使用特权

评论回复
8
xiaoqi000|  楼主 | 2021-6-22 22:47 | 只看该作者
测试波特率正常

使用printf 需要实现
char putchar(char c)
{
        SBUF = c;
    while(!TI);
    TI=0;
}

使用特权

评论回复
9
xiaoqi000|  楼主 | 2021-6-22 22:48 | 只看该作者
和arm的不一样,这个可以在stdio.h中看到接口。

使用特权

评论回复
10
xiaoqi000|  楼主 | 2021-6-22 22:49 | 只看该作者

使用特权

评论回复
11
xiaoqi000|  楼主 | 2021-6-22 22:49 | 只看该作者
6  ADC(20位)
搞了半天发现还需要开启ADC的参考电压。

使用特权

评论回复
12
xiaoqi000|  楼主 | 2021-6-22 22:50 | 只看该作者

static void adc_init(void)
{
        ADCON = 0x00;  //ADON, VDD as vref, no trigger
        /***************************************************************************************
        24M SYSCLK, 100ksps
        ****************************************************************************************/
        ADT = 136;
        // ADREF Ñ¡ÔñÍⲿ²Î¿¼
        //ADCON |= 1<<4;
        // ÅäÖÃP1.1 -- P1.2 ΪAIN0+ AIN0-
        ADCH |= 0x01;
        //
        ADCDS |= 0x01;
        // PGA 64±¶·Å´ó
        PGAM = 0xC0|(1<<2);
        // ¿ªÆôPGA
}

使用特权

评论回复
13
xiaoqi000|  楼主 | 2021-6-22 22:51 | 只看该作者

static void adc_init(void)
{
        ADCON = 0x00;  //ADON, VDD as vref, no trigger
        /***************************************************************************************
        24M SYSCLK, 100ksps
        ****************************************************************************************/
        ADT = 136;
        // ADREF Ñ¡ÔñÍⲿ²Î¿¼
        //ADCON |= 1<<4;
        // ÅäÖÃP1.1 -- P1.2 ΪAIN0+ AIN0-
        ADCH |= 0x01;
        //
        ADCDS |= 0x01;
        // PGA 64±¶·Å´ó
        PGAM = 0xC0|(1<<2);
        // ¿ªÆôPGA
}

使用特权

评论回复
14
xiaoqi000|  楼主 | 2021-6-22 22:51 | 只看该作者
使能P1.1--P1.2差分输入。

开启PGA功能。

使用特权

评论回复
15
两只袜子| | 2021-7-8 16:28 | 只看该作者
帮楼主顶一下,哈哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

671

帖子

0

粉丝