WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаТехнічні науки → Навчальна модель аналогово-цифрового перетворювача - Курсова робота

Навчальна модель аналогово-цифрового перетворювача - Курсова робота

Освiтлення достатнє i повинно вiдповiдати СH i П II- 4 -79. Потрiбна освiтленiсть визначається характером виконуваної роботи i дiючими санiтарними нормами. При природньому i штучному освiтленi робочi мiсця розмiщенi таким чином, щоб свiтло падало злiва. Такi умови вважаються оптимальними.

Розмiщення для електроустаткування і електропроводки iзоляцiї забезпечують повну безпеку працюючого.

Шкiдливi речовини, якi видiляються при роботi, видаляються за допомогою мiсцевої вентиляцiї. Розмiщення пристроїв i трубопроводiв для вiдведення повiтря виключає можливiсть травматизму.

Зовнiшнє оформлення робочих мiсць в виробничих примiщеннях вiдповiдає вимогам виробничої естетики. Кольори для фарбування поверхонь виробничих примiщень i устаткування, які розмiщені в колi зору працюючого, повинні бути свiтло-голубими, що забезпечує кращу видимiсть деталей i сприятливо дiє на нервову систему людини.

В комплекс заходів по створенню високопродуктивної працi входять i психофiзiологiчнi заходи, якi забезпечують безперервний ріст продуктивностi працi при мiнiмальних витратах фiзичної i нервової енергiї працюючого, i направленi на створення оптимального режиму працi та вiдпочинку із врахуванням конкретного процесу виробництва.

Виробничий процес збирання, монтажу та регулювання приладу вiдноситься по ступеню пожежної небезпечностi до категорiї Д.

Причинами пожежi можуть бути: коротке замикання, перевантаження провiдникiв мережi, виникнення великих перехiдних опорiв, якi порушують нормальну роботу технологiчного обладнання. Тому передбачаються пристрої, що забезпечують вiд'єднання при короткому замиканнi як всiєї мережi, так i окремих її ділянок.

Електроосвiтлення створює пожежну небезпеку при перегрiванні провiдникiв та iзоляцiї.

Для захисту провiдникiв вiд механiчних та хiмiчних пошкоджень їх прокладають в гумових або металевих трубках, якi мають внутрiшню iзоляцiю.

При русi гумової стрiчки транспортеру можуть виникати електростатичнi заряди. При незначнiй вологостi повiтря можливий iскровий розряд мiж частинами обладнання, або розряд на землю.

Енергiя такої iскри незначна, але може бути достатньою для пiдпалення горючої або вибухонебезпечної сумiшi. Таким чином, виникаючi в виробничих умовах електростатичнi заряди, можуть бути джерелами пожежi.

Уникнути небезпеки виникнення електростатичних зарядiв можна наступними методами:

1) заземлення виробничого обладнання та ємностей для зберiгання вогненебезпечних рiдин;

2) збiльшення вологостi повiтря або використання антистатичних домішок до основного продукту.

Джерелами пожежi можуть бути легкозаймистi рiдини: спирт, бензин, ацетон та ін. тому їх запас на виробничій ділянці не повинен перевищувати потреби на одну робочу змiну. Для зберiгання цих рiдин та їх вiдходiв повинна бути передбачена спецiальна тара - алюмiнієвi бiдони з притертими кришками, з чiткою назвою рiдини та попереджувальним надписом "ВОГHЕHЕБЕЗПЕЧНО!".

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

  1. Архангельський А.Я. Програмирование в Delphi 7. – М.: Бином, 2004. 1152 с.

  2. Бобровский С. Delphi 6 и Kylix: Библиотека программиста. – СПб.: Питер, 2002. – 560 с.

  3. Глинський Я.М., Анохін В.Є., Ряжська В.А. Паскаль. Turbo Pascal і Delphi. 4-те вид. – Львів: Деол, СПД Глинський, 2003. – 144 с.

  4. Программирование портов в Delphi. - amberv.narod.ru/delphi1.html

  5. Зубчук В.И. Справочник по цифровой схемотехнике. – К.: Техника, 1990. – 448 с.

  6. Новиков Ю.В., Калашников О.А., Гуляэв С.Э. Разработка устройств сопряжения для персонального компьютера типа IBM PC. – М.: ЭКОМ, 1997. – 224 с.

  7. Гук М. Аппаратные интерфейсы ПК. Энциклопедия. – СПб.: Питер, 2002. – 528 с.

  8. Ковальчук В.М. Основи економічної теорії. – Тернопіль: 2003. – 203 с.

ДОДАТКИ

Додаток А

Текст програми

unit ADC_2007_U;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series, Menus;

Type TF_ADC = class(TForm)

B_Write_DR: TButton;

B_Read_SR: TButton;

L_Driver_LPT: TLabel;

CheckBox_DR3: TCheckBox;

CheckBox_DR2: TCheckBox;

CheckBox_DR1: TCheckBox;

CheckBox_DR0: TCheckBox;

Bevel_DR: TBevel;

CheckBox_CR3: TCheckBox;

CheckBox_CR2: TCheckBox;

CheckBox_CR1: TCheckBox;

CheckBox_CR0: TCheckBox;

Bevel_CR: TBevel;

B_Write_CR: TButton;

CheckBox_SR3: TCheckBox;

Bevel_SR: TBevel;

B_In_U: TButton;

B_Out_U: TButton;

E_In_U: TEdit;

E_Out_U: TEdit;

B_Exit: TButton;

B_Diagram: TButton;

E_QI: TEdit;

L_QI: TLabel;

Chart1: TChart;

Series1: TFastLineSeries;

B_Stop: TButton;

E_Time_Discret: TEdit;

L_Time_Discret: TLabel;

B_Save: TButton;

SaveDialog1: TSaveDialog;

CheckBox_ADC_Proces_Show: TCheckBox;

RadioGroup_Language: TRadioGroup;

MainMenu1: TMainMenu;

File1: TMenuItem;

Save1: TMenuItem;

ADC1: TMenuItem;

InU1: TMenuItem;

OutU1: TMenuItem;

Port1: TMenuItem;

WriteDR1: TMenuItem;

Write_CR1: TMenuItem;

procedure B_Write_DRClick(Sender: TObject);

procedure B_Read_SRClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure B_Write_CRClick(Sender: TObject);

procedure B_Out_UClick(Sender: TObject);

procedure B_In_UClick(Sender: TObject);

procedure B_ExitClick(Sender: TObject);

procedure B_DiagramClick(Sender: TObject);

procedure B_StopClick(Sender: TObject);

procedure B_SaveClick(Sender: TObject);

procedure RadioGroup_LanguageClick(Sender: TObject);

procedure Save1Click(Sender: TObject);

procedure InU1Click(Sender: TObject);

procedure OutU1Click(Sender: TObject);

procedure WriteDR1Click(Sender: TObject);

procedure Write_CR1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

CONST

QI_Max=10000;

var

F_ADC: TF_ADC;

qDR,qSR,qCR:integer;

Adr_DR,Adr_CR,Adr_SR:word;

qB:integer;

U_Out,U_In:real;

U_A,U_min:real;

// U_Out_Max,U_In_Max:real;

RegStop:integer;

QI:integer;

Rdiod,Rz:real;

mR:array[0..8] of real;

mUr:array[0..16] of real;

mDR,mSR,mCR,mCR1:array[0..8] of byte;

mx,my:array[1..qI_Max] of real;

implementation

{$R *.dfm}

function IsDriverInstalled : Boolean; stdcall; external 'io.dll';

procedure PortOut(Port : Word; Data : Byte);stdcall; external 'io.dll';

function PortIn(Port : Word) : Byte;stdcall; external 'io.dll';

// CREATE FORM ============

Procedure Trans_bOut_mDR(bOut:byte);

{ Процедура перетворює байт bOut в набір з 8 бітів,

які записуються у масив mDR[0..7], де біт mDr[0] - молодший}

Var b1,b2,b3:byte;

i:integer;

Begin

b3:=bOut;

for i:=0 to 7 do

begin

b1:= b3 div 2;

b2:=b3 mod 2;

b3:=b1;

mDR[i]:=b2;

end;

// Примітка. Відображати біти на екрані наступним чином: D7 D6 D5 D4 D3 D2 D1 D0

End;

Procedure p_Init_U;

Var nDr,bOut:integer;

Rc1,Rc,Ur:real;

Begin

for bOut:=0 to qB do

begin

Trans_bOut_mDR(bOut);

Rc1:=0;

for nDR:=0 to qDR do

begin

Rc1:=Rc1+(1/(mR[nDr]+Rdiod))*mDR[nDr];

end;

rc:=0;

if Rc1>0 then Rc:=1/Rc1;

Ur:=(Rz/(Rz+Rc))*U_A;

if bOut=0 then Ur:=U_min;

mUr[bOut]:=Ur;

// ShowMessage(' bOut= '+IntToStr(bOut)+' Rc= '+FloatToStrF(Rc,ffFixed,6,2)+' Ur= '+FloatToStrF(Ur,ffFixed,6,2));

end; // bOut

End;

procedure TF_ADC.FormCreate(Sender: TObject);

begin

qDR:=3;

qCR:=3;

qSR:=1;

Adr_DR:=$378;

Adr_SR:=$379;

Adr_CR:=$37A;

qB:=15;

U_A:=3.7;

U_min:=0.14;

RDiod:=300;

mR[3]:=2200;

mR[2]:=4700;

mR[1]:=8200;

mR[0]:=15000;

Rz:=4600;

p_Init_U;

if IsDriverInstalled then

begin

L_Driver_LPT.Caption:='Driver Ok!';

end;

end;

// EXIT ================

procedure TF_ADC.B_ExitClick(Sender: TObject);

begin

Application.Terminate;

end;

// == DR ==== BEGIN ===================

Procedure p_Write_DR;

Var bOut:byte;

pDr,nDR:integer;

Begin

bout:=0;

pDr:=1;

for nDR:=0 to qDR do

begin

bout:=bOut+mDR[nDR]*pDr;

pDr:=pDr*2;

end;

PortOut(Adr_DR,bOut);

End;

procedure TF_ADC.B_Write_DRClick(Sender: TObject);

Var nDR:integer;

begin

for nDR:=0 to qDR do

begin

mDR[nDR]:=0;

end;

if CheckBox_DR0.Checked then mDR[0]:=1;

if CheckBox_DR1.Checked then mDR[1]:=1;

if CheckBox_DR2.Checked then mDR[2]:=1;

if CheckBox_DR3.Checked then mDR[3]:=1;

p_Write_DR;

end;

// == DR ==== END ===================

// === CR ==== BEGIN ===================

Procedure p_Write_CR;

Var bOut:byte;

pCr,nCR:integer;

Begin

// Invers

for nCR:=0 to qCR do

begin

if nCR<>2 then

begin

mCR1[nCR]:=0;

if mCR[nCR]=0 then mCR1[nCR]:=1;

end;

if nCR=2 then mCR1[nCR]:=mCR[nCR];

end;

bout:=0; pCr:=1;

for nCR:=0 to qCR do

begin

bout:=bOut+mCR1[nCR]*pCr;

pCr:=pCr*2;

Loading...

 
 

Цікаве