Altium教程EB1EB2Tester2软件设计C1精.docx

上传人:b****4 文档编号:13930680 上传时间:2023-06-19 格式:DOCX 页数:10 大小:16.09KB
下载 相关 举报
Altium教程EB1EB2Tester2软件设计C1精.docx_第1页
第1页 / 共10页
Altium教程EB1EB2Tester2软件设计C1精.docx_第2页
第2页 / 共10页
Altium教程EB1EB2Tester2软件设计C1精.docx_第3页
第3页 / 共10页
Altium教程EB1EB2Tester2软件设计C1精.docx_第4页
第4页 / 共10页
Altium教程EB1EB2Tester2软件设计C1精.docx_第5页
第5页 / 共10页
Altium教程EB1EB2Tester2软件设计C1精.docx_第6页
第6页 / 共10页
Altium教程EB1EB2Tester2软件设计C1精.docx_第7页
第7页 / 共10页
Altium教程EB1EB2Tester2软件设计C1精.docx_第8页
第8页 / 共10页
Altium教程EB1EB2Tester2软件设计C1精.docx_第9页
第9页 / 共10页
Altium教程EB1EB2Tester2软件设计C1精.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Altium教程EB1EB2Tester2软件设计C1精.docx

《Altium教程EB1EB2Tester2软件设计C1精.docx》由会员分享,可在线阅读,更多相关《Altium教程EB1EB2Tester2软件设计C1精.docx(10页珍藏版)》请在冰点文库上搜索。

Altium教程EB1EB2Tester2软件设计C1精.docx

Altium教程EB1EB2Tester2软件设计C1精

EB1EB2Tester_2软件设计

第一部分原理图1.1Audio.SchDoc

CLKDataIn[7..0]

SoundOut

U_DeltaSigma8

DeltaSigma8.SCHDOC

Clock

DOUT[7..0]

Reset

U_SineWaveGenerator

SineWave.VHDAudioOut

DeltaSigmaClk

Reset

DIVIDERRATIO[15..0]

NOTEN[7..0]

Invalid

U_NoteDividerTableNoteDividerTable.Vhd

/N

CNTL[15..0]

LOAD

U1

CDIVN_16

GND

NoteN[7..0]U4

OR2S

I[15..0]OA[7..0]

OB[7..0]

U3

J16B_8B2

Vol[7..0]

A[7..0]B[7..0]P[15..0]

U2MULTU8B

--Entityname

--Created(31.08.04

--CreatedbyCh.W.

--Modified(date,bywhom

--Description

--TristateIOBuffer

LibraryIeee;

useieee.std_logic_1164.all;

entityaddTransis

port(

sel:

instd_logic;

inp:

instd_logic_vector(15downto0;

outp:

outstd_logic_vector(15downto0;

io:

inoutstd_logic_vector(15downto0

;

endentity;

architecturertlofaddTransis

begin

outp<=iowhensel='0'else(others=>'Z';

io<=inpwhensel='1'else(others=>'Z';endarchitecture;

{..............................................................................}

{Summary}

{ConvertsamonochromeimageasaPCBLogointoaseriesofthin}

{PCBtracksthatcanbeplacedonaPCBdocumentasalogo.}

{}

{Copyright(c2008byPurPerLimited}

{}

{Version1.5}

{}

{ChangesForVersion1.5}

{-FixoffbyoneerrorsaccessingCanvas.Pixels}

{-Makemoretolerantofnon-monochromeimages,nowtracksarecreatedat}

{theboundaryofwhiteandnon-whitepixels}

{-Useusercustomizedlayernames}{..............................................................................}

Var

gvBoard:

IPCB_Board;

{......................................................................................................................}ProcedureRunConverterScript;

Begin

ConverterForm.ShowModal;

End;{......................................................................................................................}

{......................................................................................................................}ProcedurePlaceATrack(ABoard:

IPCB_Board;X1,Y1,X2,Y2:

TCoord;ALayer:

TLayer,AWidth:

Float;

Var

PCBTrack:

IPCB_Track;

Sheet:

IPCB_Sheet;

OffSet:

TCoord;

Begin

//obtainthecoordinatesofthesheetsocanplacelogowithintheboard

Sheet:

=ABoard.PCBSheet;

OffSet:

=MilsToCoord(100;

//placeanewtrackontheblankPCB

PCBTrack:

=PCBServer.PCBObjectFactory(eTrackObject,eNoDimension,eCreate_Default;

PCBTrack.Width:

=Round(MilsToCoord(1*AWidth;

PCBTrack.X1:

=Sheet.SheetX+MilsToCoord(X1+Offset;

PCBTrack.Y1:

=Sheet.SheetY+MilsToCoord(Y1+Offset;

PCBTrack.X2:

=Sheet.SheetX+MilsToCoord(X2+Offset;

PCBTrack.Y2:

=Sheet.SheetY+MilsToCoord(Y2+Offset;

PCBTrack.Layer:

=ALayer;

ABoard.AddPCBObject(PCBTrack;

End;{......................................................................................................................}

{......................................................................................................................}

ProcedureScalingFactorChange(Dummy:

TObject;

Begin

ConverterForm.lImageSize.Caption:

=FloatToStr((ConverterForm.Image1.Picture.Width+1*ConverterForm.eScalingFactor.Text+'x'+FloatToStr((ConverterForm.Image1.Picture.Height+1*ConverterForm.eScalingFactor.Text+'mils';

End;{......................................................................................................................}

{......................................................................................................................}

ProcedureTConverterForm.eScalingFactorChange(Sender:

TObject;

Begin

ScalingFactorChange(Nil;

End;{......................................................................................................................}

{......................................................................................................................}ProcedureTConverterForm.loadbuttonClick(Sender:

TObject;

Var

I,J:

Integer;

Begin

IfOpenPictureDialog1.Executethen

Begin

XPProgressBar1.Position:

=0;

XStatusBar1.SimpleText:

='Loading...';

XStatusBar1.Update;

//loadingamonochromebitmaponly

Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName;

//Checkifimageismonochrome,otherwisepromptawarning

IfImage1.Picture.Bitmap.PixelFormat<>pf1bitThen

Begin

ForJ:

=0toImage1.Picture.Height-1Do

ForI:

=0toImage1.Picture.Height-1Do

Begin

IfImage1.Canvas.Pixels[I,J]<>clWhiteThen

Image1.Canvas.Pixels[I,J]:

=clBlack;

End;

End;

ScalingFactorChange(Nil;

convertbutton.Enabled:

=True;

LoadButton.Enabled:

=False;

XStatusBar1.SimpleText:

='Ready...';

XStatusBar1.Update;

End;

End;{......................................................................................................................}

{......................................................................................................................}procedureTConverterForm.ConverterFormCreate(Sender:

TObject;

begin

//CreateastandaloneblankPCBdocumentandaddthenewlogotoit

//fromthePCBLogoContainerd.s.

CreateNewDocumentFromDocumentKind('PCB';

//GetCurrentPCBBoardreturnsaIPCB_Boardtype.

gvBoard:

=PCBServer.GetCurrentPCBBoard;

IfgvBoard=NilThen

Begin

ShowWarning('APCBdocumentisnotcreatedproperly.';

ShowModal:

=mrError;

End

Else

SetupComboBoxFromLayer(ComboBoxLayers,gvBoard;

end;{......................................................................................................................}

{......................................................................................................................}ProcedureTConverterForm.convertbuttonClick(Sender:

TObject;

x,y,x1,FlipY,FlipX:

Integer;

PixelColor:

TColor;

Start:

Boolean;

//PCBBoard:

IPCB_Board;

PCBLayer:

TLayer;

TrackWidth:

Integer;

Begin

Screen.Cursor:

=crHourGlass;

XPProgressBar1.Max:

=Image1.Picture.Height;

PCBLayer:

=GetLayerFromComboBox(ComboBoxLayers,gvBoard;

TrackWidth:

=StrToFloat(eScalingFactor.Text;

//ensurethelayerselectedisdisplayedinthePCBworkspacegvBoard.LayerIsDisplayed[PCBLayer]:

=True;

ForY:

=0toImage1.Picture.Height-1Do

Begin

XPProgressBar1.Position:

=Y;

XPProgressBar1.Update;

XStatusBar1.SimpleText:

='Converting...';

XStatusBar1.Update;

If(cbMirrorY.CheckedThen

FlipY:

=Y

Else

FlipY:

=Abs(Y-Image1.Picture.Height-1;

FlipY:

=FlipY*StrToFloat(eScalingFactor.Text;

//Denotesthestartofalineonarowofanimage

Start:

=False;

ForX:

=0ToImage1.Picture.WidthDo

Begin

If(cbNegative.CheckedThen

PixelColor:

=clBlack

Else

PixelColor:

=clWhite;

IfX

PixelColor:

=Image1.Canvas.Pixels[x,y];

IfcbMirrorX.CheckedThen

FlipX:

=abs(X-Image1.Picture.Width

Else

FlipX:

=X;

FlipX:

=FlipX*StrToFloat(eScalingFactor.Text;

If(cbNegative.CheckedThen

Begin

CasePixelColorOf

clWhite:

IfNot(StartThen

Begin

x1:

=FlipX;

Start:

=True;

End;

Else

Begin

If(StartThen

PlaceATrack(gvBoard,X1,FlipY,FlipX,FlipY,PCBLayer,TrackWidth;

Start:

=False;

End;

End;

End

Else

Begin

CasePixelColorOf

clWhite:

Begin

If(StartThen

PlaceATrack(gvBoard,X1,FlipY,FlipX,FlipY,PCBLayer,TrackWidth;

Start:

=False;

End;

Else

IfNot(StartThen

Begin

x1:

=FlipX;

Start:

=True;

End;

End;

End;

End;

End;

Screen.Cursor:

=crArrow;

XStatusBar1.SimpleText:

='Done...';

XStatusBar1.Update;

//togglebuttons

ConvertButton.Enabled:

=False;

LoadButton.Enabled:

=True;

//clearoutprogressbar

XPProgressBar1.Position:

=0;

XPProgressBar1.Update;

//clearoutimage

Image1.Picture.Bitmap:

=nil;

Client.SendMessage('PCB:

Zoom','Action=All',255,Client.CurrentView;

End;{......................................................................................................................}

{......................................................................................................................}ProcedureTConverterForm.exitbuttonClick(Sender:

TObject;

Begin

Close;

End;{......................................................................................................................}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2