- •Мікроконтролерний пристрій контролю напруги usb
- •1. Порти та прилади
- •1.1. Порт usb
- •1.1.1.Специфікації usb
- •1.1.2.Живлення usb
- •1.1.3.Типи usb
- •1.2.Вольтметр
- •1.2.1. Загальна характеристика вольтметра
- •1.2.2. Класифікація вольтметра
- •1.2.3. Розширення діапазону вимірювань вольтметра
- •2.Проектування пристрою
- •2.2.Принцип роботи пристрою
- •3.Розробка програмного забезпечення
- •Список використаних джерел інформації
3.Розробка програмного забезпечення
По даній блок-схемі (Рис 3.1) програмного забезпечення була написана програма од якої знаходиться в «Додатку А» Після кампеляції програми в 16 розрядний код ми отримали результат що знаходиться в «Додаток Б» тобто HEX-файл.
Рис 3.1. Спрощена блок-схема програми
ВИСНОВКИ
В ході роботи мною було розроблено пристрій, що призначений для вимірювання напруги в USB порті.Пристрій мае невелику вагу,та являеться невеликим за розмірами.Що дає йому легкість в експлуатації.
Пристрій побудований на базі МК PIC16F676. Це достатньо поширений і не дорогий ЕРЕ, що позитивно впливає на вартість пристрою. Всі інші ЕРЕ, що використані а пристрої також є поширеними і не дефіцитними.
Загалом, розглянувши технічні характеристики та функціональні можливості пристрою, що розроблено, можна вважати, що усі завдання, які були поставлені перед розробником виконані в повній мірі.
Список використаних джерел інформації
1. Безверхній І. Доопрацювання PonyProg2000 для програмування PIC-контролерів PIC16F676хх. Ремонт & сервіс. 2010, №5, с. 55-59.
2.Скотт Мюллер. Модернізація та ремонт ПК (глава 15 - Послідовний, паралельний та інші інтерфейси введення-виведення - USB) = Upgrading and Repairing PCs. - 17 вид. - М .: «Вільямс», 2007. - С. 1016-1026. - ISBN 0-7897-3404-4.
3. Alex_EXE | 24.03.2011 | Микроконтроллеры
4. Официальный сайт компилятора MikroElektronika
5.Справочник по среднему семейству микроконтроллеров PICmicroTM (перевод DS33023А). ООО „Микро-Чип». Москва — 2002.
6.Войнаровський П. Д.,. Електричні вимірювальні апарати // Енциклопедичний словник Брокгауза і Ефрона: В 86 томах (82 т. І 4 доп.). - СПб., 1890-1907.
ДОДАТКИ
Додаток А
Текст програми
01.void main()
02.{
03.int i,v;
04.unsigned char v1,v2,v3; // Переменные для сегментов
05.low_init(); // инициализация
06.while(1)
07.{
08.GODONE=1; // Устанавливаем бит GO для того что бы сделать опрос АЦП
09.for(i=0;i < 200;i++) // В ШИМе зажигаем все сегменты
10.{
11.seg7(v1,1); // 1 сегмент
12.delay(10);
13.seg7(v2,2); // 2 сегмент
14.delay(10);
15.seg7(v3,3); // 3 сегмент
16.delay(10);
17.}
18.PORTA=0b00000000; // Гасим индикатор
19.PORTC=0b11111111;
20.
21.while(GODONE){}
22.v=ADRESL; // читаем младший байт с АЦП
23.i=ADRESH; // читаем старший байт с АЦП (а именно 2 байта с него)
24.v=v+i*256; // складываем младший и старший байт АЦП
25.
26.v=(v*10/20)%1000; // преобразуем
27.v1=v/100; // разбиваем на сегменты
28.v=v%100;
29.v2=v/10;
30.v3=v%10;
31.}
32.}
Додаток Б
16-річне представлення
:020000000D28C9
:10000800DF0003088312BD000408BE000A08BF0011
:10001800D2298316FF23900083016E2A4B22C60142
:100028000A30AC00AD011430A800A901AA01AB0147
:100038009F149F181D2883161E088312B000B10153
:100048001E08AE00AF01AF00AE012E08B0070318BE
:10005800B10A2F08B1073108A3003008A2002D0803
:10006800A5002C08A400322283132308B10022081B
:10007800B0003108A4003008A3002908A600280809
:10008800A500082283132408B1002308B0002A0819
:10009800B0070318B10A2B08B1073108A3003008CC
:1000A800A200E830A4000330A5009521831323089B
:1000B800B1002208B0003108A5003008A40064305F
:1000C800A600A701132183132508C1002408C00036
:1000D8003108A3003008A2006430A400A5019521CE
:1000E80083132308B1002208B0003108A5003008A6
:1000F800A4000A30A600A701132183132508C30012
:100108002408C2003108A3003008A2000A30A40065
:10011800A501952183132308C5002208C400E830EF
:10012800A2000330A3005F221C28B8018501AF2874
:10013800B801B80A06290230A2282030B8000629DA
:100148003B08013A03199C28033A03199F28013AEE
:100158000319A12806293C08003A0319A4280629EE
:100168003B033C040319BD2887013808043E850079
:100178000800FF30DB281E30DB28113087003808E4
:1001880085000800143087003808850008000E3004
:100198008700380885000800243087003808850063
:1001A80008002030870038088500080016308700CE
:1001B800B928870138088500080083133408003AF5
:1001C8000319B428013A0319BF28033A0319C128AF
:1001D800013A0319C628073A0319CB28013A03192B
:1001E800D028033A0319D528013A0319DA280F3A17
:1001F8000319DD28013A031D080004308700380878
:10020800850008003A08B5003908B4000A30B6007D
:10021800B70158213508003A031D0800E128A1015B
:10022800A71F1D29A609A709A60A0319A70AA1013C
:10023800A10AA51F2629A409A509A40A0319A50A24
:100248000130A106A201A3012708260403194B299E
:10025800A001A00A0310A71B3529A60DA70D2D295B
:100268000310A20DA30D27082502031D3D2926080A
:100278002402031C47292608A4022708031CA503F7
:10028800A50222140310A70CA60CA00B34292108E0
:1002980003195329A209A309A20A0319A30A2308C7
:1002A800A5002208A4000800B201B51F6229B409FC
:1002B800B509B40A0319B50AB201B20AB71F692908
:1002C800B609B709B60A0319B70A37083604031975
:1002D8008829B301B30AB71B75290310B60DB70DEA
:1002E8006E2937083502031D7B2936083402031CA2
:1002F80084293608B4023708031CB503B502031075
:10030800B70CB60CB30B7529320803199029B40938
:10031800B509B40A0319B50A3508B5003408B4009C
:100328000800A001A31F9F29A209A309A20A031973
:10033800A30AA001A00AA51FA629A409A509A40A21
:100348000319A50A250824040319C529A101A10A2E
:10035800A51BB2290310A40DA50DAB29250823025E
:10036800031DB82924082202031CC1292408A2025B
:100378002508031CA303A3020310A50CA40CA10BBE
:10038800B22920080319CD29A209A309A20A031931
:10039800A30A2308A3002208A20008000B1DFF29B6
:1003A800C60AF2294108BA004008B900BB01BB0AD5
:1003B800BC019920FC294308BA004208B900023060
:1003C800BB00BC019920FC294508BA004408B900C3
:1003D8000330BB00BC019920C601FC294608013A3C
:1003E8000319D629033A0319DF29013A0319E82921
:1003F800643081000B113F088A003E0884003D08E4
:100408008300DF0E5F0E0900A001A1012608250464
:1004180003192D2AA201A20A0310A61B172AA50D4B
:10042800A60D0F2A0310A00DA10D26082402031DF6
:100438001F2A25082302031C292A2508A3022608A7
:10044800031CA403A40220140310A60CA50CA20BE1
:10045800162A2108A4002008A3000800A001A10171
:10046800221C3C2A2408A0070318A10A2508A10772
:100478000310A40DA50D0310A30CA20C230822043D
:10048800031D342A2108A3002008A2000800073011
:100498009900303083169F008D3083129F00831699
:1004A80011161030850087018101A03083128B005E
:1004B8008B160B110800A001A10123082102031DBE
:1004C800672A22082002031808000000A00A03195E
:1004D800A10A612AC001C101C201C301C401C50149
:0604E800C6018301122889
:02400E00D431AB
:00000001FF
