51单片机知识点总结精选 .doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机知识点总结精选

51单片机知识点总结 第二章: 存储器空间组成,各区间特点及访问方式,工作寄存器区的设定,程序状态字的位结构及其功能,堆栈的操作,P0-P3各端口的功能,特点,使用方法,单片机复位信号的产生及复位之后的状态,振荡周期、状态周期、机器周期及指令周期的关系及计算方法。 第三章: 寻址方式,各类指令,简单程序的编写与识读,包括简单C语言程序的识读。 第四章: 中断系统:包括中断源有哪些,如何进行中断允许控制,中断优先级控制,各自的中断入口地址是多少,中断得到CPU服务的基本条件,中断响应延迟的原因。 定时器:定时器的各种工作方式及其使用方法,定时器的初始化,如何使用定时器实现周期信号的输出。以及相应的简单编程。 串行口:串行口的各工作方式及其使用,接收如何使能,多机通信 第五章: 三总线结构及其实现,片外扩展芯片的编址方式及其特点,片外程序及数据存储器的扩展实现并分析其地址区间,片外IO扩展的实现及其器件编址,简单编程。 第六章: 键盘,主要是行列式编码键盘的实现方法,识别方法,扫描法的工作原理,按键去抖动。LED段码实现方法,动态LED显示与静态LED显示的比较。 51单片机初学知识点总结 经过这半个月的学习,我对于单片机的定时器、对I/O口的随意操作、输入检测、中断、串口通信等几大学习模块有了一定了解和掌握。 1. 软件。我主要是在keil uvision3实现用C语言进行编程和调试。使用keil时,新建或者打开已有文件,按步骤一步步来,漏掉哪一步都会影响最后程序是否能顺利写入单片机中。其中应注意保存C文档、添加文件到工程中和建立hex文档这几个关键步骤。 2. 发光二极管和数码管的显示。发光二极管的静态显示是学习单片机的入门路标。分析相关模块的电路图,弄清楚引脚连接情况,根据电路图直接控制LED引脚电位的高低就能实现对相应LED亮灭的控制。了解后完成走马灯或更多其他规则的LED显示。数码管的显示较LED稍微复杂一点点,它分位选和段选,位选控制整个数码管的亮灭,段选控制各数码管以何种形式亮或灭。数码管的显示分三步:.全部数码管显示一样的字符;.选定的数码管以规定的形式亮;.数码管的动态显示。其中利用定时器或者延时程序控制数码管动态显示的频率,以调节其显示亮度和视觉稳定度。 用延时函数完成动态扫描: while { D1=nn/100; D2=nn%100/10; D3=nn%10; P1=0x01; P0=tab[D1]; delay; P1=0x02; P0=tab[D2]; delay; P1=0x04; P0=tab[D3]; delay; } 延时子程序: void delay // 延时1ms子程序 { unsigned char y; while { for; } } 3. ? ? GATEGATE=1,用软件使TR0或TR1为1,同事外部中断引脚也为高,启动。我们一般置GATE=0。C/T=0,位定时器;C/T=1,位计数器。 ? 对于定时时间的计算:t?计数值N?机器周期T?N?12? 1 focs 或:要定时时间t=* ? 定时/计数器初始化步骤: 根据上面的信息,对TMOD赋初值,确定T0、T1的工作方式。 计算初值,将其写入TH0、TL0或TH1、TL1。 为中断方式时,对IE赋值,开放中断。 使TR0或TR1置高,启动定时/计数器。 例: TMOD=0x01;//T0处于工作方式1,为十六位定时/计数器 TH0=/256; TL0=%256; EA=1;ET0=1; TR0=1; //T0初始化完毕 定时子程序: void timer0 interrupt 1 //定时子程序 { TH0=/256; TL0=%256; aa++; if { } aa=0; ?? } 4. 键盘。单片机键盘分独立键盘和矩阵键盘两类,矩阵键盘涉及键盘扫描程序。而与键盘按下有关的程序就要注意到消除抖动和松手检测两个重要的细节。松手检测原理是,当键按下时,key2为低,!key2=1,此时程序一直在while语句里面循环,无法跳出来,一旦松手,key2为高,程序即可跳出while循环,执行下面接下来的语句。 if { delay;//延时5ms if //确定key2键的确按下,,消抖 { while;//松手检测 ?? } } 5. 串口通信。串行通信的传输速率用波特率表示。波特率定义为:每秒发送二进制数码的位

文档评论(0)

wdjp11801 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档