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

📄 main.lis

📁 摩托罗拉的脉冲信号输出的原代码
💻 LIS
字号:
                        .module main.c
                        .area text
                ;           Duty -> 0,X
                ;         Period -> 2,X
 0000           _main::
 0000 A7FC              ais #-4
 0002 95                tsx
 0003           ; /*-----------------------------------------------------*
 0003           ; *工 程 名:PWM.prj                                      *
 0003           ; *硬件接线:PTD.4,即定时器1通道0(21脚)接指示灯或蜂鸣器   *
 0003           ; *程序描述:通过对PWM占空比的调节实现现指示灯的渐亮的功能*
 0003           ; *         当占空比为100%时再从0%逐渐增加             *
 0003           ; *目    的:学习HC08系列定时器脉宽调制功能               *
 0003           ; *---------《嵌入式应用技术基础教程》教学实例----------*/
 0003           ; /*[头文件]*/
 0003           ; #include "GP32C.H"               //包含头文件
 0003           ; #include "KB.h"               //键盘中断头文件
 0003           ; /*函数声明*/
 0003           ; void PWMInit(unsigned int );     //PWM初始化
 0003           ; void PWMconf(unsigned int);      //PWM设置
 0003           ; extern void Delay_ms(unsigned char );   //延时
 0003           ; extern void hmusic(void);
 0003           ; extern void Lmusic(void);
 0003           ; unsigned char KB_valve;
 0003           ; 
 0003           ; /*主程序*/
 0003           ; void main()
 0003           ; {      unsigned int  Period;   //PWM周期
 0003           ;       unsigned int  Duty;     //PWM占空比
 0003           ;         
 0003           ;      KB_Init();
 0003 CD0000            jsr _KB_Init
 0006 95                tsx
 0007 200B              bra L3
 0009           L2:
 0009 A60E              lda #14
 000B B725              sta 0x25
 000D CD0000            jsr _Lmusic
 0010 CD0000            jsr _hmusic
 0013 95                tsx
 0014           L3:
 0014           ; 	      
 0014           ;        //[主循环]
 0014           ;       while(1)
 0014 20F3              bra L2
 0016           X0:
 0016           L1:
 0016 A704              ais #4
 0018                   .dbline 0 ; func end
 0018 81                rts
 0019           ;           Temp -> 0,X
 0019           ;         Period -> 4,X
 0019           _PWMInit::
 0019 A7FE              ais #-2
 001B 95                tsx
 001C           ;      {   T1SC0=0x0E;  
 001C           ;       Lmusic();
 001C           ;       hmusic();
 001C           ;       
 001C           ;       
 001C           ; 
 001C           ; 
 001C           ;       }             
 001C           ;    }
 001C           ; /*PWMconf:PWM初始化设置--------------------------------*
 001C           ; * 功  能:PWM脉冲周期、占空比的设置                     *
 001C           ; * 参  数:rate=脉宽时钟数,cyc=脉冲周期时钟数            *
 001C           ; * 返  回:无                                            *
 001C           ; *-----------------------------------------------------*/
 001C           ; void PWMInit(unsigned int Period)
 001C           ; {   
 001C           ;     unsigned int Temp=Period;
 001C E604              lda 4,X
 001E F7                sta ,X
 001F E605              lda 5,X
 0021 E701              sta 1,X
 0023           ;     //不允许溢出中断,不启动计数,分频因子=64,置位TSTOP,TRST
 0023           ;     T1SC = 0x36;        
 0023 A636              lda #54
 0025 B720              sta 0x20
 0027           ;     //[设置PWM周期]
 0027           ;     T1MODH = (Temp>>8);     
 0027 F6                lda ,X
 0028 B723              sta 0x23
 002A           ;     T1MODL = Period;      
 002A E605              lda 5,X
 002C B724              sta 0x24
 002E           ;     //[初始化设置PWM脉宽为0]        
 002E           ;     T1CH0H = 0x00;       
 002E 3F26              clr 0x26
 0030           ;     T1CH0L = 0x00;  
 0030 3F27              clr 0x27
 0032           ;     //设为PWM模式,不允许输出比较中断,输出低电平,不带缓冲 
 0032           ;     T1SC0  = 0x1E;      
 0032 A61E              lda #30
 0034 B725              sta 0x25
 0036           ;     //允许定时器1计数寄存器计数           
 0036           ;     T1SC  &= 0xDF;     
 0036 B620              lda 0x20
 0038 A4DF              and #-33
 003A B720              sta 0x20
 003C           L5:
 003C A702              ais #2
 003E                   .dbline 0 ; func end
 003E 81                rts
                        .area bss
 0000           _KB_valve::
 0000                   .blkb 1

⌨️ 快捷键说明

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