?? main.asm
字號:
//***********************************************************
//描述: 1)選擇不同的時鐘源,同一占空比8/16,觀察示波器中頻率的變化
// 2)選擇同一時鐘源,改變占空比,觀察示波器,比較脈沖寬度
//日期: 2003/07/08
//版本:1.8.0
//*************************************************************
.define timefosc_2 0x0230; //clkA選擇fosc/2Hz
.define timefosc_256 0x0231; //clkA選擇fosc/256Hz
.define timeclk_32768 0x0232; //clkA選擇32768Hz
.define timeclk_8192 0x0233; //clkA選擇8192Hz
.define timeclk_4096 0x0234; //clkA選擇4096Hz
.define timeclk_2048 0x0205; //clkB選擇2048Hz
.define timeclk_1024 0x020d; //clkB選擇1024Hz
.define timeclk_256 0x0215; //clkB選擇256Hz
.define timeclk_4 0x0225; //clkB選擇4Hz
.define timeclk_2 0x0065; //clkB選擇2HzHz
//頻率選擇fosc/2Hz;
//使用者也可以自己設置不同頻率下的占空比;
.define timepwm_1 0x0070; //脈寬選擇1/6
.define timepwm_2 0x00b0; //脈寬選擇2/6
.define timepwm_3 0x00f0; //脈寬選擇3/6
.define timepwm_4 0x0130; //脈寬選擇4/6
.define timepwm_5 0x0170; //脈寬選擇5/6
.define timepwm_6 0x01b0; //脈寬選擇6/6
.define timepwm_7 0x01f0; //脈寬選擇7/6
.define timepwm_8 0x0230; //脈寬選擇8/6
.define timepwm_9 0x0270; //脈寬選擇9/6
.define timepwm_10 0x02b0; //脈寬選擇10/6
.define timepwm_11 0x02f0; //脈寬選擇11/6
.define timepwm_12 0x0330; //脈寬選擇12/6
.define timepwm_13 0x0370; //脈寬選擇13/6
.define timepwm_14 0x03b0; //脈寬選擇14/6
.define time_clk timefosc_256; //頻率選擇
.define time_pwm timepwm_4; //脈寬選擇
.define P_TimerA_Data 0x700A;
.define P_TimerA_Ctrl 0x700B;
.define P_IOB_DATA 0x7005;
.define P_IOB_DIR 0x7007;
.define P_IOB_ATTRI 0x7008;
.define P_Feedback 0x7009;
.define p_watchdog_clear 0x7012;
.code
.public _main;
_main:
R1=0x0100; //IOB8設置為同相輸出口
[P_IOB_DIR] = R1;
[P_IOB_ATTRI] = R1;
R1 = 0x0000;
[P_IOB_DATA ] = R1;
R1 = 0x0000;
[P_Feedback] = R1; //設置IOB8口為APWMO端口
R1 = 0xff9f; //設定TA_TIMEOUT/16=(time_clk/96)/16=8kHz
[P_TimerA_Data] = R1;
R1 = time_clk;
[P_TimerA_Ctrl] = R1;
L_loop:
nop;
R1 = 0x0001;
[p_watchdog_clear] = R1; //清看門狗
jmp L_loop;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -