亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? glcd_8c-source.html

?? ATMEL的AVR單片機(jī)庫文件
?? HTML
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Procyon AVRlib: glcd.c Source File</title><link href="dox.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.6 --><div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div><h1>glcd.c</h1><a href="glcd_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*! \file glcd.c \brief Graphic LCD API functions. */</span>00002 <span class="comment">//*****************************************************************************</span>00003 <span class="comment">//</span>00004 <span class="comment">// File Name    : 'glcd.c'</span>00005 <span class="comment">// Title        : Graphic LCD API functions</span>00006 <span class="comment">// Author       : Pascal Stang - Copyright (C) 2002</span>00007 <span class="comment">// Date         : 5/30/2002</span>00008 <span class="comment">// Revised      : 5/30/2002</span>00009 <span class="comment">// Version      : 0.5</span>00010 <span class="comment">// Target MCU   : Atmel AVR</span>00011 <span class="comment">// Editor Tabs  : 4</span>00012 <span class="comment">//</span>00013 <span class="comment">// NOTE: This code is currently below version 1.0, and therefore is considered</span>00014 <span class="comment">// to be lacking in some functionality or documentation, or may not be fully</span>00015 <span class="comment">// tested.  Nonetheless, you can expect most functions to work.</span>00016 <span class="comment">//</span>00017 <span class="comment">// This code is distributed under the GNU Public License</span>00018 <span class="comment">//      which can be found at http://www.gnu.org/licenses/gpl.txt</span>00019 <span class="comment">//</span>00020 <span class="comment">//*****************************************************************************</span>00021 00022 <span class="preprocessor">#ifndef WIN32</span>00023 <span class="preprocessor"></span><span class="comment">// AVR specific includes</span>00024 <span class="preprocessor">    #include &lt;avr/io.h&gt;</span>00025 <span class="preprocessor">    #include &lt;avr/pgmspace.h&gt;</span>00026 <span class="preprocessor">#endif</span>00027 <span class="preprocessor"></span>00028 <span class="preprocessor">#include "<a class="code" href="glcd_8h.html">glcd.h</a>"</span>00029 00030 <span class="comment">// include hardware support</span>00031 <span class="preprocessor">#include "<a class="code" href="ks0108_8h.html">ks0108.h</a>"</span>00032 <span class="comment">// include fonts</span>00033 <span class="preprocessor">#include "<a class="code" href="font5x7_8h.html">font5x7.h</a>"</span>00034 <span class="preprocessor">#include "<a class="code" href="fontgr_8h.html">fontgr.h</a>"</span>00035 00036 <span class="comment">// graphic routines</span>00037 00038 <span class="comment">// set dot</span><a name="l00039"></a><a class="code" href="glcd_8h.html#a10">00039</a> <span class="keywordtype">void</span> <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(u08 x, u08 y)00040 {00041     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> temp;00042 00043     <a class="code" href="ks0108_8h.html#a23">glcdSetAddress</a>(x, y/8);00044     temp = glcdDataRead();  <span class="comment">// dummy read</span>00045     temp = glcdDataRead();  <span class="comment">// read back current value</span>00046     <a class="code" href="ks0108_8h.html#a23">glcdSetAddress</a>(x, y/8);00047     glcdDataWrite(temp | (1 &lt;&lt; (y % 8)));00048 00049     <a class="code" href="ks0108_8h.html#a24">glcdStartLine</a>(0);00050 }00051 00052 <span class="comment">// clear dot</span><a name="l00053"></a><a class="code" href="glcd_8h.html#a11">00053</a> <span class="keywordtype">void</span> <a class="code" href="glcd_8h.html#a11">glcdClearDot</a>(u08 x, u08 y)00054 {00055     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> temp;00056 00057     <a class="code" href="ks0108_8h.html#a23">glcdSetAddress</a>(x, y/8);00058     temp = glcdDataRead();  <span class="comment">// dummy read</span>00059     temp = glcdDataRead();  <span class="comment">// read back current value</span>00060     <a class="code" href="ks0108_8h.html#a23">glcdSetAddress</a>(x, y/8);00061     glcdDataWrite(temp &amp; ~(1 &lt;&lt; (y % 8)));00062 00063     <a class="code" href="ks0108_8h.html#a24">glcdStartLine</a>(0);00064 }00065 00066 <span class="comment">// draw line</span><a name="l00067"></a><a class="code" href="glcd_8h.html#a12">00067</a> <span class="keywordtype">void</span> <a class="code" href="glcd_8h.html#a12">glcdLine</a>(u08 x1, u08 y1, u08 x2, u08 y2)00068 {00069 };00070 00071 <span class="comment">// draw rectangle</span><a name="l00072"></a><a class="code" href="glcd_8h.html#a13">00072</a> <span class="keywordtype">void</span> <a class="code" href="glcd_8h.html#a13">glcdRectangle</a>(u08 x, u08 y, u08 a, u08 b)00073 {00074   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> j;00075 00076   <span class="keywordflow">for</span> (j = 0; j &lt; a; j++) {00077         <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(x, y + j);00078         <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(x + b - 1, y + j);00079     }00080   <span class="keywordflow">for</span> (j = 0; j &lt; b; j++)   {00081         <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(x + j, y);00082         <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(x + j, y + a - 1);00083     }00084 }00085 00086 <span class="comment">// draw circle</span><a name="l00087"></a><a class="code" href="glcd_8h.html#a14">00087</a> <span class="keywordtype">void</span> <a class="code" href="glcd_8h.html#a14">glcdCircle</a>(u08 xcenter, u08 ycenter, u08 radius)00088 {00089   <span class="keywordtype">int</span> tswitch, y, x = 0;00090   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> d;00091 00092   d = ycenter - xcenter;00093   y = radius;00094   tswitch = 3 - 2 * radius;00095   <span class="keywordflow">while</span> (x &lt;= y) {00096     <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(xcenter + x, ycenter + y);     <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(xcenter + x, ycenter - y);00097     <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(xcenter - x, ycenter + y);     <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(xcenter - x, ycenter - y);00098     <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(ycenter + y - d, ycenter + x); <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(ycenter + y - d, ycenter - x);00099     <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(ycenter - y - d, ycenter + x); <a class="code" href="glcd_8h.html#a10">glcdSetDot</a>(ycenter - y - d, ycenter - x);00100 00101     <span class="keywordflow">if</span> (tswitch &lt; 0) tswitch += (4 * x + 6);00102     <span class="keywordflow">else</span> {00103       tswitch += (4 * (x - y) + 10);00104       y--;00105     }00106     x++;00107   }00108 }00109 00110 <span class="comment">// text routines</span>00111 00112 <span class="comment">// write a character at the current position</span><a name="l00113"></a><a class="code" href="glcd_8h.html#a15">00113</a> <span class="keywordtype">void</span> <a class="code" href="glcd_8h.html#a15">glcdWriteChar</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c)00114 {00115     u08 i = 0;00116 00117     <span class="keywordflow">for</span>(i=0; i&lt;5; i++)00118     {00119         glcdDataWrite(PRG_RDB(&amp;Font5x7[((c - 0x20) * 5) + i]));00120     }00121 00122     <span class="comment">// write a spacer line</span>00123     glcdDataWrite(0x00);00124     <span class="comment">// unless we're at the end of the display</span>00125     <span class="comment">//if(xx == 128)</span>00126     <span class="comment">//  xx = 0;</span>00127     <span class="comment">//else </span>00128     <span class="comment">//  glcdWriteData(0x00);</span>00129 00130     <span class="comment">//cbi(GLCD_Control, GLCD_CS1);</span>00131     <span class="comment">//cbi(GLCD_Control, GLCD_CS2);</span>00132     <a class="code" href="ks0108_8h.html#a24">glcdStartLine</a>(0);00133 }00134 <a name="l00135"></a><a class="code" href="glcd_8h.html#a16">00135</a> <span class="keywordtype">void</span> <a class="code" href="glcd_8h.html#a16">glcdWriteCharGr</a>(u08 grCharIdx)00136 {00137     u08 idx;00138     u08 grLength;00139     u08 grStartIdx = 0;00140 00141     <span class="comment">// get starting index of graphic bitmap</span>00142     <span class="keywordflow">for</span>(idx=0; idx&lt;grCharIdx; idx++)00143     {00144         <span class="comment">// add this graphic's length to the startIdx</span>00145         <span class="comment">// to get the startIdx of the next one</span>00146         grStartIdx += PRG_RDB(FontGr+grStartIdx);00147     }00148     grLength = PRG_RDB(FontGr+grStartIdx);00149 00150     <span class="comment">// write the lines of the desired graphic to the display</span>00151     <span class="keywordflow">for</span>(idx=0; idx&lt;grLength; idx++)00152     {00153         <span class="comment">// write the line</span>00154         glcdDataWrite(PRG_RDB(FontGr+(grStartIdx+1)+idx));00155     }00156 }00157 00158 <span class="keywordtype">void</span> glcdPutStr(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *data)00159 {00160   <span class="keywordflow">while</span> (*data) {00161     <a class="code" href="glcd_8h.html#a15">glcdWriteChar</a>(*data);00162     data++;00163   }00164 }</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Oct 15 03:50:22 2004 for Procyon AVRlib by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.6 </small></address></body></html>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久综合中文综合网| 婷婷六月综合网| 中文字幕在线播放不卡一区| 亚洲欧美一区二区三区极速播放| 亚洲一级二级在线| 蜜桃av噜噜一区| 国产v日产∨综合v精品视频| 色狠狠桃花综合| 日韩免费高清av| 国产精品成人免费在线| 午夜av一区二区三区| 国产麻豆视频一区二区| 91福利在线播放| 精品精品欲导航| 亚洲欧美日韩久久| 另类的小说在线视频另类成人小视频在线 | 国产精品久久久久久久午夜片| 亚洲一区中文在线| 狠狠色综合播放一区二区| 91理论电影在线观看| 欧美一区二区播放| 亚洲视频在线一区| 热久久国产精品| 97久久人人超碰| 日韩精品在线一区二区| 亚洲九九爱视频| 国产精品一区二区你懂的| 欧美日韩精品综合在线| 国产精品女主播av| 免费观看在线综合| 日本高清无吗v一区| 久久久久久夜精品精品免费| 婷婷丁香激情综合| 91免费观看国产| 久久日韩精品一区二区五区| 亚洲午夜在线电影| gogo大胆日本视频一区| 精品久久五月天| 午夜一区二区三区视频| 99久久久久免费精品国产| 国产精品嫩草影院av蜜臀| 香蕉久久一区二区不卡无毒影院| 不卡av电影在线播放| 欧美成人a∨高清免费观看| 亚洲国产色一区| 99视频在线精品| 国产欧美日韩另类视频免费观看| 日本欧美大码aⅴ在线播放| 色天天综合色天天久久| 国产精品嫩草99a| 国产在线视频一区二区三区| 91精品国产欧美一区二区18| 亚洲一区二区三区四区在线免费观看| 成人久久视频在线观看| 久久久影院官网| 久久成人免费网| 欧美一区二区三区四区视频| 亚洲高清免费观看 | 日本一区二区综合亚洲| 久久精品国产一区二区三区免费看| 欧美影院午夜播放| 亚洲精品午夜久久久| 成人动漫一区二区在线| 国产精品私人影院| 国产成人鲁色资源国产91色综| 日韩三级伦理片妻子的秘密按摩| 香蕉影视欧美成人| 欧美精品1区2区3区| 婷婷激情综合网| 538在线一区二区精品国产| 亚洲国产精品久久不卡毛片| 在线观看视频91| 亚洲国产视频在线| 欧美三区在线观看| 日韩精品一卡二卡三卡四卡无卡| 欧美日韩综合色| 日韩国产一二三区| 欧美变态tickling挠脚心| 看片网站欧美日韩| 久久综合九色综合欧美98| 国产激情一区二区三区桃花岛亚洲| 欧美日韩日日夜夜| 国产日韩欧美综合在线| 国产一区二区三区最好精华液| 精品国产凹凸成av人网站| 国产精品中文字幕日韩精品| 亚洲国产精品二十页| 91蜜桃网址入口| 亚洲国产视频在线| 日韩欧美精品在线视频| 国产在线一区观看| 国产精品久久毛片a| 色猫猫国产区一区二在线视频| 亚洲综合色婷婷| 日韩一区二区三区视频| 国产一区二区三区美女| 国产精品免费人成网站| 日本韩国精品一区二区在线观看| 天天亚洲美女在线视频| 精品乱人伦小说| 成人高清视频免费观看| 亚洲国产欧美在线| 欧美一二三四在线| 国产成人av一区二区| 亚洲女人的天堂| 91精品国产综合久久精品app| 激情小说欧美图片| 中文字幕中文字幕一区二区| 欧美亚洲国产一区在线观看网站 | 欧美一区二区三区在线电影| 国产美女精品一区二区三区| 最新久久zyz资源站| 欧美日韩激情一区二区| 国模娜娜一区二区三区| 日韩毛片视频在线看| 欧美疯狂做受xxxx富婆| 国产激情视频一区二区在线观看| 亚洲三级在线播放| 日韩一区二区三区精品视频| 顶级嫩模精品视频在线看| 一区二区三区美女| 精品国产一区二区三区不卡 | 亚洲成av人**亚洲成av**| 欧美精品一区二区三区蜜桃| 色哟哟一区二区三区| 蜜臀99久久精品久久久久久软件| 中文字幕乱码久久午夜不卡| 欧美日韩和欧美的一区二区| 国产福利一区二区三区视频 | 欧美大白屁股肥臀xxxxxx| 成人国产精品免费网站| 爽好久久久欧美精品| 国产精品久久久久影视| 欧美一区二区三区免费视频| va亚洲va日韩不卡在线观看| 全国精品久久少妇| 洋洋av久久久久久久一区| 久久九九久久九九| 欧美精品九九99久久| 不卡av在线网| 精品一区二区日韩| 亚洲国产日韩综合久久精品| 欧美国产精品v| 欧美成人女星排名| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 国产成人在线看| 午夜精品久久久久影视| 成人免费在线观看入口| 久久免费美女视频| 日韩一区二区在线看片| 欧美色视频在线观看| jizzjizzjizz欧美| 国产精一区二区三区| 青青草97国产精品免费观看| 一区二区三区在线看| 欧美国产日韩在线观看| 久久夜色精品国产欧美乱极品| 9191成人精品久久| 欧美曰成人黄网| 91蝌蚪porny成人天涯| 成人永久免费视频| 国产麻豆日韩欧美久久| 精品一区二区久久| 免费成人小视频| 丝瓜av网站精品一区二区 | 欧美日本一区二区在线观看| 91麻豆免费看片| 成人avav影音| 成人在线视频一区| 成人性视频免费网站| 国产一区二区三区在线看麻豆| 日本vs亚洲vs韩国一区三区二区 | 欧美三级在线看| 欧美丝袜第三区| 欧亚洲嫩模精品一区三区| 91麻豆福利精品推荐| 99久久精品国产毛片| 99精品视频在线观看| 99久久综合色| 99国产精品一区| 91网站黄www| 91啪九色porn原创视频在线观看| 成人午夜视频网站| 成人禁用看黄a在线| 成人av电影在线| 色综合天天综合网天天狠天天| 99re视频精品| 91黄色免费网站| 精品视频免费在线| 欧美电影一区二区| 日韩一二在线观看| 日韩精品一区二区三区老鸭窝| 日韩亚洲欧美成人一区| 日韩美女视频在线| 精品国产sm最大网站| 国产日本欧洲亚洲| 国产精品久久久久久久久久免费看| 亚洲欧洲av在线| 亚洲福利视频三区| 久久狠狠亚洲综合|