- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【引用】滚动码发码程序
和大家分享这篇日志,我的看法是:
原文地址:滚动码发码程序 原文作者:追风
// 滚动码实验//---------------------------------------------// 文件名: send.c// 版本: V1.0 // 日期: 13/12/06// 功能: 发送滚动码// 编译环境: HiTech PIC C compiler v.8.05// 使用MCU: PIC16F877//+++++++++++++++++++++++++++++++++++++++++++++// 发码说明//+++++++++++++++++++++++++++++++++++++++++++++/*(一)定义逻辑单元格式,引导码和同步头:1,定义一个逻辑单元=3TE (TE=400um为一个单位)。2 ,定义逻辑0为:高电平=2TE,低电平=1TE; 定义逻辑1为:高电平=1TE,低电平=2TE,3 ,引导码为:3TE的高电平。4 ,同步头为:10TE的低电平。(二)32位固定码格式定义RVOOKKKK I I I I I I I I I I I I I I I I I I I I I I I II=S/N - 序列号 (24 BIT)K=KEY - 按键 (4 BIT)R=Rept - 重复/首次 (1 BIT) // 暂时不使用V=Vlow - 低电 (1 BIT) // 暂时不使用O= - 保留位 (2 BIT)(三)32位跳码格式定义KKKKDDDD SSSSSSSS SSSSSSSS DDDDDDDD// S=Sync - 同步计数器 (16 BIT) //暂时使用16位// D=Disc - 识别码 ( 8 BIT) //暂时使用 8位(四)发射和接收拥有相同的32位厂家码(MA)*///---------------------------------------------#include pic.h//---------------------------------------------//---------------------------------------------// 常量定义//---------------------------------------------#define TE 400 // TE=400,基本时间单元#define Period 200 // TIME2 200us中断一次#define On 1 // 键盘按值,高有效
#define Work_Main0 0xa1 // 厂商ID定义#define Work_Main1 0xb2 #define Work_Main2 0xc3 #define Work_Main3 0xd4
#define Key0 RA0 // 键盘定义#define Key1 RA1 #define Key2 RA2 #define Key3 RA3 #define RFout RB2 // 信号输出 //测试位是否为1的两种方法#define Test(byte,bite) (((byte)(1(bite)))!=0) //测试位是否为1,为1则返回1,0则返回0#define STATUSIT(avr,s) ((unsigned)(avr)*8+(s)) //绝对寻址定义static bit C @ STATUSIT(STATUS,0); //对进位位进行定义//---------------------------------------------// 内存定义 //----------
文档评论(0)