⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setup.lis

📁 飞思卡尔的键盘中断源代码,C语言写的,很不错的
💻 LIS
字号:
                        .module setup.c
                        .area text
 0000           __HC08Setup::
 0000           ; /*_HC08Setup:GP32系统初始化子程序----------------------*
 0000           ; *功能:系统初始化设置:设置CONFIG1和CONFIG2寄存器       *
 0000           ;        CGM的寄存器设置:由外部晶振f=32.768kHz,产生内部 *
 0000           ;        总线时钟2.4576MHz                               *
 0000           ; *参数:无                                              *
 0000           ; *返回:无                                              *
 0000           ; *-----------------------------------------------------*/ 
 0000           ; #include "GP32C.h"     //映像寄存器地址头文件
 0000           ; void _HC08Setup(void)
 0000           ;  {
 0000           ;    //初始化CONFIG2
 0000           ;    CONFIG2=0b00000001;  //SCIBDSRC=1内部总线时钟用作SCI
 0000 A601              lda #1
 0002 B71E              sta 0x1e
 0004           ;                         //时钟;OSCSTOPENB=0在stop模式下
 0004           ;                         //禁止振荡器工作      
 0004           ;    //初始化CONFIG1
 0004           ;    CONFIG1=0b00111101;  //COPD=1 禁止COP模块
 0004 A63D              lda #61
 0006 B71F              sta 0x1f
 0008           ;                       //STOP=0 禁止STOP指令
 0008           ;                       //SSREC=1 32个CGMXCLK周期退出
 0008           ;                       //STOP模式
 0008           ;                       //LVI5OR3=1 LVI工作在5V
 0008           ;                       //LVIPWRD=1 禁止LVI模块电源
 0008           ;                       //LVIRSTD=1 允许LVI复位信号
 0008           ;                       //LVISTOP=0 在stop模式下禁止LVI
 0008           ;                       //COPRS=0 COP溢出范围使用长的时间                         
 0008           ;    PCTL=0x00;         //①禁止PLL:清零PLL控制寄存器PCTL             
 0008 3F36              clr 0x36
 000A           ;    PCTL=0x01;         //②将P、E写入PTCL,置VCO的参考频率
 000A A601              lda #1
 000C B736              sta 0x36
 000E           ;                       //  为2             
 000E           ;    PMSH=0x01;         //③将N写入PMSH、PMSL,置VCO的倍
 000E A601              lda #1
 0010 B738              sta 0x38
 0012           ;                       //  频因子为$12C          
 0012           ;    PMSL=0x2C;             
 0012 A62C              lda #44
 0014 B739              sta 0x39
 0016           ;    PMRS=0b10000000;   //④将L写入PMRS,置VCO的输出频率范
 0016 A680              lda #-128
 0018 B73A              sta 0x3a
 001A           ;                       //  围系数为$80   
 001A           ;    PRDS=0x01;         //⑤将R写入PRDS
 001A A601              lda #1
 001C B73B              sta 0x3b
 001E           ;    PCTL|=(1<<5);      //⑥置PCTL.PLLON=1,启动PLL电路  
 001E 1A36              bset #5,0x36
 0020           ;    PBWC|=(1<<7);      //⑦PBWC自动带宽控制位=1,选择自动
 0020 1E37              bset #7,0x37
 0022           ;                       //  控制方式  
 0022           ;    PCTL|=(1<<4);      //⑧PCTL.BCS=1,选择PLL电路为时钟源
 0022 1836              bset #4,0x36
 0024           L1:
 0024                   .dbline 0 ; func end
 0024 81                rts

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -