Copyright2014M.
J.
ButcherConsultingEmbeddingitbetter.
.
.
TaskerDocumentSegmentLCDuser'sguidewww.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
02/1627.
01.
2014TableofContents1.
Introduction.
32.
SLCDModulesandSLCDControllers33.
GLCDProgrammer'sModel.
73.
1.
KinetisFRDM-KL46ZSLCDConfigurationExample.
73.
2.
KinetisK40GLCDConfigurationExample.
93.
3.
KinetisK40GLCDControlExample.
104.
SLCDSimulator115.
PracticalExamples.
146.
Conclusion.
16www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
03/1627.
01.
20141.
IntroductionSomeprocessorsincludeanSLCD(SegmentLCD)controller.
ThisdocumentdiscussesthebasicoperationofthesecontrollersandhowtheTaskerprojectsupportstheiruseandsimulation.
2.
SLCDModulesandSLCDControllersSLCDmodulesaresimpleandverylowpowerLCDdisplays.
Theycanhavealargenumberofsegmentsintheformofdots(pixels)orsymbols(partsof7segmentcharactersorspecialimages)andalargenumberofpinstoenablethesesegmentstobecontrolled.
SLCDcontrollerstendtohaveahighnumberofpinstohandlelargeGLCDmodules.
Thesepinscanbeconfiguredasback-planeorfront-planepinsandgeneratetherequiredmultiplexingandwaveformsneededtocontinuouslyrefreshtheSLCD.
SinceSLCDSareoftenusedinverylowpowerapplicationstheSLCDcontrollerstendtobeabletooperateautonomouslywhentheprocessorisinlowpowermodes(eg.
WAIT,SLEEPorSTOPmodes).
Specialfeaturessuchasautomaticblinkfieldsmaybesupportedwhichmayalsobeabletooperateautonomouslywhentheprocessorisnotrunning.
Ratherthanhaveoneconnectionforeachsegment,thesegmentsaretypicallymultiplexedsothatlesscontrollinesareneededtocontrolthesamenumberofindividualsegments.
Toillustratethis,theLuminexLCD-S401M16KR,asusedontheFreescaleFRDM-KL46Zisusedasreference.
Thefollowingisanexcerptfromitsdatasheetshowingitscharacteristicsandhowits12pinsareconnectedtoitselements:CharacteristicsandconnectiondetailsofLuminexLCD-S401M16KRAndthedisplay'selementsareillustratedbelowaccordingtotheirreferencesintheconnectiontableintheoriginaldatasheet:www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
04/1627.
01.
2014123456789101112Dig.
1Dig.
2Dig.
3Dig.
4DP1DP2DP3COLABCDEFGThisdisplayhas12pins,whichareallconnectedtoadrivingpinontheSLCDcontroller.
Thereare4commonpinsandsothedrivingmodeisduty,sinceeachofthecommonpinsaredrivenforofthecycleperiod.
Eachofthecommonlinesisconnectedto8LCDsegments.
TakingCOM0asanexamplethe8segmentsthatarecontrolledbyitareshowinthefollowingdiagram.
123456789101112Dig.
1Dig.
2Dig.
3Dig.
4DP1DP2DP3COLThismeansthatwhentheCOM0lineisbeingdrivenupto8segmentscanbeturnedon,dependingonthestateofthe8segmentpins.
The8segmentpins(5.
.
12)thuscontrolthese8segmentsduringthisdrivingphaseandcanturnallon,alloff,orancombinationinbetween.
Sincethereare4phases(4COMpins),eachcontrolling8segmentsduringthatphase,atotalof32segmentscanbecontrolled–thiscorrespondstothenumberofsegmentsthattheSLCDphysicallyhas(notthattheCOLsegmentismadeupoftwopointswhichcannotbecontrolledindividually).
Theother3COMdrivecombinationsarenotshowninadiagramherebutcanbeeasilyreadfromtheoriginaldatasheettable.
InordertoconfiguretheSLCDdrivertomatchthisdisplay4ofitsLCDpinsareconfiguredasCOMdrivepinsand8assegmentdrivepins.
TheCOMdrivepinsareconfiguredtodriveindifferentphases(eg.
COM0inphase1,COM1inphase2,COM2inphase3andCOM3inphase4,whereeachofthephasesarerepeatedaccordingtodutydrivingmode).
ThedutymodeandanyotherspecificconfigurationarealsosetintheSLCDcontroller.
Eachsegmentdrivelineeachcancontrolanindividualsegmentineachofthe4phasesoftheoperation.
WhichsegmentthatisdependsontheconnectionintheSLCDitself(seeconnectiontableinthisexample)andhowtheSLCDpinsarephysicallyconnectedtotheSLCDmodule.
ThedesignedcanhoweverquiteeasilymakealistofwhichcontrolbitsinthesegmentdriveregisterscorrespondtowhichsegmentintheSLCDandthenusethisinformationtosettext,numbersorpatternsrequiredbytheapplicationsoftware.
TheSLCDwww.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
05/1627.
01.
2014controllerperformsthemultiplexingdisplaydrivingautonomouslybasedontheregisterstates.
InthecaseoftheFreescaleFRDM-KL46ZtheSLCDpinconnectionsareasfollows:Pin1(COM0)=LCD40Pin2(COM1)=LCD52Pin3(COM2)=LCD19Pin4(COM3)=LCD18Pin5(1D/1E/1G/1F)=LCD37Pin6(DP1/1C/1B/1A)=LCD17Pin7(2D/2E/2G/2F)=LCD7Pin8(DP2/2C/2B/2A)=LCD8Pin9(3D/3E/3G/3F)=LCD53Pin10(DP3/3C/3B/3A)=LCD38Pin11(4D/4E/4G/4F)=LCD10Pin12(COL/4C/4B/4A)=LCD11ThefollowingchaptershowshowanSLCDcontrollerisconfiguredtomatchthisSLCD.
TheKinetisSLCDdriverisusedasexamplebuttheprincipleoftheoperationshouldbeessentiallyvalidforalltypes.
ForcompletenessthecompletelistofsegmentcontrolbitsforthereferenceLCDusedontheFRDM-KL46Zisgivenbelow.
17-837-237-117-137-437-87-18-18-838-853-138-110-111-811-410-411-217-417-27-87-27-48-28-411-153-838-453-253-438-210-210-8Example:Segmentcontrol8-8isthebit0x08(phasecontrolledbyCOM3)intheregisterLCD_WF8,whichcorrespondstothe67thcontrolbitinthecontrolblock.
Toenableitthefollowingcanbeused:SET_SLCD(8,0x08),toclearitCLEAR_SLCD(8,0x08)andtotoggleitTOGGLE_SLCD(8,0x08).
www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
06/1627.
01.
2014Thefollowingillustrationsshowtypicaldrivesignals.
TheSLCDmodulehasnopowersupplyanditisseenthatthedrivesignalshaveanACnature.
TheCOMlinesdriveinonephaseofthecyclebutphaseinvertedineachperiod.
Thesegmentdrivelineseitherdriveanmid-levelsignalwhennosegmentistobeenabledorelseanout-of-phasesignalintherespectiveCOMphasewhenitscorrespondingsegmentistobeon.
Thedutycycleperiodisconfigurableandtypicallyinthe100Hzregion.
COM0COM1COM2COM4IdleSegmentSegmentonCOM0SegmentonCOM1SegmentonCOM0+1www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
07/1627.
01.
20143.
GLCDProgrammer'sModelDuetothefactthatSLCDcontrollerstakeoveralloftheactivecontrolofSLCDmodulestheSLCDinterfacetendstobeverysimplefromaprogrammer'sperspective.
ThecontrollerwilltendtobedisabledatresetandsotheprogrammerneedstoconfigureittosuittheSLCDinuse:-Controllerconfigurationtooperatefromthecorrectclockandinthecorrectmode-Front-planeandBack-planesignaldefaultconfigurationTypicallyallsegmentswillinitiallybeoffandtheSLCDwilldisplaynosegmentsoncetheinitialisationiscompleteandthentheprogrammercanindividuallycontrolsegmentstoindicatestates(eg.
Segmentimagesortext),ortogrouptogethertoformnumbers(eg.
sevensegmentnumbers)orcharacters(eg.
dotmatixsegments).
3.
1.
KinetisFRDM-KL46ZSLCDConfigurationExampleThefollowingcodeconfigurestheSLCDanditspins,aswellassettingthedrivingphaseofeachCOMline.
ThisconfigurationfollowsonfromtheintroductiontothespecificSLCDmoduleusedonthisboard://ConfiguretheSLCDmodebutdon'tenableityet//LCD_GCR=(LCD_GCR_RVEN|(0x08000000&LCD_GCR_RVTRIM_MASK)|LCD_GCR_CPSEL|LCD_GCR_LADJ_MASK|LCD_GCR_VSUPPLY|LCD_GCR_SOURCE|LCD_GCR_LCLK_1|LCD_GCR_DUTY_4BP);//ConfigurethepinstobeusedasCOMlines//LCD_BPENL=(SLCD_PIN_19|SLCD_PIN_18);LCD_BPENH=(SLCD_PIN_H_52|SLCD_PIN_H_40);//Configurethepinstobeusedassegmentdrivelines(plustheCOMlines)//LCD_PENL=((SLCD_PIN_17|SLCD_PIN_11|SLCD_PIN_10|SLCD_PIN_8|SLCD_PIN_7)|(SLCD_PIN_19|SLCD_PIN_18));LCD_PENH=((SLCD_PIN_H_53|SLCD_PIN_H_38|SLCD_PIN_H_37)|(SLCD_PIN_H_52|SLCD_PIN_H_40));//Setthe4COMlinephases//WRITE_SLCD(43TO40,0x00000001);//40tophase1(COM0)WRITE_SLCD(55TO52,0x00000002);//52tophase2(COM1)WRITE_SLCD(19TO16,0x04080000);//19tophase3(COM2)and18tophase3(COM3)//EnabletheSLCDoperation//LCD_GCR=(LCD_GCR_LCDEN|LCD_GCR_RVEN|(0x08000000&LCD_GCR_RVTRIM_MASK)|LCD_GCR_CPSEL|LCD_GCR_LADJ_MASK|LCD_GCR_VSUPPLY|LCD_GCR_SOURCE|LCD_GCR_LCLK_1|LCD_GCR_DUTY_4BP)www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
08/1627.
01.
2014ToturnonandoffthesegmentCOLthefollowingtwocommandenableanddisablethecontrolontheSLCDmodule'spin12(LCD11)SET_SLCD(11TO8,0x01000000);CLEAR_SLCD(11TO8,0x01000000);Theequivalentcontrolofthesegment4C(alsocontrolledbythesamepin)showsthatthephasethattheoutputisenableinmakesthedifference.
SET_SLCD(11TO8,0x02000000);CLEAR_SLCD(11TO8,0x02000000);IfbothofthesesegmentsaretobeenabledtheoutputissimplydriveinmorethanoneofthephasesSET_SLCD(11TO8,0x03000000);Obviouslythemaximumnumberofsegmentsthatcanbecontrolledbythispinis4,wherethefollowingwouldenableCOL,4C,4Band4A–eachintheircorrespondingdrivephase[0x1isphase1,0x02isphase2,0x04isphase3and0x08isphase4].
SET_SLCD(11TO8,0x03000000);www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
09/1627.
01.
20143.
2.
KinetisK40GLCDConfigurationExampleTheKinetisK40containsanSLCDcontrollerandisusedasillustrationoftheinitializationandcontrolintheTaskerproject.
TwoSLCDtypesarediscussed:-28segmentSLCDontheTWRPI-SLCDmodulewhichcanbeusedtogetherwiththeTWR-K40X256towerprocessorboard-306segmentSLCDontheK40KWIKSTIKDuringinitialisation,themacroCONFIGURE_SLCD()iscalled.
Thismacroisconfiguredinapp_hw_kinetis.
htosuitthedisplaytypes.
ThedefinesforthetwoSLCDtypesareshownbelow:TWRPI-SLCD#defineCONFIGURE_SLCD()MCG_C1|=MCG_C1_IRCLKEN;\POWER_UP(3,SIM_SCGC3_SLCD);\LCD_GCR=(LCD_GCR_VSUPPLY_VLL3|LCD_GCR_SOURCE|LCD_GCR_LCLK_4|LCD_GCR_DUTY_4BP|LCD_GCR_ALTDIV_NONE);\LCD_PENL=0x0070f00f;\LCD_PENH=0x00000000;\LCD_BPENL=0x0000000f;\LCD_BPENH=0x00000000;\fnClearSLCD();\WRITE_SLCD(3TO0,0x08040201);\LCD_GCR=(LCD_GCR_LCDEN|LCD_GCR_VSUPPLY_VLL3|LCD_GCR_SOURCE|LCD_GCR_LCLK_4|LCD_GCR_DUTY_4BP|LCD_GCR_ALTDIV_NONE);KWIKSTIK#defineCONFIGURE_SLCD()MCG_C1|=MCG_C1_IRCLKEN;\POWER_UP(3,SIM_SCGC3_SLCD);\LCD_GCR=(LCD_GCR_CPSEL|LCD_GCR_RVEN|LCD_GCR_RVTRIM_MASK|LCD_GCR_LADJ_MASK|LCD_GCR_LCLK_0|LCD_GCR_VSUPPLY_VLL3_EXT|LCD_GCR_SOURCE|LCD_GCR_DUTY_8BP|LCD_GCR_ALTDIV_NONE);\LCD_PENL=0xfffffffe;\LCD_PENH=0x0000ffff;\LCD_BPENL=0x00000000;\LCD_BPENH=0x0000ff00;\fnClearSLCD();\WRITE_SLCD(43TO40,0x08040201);\WRITE_SLCD(47TO44,0x80402010);\LCD_GCR=(LCD_GCR_LCDEN|LCD_GCR_CPSEL|LCD_GCR_RVEN|LCD_GCR_RVTRIM_MASK|LCD_GCR_LADJ_MASK|LCD_GCR_LCLK_0|LCD_GCR_VSUPPLY_VLL3_EXT|LCD_GCR_SOURCE|LCD_GCR_DUTY_8BP|LCD_GCR_ALTDIV_NONE);Theconfigurationsequenceinvolvesthefollowingsteps:-The32kHzinternalRCoscillatorisenabledsinceitcanbeusedasaclocksourcetothecontroller,whichrequiresaclockinthe30.
0kHzto39.
063kHzrange.
-TheSLCDmoduleispoweredup.
www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
010/1627.
01.
2014-Thebasicconfigurationisset(thisdependsontherequirementsoftheSLCDmoduleinrespecttovoltages,etc.
)buttheoperationisnotyetenabled.
Notethattheclocksourcematchestherequiredclockspeedandsonoclockdividersareconfigured.
-Therequiredfrontplaneandbackplanesignalsareenabled(LCD_PENxandLCD_BPENx)whichdependsontheSLCDtype,sizeandconnection.
TheK40'sGPIOpinsassociatedwiththeSLCDalldefaulttoSLCDuseandnospecificGPIOconfigurationisnecessarytousethem.
-TheroutinefnClearSLCD()iscalledtoensurethatallsegmentsdefaulttotheoffstate.
IfthisisnotperformedsegmentsinitialstatescouldberandomontheK40.
Theroutineclearsallsegmentregistercontents.
-Thebackplanesignalsaresetactive.
-Finallytheoperationisenabled.
Whenusingdifferentmoduletypestheinitialisationmayneedtobemodifiedtosuititscharacteristics,sizeandconnection.
3.
3.
KinetisK40GLCDControlExampleTheK40SLCDcontrollercontainsanumberofregisterswhichmapeachindividualsegmentontheSLCDtoabit.
DependingontheconnectionandconfigurationthebitscontrollingeachsegmentwillbespecifictotheSLCDtype.
Theprogrammersimplyneedstosetabitwhenthecorrespondingsegmentshouldbeonandclearthebitwhenthesegmentistobeoff.
ThefactthatthereisnostandardcoordinationbetweenthebitsusedandalsowhatthesymbolsactuallyarethereisnoSLCDapplicationinterfacedefined.
Actualcontrolofthedisplaytendstoberelativelysimpleduetothefactthatthesegmentsseemtobecontrolledasindividualportbits.
ThefollowingsectionintroducestheTaskerSLCDsimulator,wheretheK40segmentregisterswillbeseeninmoredetail.
InordertoautomaticallyinterfacewiththesimulatorthefollowingmacrosareusedintheK40projecttomodifysegments:#defineWRITE_SLCD(reg,val);//writesegmentvalues#defineSET_SLCD(reg,val);//setspecifiedbits#defineCLEAR_SLCD(reg,val);//clearspecifiedbits#defineTOGGLE_SLCD(reg,val);//togglespecifiedbitsThereareanumberofregisters,eachcontrollingupto32individualsegments('1'isonand'0'isoff).
TheK40has16suchsegmentregistersnamedLCD_WF3TO0toLCD_WF63TO60.
Theprogrammermustknowwhichsegmentismappedtowhichbitinwhichregistertobeabletocontrolthedisplaystate.
Whenthemacrosareusedthesimulatoralsoautomaticallyupdatestheresultingimageaccordingly.
Ifregisterchangesbasedontechniquenotusingthemacros(eg.
directpointeraccess,whichmaybemorepracticalinsomecases)isused,afinalcalltooneofthemacroswillalsosynchronisethestateofthesimulatedimagetotheregistercontent.
Anexampleoftogglingthestateofaparticularsegmentwouldbe:TOGGLE_SLCD(3TO0,0x1000);www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
011/1627.
01.
2014Inthiscasethe12thbitintheregisterLCD_WF3TO0willbetoggledandtheSLCDdisplaycorrespondinglyupdatedinthesimulator.
OntherealhardwaretheSLCDcontrollerwillofcoursealsomodifythecontroloftheinfluencedsegmentaccordingly.
4.
SLCDSimulatorTheTaskersimulatorincludesanSLCDsimulationmodulewhichautomaticallydisplaythecontentoftheSLCDbasedonthesettingofthesegmentregisters.
Asdetailedintheprevioussection,theuseofthesegmentcontrolmacrosensuresthattheseremainsynchronised,wherebythechangedsegmentsaremodifiedeachtimesuchamacrohasbeenexecuted.
ThesimulatorallowscompleteprojectcodetobeaccuratelytestedwithinthesimulationenvironmentwithouttheneedtoworkonHW.
Itcanalsobeusedforsimulatinguser-definedSLCDmoduleswhicharenotyetavailableashardwareinordertoaccelerateprojectdevelopments.
DuetothefactthatthereisnostandardSLCDthesimulatormakesuseofSLCDscriptfileswhichareuserdefinable.
ThesescriptfilesareusuallymaintainedinadirectorycalledSLCDintheprojectsimulationdirectory(eg.
\Applications\uTaskerV1.
4\Simulator\SLCD).
Iftheprojectisconfiguredwithasimulatorfilethesimulationwillbeincluded.
InadditionsomedetailsaboutthesizeandcolouroftheSLCDissupplied.
ThefollowingshowstheconfigurationoftheTWRPI-SLCDmodule:#defineSLCD_FILE"SLCD\\TWR_K40.
lcd"//SLCDsimulationfileinthesimulatordirectorySLCD//#defineBIG_PIXEL//showSLCDdoublesize#defineLCD_ON_COLOUR(COLORREF)RGB(210,220,210)//RGBcolourofLCDwhenbacklightison#defineLCD_OFF_COLOUR(COLORREF)RGB(10,10,10)//RGBcolourofLCDwhenbacklightisoff#defineLCD_PIXEL_COLOUR(COLORREF)RGB(0,0,0)//RGBcolourofLCDpixels#defineGLCD_X380#defineGLCD_Y90TheSLCDscriptfileisTWR_K40.
lcd.
TheLCDsizeisdefinedasbeing380pixelswideand90pixelshigh,wherebythisreferstothesimulatedimageandnotdirectlytothedisplaytypebeingusedsincetheyaregenerallynotpixeloriented.
IfBIG_PIXELisactivated,thedisplaysizeisdoubledinthesimulator.
InordertounderstandthescriptfilecontentthesimpleSLCDwillfirstbedisplayed:Thisexampleshows3x7-segmentdigits.
Thefirst'1'isasinglesegment,asarethe':','°','%',"AM","PM"andfreescalelogo.
Thismeansthatthereare28individualsegments,whicharecontrolledbyparticularbitsintheSLCDcontroller'sregistersLCD_WF15TO12andLCD_WF23TO20.
www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
012/1627.
01.
2014Thescriptfilerequiresamonochromebitmapofeachofthesegmenttypes;theFreescalelogoisasinglebitmap,asarethe'°AM",etc.
;the7-segmentdigitsareacollectionof7differentbitmaps;thethree7-segmentdigitscansharethesamesegmentbitmapssincetheyareessentiallybuiltupofthesameshapes.
Thecompletescriptfileisshownbelow://SLCDdefinitionfortheTWRPI-SLCDontheTWR-K40x256board(350x90pixelsusedasbase)////bitmapdefines(theseshouldbemonochromebitmaps)-BMP0toBMP99possible//BMP0"freescale1.
bmp"BMP1"digit1.
bmp"BMP2"seven_seg_b_l.
bmp"BMP3"seven_seg_t_l.
bmp"BMP4"seven_seg_top.
bmp"BMP5"seven_seg_b_r.
bmp"BMP6"seven_seg_t_r.
bmp"BMP7"seven_seg_mid.
bmp"BMP8"seven_seg_bot.
bmp"BMP9"degree.
bmp"BMP10"percent.
bmp"BMP11"am.
bmp"BMP12"pm.
bmp"BMP13"dp.
bmp"//backplanebits//bx//notused//frontplanebits//segmentnumber,BMPnumber,x-coordinate,y-coordinate//f12302015//freescalelogof17911055//'1'f12031255//first7-segment-topleftf12221255//bottomleftf11361535//toprightf11451535//bottomrightf11241254//topf121712541//middlef115812578//bottomf1071318026//':'f10432055//second7-segment-topleftf10622055//bottomleftf9762335//toprightf9852335//bottomrightf9642054//topf105720541//middlef99820578//bottomf17632555//second7-segment-topleftf17822555//bottomleftf16162835//toprightf16252835//bottomrightf16042554//topf177725541//middlef163825578//bottomf16893107//°f1691033535//%f1701133053//AMf1711233069//PMwww.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
013/1627.
01.
2014//endoffileScriptfiledevelopmentisverysimpleandinvolvesthefollowingsteps:1.
Eachsegmenttypeisassignedamonochromebitmap,whichshouldbeinthesamedirectoryasthescriptfileitself.
EachisgivenauniquereferenceBMPx.
2.
Inthisversionthebackplanesignalsarenotdefined.
3.
Thesegmentsaredefinedinthefrontplanesectionbyreferencingeachpossiblesegmenttoitsbitmapanditsx,ycoordinates.
Eg.
f12302015meansthatthesegmentnumber123(countingfrom0.
.
123)ismappedtothebitmapnumber0(referenceBMP0).
ItisdrawnatSLCDlocation20,15.
NotethatthesegmentnumberitselfisSLCDspecificandsothisusermustknowwhichregisterbitactuallycontrolseachsegment.
Thesegmentnumber123isinfactthe124thbitintheK40segmentcontrolregisterset,whichcorrespondstoLCD_WF15TO12,bit27,controlledbyTOGGLE_SLCD(15TO12,0x08000000);Notethatsegmentscansharebitmapreferencespositionedatdifferentlocations.
Thisisillustratedwellbythe7-segmentdefinition,wherethethree7-segmentgroupsareconstrictedbysharingthesamebitmapspositionedatlocationsoffsetinthex-directiononly.
TheTaskerprojectfortheKinetisincludesscriptfilesandbitmapsetsforthetwodisplaymentionedearlier,wherebytheKWIKSTIKdisplayisrathermorecomplicatedthanthissimplerexample.
Userscandefinetheirwonscriptfilesbasedontheexampleabovetosupportdifferenttypesoruser-specificones.
Thefollowingpracticaltipssimplifytheprocess:-Itisrecommendedfirsttomeasurethephysicaldisplaysizetogetanideaofdimensions.
Forexample,adisplayof3cmx1cmcouldberepresentedbyasimulatedimagesizeof300x100pixels,allowingpixellocationstocalculatedeasily.
-Beforeallbitmapsareavailableitisadvisabletousedummybitmapsofapproximatesizeoftheonesfinallytobeused.
ThesecansimplybeblackimagessothattheycanbeviewedandthenadjustedtotheirexactlocationsbytuningtheBMPsizeitselfandadjustingthex,ycoordinatesinthescriptfile.
Oncetheimagesizesandlocationsareaccuratetheircontentcanbeoptimised.
-Thesimulatorincludesamenuitem"SLCD|Showallsegments"whichallowsallexistingsegmentstobedisplayedatthesametimewithouttheneedtowriteanyspecialapplicationcodetoaidthescriptfiledevelopment.
Torevertbacktonormaldisplaythecommand"SLCD|Releasesegments"canbeused.
Resultsofsimulationsareshowninthenextchapterwhereworkingdemonstrationsareshown.
NotethatthebehaviourinthesimulatoristhesameasthebehaviourontheHWtarget,whichisthegoalofthesimulator,thusremovingthenecessitytodevelopprojectsonthehardwareitselfandcorrespondinglyimproveprojectdevelopmentefficiency.
www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
014/1627.
01.
20145.
PracticalExamplesSincetheSLCDoperationrequiresverylittleprojectcode,controloftheSLCDwasaddedtotheK40USBbootloadertoillustrateitsoperationonthehardwareandinthesimulator.
WhenthebootloaderisrunningtheFreescalelogosareflashedonthedisplay.
WhentheUSBconnectionisestablishedtheUSBsymbolisdisplayedontheKWIKSTIKSLCDandthelettersUSBaredisplayedonthetowerboardSLCD.
Whensimulating,thecompleteSLCDdisplaycanbeshownbyexecutingthemenucommand"SLCD|Showallsegments".
Toreturntonormalviewthecommand"SLCD|Releasesegments"canbeexecuted.
ThefollowingimagesshowthesimulateddisplaysshowingallSLCDsymbolsaswellastheenumeratedUSBimagestate(thisisthecasewheneithertheUSBcableisconnectedtothecorrespondingprocessormoduleorelsetheenumerationsequenceissuccessfullysimulatedintheTaskersimulator(byexecutingthemenu"USB|Enumeration").
TWR-K40X256simulationshowingallSLCDsegmentsonwww.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
015/1627.
01.
2014TWR-K40X256simulationshowingenumeratedUSBKWIKSTIKsimulationshowingallSLCDsegmentsonwww.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
016/1627.
01.
2014KWIKSTIKsimulationshowingenumeratedUSBTheoperationoftherealmodulesareshowinthefollowingshortvideo:http://www.
youtube.
com/watchv=nm2DmZv1rj86.
ConclusionThisdocumenthasgivenabriefintroductiontotheoperationofSLCDmodulesandSLCDcontrollers.
TheSLCDsupportintheTaskerprojecthasbeendiscussedbasedonsimulationandpracticalexamplesoftheSLCDoperationonKinetisKL46andK40modules.
Modifications:-V0.
022.
07.
2011Firstdraft–inprogress-V1.
027.
01.
2014FRDM-KL46Zaddedplusadditionalgenericoperationdetails-released
racknerd在促销美国洛杉矶multacom数据中心的一款大硬盘服务器,用来做存储、数据备份等是非常划算的,而且线路还是针对亚洲有特别优化处理的。双路e5+64G内存,配一个256G的SSD做系统盘,160T SAS做数据盘,200T流量每个月,1Gbps带宽,5个IPv4,这一切才389美元...洛杉矶大硬盘服务器CPU:2 * e5-2640v2内存:64G(可扩展至128G,+$64)硬...
今天上午有网友在群里聊到是不是有新注册域名的海外域名商家的优惠活动。如果我们并非一定要在国外注册域名的话,最近年中促销期间,国内的服务商优惠力度还是比较大的,以前我们可能较多选择海外域名商家注册域名在于海外商家便宜,如今这几年国内的商家价格也不贵的。比如在前一段时间有分享到几个商家的年中活动:1、DNSPOD域名欢购活动 - 提供域名抢购活动、DNS解析折扣、SSL证书活动2、难得再次关注新网商家...
RackNerd今天补货了3款便宜vps,最便宜的仅$9.49/年, 硬盘是SSD RAID-10 Storage,共享G口带宽,最低配给的流量也有2T,注意,这3款补货的便宜vps是intel平台。官方网站便宜VPS套餐机型均为KVM虚拟,SolusVM Control Panel ,硬盘是SSD RAID-10 Storage,共享G口带宽,大流量。CPU:1核心内存:768 MB硬盘:12 ...
youtubemp3mp4为你推荐
视频截图软件我想知道什么软件可以从视频中截图?邮箱群发163的邮箱如何群发windows优化大师怎么用Windows优化大师怎么用深圳公交车路线深圳公交车路线查询qq怎么发邮件怎么发送QQ邮件迅雷云点播账号求迅雷云播账号保护气球如何才能让气球放久了不会没气bluestack安卓模拟器bluestacks怎么用?blogcnCK沉珂是个怎样的一个人?之后又是怎样的 ?淘宝软文范例如何写软文
深圳虚拟主机 域名网 linuxvps vps优惠码cnyvps plesk Vultr 42u标准机柜尺寸 抢票工具 淘宝双十一2018 512m内存 云图标 国外免费空间 商家促销 台湾谷歌网址 免费个人空间 免费测手机号 四川电信商城 域名与空间 登陆空间 数据库空间 更多