?? 漸明漸暗的燈.lst
字號(hào):
(0039) # include "EX_Support.h"
(0040)
(0041)
(0042) /********************
(0043) * 系 統(tǒng) 宏 定 義 *
(0044) ********************/
(0045)
(0046) /*------------------*
(0047) * 常 數(shù) 宏 定 義 *
(0048) *------------------*/
(0049)
(0050) /*------------------*
(0051) * 動(dòng) 作 宏 定 義 *
(0052) *------------------*/
(0053)
(0054) /********************
(0055) * 模塊結(jié)構(gòu)體定義區(qū) *
(0056) ********************/
(0057)
(0058) /********************
(0059) * 函 數(shù) 聲 明 區(qū) *
(0060) ********************/
(0061) void System_INIT(void);
(0062) void Delay_MS(uint16 wTime);
(0063) void Insert_Timer0_OVF_ISR_Code(void);
(0064)
(0065) /********************
(0066) * 模塊函數(shù)聲明區(qū) *
(0067) ********************/
(0068) static void Driver_INIT(void);
(0069)
(0070) /********************
(0071) * 模塊變量聲明區(qū) *
(0072) ********************/
(0073) //static uint16 s_wSystemDelayTimerCounter = 0;
(0074)
(0075) /********************
(0076) * 全局變量聲明區(qū) *
(0077) ********************/
(0078) //uint16 g_wSystemTimer = 0;
(0079)
(0080) /***********************************************************
(0081) * 函數(shù)說明:軟件驅(qū)動(dòng)初始化函數(shù) *
(0082) * 輸入: 無 *
(0083) * 輸出: 無 *
(0084) * 調(diào)用函數(shù):無 *
(0085) ***********************************************************/
(0086) static void Driver_INIT(void)
(0087) {
_Driver_INIT:
006C 9508 RET
(0088) //*在這里插入你的各類軟件驅(qū)動(dòng)初始化代碼*//
(0089) }
(0090)
(0091) /***********************************************************
(0092) * 函數(shù)說明:系統(tǒng)初始化函數(shù) *
(0093) * 輸入: 無 *
(0094) * 輸出: 無 *
(0095) * 調(diào)用函數(shù):Device_INIT() Driver_INIT() *
(0096) ***********************************************************/
(0097) void System_INIT(void)
(0098) {
(0099) CLI();
_System_INIT:
006D 94F8 BCLR 7
(0100)
(0101) Device_INIT();
006E DFCC RCALL _Device_INIT
(0102) Driver_INIT();
006F DFFC RCALL _Driver_INIT
(0103)
(0104) //*在這里插入你的系統(tǒng)環(huán)境變量初始化代碼*//
(0105)
(0106) SEI();
0070 9478 BSET 7
0071 9508 RET
(0107) }
(0108)
(0109) ///***********************************************************
(0110) //* 函數(shù)說明:系統(tǒng)毫秒延時(shí)函數(shù) *
(0111) //* 輸入: 需要延時(shí)的時(shí)間長度 *
(0112) //* 輸出: 無 *
(0113) //* 調(diào)用函數(shù):無 *
(0114) //***********************************************************/
(0115) //void Delay_MS(uint16 wTime)
(0116) //{
(0117) // s_wSystemDelayTimerCounter = wTime;
(0118) //
(0119) // while(s_wSystemDelayTimerCounter);
(0120) //}
(0121) //
(0122) ///***********************************************************
(0123) //* 函數(shù)說明:定時(shí)器0中斷處理程序代碼插入函數(shù) *
(0124) //* 輸入: 無 *
(0125) //* 輸出: 無 *
(0126) //* 調(diào)用函數(shù):無 *
(0127) //***********************************************************/
(0128) //void Insert_Timer0_OVF_ISR_Code (void)
(0129) //{
(0130) // g_wSystemTimer++;
(0131) //
(0132) // if (s_wSystemDelayTimerCounter)
(0133) // {
(0134) // s_wSystemDelayTimerCounter--;
(0135) // }
(0136) //}
(0137)
(0138) /***********************************************************
(0139) * 函數(shù)說明:定時(shí)器1中斷處理程序代碼插入函數(shù) *
(0140) * 輸入: 無 *
(0141) * 輸出: 無 *
(0142) * 調(diào)用函數(shù):無 *
(0143) ***********************************************************/
(0144)
(0145) void Insert_Timer1_OVF_ISR_Code (void)
(0146) {
(0147) TCNT1 = 0xFF3D; //重新加載定時(shí)器1
_Insert_Timer1_OVF_ISR_Code:
0072 E38D LDI R24,0x3D
0073 EF9F LDI R25,0xFF
0074 93900085 STS 0x85,R25
0076 93800084 STS 0x84,R24
(0148) PORTC ^= 0b00100000; //PC5端口發(fā)光管閃爍
0078 E280 LDI R24,0x20
0079 B028 IN R2,0x08
007A 2628 EOR R2,R24
007B B828 OUT 0x08,R2
(0149) switch (direction) //調(diào)整PWM波占空比,以改變亮度
007C 91000101 LDS R16,direction
007E 2711 CLR R17
007F 3000 CPI R16,0
0080 0701 CPC R16,R17
0081 F029 BEQ 0x0087
0082 3001 CPI R16,1
0083 E0E0 LDI R30,0
0084 071E CPC R17,R30
0085 F089 BEQ 0x0097
0086 C01C RJMP 0x00A3
(0150) {
(0151) case L_dw : //亮度變化趨勢(shì)控制標(biāo)志為增強(qiáng)方向時(shí)的處理
(0152) {
(0153) light += 0x02;
0087 91800100 LDS R24,light
0089 5F8E SUBI R24,0xFE
008A 93800100 STS light,R24
(0154) if (light > 0x83) //如果亮度達(dá)到最小,則保持該亮度,并且換亮度變化趨勢(shì)控制標(biāo)志為增強(qiáng)方向
008C E883 LDI R24,0x83
008D 90200100 LDS R2,light
008F 1582 CP R24,R2
0090 F490 BCC 0x00A3
(0155) {
(0156) light = 0x83;
0091 93800100 STS light,R24
(0157) direction = L_up;
0093 E081 LDI R24,1
0094 93800101 STS direction,R24
(0158) }
(0159) break;
0096 C00C RJMP 0x00A3
(0160) }
(0161)
(0162) case L_up : //亮度變化趨勢(shì)控制標(biāo)志為減弱方向時(shí)的處理
(0163) {
(0164) light -=0x02;
0097 91800100 LDS R24,light
0099 5082 SUBI R24,2
009A 93800100 STS light,R24
(0165) if (light < 0x03) //如果亮度達(dá)到最大,則保持該亮度,并且換亮度變化趨勢(shì)控制標(biāo)志為減弱方向
009C 3083 CPI R24,3
009D F428 BCC 0x00A3
(0166) {
(0167) light = 0x00;
009E 2422 CLR R2
009F 92200100 STS light,R2
(0168) direction = L_dw;
00A1 92200101 STS direction,R2
(0169) }
(0170) break;
(0171) }
(0172) }
(0173) OCR0B = light;
00A3 90200100 LDS R2,light
00A5 BC28 OUT 0x28,R2
00A6 9508 RET
FILE: D:\設(shè)計(jì)項(xiàng)目\深入淺出AVR\光盤文件\實(shí)例程序源代碼\實(shí)例11_漸明漸暗的燈\漸明漸暗的燈\System.c
(0001) /***********************************************************
(0002) * 源程序說明: *
(0003) * 版本: *
(0004) * 作者: *
(0005) * 創(chuàng)建日期: *
(0006) * -------------------------------------------------------- *
(0007) * [支 持 庫] *
(0008) * 支持庫名稱:PF_Config.h *
(0009) * 需要版本: ----- *
(0010) * 支持庫說明:硬件平臺(tái)配置聲明庫 *
(0011) * -------------------------------------------------------- *
(0012) * [版本更新] *
(0013) * 修改: *
(0014) * 修改日期: *
(0015) * 版本: *
(0016) * -------------------------------------------------------- *
(0017) * [版本歷史] *
(0018) * -------------------------------------------------------- *
(0019) * [使用說明] *
(0020) ***********************************************************/
(0021)
(0022) /********************
(0023) * 頭 文 件 配 置 區(qū) *
(0024) ********************/
(0025) # include "PF_Config.h"
(0026)
(0027) /********************
(0028) * 系 統(tǒng) 宏 定 義 *
(0029) ********************/
(0030)
(0031) /*------------------*
(0032) * 常 數(shù) 宏 定 義 *
(0033) *------------------*/
(0034)
(0035) /*------------------*
(0036) * 動(dòng) 作 宏 定 義 *
(0037) *------------------*/
(0038)
(0039) /********************
(0040) * 模塊結(jié)構(gòu)體定義區(qū) *
(0041) ********************/
(0042)
(0043) /********************
(0044) * 模塊函數(shù)聲明區(qū) *
(0045) ********************/
(0046)
(0047) /********************
(0048) * 模塊變量聲明區(qū) *
(0049) ********************/
(0050)
(0051) /***********************************************************
(0052) * 函數(shù)說明:主函數(shù) *
(0053) * 輸入: 無 *
(0054) * 輸出: 無 *
(0055) * 調(diào)用函數(shù):System_INIT() *
(0056) ***********************************************************/
(0057) void main(void)
(0058) {
(0059) System_INIT(); //代碼初始化
_main:
00A7 DFC5 RCALL _System_INIT
(0060)
(0061) while(TRUE); //超級(jí)循環(huán)
FILE: <library>
00A8 CFFF RJMP 0x00A8
00A9 9508 RET
push_lset:
00AA 93FA ST R31,-Y
00AB 93EA ST R30,-Y
00AC 93BA ST R27,-Y
00AD 93AA ST R26,-Y
00AE 939A ST R25,-Y
00AF 938A ST R24,-Y
00B0 933A ST R19,-Y
00B1 932A ST R18,-Y
00B2 931A ST R17,-Y
00B3 930A ST R16,-Y
00B4 929A ST R9,-Y
00B5 928A ST R8,-Y
00B6 927A ST R7,-Y
00B7 926A ST R6,-Y
00B8 925A ST R5,-Y
00B9 924A ST R4,-Y
00BA 923A ST R3,-Y
00BB 922A ST R2,-Y
00BC 921A ST R1,-Y
00BD 920A ST R0,-Y
00BE B60F IN R0,0x3F
00BF 920A ST R0,-Y
00C0 9508 RET
pop_lset:
00C1 9009 LD R0,Y+
00C2 BE0F OUT 0x3F,R0
00C3 9009 LD R0,Y+
00C4 9019 LD R1,Y+
00C5 9029 LD R2,Y+
00C6 9039 LD R3,Y+
00C7 9049 LD R4,Y+
00C8 9059 LD R5,Y+
00C9 9069 LD R6,Y+
00CA 9079 LD R7,Y+
00CB 9089 LD R8,Y+
00CC 9099 LD R9,Y+
00CD 9109 LD R16,Y+
00CE 9119 LD R17,Y+
00CF 9129 LD R18,Y+
00D0 9139 LD R19,Y+
00D1 9189 LD R24,Y+
00D2 9199 LD R25,Y+
00D3 91A9 LD R26,Y+
00D4 91B9 LD R27,Y+
00D5 91E9 LD R30,Y+
00D6 91F9 LD R31,Y+
00D7 9508 RET
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -