推荐阅读最新更新时间:2024-03-16 14:53
MSP430和AT89C51单片机4x4键盘C程序
本程序在一位上显示按键,如果多位显示主程序需要修高为多位显示。本程序软件包括去抖功能,没有注释说明。 #include reg51.h #define uchar unsigned char #define uint unsigned int uint key,i; uchar temp,temp1,ms,buff; uchar tab ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80, 0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; void delay(ms) { while(ms--) { for(i=0;i 120;i++);
[单片机]
手把手教你学51单片机之十八 RS485通信与Modbus协议
在工业控制、电力通讯、智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换。最初采用的方式是RS232接口,由于工业现场比较复杂,各种电气设备会在环境中产生比较多的电磁干扰,会导致信号传输错误。除此之外,RS232接口只能实现点对点通信,不具备联网功能,最大传输距离也只能达到十几米,不能满足远距离通信要求。而RS485则解决了这些问题,数据信号采用差分传输方式,可以有效的解决共模干扰问题,最大距离可达1200米,并且允许多个收发设备接到同一条总线上。随着工业应用通信越来越多,1979年施耐德电气制定了一个用于工业现场的总线协议Modbus协议,现在工业中使用RS485通信场合很多都采用Modbus协议,本节课我们就
[单片机]
51单片机指令集设计实例
当你编写完一个程序后,通过软件调试,你可以看到程序的指令集,从指令集你就能知道单片机内部是如何工作的,比如数据存取的寄存器与地址,下面是电工之家找的一篇指令集,讲的蛮好的。 一、数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送; MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX(Move External RAM)对外部RAM的数据传送; XCH(Exchange)字节交换; XCHD(Exchange low-order Digit)低半字节交换; PUSH(Push onto Stack)入栈; POP (Pop from Stac
[单片机]
c51单片机寻址结构
最近要一直uc/os,需要补习一下汇编
[单片机]
MSC51单片机交通灯程序
/*************************************************************** * 程序名称:MSC51单片机交通灯 晶振:12.00 P1口 * 实验对象:HC6800单片机学习开发板 * 单 片 机:AT89S52或STC89C52 时间:红绿灯各亮10s * * 更多的资料和程序共享请关注51hei.com ****************************************************************/ /#include reg52.h #define uchar unsigned char /*宏定义 */ #defin
[单片机]
51单片机中断笔记
一、中断的概念 对于单片机中断,可以简单理解为在看电视的过程中,突然蹦出一个广告,广告过了在继续播放之前的节目。CPU在处理事件A时,发生了另一事件B,请求CPU迅速去处理(中断发生),CPU中断当前的工作,转去处理事件B(中断响应和中断服务),待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回)。 二、基本中断源 1.51单片机中的5个重要中断 单片机的应用与开发,实际上就是通过单片机的三个重要外设,即外部中断、定时器/计数器和串口来实现对寄存器的操作。 三、中断结构图 四、特殊功能寄存器 IE :中断控制寄存器 IP :中断优先级寄存器 TCON :中断状态标志寄器 TMOD :定
[单片机]
基于8051单片机制作一个酒精测试仪
我们经常看到交警在查司机酒驾的时候,会使用酒精测试仪来检查他们是否受酒精影响。其实,酒精测试仪其实很容易制作,以下是如何自制具有3位显示输出的酒精测试仪。当然,毕竟是作为简单案例使用,所以准确度要差点。 在本文中,使用8051单片机的呼吸分析仪电路,它从呼吸中输出血液酒精含量(BAC)。“酒精含量的百分比”在3位七段显示器上以百分比显示。使用的单片机是8051系列的AT89S51和酒精传感器MQ135气体传感器。 一、MQ135气体传感器电路 MQ135是一款稳定灵敏的气体传感器,可检测氨、二氧化碳、酒精、烟雾、二氧化氮等。该传感器由氧化铝微管内的二氧化锡敏感层、测量电极和管状铝壳内的加热元件组成。传感器的前端用不锈钢网覆
[单片机]
为什么89C51单片机的P0-P3口进行输入时要设置为1
89C51单片机的P0~P3口不是标准意义的双向口 ,他只是准双向口,你可以对照着P0口的结构图看这段话,向端口写1,就是向锁存器写1,也就是让其口输出FF,为什么,是这样的,给锁存器写1,那么锁存器的反向端就输出0,那么和它相接的MOS管也就在截止状态,也就是呈高阻态,这样P0口上数据就会从读引脚的三态缓冲器上正确的输入,如果不写1,那么锁存器上次锁存的可能为0,那么反向端有可能出现1,这样和反向端相接的MOS管就倒通,也就是直接拉到地,那么不管你P0口上输入什么信号都会拉成低电平,输入就错了要对其置1,否则若前一位为低电平,后一位输入的电平为高则MOS管拉不起来导致出错。而双向口则不需要做此动作,因为双向口有悬浮态。准双向口只
[单片机]