标题:
单片机笔记
[打印本页]
作者:
电子黑
时间:
2016-6-27 22:14
标题:
单片机笔记
中断程序不需要声明;
中断响应条件:1,中断源有中断请求 2,中断允许位为1 3,CPU开总中断;
子程序调用带参数声明时,类型必写,变量随便;函数体写在主函数前不需要声明;
注意uchar的范围0-255;
检测单片机是否正常工作:ALE是否为晶振频率的1/6方波;
晶振正常工作时,引脚处为正弦波;
EA引脚:内外ROM的选择,一般接VCC,不接时无法正常工作;EA=0时,P3只能当做普通IO使用;
IO口做输入时,之前先需要写1;
复位后,P0-P3寄存器为FF,其他寄存器一般为清零;
一个工程中可有多个C文件,但是main还是只能有一个;
按键两端并电容可以实现硬件消抖;
定时器工作设置:1,初始化:对TMOD赋值,确定T0.T1工作方式 2,计初值,写入TH0,TL0,TH1,TL13,中断设置,对IE赋值,开放中断 4,启动
定时器,TR0/TR1置1;
数码管使用时注意消隐;按键使用时注意消抖,松手检测;
数组声明时,前加code会把数据放入程序存储器里面;(因为51的RAM很小)
DA转换器的性能指标:1,分辨率,eg:对于5V满量程,采用8位,分辨率则为5/256=19.5mv;2,建立时间,电流输出型DAC的建立时间短,转换为电压时可
加运放转换;
串行通信的传输:单工-单向; 半双工-分时双向; 全双工-同时双向;
中断程序过程:中断发生-中断响应-中断服务-中断返回;
51单片机中断最多就2级嵌套;52有四个中断优先级,即可实现四级中断服务嵌套:IE0(0),TF0(1),IE1(2),TF1(3),RI/TI(4)(都是硬
件自动置位的);
定时器/计数器工作原理:输入的计数脉冲有两个来源,一个是由系统的时钟振荡器12分频后送来,一个是T0/T1引脚输入的外部脉冲源,每一个脉冲来,计数器加一,加满
时再输入一个脉冲,计数器归0,使标志位置位,向CPU发出中断请求;
串口的工作设置:1,确定T1的工作方式(TMOD)2,计算T1初值,装载TH1,TH0 3,启动T1 4,确定串行口控制(SCON);串口是一个全双工的,通过SBUF寄存器,发生和接
收占用的是同一地址;
漏极开路--场效应管(压Vgs控流id) 集电极开路--三极管(流ib控流ic);在允许从信号源取较少电流时,应用场效应管,相反应用三极管;
头文件reg51/52区别:52比51多定义一个定时器T2,其他区别不大;
C51的数据类型扩充定义(与C不一样):sfr(16):特殊功能寄存器声明,sbit:特殊功能位声明,bit:位变量声明;
《》:位左移位右移,空位补0;& |:多字节相与相或;&& ||:一位相与相或;~:按位取反;
&与==优先级:&的优先级小于==,所以在判断时应为“(A&B)==0”;
异步通信:通信的发生和接收设备使用各自的时钟;传输速率:比特率是每秒钟传输二进制位数单位位/秒(bps);
串口通信时,距离应不超过15m,最高传输速度20kbps;逻辑1:-3~-15,逻辑0:3~15;
51:一个机器周期=6个状态周期=12个时钟周期;
检测51单片机晶振引脚是否工作:在没有示波器的情况下,可以使用万用表测量2个引脚的对地电压估计晶振的工作状态,一般情况如下:5V系统中,2脚的对地电压是 2V左右,且压差不大,如果出现引脚电压为0V
或者5V(VCC)表明晶振没有起振,需要检查连接可靠性或者更换晶振;
ISP:In system programming;
keil仿真时,如果更改代码,退出debug:改之后必须编译一下在debug;
电池的容量:放电电流*放电时间(以固定电流放电,测出电压终止时的放电时间)eg:600mah
看门狗:就是一定时器,mCU需要每隔一定时间输入一个信号(喂狗),给WDT清零,否则就会引起中断(复位);
红外线是一种通过红外线光速传输data的设备;
电池的记忆效应(以前的电池):假如手机电池具有600mah的电量,若在电量损耗到一半时充电,它就会记住这一特性,每当放电到300mah即停止工作,必须重新充电;
DSP:1,digital signal processing 2,digital signal processor;
OEM:原始设备制作商;
对于0805封装:0.08in*0.05in-----0.08*1000mil=0.08*25.4mm = 2mm ;
SPI缺点:没有流控制机制,也没有应答机制确认是否接收到数据;但是速度快;
PCB:按住ctrl选择一条线,其他部分变暗,只有与其相连的net变高亮;
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1