📄 setup.lis
字号:
.module SetUp.c
.area text
0000 .dbfile SetUp.c
0000 .dbfunc e MCUInit _MCUInit fV
0000 _MCUInit::
0000 .dbline -1
0000 .dbline 16
0000 ; //_HC08Setup:芯片初始化----------------------------------------------------*
0000 ; //功能:系统初始化设置 *
0000 ; // (1)由外部晶振f,通过本程序设置内部总线频率fbus *
0000 ; // (2) 确定是否禁止看门狗(COP) *
0000 ; //参数:无 *
0000 ; //返回:无 *
0000 ; //说明:该程序与芯片具体型号有关. *
0000 ; // (1)外部晶振f=32.768kHz,使用内部PLL(锁相环),产生内部总线时钟频率 *
0000 ; // fbus=2.4576MHz. *
0000 ; // (2)禁止COP模块 *
0000 ; //-------------------------------------------------------------------------*
0000 ;
0000 ; #include "GP32C.h" //映像寄存器名定义
0000 ;
0000 ; void MCUInit(void)
0000 ; {
0000 .dbline 19
0000 ; //1.设置CONFIG2、CONFIG1
0000 ; //1.1 设置CONFIG2
0000 ; CONFIG2=0b00000001;
0000 A601 lda #1
0002 B71E sta 0x1e
0004 .dbline 24
0004 ; // ||_SCIBDSRC=1内部总线时钟用作SCI时钟
0004 ; // |__OSCSTOPENB=0 在stop模式下禁止振荡器工作
0004 ;
0004 ; //1.2 设置CONFIG1
0004 ; CONFIG1=0b00111101;
0004 A63D lda #61
0006 B71F sta 0x1f
0008 .dbline 35
0008 ; //||||||||_COPD=1 禁止COP模块
0008 ; //|||||||__STOP=0 禁止STOP指令
0008 ; //||||||___SSREC=1 32个CGMXCLK周期退出STOP模式
0008 ; //|||||____LVI5OR3=1 LVI工作在5V
0008 ; //||||_____LVIPWRD=1 禁止LVI模块电源
0008 ; //|||______LVIRSTD=1 允许LVI复位信号
0008 ; //||_______LVISTOP=0 在stop模式下禁止LVI
0008 ; //|________COPRS=0 COP溢出范围使用长的时间
0008 ;
0008 ; //2. PLL编程
0008 ; PCTL=0x00; //①禁止PLL:清零PLL控制寄存器PCTL
0008 3F36 clr 0x36
000A .dbline 36
000A ; PCTL=0x01; //②将P、E写入PTCL,置VCO的参考频率为2
000A A601 lda #1
000C B736 sta 0x36
000E .dbline 37
000E ; PMSH=0x01; //③将N写入PMSH、PMSL,置VCO的倍频因子为$12C
000E A601 lda #1
0010 B738 sta 0x38
0012 .dbline 38
0012 ; PMSL=0x2C;
0012 A62C lda #44
0014 B739 sta 0x39
0016 .dbline 39
0016 ; PMRS=0b10000000; //④将L写入PMRS,置VCO的输出频率范围系数为$80
0016 A680 lda #-128
0018 B73A sta 0x3a
001A .dbline 40
001A ; PRDS=0x01; //⑤将R写入PRDS
001A A601 lda #1
001C B73B sta 0x3b
001E .dbline 41
001E ; PCTL|=(1<<5); //⑥置PCTL.PLLON=1,启动PLL电路
001E 1A36 bset #5,0x36
0020 .dbline 42
0020 ; PBWC|=(1<<7); //⑦PBWC自动带宽控制位=1,选择自动控制方式
0020 1E37 bset #7,0x37
0022 .dbline 43
0022 ; PCTL|=(1<<4); //⑧PCTL.BCS=1,选择PLL电路为时钟源
0022 1836 bset #4,0x36
0024 .dbline -2
0024 L1:
0024 .dbline 0 ; func end
0024 81 rts
0025 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -