<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://feeds.qzone.qq.com/rss.xsl" version="1.0"?>
<rss version="2.0" xmlns:qz="http://qzone.qq.com">
<channel>
<title><![CDATA[紫蜂七号]]></title>
<description><![CDATA[紫蜂巢]]></description>
<link>http://908323461.qzone.qq.com</link>
<lastBuildDate>Tue, 24 Nov 2009 16:11:52 GMT</lastBuildDate>
<generator>Qzone</generator>
<language>zh-cn</language>
<copyright>Copyright (C), 2005-2008, Tencent Tech. Co., Ltd.</copyright>
<pubDate>Mon, 13 Jul 2009 05:51:49 GMT</pubDate>

<item>
<title><![CDATA[1100 CSMA]]></title>
<link>http://908323461.qzone.qq.com/blog/1247464309</link>
<description><![CDATA[bit Csma_CCA(void) <br>{ <br> unsigned char NB,CW,BE,time; <br> bit back; <br> BE = 0; <br> NB = 0; <br> CW = 2; <br> BE = min(BE+1,5); <br> do{  <br>  do{time = rand();}while(time &gt;(pow(2,BE)-1)); <br>  if (time == 0) <br>  time = 1; <br>  delay(time); <br>  while (!(halSpiReadStatus(0x38)&amp;0x10)) <br>  { <br>   CW = CW - 1; <br>   if(CW == 0) {back = 1;return back;} <br>  } <br>  CW =2; <br>  NB = NB + 1; <br>  BE = min(BE+1,5); <br> }while(NB &lt; 5);             //置最大避让次数 <br> back = 0;return back; <br>  <br>} <!--v:3.2--> ]]></description>
<category><![CDATA[CC]]></category>
<author><![CDATA[908323461@qq.com(紫蜂七号)]]></author>
<comments>http://908323461.qzone.qq.com/blog/1247464309#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Mon, 13 Jul 2009 05:51:49 GMT</pubDate>
<guid>http://908323461.qzone.qq.com/blog/1247464309</guid>
</item>

<item>
<title><![CDATA[PowerPCB 快捷命令[转]]]></title>
<link>http://908323461.qzone.qq.com/blog/1246945057</link>
<description><![CDATA[PowerPCB 快捷命令 <br> <br>简介 <br>PowerPCB 为用户提供了一套快捷命令。快捷命令主要用于那些在设计过程需频繁更改设定 <br>的操作，如改变线宽、布线层、改变设计Grid 等都可以通过快捷命令来实现。 <br>快捷命令命令的操作方法如下：从键盘上输入命令字符串，按照格式输入数值，然后再输入 <br>回车键即可。 <br>如改变当前层时，只要从键盘上输入快捷命令L、然后输入新的布线层（如数字2）最后再再 <br>输入回车键即可完成，非常方便。 <br>下面是快捷命令的中文解释，供大家参考 <br> <br>全局设置命令 <br>命令字符命令含义及用途 <br>C 补充格式，在内层负片设计时用来显示Plane 层的焊盘及Thermal。 <br>使用方法是，从键盘上输入C 显示，再次输入C 可去除显示。 <br>D 打开/关闭当前层显示，使用方法是，从键盘上输入D 来切换。建议设计时用D 将 <br>Display Current Layer Last＝ＯＮ的状态下。 <br>. <br>DO 贯通孔外形显示切换。ＯＮ时孔径高亮显示，焊盘则以底色调显示。 <br>使用方法是，从键盘上输入DＯ来切换。 <br>E 布线终止方式切换，可在下列３种方式间切换。 <br>End No Via 布线时Ｃtrl+点击时配线以无VIA 方式终止 <br>End Via 布线时Ｃtrl+点击时配线以VIA 方式终止 <br>End Test Point 布线时Ｃtrl+点击时配线以测试PIN 的VIA方式终止使用方法是，从键盘上 <br>输入E 来切换。 <br>I 数据库完整性测试，设计过程中发现系统异常时，可试着敲此键。 <br>L [N] 改变当前层到新的n 层 <br>[N] 可为数字或是名字，如(L 2) or (L top)。 <br>N [S] 用来让NET 高亮显示，[S]为要显示的信号名。可以堆栈方式逐个显示信号，如N <br>GND 会高亮显示整个GND。 <br>N- 会逐个去除信号 <br>N 将会去除所有的高亮信号 <br>O 选择用外形线来显示焊盘与配线。 <br>PO 自动敷铜外形线on/off 切换。 <br>Q 快速测量命令。可以快速.测量dx，dy 和d 。注意精确测量时将状态框中的Snaps to <br>the design grid 取消。 <br>QL 快速测量配线长度。可对线段、网络、配线对进行测量。 <br>测量方式如下：首先选择线段、网络或者配线对，然后输入QL 就会得到相关长度报告。 <br>R [N] 改变显示线宽到[N], 如, R 50。 <br>RV 在输出再使用文件Reuse 时，用于切换参数设定。有关详细信息请参见&quot;To Make a <br>Like Reuse in Object Mode&quot; <br>SPD 显示split/mixed planes 层数据，该命令控制split/mixed planes 参数对话框中的一 <br>个参数。 <br>SPI 显示plane 层的thermal 。该命令控制split/mixed planes 参数对话框中的一个参 <br>数。 <br>SPO 显示split/mixed planes 层的外形线。该命令控制split/mixed planes参数对话框中 <br>的一个参数。 <br>T 透明显示切换。在复杂板子设计时很有用。 <br>X Text 文字外形线显示切换。 <br>W [N] 改变线宽到[N]，如W 5。 <br>Grid 命令 <br>G [X] {[Y]} Grid 全局设定，第二个参数为可选项。可同时改变设计与VIA Grid。如G25 <br>或者G25 25。 <br>GD [X] {[Y]} 屏幕上的显示Grid 设定。第二个参数为可选项。 <br>如GD25 25 或者GD100。 <br>GP 切换极坐标grid 。极坐标grid 在设计外形为圆形、或者元件布局按极坐标方式放置时 <br>使用。 <br>GP r a 极坐标下的元件指定移动方式（r 为半径，a 为角度）。 <br>GPR r 极坐标下的元件指定移动方式，在角度不变时，改变到半径r。 <br>GPA a 极坐标下的元件指定移动方式，在半径不变时，改变到角度a。 <br>GPRA da 极坐标下的元件指定移动方式，在半径不变时，改变到当前角度da <br>GPRR dr 极坐标下的元件指定移动方式，在角度不变时，改变到当前半径r。 <br>GR [XX] 设计grid 设定, 如GR 8-1/3, GR 25 25, G 25。 <br>GV [XX] 贯通孔Via grid 设定, 如GV 8-1/3, GV 25 25, or GV 25。 <br>检索命令 <br>S [S] 检索元件参照名或是端子，如S U1 、S U1.1 <br>S [N] [N] 检索绝对坐标，如S 1000 1000。 <br>SR [N] [N] 检索相对坐标X 与Y, 如SR -200 100。 <br>SRX [N] 检索相对坐标X, 如SRX 300。 <br>SRY [N] 检索相对坐标Y, 如SRY 400。 <br>SS [S] 检索并选中元件参数名, 如SS U10。 <br>注意：快捷命令中的空格非常重要，如SS W1 与S SW1 具有完全不同的含义。SS W1 是检索 <br>并选中W1 这个元件，而S SW1 则是检索SW1 的元件。 <br>SS [S]* 在检索命令中可以使用* 号，进行批处理选择。方法是在SS 后输入空格，再输入 <br>要检索的字符名和* 号。如SS C*，可以选中所有以字母C 开头的元件。 <br>注意：该命令在进行元件布局时非常有用，如您可以用SS R* 选中所有的电阻然后通过选择 <br>pop-up menu 中的Move Sequential 来逐个移动元件，进行布局。 <br>SX [N] 保持Y 坐标不变，移动到X 的绝对坐标n 处。如SX 300。 <br>SY [N] 保持X 坐标不变，移动到Y 的绝对坐标n 处。如SY 400。 <br>XP 以像素而非线宽的方式来检索和选择配线。允许用户对哪些拐角处的宽度小于线宽时进 <br>行调整。 <br>角度命令（drafting 时的快速设定） <br>AA 任意角度。 <br>AD 45 度角度。 <br>AO 直角。 <br>Undo <br>UN [[N]] 用户设定Undo 的次数。系统可以允许设置undo (1-100)； [N] 是可选项，如UN <br>2 的含义是只允许一次undo。 <br>RE [[N]] 用户设定Redo 的次数。系统可以允许设置Rndo (1-100)； [N] 是可选项，如RE <br>2 的含义是只允许一次Redo。 <br>设计规则检查命令Design Rule Checking (DRC) <br>DRP 设置系统处于防止安全间距错误状态 <br>DRW 设置系统处于警告安全间距错误状态 <br>DRI 设置系统处于无视安全间距错误状态 <br>DRO 关闭系统DRC（注意此时有些功能无法使用） <br>布线命令 <br>E 布线终止方式切换，可在３种方式间切换。（上文已介绍） <br>LD 快速设置当前层的布线方向，在水平与垂直布线层间切换。 <br>PL [N] [N] 设置布线层对，该处[N] 可为层数或是层名。如PL 1 2或者PL top bottom。 <br>SH 推挤方式on /off 切换。 <br>V [NAME] 选择via 类型，如V 标准via。 <br>VA自动via 选择。 <br>VP 选择使用partial via. <br>VT 选择使用贯通via. <br>T 透明显示切换。在复杂板子设计时很有用。 <br>绘图相关命令Drafting Objects <br>HC 设定为画圆形模式。. <br>HH 设定为画不封闭的线段模式。. <br>HP 设定为画线段模式。. <br>HR 设定为画长方形模式。. <br>与鼠标动作相关的命令 <br>M M 键与鼠标右键具有相同功能，打开当前状态下的的快捷命令菜单（Pop-up Menu）。 <br>Spacebar 空格键与鼠标左键有相同功能。可以用来对当前光标处的元素进行选择、完成、 <br>追加拐角等操作。 <br>其它命令 <br>? 可以打开英文帮助文件help。 <br>BMW 创建宏命令。详见&quot;To Use BMW&quot;。 <br>BLT 实行基本的Log 测试，详见&quot;To Run BLT&quot;。 <br>F [S] 快速打开文件，这里的[S] 为文件路径与文件名 <!--v:3.2--> ]]></description>
<category><![CDATA[PADS]]></category>
<author><![CDATA[908323461@qq.com(紫蜂七号)]]></author>
<comments>http://908323461.qzone.qq.com/blog/1246945057#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Tue, 07 Jul 2009 05:37:37 GMT</pubDate>
<guid>http://908323461.qzone.qq.com/blog/1246945057</guid>
</item>

<item>
<title><![CDATA[keil下库不能编译时]]></title>
<link>http://908323461.qzone.qq.com/blog/1246501501</link>
<description><![CDATA[KEIL下进行编译的时候，常会发生库文件不能编译的情况，这时只要把库文件删了，再添加进来就可以了。 <!--v:3.2--> ]]></description>
<category><![CDATA[KEIL]]></category>
<author><![CDATA[908323461@qq.com(紫蜂七号)]]></author>
<comments>http://908323461.qzone.qq.com/blog/1246501501#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Thu, 02 Jul 2009 02:25:01 GMT</pubDate>
<guid>http://908323461.qzone.qq.com/blog/1246501501</guid>
</item>

<item>
<title><![CDATA[CC1110没有使用DMA收发的程序]]></title>
<link>http://908323461.qzone.qq.com/blog/1242983068</link>
<description><![CDATA[/**********************************************************************<br>*文件: wxl_radio.c<br>*功能: RF发送和接收(非DMA),初版,还可能有BUG<br>*作者: emot<br>*版本: v1.0<br>*修订记录<br>----------------------------------------------------------------------<br>|时间           原因                  修订人<br>|2009年4月05日  初写                  emot<br>|<br>|<br>**********************************************************************/<br><br>/**********************************************************************<br>*头文件<br>*/<br>#include &quot;includes.h&quot;<br><br>//----------------------------------------------------------------------<br>//发送函数<br>//----------------------------------------------------------------------<br>BYTE Transmit(BYTE __xdata *buff,BYTE bytes)        //发送<br>{<br>    BYTE i,BytesToSend;                       //<br>    RFIF = 0;<br>    RFTXRXIF = 0;<br>    BytesToSend = bytes ;//        数据包长度就是byte,为方便实际应用中增加其他字节,定义了bytestosend变量<br>    if(BytesToSend &lt;= 64)<br>    {<br>        <br>        SIDLE();            // Exit RX / TX, turn off frequency synthesizer and exit<br>        STX();             // Switch radio to TX<br>        while(RFTXRXIF == 0);           // 等待发送结束<br>        RFTXRXIF = 0;                   // 清除发送标志<br>        RFD = BytesToSend;<br>        while(RFTXRXIF == 0);           // 等待发送结束<br>        RFTXRXIF = 0;                   // 清除发送标志<br>        <br>        for(i=0;i&lt;( BytesToSend-1);i++)<br>        {<br>            RFD = buff<span style="font-style:italic"><wbr />;         // 发送数据<br>            while(RFTXRXIF == 0);       // 等待发送结束<br>            RFTXRXIF = 0;               // 清除发送标志<br>        }<br>         RFD = buff<span style="font-style:italic"><wbr />;                // 发送最后一BYTE<br>         <br>         while(RFIF&amp;IRQ_DONE == 0);   // 等待发送结束<br>         RFIF &amp;= ~IRQ_DONE;           //清结束标志<br>        <br>        RFIF &amp;= ~IRQ_DONE;        // Tx/Rx completed, clear interrupt flag<br>        S1CON &amp;= ~0x03;           // Clear the general RFIF interrupt registers<br><br>        return TRUE;<br>    }<br>    else<br>    {<br>        return FALSE;<br>    }<br>}<br>//----------------------------------------------------------------------<br>//接收函数,不使用DMA的接收<br>//----------------------------------------------------------------------<br>BYTE Receive(BYTE __xdata *buff,BYTE *bytes)        //接收<br>{<br> BYTE BytesToReceive = 0;<br>        BYTE address;<br>        BYTE i;<br><br>    RFIF = 0;<br>    RFTXRXIF = 0;<br>    SIDLE();<br>    SRX();<br>    resetTimer(APP_TIMER0);<br>    while(RFTXRXIF == 0){if(readTimer(APP_TIMER0)&gt;WAIT_ACK_TIME)return FALSE;};                // 等待接收结束,如超时则强退<br>    BytesToReceive = RFD;               // 读取数据包总长度<br>    RFTXRXIF = 0;                     // 清除发送标志  <br><br>    while(RFTXRXIF == 0){if(readTimer(APP_TIMER0)&gt;WAIT_ACK_TIME)return FALSE;};                // 等待接收结束<br>    address = RFD;                    // 读取匹配地址<br>    RFTXRXIF = 0;                       // 清除发送标志<br>    if((BytesToReceive &gt;= 64)||(BytesToReceive &lt;= 0))<br>    {<br>        return FALSE;<br>    }<br>    <br>    //if( (address != BROADCAST_ADDRESS) &amp;&amp; (address != 0x01) ) //使用广播方式发送出来<br>    //  return FALSE;<br>    if(address)address = address;   //没用的语句，只是用来消除warning<br><br>    for(i=0;i&lt;(BytesToReceive - 1);i++)<br>    {<br>        while(RFTXRXIF == 0){if(readTimer(APP_TIMER0)&gt;WAIT_ACK_TIME)return FALSE;};                // 等待接收结束<br>        buff<span style="font-style:italic"><wbr /> = RFD;                  // 读取数据包长度<br>        RFTXRXIF = 0;                   // 清除发送标志<br>    }<br>    <br>    //while(RFTXRXIF == 0);           // 等待接收结束<br>    //while(RFTXRXIF == 0){if(readTimer(APP_TIMER)&gt;30)return FALSE;};                // 等待接收结束<br>    <br>    *bytes = (BytesToReceive);<br>    SIDLE();<br>    return TRUE;<br>}<br> <!--v:3.2--> ]]></description>
<category><![CDATA[CC]]></category>
<author><![CDATA[908323461@qq.com(紫蜂七号)]]></author>
<comments>http://908323461.qzone.qq.com/blog/1242983068#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Fri, 22 May 2009 09:04:28 GMT</pubDate>
<guid>http://908323461.qzone.qq.com/blog/1242983068</guid>
</item>

<item>
<title><![CDATA[PCB]]></title>
<link>http://908323461.qzone.qq.com/blog/1231217152</link>
<description><![CDATA[说深圳做PCB的话，线宽在5mil还是有保证的，但设为6mil比较好，一般厂家都能做，而且不会出错。 <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[908323461@qq.com(紫蜂七号)]]></author>
<comments>http://908323461.qzone.qq.com/blog/1231217152#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Tue, 06 Jan 2009 04:45:52 GMT</pubDate>
<guid>http://908323461.qzone.qq.com/blog/1231217152</guid>
</item>

<item>
<title><![CDATA[淘宝店]]></title>
<link>http://908323461.qzone.qq.com/blog/1205388267</link>
<description><![CDATA[我在淘宝开了一个店 <br>店里有卖:ZIGEE高频模块,仿真器 <br>无线单片机开发/学习系统 <br>无线通信学习参考书. <br>地址是: <a href="http://shop35467467.taobao.com/" target="_blank">http://shop35467467.taobao.com</a><wbr /> <br>欢迎各位同行的光临. <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[908323461@qq.com(紫蜂七号)]]></author>
<comments>http://908323461.qzone.qq.com/blog/1205388267#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Thu, 13 Mar 2008 06:04:27 GMT</pubDate>
<guid>http://908323461.qzone.qq.com/blog/1205388267</guid>
</item>

<item>
<title><![CDATA[排错]]></title>
<link>http://908323461.qzone.qq.com/blog/1201535154</link>
<description><![CDATA[一时半会找不到错误！～<br>#include&lt;reg52.h&gt;<br>/************************************<br>led 段码接P0<br>LED 位选接P2<br>LED 共阴<br>键盘接P1<br>************************************/<br>#define uchar unsigned char<br>#define uint unsigned int<br>#define flase 0<br>#define ture 1<br>sbit P10=P1^0;<br>sbit P11=P1^1;<br>sbit P12=P1^2;<br>sbit P13=P1^3;<br>sbit P14=P1^4;<br>sbit P15=P1^5;<br>sbit P16=P1^6;<br>sbit P17=P1^7;<br><br>void Dis(void);<br>void delay_10ms(void);<br>void Delay(uint n);<br>void Init_IN(void);<br>uchar trustfull(void);<br>uchar trustemputy(void);<br>uchar PUSH_IN(uchar dat);<br>uchar POP_IN(void);<br>uchar dispbuf[] = {0,16,16,16};<br>uchar ledcode[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x7b,0x71,0x00,0x40};<br>                        //null  -<br>uchar ledbitselect[] = {0xfe,0xfd,0xfb,0xf7};//4 bit<br>uchar disbit = 0;<br>uchar RightBit = 0;//正确位数<br>uchar PassWord[4] = {1,9,8,7};<br>uchar CtrlFlag = 0;//是否加密了，1可操作，0为不可操作<br><br>/*====================================<br>结构体定义<br>====================================*/<br>struct INPUT<br>{<br> uchar num[5];<br> uchar front;<br> uchar rear;<br>};<br>struct INPUT IN;<br>/*====================================<br>初始化<br>====================================*/<br>void Init_IN(void)<br>{<br> uchar ii;<br> for(ii=0;ii&lt;4;ii++)<br> IN.num[ii]=16;<br> IN.front = 0;<br> IN.rear = 1;<br>}<br>/*====================================<br>判空<br>====================================*/<br>uchar  trustemputy(void)<br>{<br> if((IN.front+1)%5==IN.rear)return ture;<br> return flase;<br>}<br>/*====================================<br>判满<br>====================================*/<br>uchar trustfull(void)<br>{<br> if((IN.rear+1)%5==IN.front)return ture;<br> return flase;<br>}<br>/*====================================<br>入队<br>====================================*/<br>uchar PUSH_IN(uchar dat)<br>{<br> if(!trustemputy())<br> {<br>  IN.num[IN.rear]=dat;<br>  IN.rear = (IN.rear+1)%4;<br>  return ture; <br> }<br> else<br> return flase;<br>}<br>/*====================================<br>出队<br>====================================*/<br>uchar  POP_IN(void)<br>{<br> if(!trustemputy())<br> {<br>  return(IN.num[IN.front]);<br>  IN.front = (IN.front+1)%5;<br>  return ture;<br> }<br> else<br> return flase;<br>}<br>/*====================================<br>普通延时<br>====================================*/<br>void Delay(uint n)<br>{<br> uint ii;<br> for(ii=0;ii&lt;n;ii++);<br> for(ii=0;ii&lt;n;ii++);<br> for(ii=0;ii&lt;n;ii++);<br> for(ii=0;ii&lt;n;ii++);<br>}<br>/*====================================<br>键盘扫描<br>====================================*/<br>uchar KeyScan(void)<br>{<br> <br> uchar key;<br> //******************扫第1列************<br>   P14=0;<br>   if(P10==0)<br>   {<br>  delay_10ms();<br>    if(P10==0)key=10;<br>    else return(0x5f);<br>  }<br>   if(P11==0)<br>   {delay_10ms();<br>   if(P11==0)key=7;<br>   else return(0x5f);<br> }<br>   if(P12==0)<br>   {delay_10ms();<br>   if(P12==0)key=6;<br>   else return(0x5f);<br> }<br>   if(P13==0)<br>   {delay_10ms();<br>   if(P13==0)<br>   key=1;<br>   else return(0x5f);<br> }<br>   P1=0xff; <br>   //**************扫第2列******************<br>   P15=0;<br>     if(P10==0)<br>   {<br>  delay_10ms();<br>  if(P10==0)<br>    key=0;<br>    else return(0x5f);<br>  }<br>   if(P11==0)<br>   {delay_10ms();<br>   if(P11==0)<br>   key=8;<br>   else return(0x5f);<br> }<br>   if(P12==0)<br>   {delay_10ms();<br>   if(P12==0)<br>   key=5;<br>   else return(0x5f);<br> }<br>   if(P13==0)<br>   {delay_10ms();<br>   if(P13==0)<br>   key=2;<br>   else return(0x5f);<br> }<br>   P1=0xff;    <br>   //***************扫第3列*********************<br>   P16=0;<br>      if(P10==0)<br>   {<br>  delay_10ms();<br>  if(P10==0)<br>    key=11;<br>    else return(0x5f);<br>  }<br>   if(P11==0)<br>   {delay_10ms();<br>   if(P11==0)<br>   key=9;<br>   else return(0x5f);<br> }<br>   if(P12==0)<br>   {delay_10ms();<br>   if(P12==0)<br>   key=4;<br>   else return(0x5f);<br> }<br>   if(P13==0)<br>   {delay_10ms();<br>   if(P13==0)<br>   key=3;<br>   else return(0x5f);<br> }<br>   P1=0xff;                      <br>   return(key);<br>}<br>/*====================================<br>键盘延时<br>====================================*/<br>void delay_10ms(void)<br>{<br> uchar i,j;<br> for(i=0;i&lt;100;i++);<br>  for(j=0;j&lt;80;j++);<br>}<br><br>//************************************************************<br>//显示函数<br>void Dis(void)<br>{<br> P2 = ledbitselect[disbit];<br> P0 = ledcode[dispbuf[disbit]];<br> disbit = (disbit+1)%4;<br>}<br>/*====================================<br>主程序<br>====================================*/<br>void main(void)<br>{<br> uchar temp=0x5f;<br> uchar ii;<br> Init_IN();<br> P3 = 0x00;<br> while(1)<br> {<br>  Dis();<br>  temp=KeyScan();<br>  if((temp!=0x5f)&amp;&amp;(temp&lt;10)) //输入了数字<br>  {<br>    PUSH_IN(temp);<br>  }<br>  if(temp == 10)//cancer<br>  {<br>   for(ii=0;ii&lt;4;ii++)<br>   dispbuf[ii]=16;<br>   RightBit = 0;<br>   temp = 0x5f;<br>  }<br>  Delay(100);<br>  if(trustfull())<br>  {<br>   for(ii=0;ii&lt;4;ii++)<br>   {<br>    dispbuf[ii] = POP_IN();<br>   }<br>  }<br> }<br>}<br> <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[908323461@qq.com(紫蜂七号)]]></author>
<comments>http://908323461.qzone.qq.com/blog/1201535154#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Mon, 28 Jan 2008 15:45:54 GMT</pubDate>
<guid>http://908323461.qzone.qq.com/blog/1201535154</guid>
</item>

<item>
<title><![CDATA[CC1110的I/O与键盘]]></title>
<link>http://908323461.qzone.qq.com/blog/1201532771</link>
<description><![CDATA[对于从51直接转型来做CC1110的朋友们来说，做键盘可能会遇到点麻烦。麻烦就是无法扫到键值，下面就说说为什么得不到键值。<br>下面的讨论电路是在I/O上接一个100K的电阻到地，I/O过一开关接AVDD，按键接P11，1有效。在不对I/O相关寄存器进行任何配置的情况下，CC1110的I/O状态是普通I/O口，方向是输入，可是读1来判断键值却得不到，原因是还没有选择下拉，下拉。正确做法是设按键相对应的I/O位为下拉。下面给出简单的代码：<br>P1SEL &amp;= ~0X01;//普通I/O<br>P1DIR &amp;= ~0X01;//输入<br>P1INP  &amp;= ~0X01;//有上拉、下拉<br>P2INP |= 0X40; //选择下拉<br>好了，以上就是对P11的设置方法，不过还有另一个方法同样可行，而且可节约1条语句，不容易犯错，方法就是I/O设为三态，代码如下：<br>P1SEL &amp;= ~0X01;//普通I/O<br>P1DIR &amp;= ~0X01;//输入<br>P1INP &amp;= 0X01;//三态<br> <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[908323461@qq.com(紫蜂七号)]]></author>
<comments>http://908323461.qzone.qq.com/blog/1201532771#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Mon, 28 Jan 2008 15:06:11 GMT</pubDate>
<guid>http://908323461.qzone.qq.com/blog/1201532771</guid>
</item>

<item>
<title><![CDATA[74HC595驱动]]></title>
<link>http://908323461.qzone.qq.com/blog/1200745608</link>
<description><![CDATA[在公司2个小时也没弄对，回家了也坐不住，就在proteus里面做了仿真环境，于是就在一瞬间完成了。<br>程序如下：<br>#include &lt;reg52.h&gt;<br>#include &lt;intrins.h&gt;<br>#define uchar unsigned char<br>#define uint unsigned int<br>sbit SDA =     P1^1;<br>sbit SHIFT_CP  =  P1^2;<br>sbit ST_CP     =  P1^0;<br>#define NOP     _nop_()<br>uchar ledcode[] = {0x3f,0x06,0x5b,0x4f,0x00,0x00,0x00,0x00,0x00,0x00,0x00};<br>uchar ledbitselect[] = {0x0fe,0xfd,0xfb,0xf7};<br>uchar i;<br>void InitSerialPort(void)<br>{<br>  SDA = 0;<br>  SHIFT_CP = 0;<br>  ST_CP = 0;<br>}<br>void delay(void)<br>{<br> uchar jj;<br> for(jj=0;jj&lt;200;jj++);<br> while(jj--);<br>}<br>void SerialSendData(uchar dat)<br>{<br>  uchar ii;<br>  uchar sdata=dat;<br>  for(ii=0;ii&lt;8;ii++)<br>  {<br>    if(sdata&amp;0x80)SDA=1;<br> else SDA = 0;<br>    sdata&lt;&lt;=1;<br>    SHIFT_CP =0;<br>    NOP;<br>    NOP;<br>    SHIFT_CP = 1;<br>    NOP;<br>    NOP;<br>  }<br>  ST_CP = 1;<br>  NOP;<br>  NOP;<br>  ST_CP = 0;<br>}<br> <br><br>//LED 共阴<br>void main()<br>{<br>  InitSerialPort();<br>  while(1){<br>  delay();<br>  delay();<br>  P2 = ledbitselect<span style="font-style:italic"><wbr />;<br>  SerialSendData(ledcode<span style="font-style:italic"><wbr />);<br>  i=(i+1)%4;<br>  }<br>}<br> <br>仿真的结果是：<br><wbr /><a href="http://photo.store.qq.com/http_imgload.cgi?/rurl2=f46938131c6420e2081543ba2c6af2eb15c991449bef055d5e35c0f126deb222ed914ca0e43c588dacff8d8ac366cd12f6032f192026aedd2c85acf2a64d0bc4bfb8bdcfc4556486657f568c181698e969616eb7" target="_blank"><img style="border:0;" src="http://photo.store.qq.com/http_imgload.cgi?/rurl2=f46938131c6420e2081543ba2c6af2eb15c991449bef055d5e35c0f126deb222ed914ca0e43c588dacff8d8ac366cd12f6032f192026aedd2c85acf2a64d0bc4bfb8bdcfc4556486657f568c181698e969616eb7" /></a><wbr /><br><br><br> <!--v:3.2--> ]]></description>
<category><![CDATA[数字电路]]></category>
<author><![CDATA[908323461@qq.com(紫蜂七号)]]></author>
<comments>http://908323461.qzone.qq.com/blog/1200745608#comment</comments>
<qz:effect>513</qz:effect>
<pubDate>Sat, 19 Jan 2008 12:26:48 GMT</pubDate>
<guid>http://908323461.qzone.qq.com/blog/1200745608</guid>
</item>

<item>
<title><![CDATA[IEEE 802.15.4短距离通信标准 （2）]]></title>
<link>http://908323461.qzone.qq.com/blog/1200744750</link>
<description><![CDATA[写在EDN 博客了，地址是<a href="http://blog.ednchina.com/emot" target="_blank">http://blog.ednchina.com/emot</a><wbr /> . <!--v:3.2--> ]]></description>
<category><![CDATA[紫蜂学习]]></category>
<author><![CDATA[908323461@qq.com(紫蜂七号)]]></author>
<comments>http://908323461.qzone.qq.com/blog/1200744750#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Sat, 19 Jan 2008 12:12:30 GMT</pubDate>
<guid>http://908323461.qzone.qq.com/blog/1200744750</guid>
</item>

</channel>
</rss>

