MCS-51单片机的时序单位的定义说明-我们把振荡脉冲的周期定义为节拍(为利便描述,用P表示),振荡脉冲经由二分频后即得到整个单片机工作系统的时钟信号,把时钟信号的周期定义为状态(用S表示),这样一个状态就有两个节拍,前半周期相应的节拍我们定义为1(P1),后半周期对应的节拍定义为2(P2)。
单片机ATmega8读取165串入拨码开关地址的程序分享-晶振:内部1M//
//Author:wanghu//
//AVRGCC@2008.6.1//
#include
#include
/**********定义位操作的位移宏bywanghu********/
#definesetbit(val,bitn)(val|=(1《《(bitn)))//
#defineclrbit(val,bitn)(val&=~(1《《(bitn)))//
#definegetbit(val,bitn)(val&(1《《(bitn)))//
//使用方法:if(getbit(PINB,7))//
//setbit(PORTB,0);//
//elseclrbit(PORTB,0);//
AT90S8515单片机对LED数码显示管的控制设计-第1行表示程序中包含定义AT90S8515特殊功能寄存器的头文件8515def.inc,指明所用器件为AT90S85150接着定义寄存器r16、r22分别为暂存器temp、scndp。在程序前面用伪指令equ为寄存器赋予能帮助编程者识别数据用途的符号,提高了程序的可读性,便于程序的修改,读者也应养成用这种方法编程的习惯。
51单片机对无线抢答器的设计-#define CLEAR 0x7f //定义清空的反码
#define LED_BEGIN 0x01 // 定义开始时数码管的显示
#define LED_FOUL 0x38 // 犯规后显示字母“F”,数码管编码
#define LED_C 0x31 // 字母“C”的编码
#define LED_L 0x71 // 字母“L”的编码,两个用来在主持人取消之后显示“CL”–cancel
#define GET 1 // 这个是作为一个函数的参数来混的,就是成功抢答的意思
#define FOUL 0 // 和上面的参数一起混的,犯规—这两个的用法在后面体现
#define READY 0x7e
单片机电子时钟的设计-定义一个结构体类型 sTime 用来封装日期时间的各个元素,又用该结构体定义了一个时间缓冲区变量 bufTime 来暂存从 DS1302 读出的时间和设置时间时的设定值。需要注意的是在其它文件中要使用这个结构体变量时,必须首先再声明一次 sTime 类型;
51单片机IO口模拟串口的实现-#include
sbit BT_SND =P1^1;
sbit BT_REC =P1^0;
//1602部分引脚定义
sbit LCM_RW =P2^1 ;//定义引脚
sbit LCM_RS =P2^0;
sbit LCM_E =P2^2;
#define LCM_Data P0
#define Busy 0x80 //用于检测LCM状态字中的Busy标识
#define F_TM F0
#define TIMER0_ENABLE TL0=TH0; TR0=1;
51单片机控制舵机旋转的设计-#include“reg52.h”
#include //包含NOP空指令函数_nop_();
#define AddWr 0x90 //写数据地址
#define AddRd 0x91 //读数据地址
sbit Sda=P1^2; //定义总线连接端口
sbit Scl=P1^1;
sbit control_signal=P1^5;
data unsigned int Display[8];//定义临时存放数码管数值
8051单片机的内部的结构及运行过程解析-51单片机是EPROM,所谓的EPROM是可擦除的只读存储器。可以把原来的程序擦除了,再写一个新的进去。
断电后是可以保存的,数据存储器(RAM)是不能保存的。
RAM只能在程序执行的时候不断地重新存储定义的变量。如int x,int y
可以通过code这个指令来将定义的变量放在ROM,而不是RAM中,节省RAM资源
单片机中的时钟周期是如何定义的-时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。