unsigned char Trg;unsigned char Cont;void KeyRead( void ){ unsigned char ReadData =PINB^0xff; // 1 Trg = ReadData & (ReadData ^ Cont); // 2 Cont = ReadData; // 3}下面是程序解释:Trg(triger
51 IO口模拟串口通讯C源程#include sbit BT_SND =P1^0;sbit BT_REC =P1^1;/**********************************************IO 口模拟232通讯程序使用两种方式的C程序 占用定时器0********************
缓冲输入,很早之前就听说过这个概念,一直不怎么理解。后来,一听到缓冲,脑子就昏沉沉的。其实,缓冲输入也没啥大不了的,只要有打破砂锅想到底的精神,就能扫除以前所有的似是而非。缓冲输入(buffe
c8051f005单片机PWM测试程序//PWM输出脚P0.3//-----------------------------------------------------------------------------//Includes//-------------------------------------------------------
#include"C8051F040.h"#defineucharunsignedchar#defineuintunsignedintucharxdatavirt_port;bitSPI_BUSY;unsignedcharxdatatab1[8]={0x53,0x31,0x53,0x32,0x53,0x33,0x53,0x34};sbitkey1=P2^0;sbitkey
;*********************************************************************************************;;以下程序能用于24小时计时,能作为秒表使用,能定时闹铃1分钟(也可关).;使用方法:开机后在00:00:00起
单片机及单片机通讯程序#include#defineucharunsignedchar#defineSLAVE0x00#defineBN16ucharidatatdata[16];ucharidatardata[16];bittrdy;bitrrdy;voidmain(void){TMOD=0x20;//定时器T1为模式2TL1=0xfd
LCD12864显示遥控键值读取程序#include#include#defineucharunsignedchar#defineuintunsignedint/*TS12864A-3端口定义*/#defineLCD_dataP0//数据口sbitLCD_RS=P2^0;//寄存器选择输入sbitLCD_RW=P2^1;//
AT93C46/56/57/66 EEPROM 芯片通用读写程序;模块包含:READ(读),WRITE(写),WRAL(片写),ERASE(擦除),ERAL(片擦除),;EWEN(擦写允许),EWDS(擦写禁止).;此模块适用于:AT93C46/56/57/66EEPROM芯片,8位(ORG=0)
1335LCD显示C程序//;-------------------------------------------------------------------//;SED1335//;LCM指令端口地址FFFFH:数据端口地址:FFFEH//;320*240点阵整屏的点象素为76800,也就有9600(2
DISPBUFEQU50H;50H,51H,52H,53H是显示缓冲区LED1EQUP2.0;第一位数码管的位控制LED2EQUP2.1;第二位数码管的位控制LED3EQUP2.2;第三位数码管的位控制LED4EQUP2.3;第四位数码管的位控制LED5EQUP2.4LED6EQU
;显示字用查表法,不占内存,用四个16*16共阳LED点阵显示,;效果:向上滚动显示字,每次四个,重复循环。;R2:行扫描地址(从00-0FH)。;R3:滚动显示时控制移动速度,也可控制静止显示的时间。;********
;*********************************************************************************************;;以下程序能用于24小时计时,能作为秒表使用,能定时闹铃1分钟(也可关).;使用方法:开机后在00:00:00起
89c51 8位LED动态扫描时钟程序//使用12MHz晶振,P0口输出段码,P2口作列扫描,用共阳LED数码管//#include"reg51.h"codechardis_7[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};/*共阳
数码管秒表C程序* 数码管显示秒表, 分辨率0.01s * K1---控制按钮* 第一次按下时, 启动开始计时* 第二次按下时, 停止* 第三次按下时, 归零* 引用资源:数码管数据 p0口,数码管控制p2口 控制按
PT16312驱动C程序#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlong#definecm1co1.co1#definecm2co2.co2#definecm3co3.co3#definecm4co4.co4#include#include#definecmdd0#defi
#include/*************************ds1302与at89s52引脚连接********************/sbitT_RST=P3^5;sbitT_CLK=P3^6; sbitT_IO=P3^7; sbitACC0=ACC^0;sbitACC7=ACC^7;unsignedcharseg[]={0x00
/*==========================================*//*1.本程序采用keil编译系统.*//*2.本程序为水底灯简易Dmx控制器*//*3.采用AT89C52单片机,Fosc=16MHz*/*//*=========================================
#include"reg51.h"sfrT2CON=0XC8;sfrT2MOD=0XC9;sfrRCAPL2=0XCA;sfrRCAPH2=0XCB;sfrTH2=0XCC;sfrTL2=0XCD;sbitGREEN=P1^0;sbitBLUK=P1^1;sbitYELLOW=P1^2;sbitRED=P1^3;sbitLED=P1^5;bitrevfg;unsigned
/*multi_s.c*//*多机通信的从机部分*/#ifndef__MULTI_S_C__#define__MULTI_S_C__#include#include#define__MAX_LEN_64//数据最大长度#define_MHz_11//设置单片机使用的晶振频率(11.0592MHz)/*以下为程序