<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>KVorb &#187; pic</title>
	<atom:link href="http://kvorb.ru/tag/pic/feed/" rel="self" type="application/rss+xml" />
	<link>http://kvorb.ru</link>
	<description>KVorb</description>
	<lastBuildDate>Sat, 25 Jun 2011 11:18:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>ADC for the PIC16F84A</title>
		<link>http://kvorb.ru/2011/03/10/adc-for-the-pic16f84a/</link>
		<comments>http://kvorb.ru/2011/03/10/adc-for-the-pic16f84a/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 18:52:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cтатьи]]></category>
		<category><![CDATA[Электроника]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[PIC16F84A]]></category>
		<category><![CDATA[TLC549]]></category>

		<guid isPermaLink="false">http://kvorb.ru/?p=581</guid>
		<description><![CDATA[The good old PIC16F84A does not have an analogue to digital converter (ADC) on board. A good solution to this problem is offered by the TLC549 serial ADC made by Texas Instruments. The TLC549 uses only 3 of the I/O pins of the controller, is very compact and is also readily available. The TLC549 control [...]]]></description>
			<content:encoded><![CDATA[<p>The good old PIC16F84A does not have an analogue to digital converter (ADC) on board. A good solution to this problem is offered by the TLC549 serial ADC made by Texas Instruments. The TLC549 uses only 3 of the I/O pins of the controller, is very compact and is also readily available.</p>
<p>The TLC549 control lines CS and l/O-Clock are controlled from the PIC. The result of the conversion is available via the serial output of the ADC (Data Out), one bit at a time, and is stored into a byte of RAM in<br />
the PIC. You can find a detailed description of how this works in the Texas Instruments data sheet: http://focus.ti.com/lit/ds/symlink/tlc549.pdf. The program shows how the 8 bits in the RESULT byte are fetched in (lines 10 to 25).</p>
<p><span id="more-581"></span><a href="http://kvorb.ru/wp-content/uploads/2011/03/11.png"><img src="http://kvorb.ru/wp-content/uploads/2011/03/11.png" alt="" title="ADC for the PIC16F84A" width="559" height="550" class="aligncenter size-full wp-image-582" /></a></p>
<p>For the sake of clarity it was decided to show each and every step in full. The clock signal for the ADC is generated by the subroutine IOCLOCK (lines 34 to 38). The chip select input of the ADC is controlled by program lines 09 and 26. The operating sequence diagram (datasheet page 3) clearly shows how the CS has to be<br />
controlled. The TLC549 will not operate correctly when the CS is permanently connected to ground.</p>
<p>The routine SHIFTIN takes care of assembling the RESULT byte. RAO (Data Out) is first copied to the carry bit (31). The carry is subsequently left shifted into the RESULT byte (32). Since the order of the data bits from the conversion result is MSB first and LSB last (see datasheet), this ensures that the conversion result ends up the correct way around in the RESULT byte, after going through a complete cycle.</p>
<p>In the schematic you can see that PORTB is used to visualise the result of the conversion using LEDs. If you have another use for PORTB then you may omit program lines 27 and 28. An analogue signal for the input of the ADC is simulated with potentiometer P1. The value is not critical; use a higher value to avoid unnecessary loading of the power supply.</p>
<p>When flash programming the PIC client, the reset circuit (R1, C3 and<br />
RST) needs to be disconnected from pin 4 (MCLR).</p>
]]></content:encoded>
			<wfw:commentRss>http://kvorb.ru/2011/03/10/adc-for-the-pic16f84a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PIC-микроконтроллеры</title>
		<link>http://kvorb.ru/2010/05/13/pic-mikrokontrollery/</link>
		<comments>http://kvorb.ru/2010/05/13/pic-mikrokontrollery/#comments</comments>
		<pubDate>Thu, 13 May 2010 15:45:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Книги электроника]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[книги]]></category>
		<category><![CDATA[микроконтроллеры]]></category>
		<category><![CDATA[Электроника]]></category>

		<guid isPermaLink="false">http://kvorb.ru/?p=563</guid>
		<description><![CDATA[Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей. В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ozon.ru/multimedia/books_covers/1001696020.jpg" alt="" /></p>
<p>Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.<br />
В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем.<br />
Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний.<br />
В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний.<br />
Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств. </p>
<p><span id="more-563"></span><a href="http://www.ozon.ru/context/detail/id/5139094/?partner=kvorb&#038;from=bar">Купить на OZON.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kvorb.ru/2010/05/13/pic-mikrokontrollery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Применение микроконтроллеров PIC18. Архитектура, программирование и построение интерфейсов с применением С и ассемблера</title>
		<link>http://kvorb.ru/2010/05/13/primenenie-mikrokontrollerov-pic18-arxitektura-programmirovanie-i-postroenie-interfejsov-s-primeneniem-s-i-assemblera/</link>
		<comments>http://kvorb.ru/2010/05/13/primenenie-mikrokontrollerov-pic18-arxitektura-programmirovanie-i-postroenie-interfejsov-s-primeneniem-s-i-assemblera/#comments</comments>
		<pubDate>Thu, 13 May 2010 15:36:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Книги электроника]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[книги]]></category>
		<category><![CDATA[микроконтроллеры]]></category>
		<category><![CDATA[Электроника]]></category>

		<guid isPermaLink="false">http://kvorb.ru/?p=559</guid>
		<description><![CDATA[Сегодня микроконтроллеры используются повсеместно в автомобилях, бытовой технике, промышленном и медицинском оборудовании и т.п. Этот учебник дает всестороннее представление об архитектуре, программировании и построении интерфейсов этого современного чуда. На примере семейства микроконтроллеров PIC18 производства Microchip в книге объясняется архитектура, программирование и построение интерфейсов. Семейство PIC 18 выбрано не случайно, поскольку оно относится к самым современным [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ozon.ru/multimedia/books_covers/1000964691.jpg" alt="" /></p>
<p>Сегодня микроконтроллеры используются повсеместно в автомобилях, бытовой технике, промышленном и медицинском оборудовании и т.п. Этот учебник дает всестороннее представление об архитектуре, программировании и построении интерфейсов этого современного чуда. На примере семейства микроконтроллеров PIC18 производства Microchip в книге объясняется архитектура, программирование и построение интерфейсов. Семейство PIC 18 выбрано не случайно, поскольку оно относится к самым современным восьмиразрядным микроконтроллерам. Изложенный в книге материал также применим как к более ранним версиям микроконтроллеров Microchip, так и к аналогичным устройствам других производителей. Он рассчитан на опытных практиков и радиолюбителей, интересующихся микроконтроллерами. </p>
<p><span id="more-559"></span><a href="http://www.ozon.ru/context/detail/id/4175141/?partner=kvorb&#038;from=bar">Купить на OZON.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kvorb.ru/2010/05/13/primenenie-mikrokontrollerov-pic18-arxitektura-programmirovanie-i-postroenie-interfejsov-s-primeneniem-s-i-assemblera/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Микроконтроллеры PIC 24. Архитектура и программирование</title>
		<link>http://kvorb.ru/2010/05/13/mikrokontrollery-pic-24-arxitektura-i-programmirovanie/</link>
		<comments>http://kvorb.ru/2010/05/13/mikrokontrollery-pic-24-arxitektura-i-programmirovanie/#comments</comments>
		<pubDate>Thu, 13 May 2010 15:28:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Книги электроника]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[микроконтроллеры]]></category>
		<category><![CDATA[Электроника]]></category>

		<guid isPermaLink="false">http://kvorb.ru/?p=555</guid>
		<description><![CDATA[В книге рассматривается широкий круг вопросов, связанных с практическим применением популярных 16-битных микроконтроллеров PIC24 в системах обработки данных и управления оборудованием. Приводятся многочисленные примеры программирования несложных аппаратно-программных систем обработки аналоговой и цифровой информации с применением периферийных модулей микроконтроллеров PIC24F. В контексте разработанных примеров приводятся необходимые сведения из теории, что способствует лучшему пониманию материала книги. Все [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ozon.ru/multimedia/books_covers/1001014959.jpg" alt="" /></p>
<p>В книге рассматривается широкий круг вопросов, связанных с практическим применением популярных 16-битных микроконтроллеров PIC24 в системах обработки данных и управления оборудованием. Приводятся многочисленные примеры программирования несложных аппаратно-программных систем обработки аналоговой и цифровой информации с применением периферийных модулей микроконтроллеров PIC24F. В контексте разработанных примеров приводятся необходимые сведения из теории, что способствует лучшему пониманию материала книги. Все приведенные в книге аппаратно-программные проекты разработаны и проверены на отладочном модуле Explorer 16 Development Board фирмы Microchip и могут служить основой для создания собственных проектов. </p>
<p><span id="more-555"></span><a href="http://www.ozon.ru/context/detail/id/4256634/?partner=kvorb&#038;from=bar">Купить на OZON.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kvorb.ru/2010/05/13/mikrokontrollery-pic-24-arxitektura-i-programmirovanie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Измерение, управление и регулирование с помощью PIC микроконтроллеров</title>
		<link>http://kvorb.ru/2010/05/13/izmerenie-upravlenie-i-regulirovanie-s-pomoshhyu-pic-mikrokontrollerov/</link>
		<comments>http://kvorb.ru/2010/05/13/izmerenie-upravlenie-i-regulirovanie-s-pomoshhyu-pic-mikrokontrollerov/#comments</comments>
		<pubDate>Thu, 13 May 2010 15:26:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Книги электроника]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[микроконтроллеры]]></category>
		<category><![CDATA[Электроника]]></category>

		<guid isPermaLink="false">http://kvorb.ru/?p=552</guid>
		<description><![CDATA[Интересуетесь методиками измерения, управления и регулирования? Хотите узнать, как такого рода схемы можно реализовать с помощью микроконтроллеров PIC? Тогда эта книга &#8211; для вас! Микроконтроллеры, благодаря своей компактности и простоте программирования, как нельзя лучше подходят для разработки собственных схем измерения, управления и регулирования. Именно принципы их работы, создания и программирования и раскрывает данная книга. Здесь [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ozon.ru/multimedia/books_covers/1000405319.jpg" alt="" /></p>
<p>Интересуетесь методиками измерения, управления и регулирования? Хотите узнать, как такого рода схемы можно реализовать с помощью микроконтроллеров PIC? Тогда эта книга &#8211; для вас!<br />
Микроконтроллеры, благодаря своей компактности и простоте программирования, как нельзя лучше подходят для разработки собственных схем измерения, управления и регулирования.<br />
Именно принципы их работы, создания и программирования и раскрывает данная книга. Здесь вы найдете оптимизированные схемы, а также полные листинги программ.</p>
<p><span id="more-552"></span>Рассмотрены следующие темы:</p>
<p>Семейство PIC 16C5X:<br />
- Внутренняя структура и функционирование, внешний монтаж;<br />
- Система команд и программирование.</p>
<p>Семейства PIC 16C71 и PIC 16F84:<br />
- АЦП, источники прерываний, восьмиуровневый стек.</p>
<p>Системы разработки:<br />
- PtC-Start_16B1 с ассемблером, эмулятором, программатором;<br />
- Минипрограмматор для PIC 16F84.</p>
<p>Примеры использования:<br />
- Программируемый счетчик-частотомер;<br />
- Измерение температуры до 500°С; &#8211; Реле времени;<br />
- Гигрометр с реле;<br />
- Температурное реле для регулирования нагрева;<br />
- Управление шаговыми электродвигателями;<br />
- Регулирование уровня заполнения;<br />
- Некоторые вспомогательные программы.</p>
<p>На компакт-диске:<br />
- Программные примеры на ассемблере. </p>
<p><a href="http://www.ozon.ru/context/detail/id/2882094/?partner=kvorb&#038;from=bar">Купить на OZON.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kvorb.ru/2010/05/13/izmerenie-upravlenie-i-regulirovanie-s-pomoshhyu-pic-mikrokontrollerov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Микроконтроллеры Microchip с аппаратной поддержкой USB</title>
		<link>http://kvorb.ru/2010/05/13/mikrokontrollery-microchip-s-apparatnoj-podderzhkoj-usb/</link>
		<comments>http://kvorb.ru/2010/05/13/mikrokontrollery-microchip-s-apparatnoj-podderzhkoj-usb/#comments</comments>
		<pubDate>Thu, 13 May 2010 15:21:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Книги электроника]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[микроконтроллеры]]></category>
		<category><![CDATA[Электроника]]></category>

		<guid isPermaLink="false">http://kvorb.ru/?p=548</guid>
		<description><![CDATA[В настоящее время использование шины USB является наиболее популярным методом для подключения периферийных устройств к компьютеру. Микроконтроллеры Microchip серии PIC18F2455/2550/4455/4550 включают в себя не только аппаратную поддержку шины USB, но и других популярных протоколов обмена данными, а также функциональные модули таймеров, АЦП, ЦАП и ШИМ, что позволяет создавать на основе этих микроконтроллеров самые разнообразные оконечные [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ozon.ru/multimedia/books_covers/1000740629.jpg" alt="" /></p>
<p>В настоящее время использование шины USB является наиболее популярным методом для подключения периферийных устройств к компьютеру. Микроконтроллеры Microchip серии PIC18F2455/2550/4455/4550 включают в себя не только аппаратную поддержку шины USB, но и других популярных протоколов обмена данными, а также функциональные модули таймеров, АЦП, ЦАП и ШИМ, что позволяет создавать на основе этих микроконтроллеров самые разнообразные оконечные устройства, взаимодействующие с персональным компьютером. В книге приведено полное техническое описание микроконтроллеров Microchip PIC18F2455/2550/4455/4550, рассмотрены примеры практического применения.</p>
<p><span id="more-548"></span>Для специалистов, занимающихся разработкой устройств на основе микроконтроллеров, радиолюбителей и студентов радиотехнических специальностей. </p>
<p><a href="http://www.ozon.ru/context/detail/id/3812414/?partner=kvorb&#038;from=bar">Купить на OZON.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kvorb.ru/2010/05/13/mikrokontrollery-microchip-s-apparatnoj-podderzhkoj-usb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PIC-микроконтроллеры. Все, что вам необходимо знать</title>
		<link>http://kvorb.ru/2010/05/13/pic-mikrokontrollery-vse-chto-vam-neobxodimo-znat/</link>
		<comments>http://kvorb.ru/2010/05/13/pic-mikrokontrollery-vse-chto-vam-neobxodimo-znat/#comments</comments>
		<pubDate>Thu, 13 May 2010 15:15:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Книги электроника]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[микроконтроллеры]]></category>
		<category><![CDATA[Электроника]]></category>

		<guid isPermaLink="false">http://kvorb.ru/?p=543</guid>
		<description><![CDATA[Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей. В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ozon.ru/multimedia/books_covers/1000846272.jpg" alt="" /></p>
<p> 	 Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.<br />
В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.</p>
<p><span id="more-543"></span>Книга рассчитана на самый широкий круг читателей &#8211; от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям &laquo;Радиоэлектроника&raquo; и &laquo;Вычислительная техника&raquo;, которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов. </p>
<p><a href="http://www.ozon.ru/context/detail/id/3998092/?partner=kvorb&#038;from=bar">Купить на OZON.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kvorb.ru/2010/05/13/pic-mikrokontrollery-vse-chto-vam-neobxodimo-znat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Программирование на С микроконтроллеров PIC24</title>
		<link>http://kvorb.ru/2010/05/13/programmirovanie-na-s-mikrokontrollerov-pic24/</link>
		<comments>http://kvorb.ru/2010/05/13/programmirovanie-na-s-mikrokontrollerov-pic24/#comments</comments>
		<pubDate>Thu, 13 May 2010 15:02:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Книги электроника]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[микроконтроллеры]]></category>
		<category><![CDATA[Электроника]]></category>

		<guid isPermaLink="false">http://kvorb.ru/?p=540</guid>
		<description><![CDATA[Лусио ди Джасио, эксперт из компании Microchip, предлагает свой уникальный взгляд на революционную технологию PIC24, проводя читателя от основ 16-разрядной архитектуры до сложных программных разработок средствами языка С, включая реализацию многозадачности с помощью прерываний PIC24, управление ЖК-дисплеями, формирование звуковых и видеосигналов, доступ к запоминающим устройствам большой емкости и др. Вне всякого сомнения, эта книга будет [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ozon.ru/multimedia/books_covers/1001162205.jpg" alt="" /></p>
<p>Лусио ди Джасио, эксперт из компании Microchip, предлагает свой уникальный взгляд на революционную технологию PIC24, проводя читателя от основ 16-разрядной архитектуры до сложных программных разработок средствами языка С, включая реализацию многозадачности с помощью прерываний PIC24, управление ЖК-дисплеями, формирование звуковых и видеосигналов, доступ к запоминающим устройствам большой емкости и др. Вне всякого сомнения, эта книга будет полезна как опытным PIC-разработчикам, так и новичкам в мире встроенных систем.<br />
<span id="more-540"></span><br />
<a href="http://www.ozon.ru/context/detail/id/4510462/?partner=kvorb&#038;from=bar">Купить на OZON.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kvorb.ru/2010/05/13/programmirovanie-na-s-mikrokontrollerov-pic24/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Работа с SPI в микроконтроллёре PIC, компилятор MCC18</title>
		<link>http://kvorb.ru/2010/04/12/rabota-s-spi-v-mikrokontrollyore-pic-kompilyator-mcc18/</link>
		<comments>http://kvorb.ru/2010/04/12/rabota-s-spi-v-mikrokontrollyore-pic-kompilyator-mcc18/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 16:54:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cтатьи]]></category>
		<category><![CDATA[Электроника]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[SPI]]></category>
		<category><![CDATA[микроконтроллеры]]></category>

		<guid isPermaLink="false">http://kvorb.ru/?p=472</guid>
		<description><![CDATA[В статье описываются функции для работы с модулем SPI в микроконтроллёрах PIC. Работа с SPI в PIC, компилятор MCC18 Для начала подключаем библиотеку функций SPI: #include &#34;spi.h&#34; Функция OpenSPI. Инициализация SPI. Прототип функции void OpenSPI&#40; unsigned char sync_mode, unsigned char bus_mode, unsigned char smp_phase&#41;; Аргументы: sync_mode (Определяет режим работы и частоту) SPI_FOSC_4 SPI Master mode, [...]]]></description>
			<content:encoded><![CDATA[<p>В статье описываются функции для работы с модулем SPI в микроконтроллёрах PIC.</p>
<p>Работа с SPI в PIC, компилятор MCC18 </p>
<p><strong>Для начала подключаем библиотеку функций SPI:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &quot;spi.h&quot;</span></pre></div></div>

<p><strong>Функция OpenSPI. Инициализация SPI.</strong><br />
Прототип функции</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">void</span> OpenSPI<span style="color: #009900;">&#40;</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> sync_mode<span style="color: #339933;">,</span> 
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> bus_mode<span style="color: #339933;">,</span> 
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> smp_phase<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Аргументы:<br />
<strong>sync_mode</strong> (Определяет режим работы и частоту)</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">SPI_FOSC_4        SPI Master mode<span style="color: #339933;">,</span> clock <span style="color: #339933;">=</span> Fosc<span style="color: #339933;">/</span><span style="color: #0000dd;">4</span>
SPI_FOSC_16       SPI Master mode<span style="color: #339933;">,</span> clock <span style="color: #339933;">=</span> Fosc<span style="color: #339933;">/</span><span style="color: #0000dd;">16</span>
SPI_FOSC_64       SPI Master mode<span style="color: #339933;">,</span> clock <span style="color: #339933;">=</span> Fosc<span style="color: #339933;">/</span><span style="color: #0000dd;">64</span>
SPI_FOSC_TMR2     SPI Master mode<span style="color: #339933;">,</span> clock <span style="color: #339933;">=</span> TMR2 output<span style="color: #339933;">/</span><span style="color: #0000dd;">2</span>
SLV_SSON          SPI Slave mode<span style="color: #339933;">,</span> <span style="color: #339933;">/</span>SS pin control enabled
SLV_SSOFF         SPI Slave mode<span style="color: #339933;">,</span> <span style="color: #339933;">/</span>SS pin control disabled</pre></div></div>

<p><span id="more-472"></span><strong>bus_mode</strong> (установка битов CKE и CKP)<br />
Может принимать следующие значения</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">MODE_00       <span style="color: #666666; font-style: italic;">//0b00000000  </span>
<span style="color: #666666; font-style: italic;">//CKE           0x40    // SSPSTAT register </span>
<span style="color: #666666; font-style: italic;">//CKP           0x00    // SSPCON1 register </span>
MODE_01       <span style="color: #666666; font-style: italic;">//0b00000001  </span>
<span style="color: #666666; font-style: italic;">//CKE           0x00    // SSPSTAT register </span>
<span style="color: #666666; font-style: italic;">//CKP           0x00    // SSPCON1 register</span>
MODE_10       <span style="color: #666666; font-style: italic;">//0b00000010  </span>
<span style="color: #666666; font-style: italic;">//CKE           0x40    // SSPSTAT register</span>
<span style="color: #666666; font-style: italic;">//CKP           0x10    // SSPCON1 register</span>
MODE_11       <span style="color: #666666; font-style: italic;">//0b00000011  </span>
<span style="color: #666666; font-style: italic;">//CKE           0x00    // SSPSTAT register</span>
<span style="color: #666666; font-style: italic;">//CKP           0x10    // SSPCON1 register</span></pre></div></div>

<p>CKE &#8211; определяет, на каком шаге происходит изменение данных на выходе:<br />
если CKP = 0, то<br />
1 &#8211; данные передаются по переднему фронту сигнала на выводе SCK;<br />
0 &#8211; данные передаются по заднему фронту сигнала на выводе SCK.<br />
если CKP = 1, то<br />
1 &#8211; данный передаются по заднему фронту сигнала на выводе SCK;<br />
0 &#8211; данные передаются по переднему фронту сигнала на выводе SCK.</p>
<p>CKP &#8211; выбор полярности импульса синхронизации:<br />
1 &#8211; пассивный высокий уровень сигнала;<br />
0 &#8211; пассивный низкий уровень сигнала.</p>
<p><strong>smp_phase</strong> (Определяет режим захвата входных данных)<br />
SMPEND &#8211; опрос входа в конце периода вывода данных;<br />
SMPMID &#8211; опрос входа в середине периода вывода данных. </p>
<p>Пример использования:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">OpenSPI<span style="color: #009900;">&#40;</span>SPI_FOSC_16<span style="color: #339933;">,</span> MODE_00<span style="color: #339933;">,</span> SMPEND<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Функция CloseSPI. Отключает модуль SSPx.</strong><br />
Прототип</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">void</span> CloseSPI<span style="color: #009900;">&#40;</span> <span style="color: #993333;">void</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Функция DataRdySPI. Эта функция определяет есть ли новое значение в регистре SSPBUFx.</strong><br />
Прототип</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> DataRdySPI<span style="color: #009900;">&#40;</span> <span style="color: #993333;">void</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Пример использования</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>DataRdySPI<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Функция ReadSPI. Читает байт из модуля SPIx.</strong><br />
Прототип</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> ReadSPI<span style="color: #009900;">&#40;</span> <span style="color: #993333;">void</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Пример использования</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">char</span> x<span style="color: #339933;">;</span>
x <span style="color: #339933;">=</span> ReadSPI<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Функция WriteSPI. Записывает байт в модуль SPIx.</strong><br />
Прототип</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> WriteSPI<span style="color: #009900;">&#40;</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> data_out <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Возвращаемые значения:<br />
0 &#8211; нет ошибок;<br />
-1 &#8211; была ошибка.</p>
<p>Пример использования</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">WriteSPI<span style="color: #009900;">&#40;</span>‘a’<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Функция putsSPI. Передаёт строку в модуль SPIx.</strong><br />
Прототип. Строка заканчивается нулевым символом (который при этом не передаётся).</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">void</span> putsSPI<span style="color: #009900;">&#40;</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>wrptr <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Пример использования</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> wrptr<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> “Hello<span style="color: #339933;">!</span>”<span style="color: #339933;">;</span>
putsSPI<span style="color: #009900;">&#40;</span>wrptr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Функция getsSPI. Читает строку из модуля SPIx.</strong><br />
Прототип (в параметрах указатель на строку и длина строки)</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">void</span> getsSPI<span style="color: #009900;">&#40;</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>rdptr<span style="color: #339933;">,</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> length <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Пример использования</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> wrptr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
getsSPI<span style="color: #009900;">&#40;</span>wrptr<span style="color: #339933;">,</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://kvorb.ru/2010/04/12/rabota-s-spi-v-mikrokontrollyore-pic-kompilyator-mcc18/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Индикатор TIC107. Адресация.</title>
		<link>http://kvorb.ru/2010/02/21/indikator-tic107-adresaciya/</link>
		<comments>http://kvorb.ru/2010/02/21/indikator-tic107-adresaciya/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 10:48:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cтатьи]]></category>
		<category><![CDATA[Электроника]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[I2C]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[TIC107]]></category>
		<category><![CDATA[микроконтроллеры]]></category>

		<guid isPermaLink="false">http://kvorb.ru/?p=447</guid>
		<description><![CDATA[На рисунке карта памяти индикатора TIC107. Адреса первой строки 0&#215;00-0&#215;27. Второй 0&#215;40-0&#215;67. Видимая часть в первой строке 0&#215;00-0x0F, во второй 0&#215;40-0x4F. Функция переводящая указатель на нужный адрес. void LCD_Address&#40;char DDRAM&#41;&#123; StartI2C&#40;&#41;; WriteI2C&#40;0x74&#41;; // Адрес индикатора WriteI2C&#40;0b00000000&#41;; // Co=0, RS=0 WriteI2C&#40;0b00110100&#41;; // DL=1, M=1, SL=0, H=0 WriteI2C&#40;0b10000000 &#124; DDRAM&#41;; // Установка адреса DDRAM StopI2C&#40;&#41;; &#125; Пример [...]]]></description>
			<content:encoded><![CDATA[<p>На рисунке карта памяти индикатора TIC107.<br />
<a href="http://kvorb.ru/wp-content/uploads/2010/02/TIC107_DDRAM.jpg"><img src="http://kvorb.ru/wp-content/uploads/2010/02/TIC107_DDRAM.jpg" alt="" title="TIC107_DDRAM" width="569" height="154" class="alignnone size-full wp-image-448" /></a></p>
<p>Адреса первой строки 0&#215;00-0&#215;27. Второй 0&#215;40-0&#215;67. Видимая часть в первой строке 0&#215;00-0x0F, во второй 0&#215;40-0x4F.</p>
<p><span id="more-447"></span>Функция переводящая указатель на нужный адрес.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">void</span> LCD_Address<span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span> DDRAM<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	StartI2C<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #208080;">0x74</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">// Адрес индикатора</span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #208080;">0b00000000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// Co=0, RS=0</span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #208080;">0b00110100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// DL=1, M=1, SL=0, H=0</span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #208080;">0b10000000</span> <span style="color: #339933;">|</span> DDRAM<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">// Установка адреса DDRAM </span>
	StopI2C<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Пример использования.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	LCD_init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">// Инициализация индикатора</span>
&nbsp;
	StartI2C<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #208080;">0x74</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">// Адрес индикатора</span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #208080;">0b01000000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// Co=0, RS=1</span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'A'</span><span style="color: #339933;">+</span><span style="color: #0000dd;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// 'A' </span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'B'</span><span style="color: #339933;">+</span><span style="color: #0000dd;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// 'B'</span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'C'</span><span style="color: #339933;">+</span><span style="color: #0000dd;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// 'C'</span>
	StopI2C<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	LCD_Address<span style="color: #009900;">&#40;</span><span style="color: #208080;">0x40</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// Указатель на вторую строку</span>
&nbsp;
	StartI2C<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #208080;">0x74</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">// Адрес индикатора</span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #208080;">0b01000000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// Co=0, RS=1</span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'1'</span><span style="color: #339933;">+</span><span style="color: #0000dd;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// '1' </span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'2'</span><span style="color: #339933;">+</span><span style="color: #0000dd;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// '2'</span>
	WriteI2C<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'3'</span><span style="color: #339933;">+</span><span style="color: #0000dd;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// '3'</span>
	StopI2C<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://kvorb.ru/2010/02/21/indikator-tic107-adresaciya/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

