如上述C代码中,把延时函数的定义删除了,然后把延时函数的实现搬到main函数的上面,编译后程序代码减少到63个字节,减少了4个字节,如图6-5所示。图6-4 编译结果2图6-5 编译结果3省略函数形参函数带形参,是为了在函数调用时传递实参,不但可以避免重复代码出现,还可以通过传递不同的实参值多次调用函数且实现不同的函数功能,总体代码也会得到精简。......
2023-10-28
(1)单片机4组I/O口P0~P3内部结构、对应的特殊功能寄存器、驱动能力及程序控制方法
(2)每个端口都包括锁存器、输出驱动器、两个三态缓冲器以及控制电路
(3)P0口特点
1)控制端高电平时,作为低8位地址和8位数据分时使用口,供扩展时使用。
2)控制端低电平时,接地端MOS管截止,使非接地端MOS管漏极开路,输出“1”时须外接上拉电阻,最小系统作准双向I/O口用。
3)对应特殊功能寄存器地址80H。
(4)P1口特点
1)准双向口:作为I/O输入时,口锁存器必须置“1”,使MOS管截止,输入信号通过“读引脚”三态缓冲器进入内部总线。
2)内部有上拉电阻(20~40kΩ)。
3)由于没有其他复用,在应用时,是I/O优先选用端口。
4)对应特殊功能寄存器地址90H。
(5)P2口特点
1)控制端高电平时,作为高8位地址输出口。
2)控制端低电平时,最小系统(8051、8751)作准双向I/O口用。
3)对应特殊功能寄存器地址A0H。(www.chuimin.cn)
(6)P3口特点
1)准双向口:条件为第二功能输出端常“1”,与门开锁。
2)第二功能口:作为第二功能口使用时,(P3)=FFH;某位作为第二功能输入时,第二功能输出也必须置“1”。
P3口引脚的第二功能见表7-1。
表7-1 P3口第2功能
3)对应特殊功能寄存器地址B0H。
(7)读锁存器与读引脚
80C51单片机中,输入有两种方式,分别称为“读引脚”和“读锁存器”。
第一种方式是将引脚作为输入,从外部引脚读进输入的值,即当引脚作为输入端时用读引脚的方式来输入。
第二种方式是引脚作为输出端使用时采用的工作方式。
8051单片机中引入了读锁存器这种操作,避免出现“失误”,读的是控制锁存器,而不是引脚本身。
(8)掌握位操作指令、移位指令、查表程序设计
(9)发光二极管结构、发光原理及程序驱动
有关51单片机案例笔记的文章
如上述C代码中,把延时函数的定义删除了,然后把延时函数的实现搬到main函数的上面,编译后程序代码减少到63个字节,减少了4个字节,如图6-5所示。图6-4 编译结果2图6-5 编译结果3省略函数形参函数带形参,是为了在函数调用时传递实参,不但可以避免重复代码出现,还可以通过传递不同的实参值多次调用函数且实现不同的函数功能,总体代码也会得到精简。......
2023-10-28
AT89S51是单片机的一种型号,这种型号下有DIP、PLCC、TQFP等封装。DIP封装的芯片从芯片插座上插拔时应特别小心,以免损坏引脚。51单片机的DIP封装如图2-8所示。图2-8 51单片机的DIP封装a)器件外观 b)器件外观及尺寸图2-8 51单片机的DIP封装(续)c)电路符号 d)焊接剖面51单片机的PLCC封装如图2-9所示。4)芯片面积与封装面积之间的比值较小。......
2023-10-28
硬件设计一个嵌入式系统的硬件电路设计包括三部分内容:单片机芯片的选择、单片机系统扩展、系统配置。2)系统的扩展与外设配置的水平应充分满足应用系统当前的功能要求,并留有适当余地,便于以后进行功能的扩充。4)整个系统中相关的元器件要尽可能做到性能匹配。2)各功能程序实现模块化、系统化。4)运行状态实现标志化管理。软件抗干扰是计算机应用系统提高可靠性的有力措施。......
2023-10-28
评价程序优劣的因素1)正确性,容错性。程序设计过程与基本设计方法1)模块化;结构化;自顶而下与自底而上。4)从原理到程序实现:原理→模型→算法→流程→程序设计→调试→优化→验证→建档。常用的程序调试方法1)原则:先硬后软;先局部,后整体。程序的优化与文件编制1)参照评价因素,修改程序结构、数据结构、算法及程序等。5)使用说明功能、操作方法、出错信息与排除方法、注意事项等。......
2023-10-28
图3-4 焊接的操作姿势a)握笔法 b)正握法 c)反握法焊接步骤1)准备焊接。如焊丝中已加了焊剂,则不需要在焊接时另加焊剂。注意加热时烙铁和焊件采用面接触,不要用烙铁对焊件施加压力。2)查看是否有连焊、焊点是否拉尖的现象。6)焊接部位有无热损伤和机械损伤现象。在外观检查中发现有可疑现象时,采用手触检查。......
2023-10-28
汇编程序如下:第2条指令执行后,如图4-5所示,内部RAM中15H单元的内容已送入R6中;继续执行第3条指令,结果显示与图4-4相同。图4-13 任务2存储器窗口显示5上述程序需要说明的是:1)由于PUSH指令不能寄存器寻址,即R2不能压栈弹栈,因此压栈弹栈操作需对直接地址02H操作。图4-14 任务3存储器窗口显示12)解法2。分析:64H的无符号数和有符号数表示见表4-4。表4-5 64H+64H的CY和OV结果按照PSW定义,由图4-16可知运算后PSW为00000101B。......
2023-10-28
1)使用非法的或错误的标识符,如main写成mian,写成,或使用sin(2α)、cosΦ、π*r*r等。2)变量未经定义就使用。3)变量类型使用不当。5)语句或定义结束缺少分号或误用分号。6)表达式中漏写了必要的乘号*。例如,将3*x*y+5错写成3xy+5。7)表达式中缺少必要的圆括号,或圆括号不匹配,或者用花括号、方括号取代了圆括号。......
2023-10-28
由于印制电路板上面的元器件排列没有什么规律可循,故不像识读电路原理图那样方便。下面介绍识读印制电路板的方法。2)电路原理图与印制电路板相互对照。4)正确区分印制电路板的地线、电源线和信号线。此外,在既有模拟电路又有数字电路的电子产品中,印制电路板上往往将各自的地线分开,形成独立的接地网,这也可作为识别判断的依据。......
2023-10-28
相关推荐