欢迎来到天天文库
浏览记录
ID:8172897
大小:76.68 KB
页数:22页
时间:2018-03-09
《【引用】滚动码发码程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、【引用】滚动码发码程序和大家分享这篇日志,我的看法是: 原文地址:滚动码发码程序 原文作者:追风// 滚动码实验//---------------------------------------------//文件名: send.c//版本: V1.0//日期: 13/12/06//功能: 发送滚动码//编译环境:HiTechPICCcompilerv.8.05//使用MCU: PIC16F877//++++++++++++++++++++++++++
2、+++++++++++++++++++// 发码说明//+++++++++++++++++++++++++++++++++++++++++++++/*(一)定义逻辑单元格式,引导码和同步头:1,定义一个逻辑单元=3TE(TE=400um为一个单位)。2,定义逻辑0为:高电平=2TE,低电平=1TE; 定义逻辑1为:高电平=1TE,低电平=2TE,3,引导码为:3TE的高电平。4,同步头为:10TE的低电平。(二)32位固定码格式定义RVOOKKKK IIIIIIII
3、 IIIIIIII IIIIIIIII=S/N ->序列号 (24BIT)K=KEY ->按键 (4BIT)R=Rept ->重复/首次 (1BIT) //暂时不使用V=Vlow ->低电 (1BIT) //暂时不使用O= ->保留位 (2BIT)(三)32位跳码格式定义KKKKDDDD SSSSSSSS SSSSSSSS DDDDDDDD//S=Sync ->同步计数器 (16BIT) //暂时使用1
4、6位//D=Disc ->识别码 (8BIT) //暂时使用8位(四)发射和接收拥有相同的32位厂家码(MA)*///---------------------------------------------#include//---------------------------------------------//---------------------------------------------// 常量定义//---------------
5、------------------------------#define TE 400 //TE=400,基本时间单元#define Period 200 //TIME2 200us中断一次#define On 1 //键盘按值,高有效#define Work_Main0 0xa1 //厂商ID定义#define Work_Main1 0xb2 #defi
6、ne Work_Main2 0xc3 #define Work_Main3 0xd4 #define Key0 RA0 //键盘定义#define Key1 RA1 #define Key2 RA2 #define Key3 RA3 #define RFout RB2 //信号输出 //测试位是否
7、为1的两种方法#define Test(byte,bite)(((byte)&(1<<(bite)))!=0) //测试位是否为1,为1则返回1,0则返回0#define STATUSIT(avr,s) ((unsigned)(&avr)*8+(s))//绝对寻址定义staticbitC@STATUSIT(STATUS,0); //对进位位进行定义//---------------------------------------------//
8、 内存定义 //---------------------------------------------unsignedchar SendBar[8]; //发送数组#define KeyboardSendBar[0] //发送码[0],固定码,低四位是键值#define SNH SendBar[1] //发送码[1],固定码,序列号高位#define SNM
此文档下载收益归作者所有