RB0跟RA4同時按下8個LED 燈會閃爍
|
||||
---|---|---|---|---|
初級會員
|
MAIN_LOOP
CALL SCAN_KEY call LED_PROCESS GOTO MAIN_LOOP SCAN_KEY start: movlw SHIFT_VAL movwf PORTD test_rb0 btfss RB0 goto test_1 goto led_left led_left rlf PORTD call delay_200ms goto test_rb0 ; test_1 btfss RA4 goto test_rb0 goto led_right led_right rrf PORTD call delay_200ms goto test_1 call LED_PROCESS 請問個位先進小弟想了很久還是寫不出來RB0跟RA4同時按下 8個LED 燈會閃爍可否教導一下..謝謝 ;--------- 200 md delay routine -------- ; delay_200ms: movlw VAL_200MS movwf count_200ms loop_20ms call delay_10ms decfsz count_200ms,F goto loop_20ms return ; ;-------- 10 ms delay routine ---------- ; delay_10ms: movlw VAL_10MS movwf count_10ms loop_ms call delay_500us decfsz count_10ms,F goto loop_ms return ; ;-------- 0.5 ms delay routine ----------- ; delay_500us: movlw VAL_500US movwf count_us dec_loop nop nop nop nop nop decfsz count_us,F goto dec_loop return end
發表於: 2008/1/13 21:40
|
|||
|
ADC
|
||||
---|---|---|---|---|
初級會員
|
Loop bsf ADCON0,GO btfsc ADCON0,NOT_DONE goto $-1 movf ADRESH,W ; move ADC result into W movwf PORTD ;ADC result output to LEDs =========================== 你好: 這是201 ASP ADC 範例 想請問一下轉換後為例要清除進位狀態.謝謝 bcf STATUS,C rrf ADRESH,W movwf CCPR1L movf ADRESH,W banksel PR2 movwf PR2 banksel 0 goto Loop
發表於: 2008/1/10 22:04
|
|||
|
Re: pwm
|
||||
---|---|---|---|---|
初級會員
|
謝謝先進的回答我以明白pwm 算法
再此想再請教一個問題 這是 201 ASP 裡的範例 Put CCP1 module in PWM mode, Configure CCP to clear DCB1 and DCB0 ( no Q cycles) movlw 0x0C 這行會自己判斷 mode對嗎 如果改成0x2c會如何呢 movwf CCP1CON ---------------------- 看不太明白這意思也??是自己會判斷還是如何呢?? bit 5-4 DC1B<1:0>: PWM Duty Cycle Least Significant bits Capture mode: Unused. Compare mode: Unused. PWM mode: These bits are the two LSbs of the PWM duty cycle. The eight MSbs are found in CCPR1L
發表於: 2008/1/9 22:33
|
|||
|
pwm
|
||||
---|---|---|---|---|
初級會員
|
你好:
請問該64uS .Duty Cycle 怎算出來的呢.有看datasheet...但他是根據什麼算出來還是不明白..煩請各位先進指導...謝謝 ;Set up Period and Duty Cycle using an 8MHz oscillator movlw b’01111111’ movwf PR2 ;Load a 64uS Period Value movlw b’00011111’ movwf CCPR1L ; Load Duty Cycle Value (25%) of PWM period
發表於: 2008/1/8 20:58
|
|||
|
Re: 請教一個lcd 小問題
|
||||
---|---|---|---|---|
初級會員
|
我把原ad復原...跑了一遍....還是一樣
會是Send_4bit這段程式的關係嗎 還是應體設的不對 謝謝...... InitLCD BANKSEL ANSEL bcf ANSEL,2; Set RA2 for digital I/O mode andwf ANSEL,F ;================================ BANKSEL TRISD bcf TRISA,2 movlw 0xc0 ; Initialize inputs/outputs for LCD movwf TRISD
發表於: 2007/8/21 18:15
|
|||
|
請教一個lcd 小問題
|
||||
---|---|---|---|---|
初級會員
|
MCU:16F877A-I/P
實驗板:APP001 REV.2 我是用範例(LAB_ANS\lcd.asm)裡的程式跑(LAB_ANS\lab2.asm) lcd螢幕只有出來第一行的 er 第二行的 Richey 想請教各位先進小弟的程式那邊有問題 謝謝!! 我只有動到這部份其餘都跟原範例程式相同 LCD_DATA equ PORTD LCD_CNTL equ PORTD #define RS PORTD,4 #define RW PORTD,5 #define E PORTA,2 InitLCD BANKSEL TRISD bcf TRISA,2 movlw 0xc0 movwf TRISD ...........以下都沒動到原程式..............................
發表於: 2007/8/21 11:56
|
|||
|
Re: w401第六章的EX6-1
|
||||
---|---|---|---|---|
初級會員
|
EEPROM_Write()
WriteI2C(addr_hi); // Write Control to EEPROM while(SSPCON2bits.ACKSTAT); // test for ACK condition, if received I2C_Done(); // Clear SSPIF flag WriteI2C(addr_low); // Write Address to EEPROM while(SSPCON2bits.ACKSTAT); // test for ACK condition, if received I2C_Done(); EE_READ() WriteI2C(addr_hi); // Write Control to EEPROM while(SSPCON2bits.ACKSTAT); // test for ACK condition, if received I2C_Done(); // Clear SSPIF flag WriteI2C(addr_low); // Write Address to EEPROM while(SSPCON2bits.ACKSTAT); // test for ACK condition, if received I2C_Done(); C:\Program Files\Microchip\Ans6-2\ex6-2.c:165:Error [1105] symbol 'addr_hi' has not been defined 該如何解決呢
發表於: 2006/7/11 21:30
|
|||
|
pic16f疑問
|
||||
---|---|---|---|---|
初級會員
|
請問一下
PIC16F(w100 ex6)的程式褊譯程式後出現..... config bit 也有設定ㄚ... Clean: Deleting intermediary and output files. Clean: Done. Executing: "C:\MCC18\mpasm\mpasmwin.exe" /q /p16F877A "ex6.asm" /l"ex6.lst" /e"ex6.err" Error[105] C:\PROGRAM FILES\MICROCHIP\100 ANSWER\AEX6\EX6.ASM 9 : Cannot open file (Include File "p16F877a.inc" not found) Error[113] C:\PROGRAM FILES\MICROCHIP\100 ANSWER\AEX6\EX6.ASM 28 : Symbol not previously defined (TRISD) Error[113] C:\PROGRAM FILES\MICROCHIP\100 ANSWER\AEX6\EX6.ASM 30 : Symbol not previously defined (TRISD) Error[113] C:\PROGRAM FILES\MICROCHIP\100 ANSWER\AEX6\EX6.ASM 31 : Symbol not previously defined (PORTD) Error[113] C:\PROGRAM FILES\MICROCHIP\100 ANSWER\AEX6\EX6.ASM 32 : Symbol not previously defined (PORTD) Message[305] C:\PROGRAM FILES\MICROCHIP\100 ANSWER\AEX6\EX6.ASM 35 : Using default destination of 1 (file). Error[113] C:\PROGRAM FILES\MICROCHIP\100 ANSWER\AEX6\EX6.ASM 35 : Symbol not previously defined (PORTD) Halting build on first failure as requested. BUILD FAILED: Sat Jun 24 01:21:50 2006 是我那裡沒做對ㄚ.. 謝謝
發表於: 2006/6/24 1:33
|
|||
|
Re: w401第六章的EX6-1
|
||||
---|---|---|---|---|
初級會員
|
就是沒有數字的畫面
空空的 我寫數字1.2.3.4.5進去 獨取出來......Lcd顯示應該有1.2.3.4.5 但是沒有
發表於: 2006/6/2 20:27
|
|||
|