Author: jsuijs
Date: Fri Feb 27 11:11:38 2009
New Revision: 815

Added:
    trunk/sample/test/external/lcd/test_extended_lcd_hd44780_4.jal

Log:


Added: trunk/sample/test/external/lcd/test_extended_lcd_hd44780_4.jal
==============================================================================
--- (empty file)
+++ trunk/sample/test/external/lcd/test_extended_lcd_hd44780_4.jal      Fri Feb 
 
27 11:11:38 2009
@@ -0,0 +1,215 @@
+-- ------------------------------------------------------
+-- Title: Extended test of LCD_HD44780 (4 line interface)
+--
+-- Author: Richard Zengerink, Copyright (c) 2008..2008, all rights  
reserved.
+--
+-- Adapted-by: Joep Suijs
+--
+-- Compiler: =2.4
+--
+-- This file is part of jallib (http://jallib.googlecode.com)
+-- Released under the BSD license  
(http://www.opensource.org/licenses/bsd-license.php)
+--
+-- Description: Extended testing of LCD_HD44780 lib
+--
+-- Sources:
+--
+-- Notes:
+--
+--
+-- ------------------------------------------------------
+--
+
+
+enable_digital_io() -- disable analog I/O (if any)
+
+------------- OPTION register met timer0  -------------------------------
+OPTION_REG = 0B0000_0111
+;NOT_RBPU at OPTION_REG : 7 = 0   0 = weak pull-up on port B
+;intedg   at OPTION_REG : 6 = 0   1 = opgaande flank interupt op RB0
+;T0CS     at OPTION_REG : 5 = 0   internal instruction cycle clock
+;T0SE     at OPTION_REG : 4 = 0   nvt ivm setting T0CS
+;PSA      at OPTION_REG : 3 = 0   prescaler voor timer 0
+;PS2      at OPTION_REG : 2 = 1   prescaler op 256 (20Mhz/4/128) =  
39062,5HZ
+;PS1      at OPTION_REG : 1 = 1   1/(39062,5/39)TMR0 = 39 >> ~1mS = tijd  
van
+;PS0      at OPTION_REG : 0 = 1   timer0
+
+ --------- timer1-----------
+ T1CON = 0B0011_0100
+;not used   at T1CON : 7  = 0
+;T1RUN      at T1CON : 6  = 0     ;wordt geset als interne clock op T1  
loopt
+;T1CKPS1    at T1CON : 5  = 1     ; samen met T1CKPSO prescaler
+;T1CKPS0    at T1CON : 4  = 1     ;
+;T1OSCEN    at T1CON : 3  = 0     ;1 = osc is enabled 0 = osc is shut off
+;T1INSYNC   at T1CON : 2  = 1     ;1 = do not sync ext. clk  0 = sync  
ext.clk
+;TMR1CS     at T1CON : 1  = 0     ;1 = ext. clock 0 = int. clock (Fosc/4)
+;TMR1ON     at T1CON : 0  = 0     ;1 = enables timer1 0 =  disables timer 1
+;
+;in is Foc/4 = 5000000/prescaler = 5000000/8 =  635000 / 625 = 1mS
+;625 = 65280 - 64655  64655/256= 252,55859375  TMR1H = 252
+;252,55859375 - 252 = 0,55859375 x 256 = 143   TMR1L = 143
+
+
+; include lcd_hd44780_rz
+include print
+include ng_hd44780_4
+include js_replace
+
+lcd_init()                  ; init the lcd
+
+--------------------------------------------------------------------------
+------------- MAIN program -----------------------------------------------
+--------------------------------------------------------------------------
+
+
+
+
+   var byte data
+   var word wvalue = 0
+   var byte value = 0
+   var byte value1 = 0
+   var byte test = 0
+   var byte HRS = 12
+   var byte MIN = 55
+   var byte SEC = 40
+   var byte YEAR = 09
+   var word YEARW = 2009
+   var byte MOUNTH = 03
+   var byte DAY = 23
+
+   const byte teststring[] = "test display"
+
+      lcd_new_line_cursor_position (1, 1)
+      lcd_clearscreen()
+      lcd_home()
+
+
+      lcd_writechar("T")
+      lcd_writechar("e")
+      lcd_writechar("s")
+      lcd_writechar("t")
+      delay_100ms (10)
+
+
+forever loop
+
+      SEC = 40
+      lcd_new_line_cursor_position (2, 1)
+
+      print_string(lcd, teststring)
+
+      delay_100ms (10)
+      lcd_shift_right (6)
+      delay_100ms (10)
+      lcd_shift_left (4)
+      delay_100ms (10)
+      lcd_cursor_blink_display (on,on,on)
+      delay_100ms (10)
+      lcd_cursor_shift_left (4)
+      delay_100ms (10)
+      lcd_cursor_shift_right (6)
+      delay_100ms (10)
+      lcd_clear_line  ( 2 )
+      delay_100ms (10)
+      lcd_home()
+      delay_100ms (10)
+      lcd_clearscreen()
+
+      lcd_cursor_blink_display (off,off,on)
+      lcd_clear_line  (2)
+      value = 0
+      while value < 255  loop
+            lcd_bvalue_dp_line_pos_left_sign ( value, 0, 1, 5, true, false)
+            value = value + 1
+            delay_1ms(50)
+            lcd_progress  (2, (value/17)+1, 0xFF)
+      end loop
+      lcd_bvalue_dp_line_pos_left_sign ( value, 0, 1, 5, true, false)
+      delay_100ms (20)
+      lcd_clearscreen()
+
+      lcd_bvalue_dp_line_pos_left_sign ( 200, 0, 1, 1, true, false)
+      delay_100ms (10)
+      lcd_bvalue_dp_line_pos_left_sign ( 5, 0, 1, 5, true, false)
+      delay_100ms (10)
+      lcd_bvalue_dp_line_pos_left_sign ( 7, 0, 1, 9, false, false)
+      delay_100ms (10)
+      lcd_bvalue_dp_line_pos_left_sign ( 112, 1, 1, 13, false, false)
+      delay_100ms (10)
+
+      lcd_clear_line  (2)
+
+      lcd_writechar("V")
+      lcd_writechar("a")
+      lcd_writechar("l")
+
+      lcd_new_line_cursor_position (2, 5)  ;
+
+      lcd_writechar ("=")
+
+
+      lcd_clear_line  (1)
+
+      value1 = 0
+      wvalue = 5000
+
+      while wvalue != 0  loop
+            lcd_wvalue_dp_line_pos_left_sign ( wvalue, 2, 2, 7, true,  
false)
+            wvalue = wvalue - 1
+            delay_1ms(3)
+       end loop
+            lcd_wvalue_dp_line_pos_left_sign ( wvalue, 2, 2, 7, true,  
false)
+      delay_100ms (20)
+
+      lcd_clearscreen()
+      lcd_new_line_cursor_position (1, 5)
+      lcd_date ( DAY, MOUNTH, YEAR, "-", true )
+
+      while SEC< 60 loop
+            lcd_new_line_cursor_position (2, 5)
+            lcd_time ( HRS, MIN, SEC, ":" )
+            SEC = SEC + 1
+            delay_100ms (10)
+      end loop
+      lcd_new_line_cursor_position (1, 5)
+      lcd_date ( DAY, MOUNTH, YEARW, "/", false )
+      delay_100ms (30)
+
+      lcd_clearscreen()
+
+      value1 = 0
+      lcd_new_line_cursor_position (1, 5)
+      lcd_writechar("=")
+      while value1 < 255  loop
+            lcd_bvalue_dp_line_pos_left_sign ( value1, 0, 1, 1, false,  
false)
+            lcd_new_line_cursor_position (1, 7)
+;            lcd_bvalue_hex (value1)
+            print_prefix = true;
+            print_byte_hex(lcd, value1);
+
+
+            value1 = value1 + 1
+            delay_1ms(250)
+      end loop
+
+      wvalue = 0
+      lcd_new_line_cursor_position (2, 7)
+      lcd_writechar("=")
+
+
+      while wvalue < 2000  loop
+            lcd_wvalue_dp_line_pos_left_sign ( wvalue, 0, 2, 1, false,  
false)
+            lcd_new_line_cursor_position (2, 9)
+;            lcd_wvalue_hex (wvalue)
+            print_prefix = true;
+            print_byte_hex(lcd, wvalue);
+
+            wvalue = wvalue + 1
+            delay_1ms(5)
+      end loop
+
+      lcd_clearscreen()
+
+ end loop
+
+

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/jallib?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to