EDN首页   博客首页 用户登陆  |  注册
aaa
发表于 2007/9/13 1:24:24

9

关于投票

自制USB MIDI键盘来玩玩~~~

这个是个简单的USB MIDI设备演示程序. MCU接收串口发来的音符, 变成MIDI格式通过USB发给电脑。在电脑上装个能够使用MIDI键盘的软件(例如cakewalk, happyEO等),就可以让它发声拉。

现在使用的是串口,在电脑上打开超级终端,设置波特率为9600, 然后使用数字小键盘上的数字,就可以弹奏了. 你可以自己做个小键盘,由MCU扫描,然后将扫描到的按键转换为MIDI,发给USB,这样就成了一个真正的MIDI键盘拉。

原理图见以前的USB键盘/鼠标等。

 

 

下载整个工程包: rar

点击看大图

点击看大图

点击看大图

点击看大图

 

 

(来自USB小组专区:http://group.ednchina.com/93/
                       By computer00 @ 2007-09-12)

系统分类: 接口电路  |  用户分类: 圈圈作品  |  标签: 自制USB MIDI键盘  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(5040) | 回复(10)

发表于 2007/5/7 3:15:17

18

关于投票

ARM_00_OSV1.1版(ADuC702x版)

将时间片处理改到了IRQ中,并增加了串口发送中断驱动,串口发送时只占用很少的CPU资源。可以根据需要,仿照串口发送中断进行驱动编程.
 
从这里下载: ARM_00_OS_V1.1.rarrar
 
以下是使用串口中断驱动CPU使用情况,
TaskName              PID  CPU   CPUTime    MemoryUsed   Status
---------------------------------------------------------------
Task5               68716    0% 00:01:18         256 B  Ready 
SystemIdle          67160   98% 05:35:43           0 B  Ready 
Task3               68204    0% 00:00:06         256 B  Delay 
Task4               68460    0% 00:00:03         256 B  Delay 
Task2               69228    0% 00:01:07         256 B  Suspend
Printer Driver      67436    0% 00:00:10         512 B  Suspend
Task1               68972    0% 00:01:18         256 B  Suspend
Task Manager        67948    1% 00:02:46         304 B  Running

CPU used ratio: 02%
Total memory:       5120 B   Memory used:       2112 B   Memory used ratio: 41%
Core voltage:     3275.9mV   Core temperature:  032.3℃


 
以下是不使用串口中断驱动时CPU的使用情况:
 
TaskName              PID  CPU   CPUTime    MemoryUsed   Status
---------------------------------------------------------------
Task5               68204    0% 00:00:00         256 B  Ready 
Task2               68716    1% 00:00:00         256 B  Ready 
Task4               67948    0% 00:00:00         256 B  Ready 
Task3               67692    0% 00:00:00         256 B  Ready 
SystemIdle          67160   86% 00:00:16           0 B  Ready 
Task1               68460    0% 00:00:00         256 B  Suspend
Task Manager        67436   12% 00:00:02         288 B  Running
CPU used ratio: 14%
Total memory:       5120 B   Memory used:       1584 B   Memory used ratio: 30%
Core voltage:     3275.9mV   Core temperature:  031.9℃

系统分类: ARM  |  用户分类: 圈圈作品  |  标签: ARM 00 OS V11版 ADuC702x版  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(1865) | 回复(0)

发表于 2007/3/31 1:21:21

23

关于投票

自制USB鼠标来玩玩~~~~(源代码+原理图)

花了一个晚上,把USB键盘的程序改了改,就成了USB鼠标了~~~~~~
只是修改了一下报告描述符,以及返回数据等,修改很少。
 
点击此处下载 USB鼠标源代码包.rar rar
 
 
以下是通过串口返回的调试信息:
系统启动................................
断开USB连接........................
USBD12芯片初始化
   设置地址.....................
       地址为:  0
连接USB...............
USB总线复位................................
USB总线挂起................................
USB总线复位................................
USB总线挂起................................
USB总线复位................................
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB总线复位................................
USB标准请求................................
   设置地址.....................
       地址为:  2
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取设备序列号................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取产品字符串................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取产品字符串................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    设置配置................................
USB类请求................................
    设置空闲................................
USB标准请求................................
    获取描述符(从接口)..............................
        获取报告描述符................................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
 
在设备管理器里的显示:
点击看大图
 
原理图(用的是键盘的硬件,8键鼠标上移,4键鼠标左移,6键鼠标右移,2键鼠标下移,
9键往上滚动,3键往下滚动,alt键鼠标左键,0键鼠标中键,enter键鼠标右键):
(注意:原理图上所标的晶体值是以前的,这个程序中使用的是22.1184M的晶体.它关系到串口波特率,如果你不使用串口,那么可以不用理会它.)
 
注意:图中串口电平转换部分的C8和C10接反了,C11负端应接VDD。D12的SUSPEND(12脚)应该接地。USB接头处的D+和D-应该分别串联22欧姆的匹配电阻。由于图得比较匆忙,所以没留意。
点击看大图
 
点击看大图
 
点击看大图
点击看大图
点击看大图

系统分类: 单片机  |  用户分类: 圈圈作品  |  标签: 自制USB鼠标 源代码 原理图  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(7587) | 回复(31)

发表于 2007/3/31 1:17:20

18

关于投票

自制USB键盘来玩玩~~~~(源代码,原理图)

哈哈,终于搞了一回USB HID设备,做了一个USB键盘来玩玩~~~~
其中的报告描述符让我晕了几天~~~~~几份HID相关的协议还是蛮长的~~~~~~
明天再弄个USB鼠标设备玩玩~~~~~~~有空的话再搞个红外遥控器玩玩~~~
这回是拿以前做的Mass storage来改的,所以比较快,修改了一下描述符
以及端点处理等,就行了。用了一个4*4的小键盘,有0-9十个数字键,
Num Lock键,Caps Lock键,Shift键,Ctrl键,Alt键,回车键等。
最多可以有三个键同时按下,如果相交的话,最多只能两个键按下。
 
下载全部源代码 USB键盘源代码包.rar  rar
 
 
以下是通过串口返回的调试信息:
 
系统启动................................
断开USB连接........................
USBD12芯片初始化
   设置地址.....................
       地址为:  0
连接USB...............
USB总线复位................................
USB总线挂起................................
USB总线复位................................
USB总线挂起................................
USB总线复位................................
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB总线复位................................
USB标准请求................................
   设置地址.....................
       地址为:  2
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取设备序列号................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取产品字符串................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取产品字符串................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    设置配置................................
USB类请求................................
    设置空闲................................
USB标准请求................................
    获取描述符(从接口)..............................
        获取报告描述符................................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
端点2输出................................
    端点2的数据是  0x01
端点2输出................................
    端点2的数据是  0x03
端点2输出................................
    端点2的数据是  0x01
端点2输出................................
    端点2的数据是  0x00
端点2输出................................
    端点2的数据是  0x02
端点2输出................................
    端点2的数据是  0x03
 
在设备管理器里看到的图:

点击看大图

 
 
原理图
(用的是以前做IDE转USB的板,所以上面还有个IDE接口和573锁存器,可以不用理会它们):
(注意:原理图上所标的晶体值是以前的,这个程序中使用的是22.1184M的晶体.它关系到串口波特率,如果你不使用串口,那么可以不用理会它.)

注意:图中串口电平转换部分的C8和C10接反了,C11负端应接VDD。D12的SUSPEND(12脚)应该接地。USB接头处的D+和D-应该分别串联22欧姆的匹配电阻。由于图得比较匆忙,所以没留意。

点击看大图

点击看大图
 
点击看大图
点击看大图
点击看大图


系统分类: 单片机  |  用户分类: 圈圈作品  |  标签: 自制USB键盘 源代码 原理图  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(8780) | 回复(24)

发表于 2007/3/31 0:48:16

13

关于投票

AD5933做的简易网络分析仪

单击此处下载 网络分析仪keil C51工程代码包.rarrar

单击此处下载 网络分析仪VB工程代码包(1.01版).rarrar

 

AD5933的MCLK连AT89S52的时钟输出脚(即18脚),SDA连AT89S52的P1.3(即4脚),
SCL连AT89S52的P1.4(即5脚).其它部分按照AD5933的datasheet来连。
RFB的值分别为:
1K量程:  RFB="0"
10K量程: RFB="100"
100K量程:RFB=10K
1M量程:  RFB="100K"
 
图1 用10K电阻校准后的阻抗图
点击看大图
 
图2 10nF电容测试结果
点击看大图
 
图3 30pF电容测试结果
点击看大图
 
图4 开路测试结果
点击看大图
 
图5 10nF电容跟47uH电感并联的阻抗图(图中的计算结果是根据10nF电容计算得到的电感值)
点击看大图
 
图6 另一张开路测试结果
点击看大图
 
原理图:
注意:原理图中串口电平转换部分的C8和C10接反了,C11负端应接VDD。由于图得比较匆忙,所以没留意。
 
点击看大图
 
 

系统分类: 测试测量  |  用户分类: 圈圈作品  |  标签: AD5933 简易网络分析仪  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(2949) | 回复(13)

发表于 2007/3/30 14:32:48

13

关于投票

用89C51做的一个简单的电子钟(原理图+C源代码)

这是单片机课程老师布置的一个大作业,比较简单^_^

用LED显示,具有时间和日期的功能。几个开关用来调整时间和日期。

相关评论:http://computer00.21ic.org/user1/2198/archives/2006/10168.html

程序包:rar

原理图:

点击看大图

系统分类: 单片机  |  用户分类: 圈圈作品  |  标签: 51电子钟  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(4586) | 回复(18)

发表于 2007/3/30 14:27:05

9

关于投票

AT89S52跟PDIUSBD12搭的IDE→USB转接板(原理图+源代码+实物图片)

现在已经实现了主要功能:可以读取文件和复制文件。不支持格式化硬盘功能。
不过速度比较慢,我从本地硬盘复制文件到移动硬盘里去,速度只有50KBytes/S,
因为单片机速度不快,内存又少,USB1.1的速度也不快。另外,代码写得不够好。

相关评论:http://computer00.21ic.org/user1/2198/archives/2006/9863.html

 

源代码包:rar

 

点击看大图

原理图:

注意:图中串口电平转换部分的C8和C10接反了,C11负端应接VDD。D12的SUSPEND(12脚)应该接地。USB接头处的D+和D-应该分别串联22欧姆的匹配电阻。由于图得比较匆忙,所以没留意。

点击看大图

 

 

 

点击看大图

点击看大图

系统分类: 单片机  |  用户分类: 圈圈作品  |  标签: IDE转USB  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(5800) | 回复(12)

发表于 2007/3/30 14:19:06

16

关于投票

89S52加USBD12模拟的一个U盘(源码+原理图+实物照片)

这是一个用89S52加PDIUSBD12模拟的一个U盘,里面涉及到USB接口,USB大容量存储设备,FAT16文件系统等内容。插入电脑后,可显示移动磁盘盘符及一个文本文件。

       需要说明一下的是,这个包中的原理图,IDE接口部分、74HC573、以及RS232串口等部分,是作为这个实验板的一部分。在这个模拟U盘的程序中,是没有用到的。在下一个“移动硬盘”的例子中,就用到了IDE接口跟74HC573了。至于RS232,那时笔者在调试程序时用的。如果您不需要通过串口调试程序,RS232部分可以不管它。

 

相关评论: http://computer00.21ic.org/user1/2198/archives/2006/9858.html

 

U盘源代码包下载:rar

 

原理图:

注意:图中串口电平转换部分的C8和C10接反了,C11负端应接VDD。D12的SUSPEND(12脚)应该接地。USB接头处的D+和D-应该分别串联22欧姆的匹配电阻。由于图得比较匆忙,所以没留意。

 

点击看大图

 

 

点击看大图

点击看大图

点击看大图

点击看大图

系统分类: 单片机  |  用户分类: 圈圈作品  |  标签: 自制U盘  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(4949) | 回复(5)

发表于 2007/3/30 14:06:40

10

关于投票

基于AT89C51SND1C的硬盘MP3(原理图+源代码+实物照片)

AT89C51SND1C 解码芯片做的硬盘MP3,软件还在完善中,现在只支持一块硬盘,一个分区,
  至少可支持15层目录。只支持FAT32文件系统。支持USB1.1下载文件,速度300KB/S左右。
  7.5*2个汉字液晶显示。可显示歌曲名,当前曲号等。可进行前后选曲。部分MP3文件不能解码。

相关讨论:http://computer00.21ic.org/user1/2198/archives/2006/9830.html

 

 

硬盘MP3源代码包:rar

原理图:

 

点击看大图

 

 

点击看大图

点击看大图

点击看大图

点击看大图

 

系统分类: 单片机  |  用户分类: 圈圈作品  |  标签: 自制硬盘MP3  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(3405) | 回复(5)

发表于 2007/3/30 13:57:22

15

关于投票

一个基于89S52的电容表(原理图+PCB+源代码+实物照片)

电容表PCB下载:rar

电容表源代码下载:rar

电容表原理图:

点击看大图

 

相关讨论:http://computer00.21ic.org/user1/2198/archives/2006/9828.html

 

**************************  说明   ********************************
    本电路只供电子爱好者学习和制作使用,如果由于用于其它用途而带来
的损失或者影响,本人一概不予负责。本人保留所有版权和解释权。
*******************************************************************

                          自制电容表

    很多贴片电容都没有标明电容值,而我又舍不得扔了它们;自己做电路玩
时,经常看到一些废电路板上有很多贴片电容,可以拆下来用,但是却看不到
容量,很郁闷。所以我决定做一个电容表来测试它们的容量。

    我用单片机8952和电压比较器339做了一个简单的电容容量测量表,参数大
致如下:

    电容测量范围为1pF-9999.99uF,最小分辨力为1pF。分为5个量程,可以自
动切换量程,也可手动切换。

    另外,有简单的频率计功能,能测量0-60MHz的数字信号频率(TTL电平);
还可以产生几个单点频率的方波信号(比如1KHz)。

    采用1602LCD作为显示器;4个按键控制;使用24C01保存当前设置值,不用
每次开机重新设置。可单5V供电,也可9V交流供电。
   
    电容测试原理简介:根据电容的充电公式,可以计算出电容在充电到
1/nVcc(其中n>1,Vcc为充电电源电压)电压时充电时间跟电容的容量和电阻成
正比,跟充电电源电压无关。(通过一个微分方程即可求得,具体的计算步骤这
里省略,一般的电路教材上都有讲解)。

    工作过程如下:首先,通过单片机选通放电三极管Q9,将电容上的电放掉,
放电完毕之后,选通Q1-Q5中的一个三极管,经过一定的电阻,对电容进行充电;
同时,打开单片机的计数器0,开始计数。然后单片机等待外部中断0的发生。当
电容充电达到参考电压值时,比较器翻转,发出充电完成信号到中断0端口,单
片机响应中断,停止计数器0,并关闭充电电路,接通放电电路。接着读出计数
器0的值,进行计算,适当的调整后,输出到LCD上显示。然后又开始一次新的
测试,如此循环。

    本电路通过一个电压比较器(LM339)来检测电容充电的终止。由电阻R31,
R32及RW1构成一个分压器,产生一个基准电压。当电容两端电压超过比较电压时,
比较器翻转,产生一个低电平到单片机的中断0(INT0)引脚,通知单片机电容充电
完成。
    RW1是精密可调电阻,用来调整电压比较器的参考电压。调整RW1,使P点电压
为电源电压的0.632倍(理论值,实际值可能有点不一样,见调试部分)。
    C0是并联在测量端的一个小电容(30pF),用来减少电路分布电容的影响。因为
在单片机内部做了软件调零,所以有一个固定的偏移量,对结果的显示不会造成
影响。
    Q8和Q10是用来平衡电路和温度补偿。作用不是很大,如果觉得麻烦,可以
省掉这个两个三极管,把集电极和发射极直接连接起来,基极那个位置悬空就行了。
    U4是一个计数器,测量频率时,先做一个预分频。因为52的计数器频率不够高。

    调试:
         先把HEX文件烧入到单片机中,然后将全部零件装好,检查确认无误后,
接通电源。调整RW1,使P点电压约为电源电压的0.632倍。然后进入主菜单,选择
校准0点,确定,等待校准完成。然后退回到主菜单,选择电容测量,自动模式。
用几个质量比较好的电容(或者用另一块电容表先测量出来),检查电容值是否显示
正确。如果不正确,可适当微调RW1,使其正确。然后依次检查其它量程,是否正确。
如果各个量程不能同时调准,则需要适当微调一下R11、R13、R15、R18、R20等
量程电阻的阻值(可以通过采用并联电阻等方式,不过一般要求不严格的情况下,
这些电阻都是可以满足要求的)。当调试完成后,可用热熔胶将RW1固定下来,避免
使用时不小心改变了它的阻值。

   使用方法:
       板上总共有四个按键:MENU键,UP键,DOWN键和ENTER键。可以使用MENU键,
退回到主菜单或者上一级菜单。使用ENTER键,来确认选用的功能。UP和DOWN键用来
移动菜单和切换量程用。

       主菜单包括以下几项:1. Capacity 电容测量;2. Frequency 频率测量;
3. Square Wave 方波发生;4. Settings 设置。1.0版本的Settings里边只有一个
选项——调整电容测试0点。5. Help 帮助选项。

       在电容测量的手动模式下,按动MENU键,将返回到主菜单;按动UP键,将增大
量程;按动DOWN键,将减少量程;按动ENTER键,将保存当前量程状态,下次进入电容
测试时,将会自动选择该量程。
      
       在频率测量模式下,按下MENU键,返回主菜单。其它按键无效。
      
       在方波发生模式下,按下MENU键,返回主菜单;UP键,升高输出频率;DOWN键,
降低输出频率;ENTER键,保存当前频率值,下次再进入方波发生模式时,会自动选则
该频率值。

   注意:上边的按动,指的均为短按键。短按键——按键时间大于20ms,小于1S。
                                     长按键——按住按键大于1S。
      在1.0版本中,未使用长按键功能。如果您长按键,系统则会忽略本次按键。


下边是我测试的几个电容的值,供参考:

   电容编号          1          2        3           4           5 
    
   标称值          3.3pF      30pF     250pF      2200pF     47000pF

          量程1   000004pF  000029pF  000249pF   00222*pF   0405**pF
          量程2   --------  --------  --------  0002.22nF  0048.8*nF
   实测值 量程3   --------  --------  --------  00002.2nF  00049.1nF
          量程4   --------  --------  --------  000.002uF  000.048uF
          量程5   --------  --------  --------  ---------  0000.04uF

   电容编号          6          7           8         9          10
       
   标称值          0.1uF      0.47uF       1uF       22uF       47uF

          量程1    0926**pF  --------   --------   ---------  --------
          量程2   0110.**nF  0458.1*nF  1014.**nF  ---------  --------
   实测值 量程3   00114.4nF  00491.0nF  01080.*nF  2224*.*nF  6451*.*nF
          量程4   000.112uF  000.482uF  001.057uF  021.886uF  056.6**uF
          量程5   0000.10uF  0000.43uF  0000.96uF  0021.31uF  0048.52uF

   电容编号          11          12        13         14         15
       
   标称值           100uF      220uF      470uF     1000uF     1500uF

          量程1   ---------  --------   --------   ---------  --------
          量程2   ---------  --------   --------   ---------  --------
   实测值 量程3   ---------  --------   --------   ---------  --------
          量程4   115.8**uF  231.8**uF  482.***uF  ---------  --------
          量程5   0111.65uF  0228.9*uF  0476.**uF  1045.**uF  1484.**uF

注:“--------”表示量程不适合,未做测试。“*”表示读数不稳定。

          测量示波器探头,容量为140pF

通过上面的测试可以看出,基本上可以确定出电容的容量了。比如测得的值为22uF
左右,那么我就知道这是一个标称为22uF的电容。

 

                                            Computer-lov 
                                              2004.11.25 00:41 @SCUT

 

补充几点:

        系统最好接地(大地),否则,在pF挡,将会导致数据跳动。如果不好接地,
用手握住测量端的地,也会稳定得多。

         另外,调零的时候,要把探头接上,否则调好后再接探头,会使底数增加。
我用的这个探头,接上去,底数会增加大概28pF。

           在U6(74HC00)的①脚上接一个100K的电阻到地,在R40与频率测试输入之间,

接一个0.1uF的电容,可大大提高频率测试的灵敏度。

           另外,当测试频率不高时,会发生振荡现象。在U6(74HC00)的⑥脚与U4(74HC393)

的①脚间,串联一个10K的电阻,即可解决这问题。

                                        Computer-lov

                                             2005-1-20 @SCUT

 

 

点击看大图

点击看大图

点击看大图

点击看大图

点击看大图

 

系统分类: 测试测量  |  用户分类: 圈圈作品  |  标签: 自制电容表  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(6802) | 回复(27)

发表于 2007/3/30 13:38:25

10

关于投票

基于51的圈圈操作系统(51_00_OS)

下载51_00_OS:rar

 

*************基于51内核的圈圈操作系统****************

说明:这是圈圈在学习嵌入式操作系统后在51上写的一个简单的操作系统,提供创建任务,删除任务,任务调度,系统延时,任务挂起,发送消息,等待消息,CPU使用率统计,系统时间,串口发送、接收数据及串口资源管理等功能。由于时间匆忙,部分注释可能在调试时忘记更改,如有发现不能理解的注释,请给圈圈留言。

可使用keil自带的软件仿真,也可以使用硬件来运行,使用硬件时,上位机推荐使用windows自带的超级终端,关于超级终端的使用,可参看:http://www.ednchina.com/blog/computer00/19960/message.aspx

 

相关评论:http://computer00.21ic.org/user1/2198/archives/2006/9501.html

 

 由于task_switch.c文件中使用了在线汇编,所以task_switch.c文件的设置必须改成下面的样子编译才可以通过。

 

点击看大图

 

点击看大图

系统分类: 嵌入式  |  用户分类: 圈圈作品  |  标签: 51的操作系统  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(1863) | 回复(6)

Total , Page /