导航:首页 > 操作系统 > lc87f单片机

lc87f单片机

发布时间:2022-05-14 04:48:33

‘壹’ 大疆无人机属于哪种单片机

大疆飞控肯定不会只用一个方案,基本上全球能用于无人机的方案都有用到。
大疆早期的飞控用的nxp的lpc1768,消费级的32位处理器。后面用了一段时间的fpga+dsp。18年后的产品发现其用了意法半导体的STM32F303、英特尔的Movidius MA2155 VPU、联芯的LC1860C SoC和Atheros/高通的AR1021X双频Wi-Fi SoC等多种方案。

‘贰’ 单片机中晶振的作用是什么并联谐振电路工作原理和作用 ...

单片机工作需要提供给工作周期,也就是晶振的振荡频率除以12分频。为什么会起振,这要看高频书的自激振荡了,首先并联谐振有1个作用就是选择频率,频率是更具f=1/(2根号(L*(C0*CP)/(C0+CP))C0是内部与电感串联的电容,CP是内部与电感并联,外部与晶振并联的,电容并联(也就是外部电容与内部并联电容之和),并联谐振最终目的就是为了选频,原理就是利用LC电流与电压同相的原理,说白了就是利用电感放电时,电容刚好充电
,反之电容放电,电感刚好充电,而充放电电流恰好基本上大小一致,导致外部电流无法流入(这里有1点,就是这是理想状态),假设不理想,由于电感上有损耗电阻r,一致外部电流值提供给损耗电阻

‘叁’ 单片机定时器中断

#include <pic.h> //调用头文件,可以去PICC软件下去查找PIC16F87XA单片机的头文件
__CONFIG(XT&WDTEN&LVPDIS); //定义配置字,晶振类型:XT,启动开门狗,禁止低电压编程

#define HC138_A RE2 //定义U6、U7、U8的A为RE2端口
#define HC138_B RE1 //定义U6、U7、U8的B为RE1端口
#define HC138_C RE0 //定义U6、U7、U8的C为RE0端口

#define U6_E RA2 //定义U6_E为RA2端口,U6E=1时,U6使能否则失能
#define U7_E RA3 //定义U7_E为RA3端口,U7E=1时,U7使能否则失能
#define U8_E RA1 //定义U8_E为RA1端口,U8E=1时,U8使能否则失能

#define V1 RA5 //定义V1为RA5端口

unsigned int tmcon;

//---------------------------------------
//名称: 初始化函数
//日期:20101001
//-----------------------------------------
void init(void)
{
ADCON1=0X06; //所有IO均为数字口,模拟量输入禁止
OPTION=0x80; //关闭RB口电平变化功能
TRISA=0B11010001; //RA1,RA2,RA3,RA5置为输出,其他未用设置为输入
TRISB=0B11111111; //其他未用设置为输入
TRISC=0B11111111; //其他未用设置为输入
TRISD=0B11110011; //未用设置为输入
TRISE=0B11111000; //RE0,RE1,RE2置为输出,其他未用设置为输入
RD2=0; //关闭蜂鸣器
RD3=0; //关闭继电器
RA1=0; //关掉数码管、发光二极管
RA2=0; //关掉LED点阵屏左8列
RA3=0; //关掉LED点阵屏右8列
RBIE=0; //RB口电平变化中断禁止
}
//---------------------------------------
//名称: T0初始化函数
//日期:20100501
//-----------------------------------------
void timer0init(void)
{
T0CS=0; //TMR0工作于定时器方式
PSA=1; //TMR0不分频
T0IF=0; //清除TMR0中断标志
T0IE=1; //TMR0中断允许
TMR0=0x13; //赋初值,以便TMR0每250US中断一次
GIE=1;
}
//---------------------------------------
//名称: T0中断函数(250US)
//日期:20101001
//-----------------------------------------
void interrupt ISR(void)
{
if(TMR0IF==1) //250us
{
TMR0=0x13;
T0IF=0;
if(++tmcon>3999) //计数4000次后,为1秒
{
tmcon=0;
V1=!V1;
}
}
}
//---------------------------------------
//名称: 主函数
//日期:20101001
//-----------------------------------------
void main(void)
{
init();
timer0init();
V1=0; //熄灭V1

HC138_A=0; //使74HC138的Y0端为0,其他高阻
HC138_B=0; //使74HC138的Y0端为0,其他高阻
HC138_C=0; //使74HC138的Y0端为0,其他高阻

U6_E=0; //U6关闭
U7_E=0; //U7关闭
U8_E=1; //U8打开
while(1)
{
asm("CLRWDT");
}
}//[email protected]

‘肆’ 单片机最小系统EA/VPP孔为什么接VCC要加电阻

晶振加电容构成LC震荡电路产生脉冲作为单片机的时钟。复位电路电容和电阻构成RC延时电路供复位用。EA加电路是为了限流。

‘伍’ 如何用51单片机调整LC振荡器

调整LC振荡器,就是调揩频率吧,需要用变容二极管,然后单片机要通过D/A转换电路,
输出一个模拟电压加到变容二极管上,改变容量实际调频。不过,这种电路,只是画仿真图玩玩还可以,真要做实物,难度很大的。

‘陆’ 求一个51单片机的简单数字钟。附上汇编程序或C也行

学过几天,我自己编过,但是失败了。看看大牛的吧,没有按键功能,只能走动,我的单片机坏了,忘记怎么加监听器了:
---------------------------------------------------------------------------------------------------------------------
/*时钟程序,大家是否想到用定时器,对,也可用定时器的中断来处理,这样的程序我想不用我说了吧!
你们可自己发辉下,本程序采用外元件DS1302时钟IC,使用此IC不增加系统资源,要时钟时直接去读取就可以了
本IC跟ADC0831一样以串口方式传送数据,不同的是协议,只要你读懂它的串口协议,就可以用P口来模拟协议进行
,这样更能使你对传送数据协议的了解,在看本程序之前,先看看芯片的串口协议*/

#include <reg51.h>
#include <intrins.h>

sbit SCL2=P1^3; //SCL2定义为P1口的第3位脚,连接DS1302SCL和ADC0831SCL脚
sbit SDA2=P1^4; //SDA2定义为P1口的第4位脚,连接DS1302SCL和ADC0831SDA脚
//sbit CS2=P1^6; //CS2定义为P1口的第4位脚,连接ADC0831CS脚
sbit RST = P1^5; // DS1302片选脚

unsigned char l_tmpdate[8]={0x00,0x06,0x03,0x18,0x0c,0x07,0x06,0};
unsigned char l_tmpdisplay[8]={0x40,0x40,0x40,0x40,0x40,0x40,0x40,0};
code unsigned char write_rtc_address[7]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c}; //地址为:秒分小时月日年
code unsigned char read_rtc_address[7]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};

code unsigned char table[]=
{0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,
0x40,0x00};
//共阴数码管 0-9 '-' '熄灭‘表

void delay();//延时子函数,5个空指令
void display(unsigned char *lp,unsigned char lc);//数字的显示函数;lp为指向数组的地址,lc为显示的个数

void Write_Ds1302_byte(unsigned char temp);
void Write_Ds1302( unsigned char address,unsigned char dat );
unsigned char Read_Ds1302 ( unsigned char address );

void Read_RTC(void);//read RTC
void Set_RTC(void);//set RTC

void main(void) //入口函数
{
Set_RTC();
while(1){
Read_RTC();
switch (l_tmpdate[0]/5) //设计每个5秒 交替显示 年月日 时分秒
{
case 0:
case 2:
case 4:
case 6:
case 8:
case 10:
l_tmpdisplay[0]=l_tmpdate[2]/16; //数据的转换,因我们采用数码管0~9的显示,将数据分开
l_tmpdisplay[1]=l_tmpdate[2]&0x0f;
l_tmpdisplay[2]=10; //加入"-"
l_tmpdisplay[3]=l_tmpdate[1]/16;
l_tmpdisplay[4]=l_tmpdate[1]&0x0f;
l_tmpdisplay[5]=10;
l_tmpdisplay[6]=l_tmpdate[0]/16;
l_tmpdisplay[7]=l_tmpdate[0]&0x0f;
break;
case 1:
case 3:
case 5:
case 7:
case 9:
case 11:
l_tmpdisplay[0]=l_tmpdate[6]/16;
l_tmpdisplay[1]=l_tmpdate[6]&0x0f;
l_tmpdisplay[2]=10;
l_tmpdisplay[3]=l_tmpdate[4]/16;
l_tmpdisplay[4]=l_tmpdate[4]&0x0f;
l_tmpdisplay[5]=10;
l_tmpdisplay[6]=l_tmpdate[3]/16;
l_tmpdisplay[7]=l_tmpdate[3]&0x0f;
break;
default:
break;
}
display(l_tmpdisplay,8);
}
}

void display(unsigned char *lp,unsigned char lc)//显示
{
unsigned char i; //定义变量
P2=0; //端口2为输出
P1=P1&0xF8; //将P1口的前3位输出0,对应138译门输入脚,全0为第一位数码管
for(i=0;i<lc;i++){ //循环显示
P2=table[lp[i]]; //查表法得到要显示数字的数码段
delay(); //延时
P2=0; //清0端口,准备显示下位
if(i==7) //检测显示完8位否,完成直接退出,不让P1口再加1,否则进位影响到第四位数据
break;
P1++; //下一位数码管
}
}
void delay(void) //空5个指令
{
unsigned char i=10;
while(i)
i--;
}
void Write_Ds1302_Byte(unsigned char temp)
{
unsigned char i;
for (i=0;i<8;i++) //循环8次 写入数据
{
SCL2=0;
SDA2=temp&0x01; //每次传输低字节
temp>>=1; //右移一位
SCL2=1;
}
}

/****************************************************************************/
void Write_Ds1302( unsigned char address,unsigned char dat )
{
RST=0;
_nop_();
SCL2=0;
_nop_();
RST=1;
_nop_(); //启动
Write_Ds1302_Byte(address); //发送地址
Write_Ds1302_Byte(dat); //发送数据
RST=0; //恢复
}
/****************************************************************************/
unsigned char Read_Ds1302 ( unsigned char address )
{
unsigned char i,temp=0x00;
RST=0;
_nop_();
SCL2=0;
_nop_();
RST=1;
_nop_();
Write_Ds1302_Byte(address);
for (i=0;i<8;i++) //循环8次 读取数据
{
if(SDA2)
temp|=0x80; //每次传输低字节
SCL2=0;
temp>>=1; //右移一位
SCL2=1;
}
RST=0;
_nop_(); //以下为DS1302复位的稳定时间
RST=0;
SCL2=0;
_nop_();
SCL2=1;
_nop_();
SDA2=0;
_nop_();
SDA2=1;
_nop_();
return (temp); //返回
}
/****************************************************************************/
void Read_RTC(void) //读取 日历
{
unsigned char i,*p;
p=read_rtc_address; //地址传递
for(i=0;i<7;i++) //分7次读取 年月日时分秒星期
{
l_tmpdate[i]=Read_Ds1302(*p);
p++;
}
}
/***********************************************************************/
void Set_RTC(void) //设定 日历
{
unsigned char i,*p,tmp;
for(i=0;i<7;i++){
tmp=l_tmpdate[i]/10;
l_tmpdate[i]=l_tmpdate[i]%10;
l_tmpdate[i]=l_tmpdate[i]+tmp*16;
}
Write_Ds1302(0x8E,0X00);

p=write_rtc_address; //传地址
for(i=0;i<7;i++) //7次写入 年月日时分秒星期
{
Write_Ds1302(*p,l_tmpdate[i]);
p++;
}
Write_Ds1302(0x8E,0x80);
}

‘柒’ 单片机型号的命名规则是什么

STM32系列单片机命名规则

PIC单片机型号命名规则
1.前缀: PIC MICROCHIP 公司产品代号,
特别地:dsPIC为集成DSP功能的新型PIC单片机
2.系列号:10、12、16、18、24、30、33、32,其中

PIC10、PIC12、PIC16、PIC18为8位单片机

PIC24、dsPIC30、dsPIC33为16位单片机

PIC32为32位单片机

3.器件型号(类型):

C CMOS 电路

CR CMOS ROM

LC 小功率CMOS 电路

LCS 小功率保护

AA 1.8V

LCR 小功率CMOS ROM

LV 低电压

F 快闪可编程存储器

HC 高速CMOS

FR FLEX ROM

4.改进类型或选择

54A 、58A 、61 、62 、620 、621

622 、63 、64 、65 、71 、73 、74

42 、43 、44等

5.晶体标示:

LP 小功率晶体,

RC 电阻电容,

XT 标准晶体/振荡器

HS 高速晶体

6.频率标示:

-02 2MHZ,

-04 4MHZ,

-10 10MHZ,

-16 16MHZ

-20 20MHZ,

-25 25MHZ,

-33 33MHZ

7.温度范围:

空白 0℃至70℃,

I -45℃至85℃,

E -40℃至125℃

8.封装形式:

L PLCC 封装

JW 陶瓷熔封双列直插,有窗口

P 塑料双列直插

PQ 塑料四面引线扁平封装

W 大圆片

SL 14腿微型封装-150mil

JN 陶瓷熔封双列直插,无窗口

SM 8腿微型封装-207mil

SN 8腿微型封装-150 mil

VS 超微型封装8mm×13.4mm

SO 微型封装-300 mil

ST 薄型缩小的微型封装-4.4mm

SP 横向缩小型塑料双列直插

CL 68腿陶瓷四面引线,带窗口

SS 缩小型微型封装

PT 薄型四面引线扁平封装

TS 薄型微型封装8mm×20mm

TQ 薄型四面引线扁平封装

‘捌’ 单片机数字时钟程序

#include <reg51.h> #include <intrins.h> sbit SCL2=P1^3; //SCL2定义为P1口的第3位脚,连接DS1302SCL和ADC0831SCL脚 sbit SDA2=P1^4; //SDA2定义为P1口的第4位脚,连接DS1302SCL和ADC0831SDA脚 //sbit CS2=P1^6; //CS2定义为P1口的第4位脚,连接ADC0831CS脚 sbit RST = P1^5; // DS1302片选脚 unsigned char l_tmpdate[8]={0x00,0x06,0x03,0x18,0x0c,0x07,0x06,0}; unsigned char l_tmpdisplay[8]={0x40,0x40,0x40,0x40,0x40,0x40,0x40,0}; code unsigned char write_rtc_address[7]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c}; //地址为:秒分小时月日年 code unsigned char read_rtc_address[7]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d}; code unsigned char table[]= {0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f, 0x40,0x00}; //共阴数码管 0-9 '-' '熄灭‘表 void delay();//延时子函数,5个空指令 void display(unsigned char *lp,unsigned char lc);//数字的显示函数;lp为指向数组的地址,lc为显示的个数 void Write_Ds1302_byte(unsigned char temp); void Write_Ds1302( unsigned char address,unsigned char dat ); unsigned char Read_Ds1302 ( unsigned char address ); void Read_RTC(void);//read RTC void Set_RTC(void);//set RTC void main(void) //入口函数 { Set_RTC(); while(1){ Read_RTC(); switch (l_tmpdate[0]/5) //设计每个5秒 交替显示 年月日 时分秒 { case 0: case 2: case 4: case 6: case 8: case 10: l_tmpdisplay[0]=l_tmpdate[2]/16; //数据的转换,因我们采用数码管0~9的显示,将数据分开 l_tmpdisplay[1]=l_tmpdate[2]&0x0f; l_tmpdisplay[2]=10; //加入"-" l_tmpdisplay[3]=l_tmpdate[1]/16; l_tmpdisplay[4]=l_tmpdate[1]&0x0f; l_tmpdisplay[5]=10; l_tmpdisplay[6]=l_tmpdate[0]/16; l_tmpdisplay[7]=l_tmpdate[0]&0x0f; break; case 1: case 3: case 5: case 7: case 9: case 11: l_tmpdisplay[0]=l_tmpdate[6]/16; l_tmpdisplay[1]=l_tmpdate[6]&0x0f; l_tmpdisplay[2]=10; l_tmpdisplay[3]=l_tmpdate[4]/16; l_tmpdisplay[4]=l_tmpdate[4]&0x0f; l_tmpdisplay[5]=10; l_tmpdisplay[6]=l_tmpdate[3]/16; l_tmpdisplay[7]=l_tmpdate[3]&0x0f; break; default: break; } display(l_tmpdisplay,8); } } void display(unsigned char *lp,unsigned char lc)//显示 { unsigned char i; //定义变量 P2=0; //端口2为输出 P1=P1&0xF8; //将P1口的前3位输出0,对应138译门输入脚,全0为第一位数码管 for(i=0;i<lc;i++){ //循环显示 P2=table[lp[i]]; //查表法得到要显示数字的数码段 delay(); //延时 P2=0; //清0端口,准备显示下位 if(i==7) //检测显示完8位否,完成直接退出,不让P1口再加1,否则进位影响到第四位数据 break; P1++; //下一位数码管 } } void delay(void) //空5个指令 { unsigned char i=10; while(i) i--; } void Write_Ds1302_Byte(unsigned char temp) { unsigned char i; for (i=0;i<8;i++) //循环8次 写入数据 { SCL2=0; SDA2=temp&0x01; //每次传输低字节 temp>>=1; //右移一位 SCL2=1; } } /****************************************************************************/ void Write_Ds1302( unsigned char address,unsigned char dat ) { RST=0; _nop_(); SCL2=0; _nop_(); RST=1; _nop_(); //启动 Write_Ds1302_Byte(address); //发送地址 Write_Ds1302_Byte(dat); //发送数据 RST=0; //恢复 } /****************************************************************************/ unsigned char Read_Ds1302 ( unsigned char address ) { unsigned char i,temp=0x00; RST=0; _nop_(); SCL2=0; _nop_(); RST=1; _nop_(); Write_Ds1302_Byte(address); for (i=0;i<8;i++) //循环8次 读取数据 { if(SDA2) temp|=0x80; //每次传输低字节 SCL2=0; temp>>=1; //右移一位 SCL2=1; } RST=0; _nop_(); //以下为DS1302复位的稳定时间 RST=0; SCL2=0; _nop_(); SCL2=1; _nop_(); SDA2=0; _nop_(); SDA2=1; _nop_(); return (temp); //返回 } /****************************************************************************/ void Read_RTC(void) //读取 日历 { unsigned char i,*p; p=read_rtc_address; //地址传递 for(i=0;i<7;i++) //分7次读取 年月日时分秒星期 { l_tmpdate[i]=Read_Ds1302(*p); p++; } } /***********************************************************************/ void Set_RTC(void) //设定 日历 { unsigned char i,*p,tmp; for(i=0;i<7;i++){ tmp=l_tmpdate[i]/10; l_tmpdate[i]=l_tmpdate[i]%10; l_tmpdate[i]=l_tmpdate[i]+tmp*16; } Write_Ds1302(0x8E,0X00); p=write_rtc_address; //传地址 for(i=0;i<7;i++) //7次写入 年月日时分秒星期 { Write_Ds1302(*p,l_tmpdate[i]); p++; } Write_Ds1302(0x8E,0x80); } 希望对你有所帮助 本程序采用外元件DS1302

‘玖’ 《单片机C语言程序设计实训100例——基于8051+Proteus仿真》 第03篇源代码

单片机c语言编程100个实例目录1
函数的使用和熟悉
实例3:用单片机控制第一个灯亮
实例4:用单片机控制一个灯闪烁:认识单片机的工作频率
实例5:将 P1口状态分别送入P0、P2、P3口:认识I/O口的引脚功能
实例6:使用P3口流水点亮8位LED
实例7:通过对P3口地址的操作流水点亮8位LED
实例8:用不同数据类型控制灯闪烁时间
实例9:用P0口、P1 口分别显示加法和减法运算结果
实例10:用P0、P1口显示乘法运算结果
实例11:用P1、P0口显示除法运算结果
实例12:用自增运算控制P0口8位LED流水花样
实例13:用P0口显示逻辑"与"运算结果
实例14:用P0口显示条件运算结果
实例15:用P0口显示按位"异或"运算结果
实例16:用P0显示左移运算结果
实例17:"万能逻辑电路"实验
实例18:用右移运算流水点亮P1口8位LED
实例19:用if语句控制P0口8位LED的流水方向
实例20:用swtich语句的控制P0口8位LED的点亮状态
实例21:用for语句控制蜂鸣器鸣笛次数
实例22:用while语句控制LED
实例23:用do-while语句控制P0口8位LED流水点亮
实例24:用字符型数组控制P0口8位LED流水点亮
实例25: 用P0口显示字符串常量
实例26:用P0 口显示指针运算结果
实例27:用指针数组控制P0口8位LED流水点亮
实例28:用数组的指针控制P0 口8 位LED流水点亮
实例29:用P0 、P1口显示整型函数返回值
实例30:用有参函数控制P0口8位LED流水速度
实例31:用数组作函数参数控制流水花样
实例32:用指针作函数参数控制P0口8位LED流水点亮
实例33:用函数型指针控制P1口灯花样
实例34:用指针数组作为函数的参数显示多个字符串
单片机c语言编程100个实例目录2
实例35:字符函数ctype.h应用举例
实例36:内部函数intrins.h应用举例
实例37:标准函数stdlib.h应用举例
实例38:字符串函数string.h应用举例
实例39:宏定义应用举例2
实例40:宏定义应用举例2
实例41:宏定义应用举例3
* 中断、定时器中断、定时器 *中断、定时器*中断、定时器 /
实例42:用定时器T0查询方式P2口8位控制LED闪烁
实例43:用定时器T1查询方式控制单片机发出1KHz音频
实例44:将计数器T0计数的结果送P1口8位LED显示
实例45:用定时器T0的中断控制1位LED闪烁
实例46:用定时器T0的中断实现长时间定时
实例47:用定时器T1中断控制两个LED以不同周期闪烁
实例48:用计数器T1的中断控制蜂鸣器发出1KHz音频
实例49:用定时器T0的中断实现"渴望"主题曲的播放
实例50-1:输出50个矩形脉冲
实例50-2:计数器T0统计外部脉冲数
实例51-2:定时器T0的模式2测量正脉冲宽度
实例52:用定时器T0控制输出高低宽度不同的矩形波
实例53:用外中断0的中断方式进行数据采集
实例54-1:输出负脉宽为200微秒的方波
实例54-2:测量负脉冲宽度
实例55:方式0控制流水灯循环点亮
实例56-1:数据发送程序
实例56-2:数据接收程序
实例57-1:数据发送程序
实例57-2:数据接收程序
实例58:单片机向PC发送数据
实例59:单片机接收PC发出的数据
*数码管显示*数码管显示 数码管显示数码管显示*/
实例60:用LED数码显示数字5
实例61:用LED数码显示器循环显示数字0~9
实例62:用数码管慢速动态扫描显示数字"1234"
实例63:用LED数码显示器伪静态显示数字1234
实例64:用数码管显示动态检测结果
实例65:数码秒表设计
实例66:数码时钟设计
实例67:用LED数码管显示计数器T0的计数值
实例68:静态显示数字“59”
单片机c语言编程100个实例目录3
键盘控制*键盘控制* *键盘控制 *键盘控制 */
实例69:无软件消抖的独立式键盘输入实验
实例70:软件消抖的独立式键盘输入实验
实例71:CPU控制的独立式键盘扫描实验
实例72:定时器中断控制的独立式键盘扫描实验
实例73:独立式键盘控制的4级变速流水灯
实例74:独立式键盘的按键功能扩展:"以一当四"
实例75:独立式键盘调时的数码时钟实验
实例76:独立式键盘控制步进电机实验
实例77:矩阵式键盘按键值的数码管显示实验
//实例78:矩阵式键盘按键音
实例79:简易电子琴
实例80:矩阵式键盘实现的电子密码锁
液晶显示LCD*液晶显示LCD *液晶显示LCD * *液晶显示LCD*液晶显示LCD *液晶显示LCD */
实例81:用LCD显示字符'A'
实例82:用LCD循环右移显示"Welcome to China"
实例83:用LCD显示适时检测结果
实例84:液晶时钟设计
*一些芯片的使用*24c02 DS18B20 X5045 ADC0832 DAC0832 DS1302 红外遥控/
实例85:将数据"0x0f"写入AT24C02再读出送P1口显示
实例86:将按键次数写入AT24C02,再读出并用1602LCD显示
实例87:对I2C总线上挂接多个AT24C02的读写操作
实例88:基于AT24C02的多机通信 读取程序
实例89:基于AT24C02的多机通信 写入程序
实例90:DS18B20温度检测及其液晶显示
实例91:将数据"0xaa"写入X5045再读出送P1口显示
实例92:将流水灯控制码写入X5045并读出送P1口显示
实例93:对SPI总线上挂接多个X5045的读写操作
实例94:基于ADC0832的数字电压表
实例95:用DAC0832产生锯齿波电压
实例96:用P1口显示红外遥控器的按键值
实例97:用红外遥控器控制继电器
实例98:基于DS1302的日历时钟
实例99:单片机数据发送程序
实例100:电机转速表设计
模拟霍尔脉冲

http://www.dzkfw.com.cn/myxin/51c_language.chm 单片机c语言一百例子

‘拾’ 求助,我想知道与单片机相连的两个30pf瓷片电容,一个10k电阻,一个10uf电容,是什么作用

C1和R4以及RESET按钮组成了单片机复位电路,刚上电时C1没有电,上电后电源对电容充电,充电回路中R4的存在导致充电时R4两端有压降,也就是说刚刚上电时RST引脚会出现一个高电平。电容充电结束后,充电电流为0,R4两端没有分压,RST变为低电平结束复位。组装时,C1一般使用电解电容器,4.7μF-47μF之间都可以,取值越大复位时间越长,一般不超过10μF。R4也能影响复位时间,取值越大复位时间越长,一般使用10k

C2和C3这两个电容与晶振构成振荡电路,类似于LC振荡,这两个电容必须有,使用12MHz晶振时一般使用22pF或者30pF的瓷片电容。

阅读全文

与lc87f单片机相关的资料

热点内容
广西柳州压缩机厂 浏览:637
arm开发编译器 浏览:831
51单片机的核心 浏览:744
看电视直播是哪个app 浏览:956
将c源程序编译成目标文件 浏览:785
再要你命3000pdf 浏览:556
ai软件解压软件怎么解压 浏览:520
文件夹怎样设置序列号 浏览:963
javascriptgzip压缩 浏览:247
易语言怎么取出文件夹 浏览:819
苹果xs手机加密app哪里设置 浏览:605
超声雾化器与压缩雾化器 浏览:643
模拟实现进程调度算法 浏览:388
现在的压缩包都是加密 浏览:331
施工员找工作去哪个app 浏览:632
安卓手机的游戏怎么打开 浏览:200
pdf扫描转文字 浏览:532
微机室里面的云服务器 浏览:109
excel能编程吗 浏览:931
android系统框架的介绍 浏览:947