Programming freezing


Results 1 to 9 of 9

Threaded View

  1. #1
    Join Date
    Feb 2005
    Location
    brookfield, ct, usa
    Posts
    24

    Default Programming freezing

    Hello all
    I have what should be a simple program to control a car heater motor - two pushbuttons to increment or decrement a counter and the counter becomes the duty cycle for a PWM output. For some reason, whenever I depress one of the buttons the program freezes - the PWM output continues but it stops cycling. When I hit the reset button on my EasyPic 5 board, the PWM ceases and gos to five volts until I cycle power on and off. I thought that it was getting stuck in one of the increment or decrement loops so I added a pilot for that - it never comes on. I'm using version 2.5, and compiling through MicroCode Studio. Any thoughts or comments would be appreciated - it's driving me batty...

    '************************************************* ***************
    '* Name : auto_heater_controller.pbp *
    '* Author : Alec Noble *
    '* Notice : Copyright (c) 2010 Alec Noble *
    '* : All Rights Reserved *
    '* Date : 1/18/2010 *
    '* Version : 1.0 *
    '* Notes : *
    '* : *
    '************************************************* ***************
    @ device pic16F628a
    @ device INTRC_OSC_NOCLKOUT
    CMCON =7 'port a digital i/o
    VRCON =0 'a/d voltage refernce disabled
    TRISB = %00000000 'port b all outputs
    TRISA = %11000000 'a.7, a.6 inputs, all else output

    '********************** assing I/O ****************************

    up var porta.6 'up or increment button input
    down var porta.7 'down or drcrement button input
    heat var portb.3 'heater PWM output

    LED var word '10 bits - 1 for each led segment


    '********************** create variables **********************

    duty var byte 'variable for the dutycycle
    counter var byte 'variable to increment/decrement
    led_chk var byte
    pwr var bit 'on/off bit
    preset con 183 'minimum pwm duty value for low
    stp con 18 'duty cycle steps

    '*********************** initialize variables *****************

    pwr = 1
    duty = 0
    counter = 0
    LED = 0
    porta.3 = 0
    porta.4 = 0

    '*********************** program begins here ******************
    pause 1000
    main:

    '********** button_chk ***********
    if up = 0 then increment
    if down = 0 then decrement

    '********** duty_set **************
    duty = preset + counter
    if duty >=255 then duty = 255
    if pwr = 0 then duty = 0
    hpwm 1, duty, 20000

    '********** display ***************
    led = 0
    ' pause 1000
    lookdown2 duty, [93, 111, 129, 147, 165, 183, 201, 219, 237, 255], led_chk
    lookup led_chk, [%0000000001, %0000000011, %0000000111, %0000001111, %0000011111, _
    %0000111111, %0001111111, %0011111111, %0111111111, %1111111111], led
    if led.0 = 1 then portb.0 = 1
    if led.1 = 1 then portb.1 = 1
    if led.2 = 1 then portb.2 = 1
    if led.3 = 1 then portb.4 = 1
    if led.4 = 1 then portb.5 = 1
    if led.5 = 1 then portb.6 = 1
    if led.6 = 1 then portb.7 = 1
    if led.7 = 1 then porta.0 = 1
    if led.8 = 1 then porta.1 = 1
    if led.9 = 1 then porta.2 = 1

    pause 100
    toggle porta.3 'heartbeat
    goto main
    end
    increment:
    high porta.4
    ' pause 20 'debounce
    ' if up = 1 then main
    pause 500
    if up = 1 then 'check for button release
    counter = counter + stp 'if so, increment
    low porta.4
    goto main
    endif

    pause 2500 'check if button still pushed
    if up = 0 then
    pwr = 1 'if turn heater on
    counter = counter + stp
    low porta.4
    goto main
    endif

    decrement:
    pause 20 'debounce
    if down = 1 then main
    pause 500
    if down = 1 then 'check for button release
    counter = counter - stp 'if so, decrement
    goto main
    endif
    pause 2500
    if down = 0 then 'check if button still pushed
    pwr = 0 'if so, turn heated off
    endif
    goto main
    Attached Files Attached Files

Similar Threads

  1. Data Programming Error at 0000
    By cpatnoi in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 22nd May 2009, 03:37
  2. 16F676 programming problem
    By Christopher4187 in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 18th May 2009, 17:39
  3. Problems programming
    By Lionheart in forum General
    Replies: 4
    Last Post: - 7th December 2008, 16:51
  4. Programming Pins of PICs?
    By Kamikaze47 in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 15th August 2007, 18:59
  5. PIC programming algorithm - where is it to find?
    By flotulopex in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 24th June 2007, 18:31

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts