虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

P1

  • 自制单片机实验板(89C51)

    自制89C51单片机实验电路板 学习单片机离不开实验,以往单片机的实验往往依赖于仿真机和单片机学习系统,价格昂贵,初学者很难配备。近年来,随着FLASH型单片机的广泛应用,采用软件模拟加写片验证成为一种经济实用的实验方法,以AT89C51单片机为例,其价格不足¥10RMB,而擦、写次数可以有1000次,一块芯片即可做上千次的实验。目前,流行的单片机开发软件Keil可以免费获得用于学习的EVAL版;编程器价格并不昂贵,专门用于写89C51类芯片的编程器价格更低廉(不足百元),而且编程器也是以后开发单片机所必备的工具;相比之下,用于实验的电路板制作比较麻烦,用万用板搭接,只能做些很简单的电路,稍复杂的电路一般要用到双面板,而业余条件下是很难自制双面板的,而且实验电路板主要是用于学习,学完了,也就没有什么使用价值了,所以很多人希望能够廉价地获得。作者在多年单片机教学(包括从事网络教学)的基础上,开发了一块有较多功能但使用单面板的单片机实验板,适于业余爱好者自制。这块实验板采用89C51为主芯片,板上安装了5位数码管,8个发光二极管,四个按钮开关,一个简单的音响电路,一个用于计数实验的振荡器,At24CXXX类芯片插座,X5045芯片插座,RS232串行接口等。使用这块实验板可以进行流水灯、人机界面程序设计、音响、中断、计数器等基本编程练习,还可以学习I2C接口芯片使用、SPI接口芯片使用、与PC机进行串行通讯等目前较为流行的技术。图1是该实验板的电路原理图,从图中可以看出,该实验板由若干块集成电路和一些阻容元件等组成,下面我们就分别介绍。1、发光二极管接口主芯片(U1)的P1端口接了8个发光二极管,这些发光二极管的负极接到P1端口各引脚,而正极则通过一个排电阻(标号为JP4,阻值为470殴)接到正电源端,这样,这些发光二极管亮的条件就U1的P1口相引的引脚为低电平,即如果P1口某引脚输出为0,相应的灯亮,如果输出为1,相应的灯灭。例:MOV P1,#0FH该行程序将使发光二极管L1-L4熄灭,而L5-L8点亮。2、数码管接口U1的P0口和P2口的部份引脚构成了5位LED数码管驱动电路,这里LED数码管采用了共阳型,共阳型数码管的笔段(即对应abcdefgh)引脚是二极管的负极,所有二极管的正极连在一起,构成公共端,即片选端,对于这种数码管的驱动,要求在片选端提供电流,为此,使用了PNP型三极管作为片选端的驱动,共使用5只三极管,所有三极管的发射极连在一起,接到正电源端,它们的基极则分别连到P2.0⋯P2.4,这样,当P2.0⋯P2.4中某引脚输出是高电平时,三极管不导通,不能给相应位的数码管供电,该位数码管的所有笔段都不亮,反之,如果某引脚是低电平时,三极管导通,可以给相应的数码管供电,该位数码管是否点亮,点亮哪些笔段,取决于这些笔段引脚是高或低电平。从图图1 共阳型数LED显示器.....

    标签: 89C51 单片机实验板

    上传时间: 2013-11-14

    上传用户:dingdingcandy

  • 抗EMC干扰光电隔离放大器/转换器/变送器IC-技术资料参考

    隔离放大器IC___产品特点: 1.精度等级:0.1级、0.2级、0.5级。 2.0-2.5V/0-5V/0-10V/1-5V等标准电压信号、0-1mA/ 0-10mA/0-20mA/4-20mA等标准电流信号输入, 输出标准的隔离信号。 3.输出电压信号:0-5V/0-10V/1-5V、输出电流信号:0-10mA/0-20mA/4-20mA,具有高带载能力。 4.全量程范围内极高的线性度(非线性度<0.2%) 隔离放大器IC___应用举例: 1.直流电流/电压信号的隔离、转换及放大 2.模拟信号地线干扰抑制及数据隔离采集 3.信号远程无失传输 4.电力监控、医疗设备隔离安全栅 5.一进一出、一进两出、两进两出模拟信号转换 隔离放大器IC___产品型号及定义 连续隔离电压值: 3000VDC 电源电压输入范围: ±10%Vin 焊接温度(10秒): +300℃ AOT -U(A)□ -P□- O□ 输入电压或电流信号值 U1:0-5V A1:0—1mA U2:0-10V A2: 0—10mA U3:0-75mV A3: 0—20mA U4:0-2.5V A4: 4—20mA U5:0-±5V A5:0—±1mA U6:0-±10V A6: 0—±10mA U7:0-±100mV A7: 0—±20mA U8:用户自定义 A8: 用户自定义 隔离放大器IC___辅助电源 P1:DC24V P2:DC12V   P3:DC5V P4:DC15V P5:用户自定义 隔离放大器IC____输出信号 O1: 4-20mA O2: 0-20mA O4: 0-5V O5: 0-10V O6: 1-5V O7: 0-±5V O8: 0-±10V O9: -20-+20mA O10: 用户自定义 隔离放大器IC___产品特征: 奥通 光耦隔离系列产品是通过模拟信号(线性光耦)隔离放大,转换按比列输出的一种信号隔离放大器,产品抗干扰强。广泛应用在电力、工业控制转换,仪器仪表、远程监控、医疗设备、工业自控等需要电量隔离测控的行业。光耦隔离系列产品属于双隔离产品,输入信号与辅助电源隔离,辅助电源与输出隔离 ,隔离电压3000VDC 隔离放大器IC___产品说明: 1.SIP12脚符合UL94V-0标准阻燃封装 2.只需外接电位器既可调节零点和增益 3.电源、信号、输入输出 3000VDC隔离 4.工业级温度范围:-45~+85度 5.有较强的抗EMC电磁干扰和高频信号空间干扰特性 6.大小: 32.0mm*13.8mm*8.8mm

    标签: EMC IC 干扰 光电隔离

    上传时间: 2014-01-04

    上传用户:wangzeng

  • 基于单片机的简单电子琴(源代码)

    简单电子琴的51单片机程序 #include<reg51.h>       //包含51单片机寄存器定义的头文件 sbit P14=P1^4;     //将P14位定义为P1.4引脚 sbit P15=P1^5;          //将P15位定义为P1.5引脚 sbit P16=P1^6;     //将P16位定义为P1.6引脚 sbit P17=P1^7;     //将P17位定义为P1.7引脚 unsigned char keyval;   //定义变量储存按键值 sbit sound=P2^0;     //将sound定义为P2.0 unsigned int C;     //全局变量,储存定时器的定时常数 unsigned int f;     //全局变量,储存音阶的频率 //以下是C调低音的音频宏定义 #define l_dao 262     //将“l_dao”宏定义为低音“1”的频率262Hz #define l_re 294     //将“l_re” 宏定义为低音“2”的频率294Hz #define l_mi 330     //将“l_mi” 宏定义为低音“3”的频率330Hz #define l_fa 349        //将“l_fa” 宏定义为低音“4”的频率349Hz #define l_sao 392       //将“l_sao”宏定义为低音“5”的频率392Hz #define l_la 440        //将“l_la” 宏定义为低音“6”的频率440Hz #define l_xi 494        //将“l_xi” 宏定义为低音“7”的频率494Hz //以下是C调中音的音频宏定义 #define dao 523     //将“dao”宏定义为低音“1”的频率Hz #define re 587 //将“re” 宏定义为低音“2”的频率Hz #define mi 659 //将“mi” 宏定义为低音“3”的频率Hz #define fa 698 //将“fa” 宏定义为低音“4”的频率Hz #define sao 784 //将“sao”宏定义为低音“5”的频率Hz #define la 880 //将“la” 宏定义为低音“6”的频率Hz #define xi 988 //将“xi” 宏定义为低音“7”的频率Hz

    标签: 单片机 电子琴 源代码

    上传时间: 2013-11-09

    上传用户:tian126vip

  • ch451数码管驱动实例程序

    CH451 使用一个系统时钟信号来同步芯片内部的各个功能部件,例如,当系统时钟信号的频率变高时,显示驱动刷新将变快、按键响应时间将变短、上电复位信号的宽度将变窄、看门狗周期也将变短。一般情况下,CH451 的系统时钟信号是由内置的阻容振荡提供的,这样就不再需要任何外围电路,但内置RC 振荡的频率受电源电压的影响较大,当电源电压降低时,系统时钟信号的频率也随之降低。在某些实际应用中,可能希望CH451 提供更长或者更短的显示刷新周期、按键响应时间等,这时就需要调节系统时钟信号的频率。CH451 提供了CLK 引脚,用于外接阻容振荡。当在CLK 引脚与地GND 之间跨接电容后,系统时钟信号的频率将变低;当在CLK 引脚与正电源VCC 之间跨接电阻后,系统时钟信号的频率将变高。因为CH451 的系统时钟信号被用于芯片内部的所有功能部件,所以其频率不宜进行大幅度的调节,一般情况下,跨接电容的容量在5pF 至100pF 之间,跨接电阻的阻值在20KΩ至500KΩ之间。跨接一个47pF 的电容则频率降低为一半,跨接一个47KΩ的电阻则频率升高为两倍。另外,CH451 的CLK 引脚可以直接输入外部的系统时钟信号,但外部电路的驱动能力不能小于±2mA。CH451 在CLKO 引脚提供了系统时钟信号的二分频输出,对于一些不要求精确定时的实际应用,可以由CLKO 引脚向单片机提供时钟信号,简化外围电路。 单片机接口程序下面提供了U1(MCS-51 单片机)与U2(CH451)的接口程序,供参考。;**********************;需要主程序定义的参数CH451_DCLK BIT P1.7 ;串行数据时钟,上升沿激活CH451_DIN BIT P1.6 ;串行数据输出,接CH451 的数据输入CH451_LOAD BIT P1.5 ;串行命令加载,上升沿激活CH451_DOUT BIT P3.2 ;INT0,键盘中断和键值数据输入,接CH451 的数据输出CH451_KEY DATA 7FH ;存放键盘中断中读取的键值

    标签: 451 ch 数码管 实例程序

    上传时间: 2013-11-22

    上传用户:671145514

  • 单片机12864液晶时钟显示程序

    12864液晶时钟显示程序 LCD 地址变量 ;**************变量的定义***************** RS             BIT      P2.0            ;LCD数据/命令选择端(H/L) RW             BIT      P2.1          ;LCD读/写选择端(H/L) EP             BIT      P2.2            ;LCD使能控制 PSB        EQU P2.3 RST        EQU P2.5 PRE            BIT      P1.4            ;调整键(K1) ADJ            BIT      P1.5            ;调整键(K2) COMDAT         EQU P0 LED        EQU P0.3 YEAR           DATA      18H            ;年,月,日变量 MONTH          DATA      19H DATE           DATA      1AH WEEK           DATA      1BH HOUR           DATA      1CH            ;时,分,秒,百分之一秒变量 MIN            DATA      1DH SEC            DATA      1EH SEC100         DATA      1FH STATE          DATA      23H LEAP           BIT      STATE.1            ;是否闰年标志1--闰年,0--平年 KEY_S          DATA      24H            ;当前扫描键值 KEY_V          DATA      25H            ;上次扫描键值 DIS_BUF_U0      DATA      26H            ;LCD第一排显示缓冲区 DIS_BUF_U1      DATA      27H DIS_BUF_U2      DATA      28H DIS_BUF_U3      DATA      29H DIS_BUF_U4      DATA      2AH DIS_BUF_U5      DATA      2BH DIS_BUF_U6      DATA      2CH DIS_BUF_U7      DATA      2DH DIS_BUF_U8      DATA      2EH DIS_BUF_U9      DATA      2FH DIS_BUF_U10     DATA      30H DIS_BUF_U11     DATA      31H DIS_BUF_U12     DATA      32H DIS_BUF_U13     DATA      33H DIS_BUF_U14     DATA      34H DIS_BUF_U15     DATA      35H DIS_BUF_L0      DATA      36H            ;LCD第三排显示缓冲区 DIS_BUF_L1      DATA      37H DIS_BUF_L2      DATA      38H DIS_BUF_L3      DATA      39H DIS_BUF_L4      DATA      3AH DIS_BUF_L5      DATA      3BH DIS_BUF_L6      DATA      3CH DIS_BUF_L7      DATA      3DH DIS_BUF_L8      DATA      3EH DIS_BUF_L9      DATA      3FH DIS_BUF_L10     DATA      40H DIS_BUF_L11     DATA      41H DIS_BUF_L12     DATA      42H DIS_BUF_L13     DATA      43H DIS_BUF_L14     DATA      44H DIS_BUF_L15     DATA      45H FLAG            DATA      46H ;1-年,2-月,3-日,4-时,5-分,6-秒,7-退出调整。 DIS_H           DATA      47H DIS_M           DATA      48H DIS_S           DATA      49H

    标签: 12864 单片机 液晶时钟 显示程序

    上传时间: 2013-11-09

    上传用户:xingisme

  • 温湿度传感器 sht11 仿真程序下载

    温湿度传感器 sht11 仿真程序 sbit out =P3^0; //加热口  //sbit input =P1^1;//检测口  //sbit speek =P2^0;//报警  sbit clo =P3^7;//时钟  sbit ST =P3^5;//开始  sbit EOC =P3^6;//成功信号  sbit gwei =P3^4;//个位  sbit swei =P3^3;//十位 sbit bwei =P3^2;//百位 sbit qwei =P3^1;//千位 sbit speak =P0^0;//报警音 sbit bjled =P0^1;//报警灯 sbit zcled =P0^2;//正常LED  int count;  uchar xianzhi;//取转换结果 uchar seth;//高时间 uchar setl;//低时间 uchar seth_mi;//高时间 uchar setl_mi;//低时间  bit  hlbz;//高低标志  bit  clbz;  bit  spbz;       ///定时中断程序/// void t0 (void) interrupt 1 using 0 {     TH0=(65536-200)/256;//5ms*200=1000ms=1s   TL0=(65536-200)%256;  clo=!clo;//产生时钟      if(count>5000)   {     if(hlbz)            {       if(seth_mi==0){seth_mi=seth;hlbz=0;out=0;}    else seth_mi--;       }     if(!hlbz)            {       if(setl_mi==0){setl_mi=setl;hlbz=1;out=1;}    else setl_mi--;       }   count=0;   }      else count++;         } ///////////// ///////延时/////// delay(int i) {    while(--i);          }     ///////显示处理/////// xianshi() {      int   abcd=0;     int i;     for (i=0;i<5;i++) {   abcd=xianzhi;  gwei=1;  swei=1;  bwei=1;  qwei=1;  P1=dispcode[abcd/1000];   qwei=0;  delay(70);   qwei=1;  abcd=abcd%1000;  P1=dispcode[abcd/100];  bwei=0;  delay(70);  bwei=1;   abcd=abcd%100;  P1=dispcode[abcd/10];  swei=0;  delay(70);  swei=1;  abcd=abcd%10;  P1=dispcode[abcd];  gwei=0;  delay(70);  gwei=1;  } }   doing()   {     if(xianzhi>100)     {bjled=0;speak=1;zcled=1;}  else {bjled=1;speak=0;zcled=0;}   }   void main(void)  {  seth=60;//h60秒  setl=90;//l90秒  seth_mi=60;//h60秒  setl_mi=90;//l90秒  TMOD=0X01;//定时0 16位工作模式   TH0=(65536-200)/256;   TL0=(65536-200)%256;    TR0=1; //开始计时  ET0=1;   //开定时0中断  EA=1;    //开全中断  while(1)  {      ST=0;    _nop_();     ST=1;    _nop_();     ST=0;  //   EOC=0;          xianshi();       while(!EOC)   {         xianshi();    }        xianzhi=P2;             xianshi();     doing();  }  }

    标签: sht 11 温湿度传感器 仿真程序

    上传时间: 2013-11-07

    上传用户:我们的船长

  • 单片机12864液晶时钟显示程序

    12864液晶时钟显示程序 LCD 地址变量 ;**************变量的定义***************** RS             BIT      P2.0            ;LCD数据/命令选择端(H/L) RW             BIT      P2.1          ;LCD读/写选择端(H/L) EP             BIT      P2.2            ;LCD使能控制 PSB        EQU P2.3 RST        EQU P2.5 PRE            BIT      P1.4            ;调整键(K1) ADJ            BIT      P1.5            ;调整键(K2) COMDAT         EQU P0 LED        EQU P0.3 YEAR           DATA      18H            ;年,月,日变量 MONTH          DATA      19H DATE           DATA      1AH WEEK           DATA      1BH HOUR           DATA      1CH            ;时,分,秒,百分之一秒变量 MIN            DATA      1DH SEC            DATA      1EH SEC100         DATA      1FH STATE          DATA      23H LEAP           BIT      STATE.1            ;是否闰年标志1--闰年,0--平年 KEY_S          DATA      24H            ;当前扫描键值 KEY_V          DATA      25H            ;上次扫描键值 DIS_BUF_U0      DATA      26H            ;LCD第一排显示缓冲区 DIS_BUF_U1      DATA      27H DIS_BUF_U2      DATA      28H DIS_BUF_U3      DATA      29H DIS_BUF_U4      DATA      2AH DIS_BUF_U5      DATA      2BH DIS_BUF_U6      DATA      2CH DIS_BUF_U7      DATA      2DH DIS_BUF_U8      DATA      2EH DIS_BUF_U9      DATA      2FH DIS_BUF_U10     DATA      30H DIS_BUF_U11     DATA      31H DIS_BUF_U12     DATA      32H DIS_BUF_U13     DATA      33H DIS_BUF_U14     DATA      34H DIS_BUF_U15     DATA      35H DIS_BUF_L0      DATA      36H            ;LCD第三排显示缓冲区 DIS_BUF_L1      DATA      37H DIS_BUF_L2      DATA      38H DIS_BUF_L3      DATA      39H DIS_BUF_L4      DATA      3AH DIS_BUF_L5      DATA      3BH DIS_BUF_L6      DATA      3CH DIS_BUF_L7      DATA      3DH DIS_BUF_L8      DATA      3EH DIS_BUF_L9      DATA      3FH DIS_BUF_L10     DATA      40H DIS_BUF_L11     DATA      41H DIS_BUF_L12     DATA      42H DIS_BUF_L13     DATA      43H DIS_BUF_L14     DATA      44H DIS_BUF_L15     DATA      45H FLAG            DATA      46H ;1-年,2-月,3-日,4-时,5-分,6-秒,7-退出调整。 DIS_H           DATA      47H DIS_M           DATA      48H DIS_S           DATA      49H

    标签: 12864 单片机 液晶时钟 显示程序

    上传时间: 2013-12-25

    上传用户:wvbxj

  • 温湿度传感器 sht11 仿真程序下载

    温湿度传感器 sht11 仿真程序 sbit out =P3^0; //加热口  //sbit input =P1^1;//检测口  //sbit speek =P2^0;//报警  sbit clo =P3^7;//时钟  sbit ST =P3^5;//开始  sbit EOC =P3^6;//成功信号  sbit gwei =P3^4;//个位  sbit swei =P3^3;//十位 sbit bwei =P3^2;//百位 sbit qwei =P3^1;//千位 sbit speak =P0^0;//报警音 sbit bjled =P0^1;//报警灯 sbit zcled =P0^2;//正常LED  int count;  uchar xianzhi;//取转换结果 uchar seth;//高时间 uchar setl;//低时间 uchar seth_mi;//高时间 uchar setl_mi;//低时间  bit  hlbz;//高低标志  bit  clbz;  bit  spbz;       ///定时中断程序/// void t0 (void) interrupt 1 using 0 {     TH0=(65536-200)/256;//5ms*200=1000ms=1s   TL0=(65536-200)%256;  clo=!clo;//产生时钟      if(count>5000)   {     if(hlbz)            {       if(seth_mi==0){seth_mi=seth;hlbz=0;out=0;}    else seth_mi--;       }     if(!hlbz)            {       if(setl_mi==0){setl_mi=setl;hlbz=1;out=1;}    else setl_mi--;       }   count=0;   }      else count++;         } ///////////// ///////延时/////// delay(int i) {    while(--i);          }     ///////显示处理/////// xianshi() {      int   abcd=0;     int i;     for (i=0;i<5;i++) {   abcd=xianzhi;  gwei=1;  swei=1;  bwei=1;  qwei=1;  P1=dispcode[abcd/1000];   qwei=0;  delay(70);   qwei=1;  abcd=abcd%1000;  P1=dispcode[abcd/100];  bwei=0;  delay(70);  bwei=1;   abcd=abcd%100;  P1=dispcode[abcd/10];  swei=0;  delay(70);  swei=1;  abcd=abcd%10;  P1=dispcode[abcd];  gwei=0;  delay(70);  gwei=1;  } }   doing()   {     if(xianzhi>100)     {bjled=0;speak=1;zcled=1;}  else {bjled=1;speak=0;zcled=0;}   }   void main(void)  {  seth=60;//h60秒  setl=90;//l90秒  seth_mi=60;//h60秒  setl_mi=90;//l90秒  TMOD=0X01;//定时0 16位工作模式   TH0=(65536-200)/256;   TL0=(65536-200)%256;    TR0=1; //开始计时  ET0=1;   //开定时0中断  EA=1;    //开全中断  while(1)  {      ST=0;    _nop_();     ST=1;    _nop_();     ST=0;  //   EOC=0;          xianshi();       while(!EOC)   {         xianshi();    }        xianzhi=P2;             xianshi();     doing();  }  }

    标签: sht 11 温湿度传感器 仿真程序

    上传时间: 2013-10-16

    上传用户:黄蛋的蛋黄

  • ps键盘驱动程序2 实现pc机键盘(p/s2接口)与8位单片机连接使用原理:键盘时钟接在p3.2口

    ps键盘驱动程序2 实现pc机键盘(p/s2接口)与8位单片机连接使用原理:键盘时钟接在p3.2口,既8051的外部中断int0上,键盘数据接到P1.0上

    标签: 3.2 键盘 键盘驱动 程序

    上传时间: 2015-03-25

    上传用户:450976175

  • 用51汇编语言设计的DTMF发生器程序 输出到PI的每次间隔是52个指令周期 主频:6M

    用51汇编语言设计的DTMF发生器程序 输出到PI的每次间隔是52个指令周期 主频:6M,6M/12=0.5M,每个指令周期:2uS 即每次输出到P1的时间间隔是122uS 指令周期数:52 + 9 = 61

    标签: DTMF 汇编语言 发生器 主频

    上传时间: 2015-03-27

    上传用户:jiahao131