推荐阅读最新更新时间:2024-11-06 01:46
8051单片机-多机通信的研究
单片机构成的多机通信系统中常采用总线型主从式结构。在多个单片机组成的系统中,只允许存在一个主机,其他的就是从机,从机要服从主机的控制,这就是总线型主从式结构。 当51单片机进行多机通信时,串口要工作在方式2和方式3。假设当前多机通信系统有1个主机和3个从机,从机地址分别是00H、01H、02H。如果距离很近它们直接可以以TTL电平通信,一旦距离较远的时候,常采用RS-485串行标准总线进行数据传输。 为了区分是数据信息还是地址信息,主机用第九位数据TB8作为地址/数据的识别位,地址帧的TB8=1,数据帧的TB8=0。各从机的SM2必须置1。 在主机与某一从机通信前,先将该从机的地址发送给各从机。由于各从机SM2=1,接
[单片机]
51单片机课程设计:基于TCS230/3200的颜色复制显示器
本程序将从颜色识别模块读取到的数据显示在LCD1602上,同时生成对应的PWM波操作三色灯显示不同颜色,以此来实现颜色的复制显示,关于各模块的接线方法在源码都有详细介绍,同时,相关工程文件以及资料可在文章最下方下载。 关于粘贴复制乱码的问题:如果程序复制到Keil编译器上出现注释乱码,可以先建一个.c文件,也就是说不在keil里面编辑,然后用记事本打开.c文件,将源码复制进去,再在keil中添加文件即可。 /************************************************************************************** 基于TCS3
[单片机]
8051单片机指令系统的7种寻址方式解析
寻址方式:寻址就是寻找操作数的地址。绝大多数指令执行时都需要操作数,因此就存在如何确定操作数地址的问题。所谓寻址方式就是通过什么途径获取操作数的方式。根据指令操作的需要,计算机总是提供多种寻址方式。一般来说,寻址方式越多计算机的寻址能力就越强,但指令系统也就越复杂。 8051指令系统有7种寻址方式:寄存器寻址,直接寻址,寄存器间接寻址,立即寻址,基址寄存器加变址寄存器间接寻址,相对寻址,位寻址,下面分别介绍。 寄存器寻址 寄存器寻址:寄存器寻址就是操作数在寄存器中,因此指定了寄存器就得到了操作数。采用寄存器寻址方式的指令都是一字节的指令,指令中以符号名称来表示寄存器。例如:MOV A R1 这条指令的功能是把工作寄存器R1
[单片机]
51单片机-高位不显示0
在上一讲代码基础上,根据常识,变量没有到达10时,数码管1和数码管2应该是不需要点亮的,也就是高位不显示0。 1.代码参考 笔者参考了宋老师的代码,他的做法就是额外开辟出一个数组用来做缓存,P0去取这个数组里的值即可,初始化的时候如下 unsigned char LedBuff = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; 然后各块内存用来存放对应的数码管显示的状态值,比如像上一讲的代码,我们这样存放好: LedBuff = LedChar ; LedBuff = LedChar ; LedBuff = LedChar ; 到时赋给P0的值就是LedBuff ,LedBuff ,LedBuff
[单片机]
8051单片机教程第十二课:逻辑运算类指令
对累加器A的逻辑操作: CLRA;将A中的值清0,单周期单字节指令,与MOVA,#00H效果相同。 CPLA;将A中的值按位取反 RLA;将A中的值逻辑左移 RLCA;将A中的值加上进位位进行逻辑左移 RRA;将A中的值进行逻辑右移 RRCA;将A中的值加上进位位进行逻辑右移 SWAPA;将A中的值高、低4位交换。 例:(A)=73H,则执行CPLA,这样进行: 73H化为二进制为01110011, 逐位取反即为10001100,也就是8CH。 RLA是将(A)中的值的第7位送到第0位,第0位送1位,依次类推。 例:A中的值为68H,执行RLA。68H化为二进制为01101000,按
[单片机]
MCS-51单片机外部引脚及总线接口
51系列单片机一般采用40只引脚的双列直插式(DIP——Dual In-line Package)封装结构。 除DIP封装外, 51单片机还采用44只引脚的方形扁平(QFP——Quad Flat Package) 封装方式(4只引脚无用)。 三类 端口引脚 (共32只) 电源及晶振引脚(共4只) 控制引脚(共4只) (1)端口引脚 P0.0~P0.7(39~32脚)——P0口 P1.0~P1.7(1~8脚)——P1口 P2.0~P2.7(21~28脚)——P2口 P3.0~P3.7(10~17脚)——P3口 8只/组×4 组= 32 只引脚 P0口~P3口是单片机对外联络的重要通道 (2)电源及晶振引脚 VC
[单片机]
51单片机位寻址指令与编程
80C51单片机有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。所谓位寻址,就是对内部RAM或可位寻址的特殊功能寄存器SFR内的某个位,直接加以置位为1或复位为0。 位寻址的范围,也就是哪些部份可以进行位寻址: 1、我们在第十二课学习51单片机的存储器结构时,我们已知道在单片机的内部数据存储器RAM的低128单元中有一个区域叫位寻址区。它的单元地址是20H-2FH。共有16个单元,一个单元是8位,所以位寻址区共有128位。这128位都单独有一个位地址,其位地址的名字就是00H-7FH。 这里就有一个比较麻烦的问题需要大家理解清楚了。我们在前面的学习中00H、01H。。。。7FH等等,所表示的都是一个字节(或
[单片机]
51单片机串口应用实例(汇编)
一、 实验题目 猜数字小游戏:串行口发送0x01、0x02、0x03 HEX数据中的一个到51单片机,对应的按键key1-key3,发送数据之后,另一边人员猜测对应的HEX码,并按下对应的按键,若按下正确的按键,则LED灯闪烁,按下不正确的按键,则蜂鸣器响一下报错,程序可以一直执行到猜中停止,此时按下key4清空复位运行数据,等待下一个串口发送的数据进行下一次猜数字。 二、 设计方案及电路 设计方案: 串口通过定时器1产生9600波特率,接收中断里面处理接收数据,主循环里面对接收数据进行判断,根据不同的HEX码转换到不同的按键判断任务,通过扫描的方式读取KEY1-3,判断读取的值,如果与HEX码对应的按键不同,则跳转到蜂鸣器报警
[单片机]