首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2025汽车电子峰会
2025 AI+IoT 生态大会
2025MCU及嵌入式论坛
直播:介电常数那些事儿
汽车全域ADAS方案
行业及技术活动
研华嵌入式论坛(深圳 武汉 苏州)
嵌入式设计资源库
杂志免费订阅
EE直播间
白皮书
小测验
在线研讨会
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
雁塔菜农
修改
文章:
1274
阅读:
4991949
评论:
679
赞:
9332
俺是农民俺怕谁???
好友
私信
个人主页
俺是农民俺怕谁???
文章
1274
原创
0
阅读
4991949
评论
679
赞
9332
原创
单总线数据发送“零耗时CRC检测”算法的软件实现
2007-1-6 00:41
4364
12
12
分类:
MCU/ 嵌入式
单总线数据发送“零耗时CRC检测”算法的软件实现(灌水作)-(精)
雁塔菜农 发表于 2005-5-3 3:51:00
返回的hotpower的个人主页
hotpower 发表于 11/25/2003 2:23:22 PM 侃单片机 ←返回版面
;单总线数据发送“零耗时CRC检测”算法的软件实现(灌水作)
;------------------------------------------------------------------
;看“刀客”如何将HotPower“斩立决”的程度,再决定是否发
;单总线数据接收“零耗时CRC检测”算法的软件实现(灌水作)
;当然,“死人”是不会发言的,更不可能灌水了。
;让HotPower的文章中,不出现“漏水”现象是不可能的,也是万万不能的。
;不搞笑的论坛——永远是“死水一潭”。。。。。。。。。。。。。。。。
;否则,HotPower“到此一游”不就变成“悼词一忧”了吗???
;“笑比哭好”,“刀客收剑”才能“立地成佛”呀。。。
;------------------------------------------------------------------
BBCOUT BIT INT0;发送数据管脚定义
BBCIN BIT INT1;接收数据管脚定义
;-------单总线1字节数据发送子程序-------------------------------
BBCOUTPROC:
;--------------------------------------------------------------
;算法: 动态右移CRC8算法(经典是静态CRC8,非典是动态CRC8)
;本算法的最大优点是在发送期间,实时进行CRC运算。(“零耗时”)
;不会出现“作弊”现象,主从设备都是同时收到CRC运算结果!!!
;通讯速率可达16.3KBPS到32KBPS(51主频为11.0592MHz时)
;本算法与经典的CRC算法最大的不同点:
;经典CRC8是以字节为单位的,而非典的CRC8则是以位为单位的。
;参见HotPower在EMC的主题“群魔乱舞的CRC...”
;--------------------------------------------------------------
;入口:
; CRC0 主设备发送实时CRC码
; CRC1 主设备发送线路CRC码
; ACC 发送数据
;出口:
; ACC=0 一字节数据发送成功
;--------------------------------------------------------------
MOV R2,#08H;每次发送8位
BBCOUTPROC_LOOP:
;-------主设备发送同步脉冲---------------------------------
CLR BBCOUT;发送同步脉冲(低电平)
;----------------------------------------------------------
RRC A;取发送数据位DX
;-------BBC总线为双向电路,自发自收,用于总线测试------------
JB BBCIN,$;等待收到同步脉冲
;-------主设备发送1位数据----------------------------------
MOV BBCOUT,C;发送数据位DX
;-------“零耗时”CRC运算----------------------------------
MOV R7,A;暂存移位后的数据
RLC A;还原移位前的数据
XRL A,CRC0;比较移位前数据和实时CRC码的最低位
RRC A;得到比较结果位CY
MOV A,CRC0;取实时CRC码
JNC BBCOUTPROC_NEXT0;比较结果位相同,不取反
;-------8位右移CRC“权”X^8+X^5+X^4+1-----------------------
XRL A,#18H;取反ACC4,ACC3
BBCOUTPROC_NEXT0:
RRC A;8位右移CRC算法,ACC右移一位
MOV CRC0,A;得到本次的实时CRC码
MOV A,B;取回收数据
;-------释放总线,“零耗时”CRC运算刚好结束------------------
SETB BBCOUT;由于本系统传输时延较大,故将此句提前
;-------主设备也在45uS处(左右)采样数据-----------------------
;目的是检测线路上传输的CRC是否正确,模拟从设备接收的CRC结果
;由于系统约定的主从设备的收发硬件电路相同,当总线有人“捣乱”
;时,主设备的“刀客”立即就会发现,“爱国者导弹”就可立即升空
;拦截,以保证通讯线路的“畅通无阻”,“教主万寿无疆”。。。
;这样,主从设备都可同时发现目标,不需应答就可“先斩后奏”
;哈哈,“生命诚可贵,灌水价更高。”
;“砍头不要紧,只要主义真。杀了我一个,自有后来人”!
;------------------------------------------------------------
MOV C,BBCIN;回收的线路输出的数据
;-------计算主设备输出的CRC----------------------------------
RRC A
MOV B,A;保存回收数据(为何不将HotPower放入回收站)
RL A;还原移位前的数据,但不破坏CY
XRL A,CRC1;比较移位前回收数据和线路CRC码的最低位
RRC A
MOV A,CRC1
JNC BBCOUTPROC_NEXT1;比较结果位相同,不取反
;-------8位右移CRC“权”X^8+X^5+X^4+1-----------------------
XRL A,#18H;取反ACC4,ACC3
BBCOUTPROC_NEXT1:
RRC A
MOV CRC1,A;保存
;-------“零耗时”CRC运算结束---------------------------------
;所谓“零耗时”,并非不耗时。
;主要是在“刀客”行刑前,再为人民做些好事,不想“虚度光阴”
MOV A,R7;恢复移位后的数据
;-------传输时延较小时,释放总线命令可放与此处----------------
; SETB BBCOUT;由于本系统传输时延较大,故将此句提前
;-------------------------------------------------------------
JNB BBCIN,$;等待释放总线
DJNZ R2,BBCOUTPROC_LOOP;8位数据未发完,继续
;-------检测主设备发送数据是否正常----------------------------
;“刀客”在此判断,若CRC0<>CRC1,可以“斩立决”,毫不留情
;在此下手,HotPower心服口服。绝不说半个“不”字!!!
;在此封帖,“群魔乱舞单总线”就会开出“鲜花”来。
MOV A,CRC0
XRL A,CRC1
RET;退出子程序,HotPower要下线了,拜拜了您啦,哈哈
;本文纯属搞笑,有得罪之处,请见谅。
系统注:本文被sparkstar加精.
相关帖子>>>:
单总线数据发送“零耗时CRC检测”算法的软件实现(灌水作)-(精)
最好有个什么具体的实例看看就好!(0字)51新手[6次]2004-2-12 2:24:40
当时版主想杀我,所以只发表了发送部分,并特意起名“灌水作”。想气气他!所以,未有接收部分。。。(0字)hotpower[6次]2004-2-12 2:25:30
hotpower的文章不错,回来仔细看看。(10字)洛克[10次]2004-2-12 2:27:46
我也学学。
阅读全文
(700)
|
回复(0)
|
引用通告
(4)
|
编辑
上一篇:
GAL16V8反汇编源程序(原创) ——上部-(精)
下一篇:
96键演示程序-(精)(33502字)hotpower2004-2-12 1:55:20[106次
写原创有奖励!2025面包板原创奖励正在进行中
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
点赞(
12
)
收藏
分享到:
上一篇:
“抢占式多主多从”单总线冲突裁决方案
下一篇:
LED条屏英汉点阵混用及点阵队列嵌入命令编码技术
PARTNER CONTENT
换一换>
更多>
文章评论
(
0
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
雁塔菜农
修改
文章:
1274
阅读:
4991949
评论:
679
赞:
9332
俺是农民俺怕谁???
好友
私信
个人主页
俺是农民俺怕谁???
文章
1274
原创
0
阅读
4991949
评论
679
赞
9332
最新评论
更多
大师之作,写的好,学习和参考,晶圆切割是技术问题,处理不好,晶圆就废了
开发工匠 ...
评论博文
2025-7-15
基于浅切多道的晶圆切割 TTV 均匀性控制与 ...
诶?
琳
评论博文
2025-7-15
利润暴跌47%,拼多多慌不慌?
赞赞赞赞赞赞赞赞赞
琳
评论博文
2025-7-14
定制 Linux Kernel Driver 编译示例
最新
博文
基于浅切多道的晶圆切割 TTV 均匀性控 ...
白光干涉仪的光谱干涉模式原理 ...
《从磁能管理到开关电源设计》+认识电 ...
资料下载
本周热帖
电子元件FVT-7S-HP高精度VCTCXO参数详 ...
电子元件FVT-5S-HP高精度VCTCXO电气规 ...
电子学(第二版)
基础电子电路及维修
打印机、复印机、投影仪、扫描仪和传 ...
永源微APJ14N65D-650V N-Channel增强 ...
最新资讯
芯语最新
英伟达CEO黄仁勋:美国解禁H20芯片, ...
黄仁勋确认:H20芯片获准在中国市场销 ...
总计57亿元!马斯克xAI公司等拿下美国 ...
黄仁勋劝告美政府:中国军方不依赖英 ...
特朗普将宣布700亿美元AI和能源投资计 ...
英诺赛科宣布,产能再扩张! ...
日本研究人员计划用芯片废料制造SiC ...
士兰微最新业绩预告:将实现扭亏为盈 ...
国星、士兰等7家显示相关企业披露业绩 ...
5000㎡,又一超大型LED虚拟影棚投入运 ...
EE直播间
更多
在线研讨会
更多
利用先进精密仪器仪表解决方案,优化研发并加快产品上市
在服务器电源中使用低压 eGaN FET 提升功率密度
安森美(onsemi)碳化硅产品的介绍和应用
探索适用于移动机器人的先进技术
热门
推荐
WAIC独家议程公开!Arm携阿里云/小鹏/联想揭秘AI落地密码
WAIC重磅专场|从云端到机器人,深度揭秘Arm CSS如何重塑AI基础设施
学高精度测量技术,抢华为/小米/雷柏等好礼
超越单处理器嵌入式系统的演进
我要评论
0
12
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/5
报名:2025国际AI+IoT生态发展大会/MCU及嵌入式技术论坛
7月24日,深圳。年度 AIoT 专业盛会:深耕可穿戴、智能家居、机器人等场景的 AI 应用,链接产业链上下游资源。 MCU及嵌入式技术论坛:共同探讨MCU的最新技术、市场趋势和应用前景; 国际电机驱动与控制论坛:探讨电机驱动与控制技术的最新进展及其在多个领域的应用。
正在接受预约❗Arm@2025 世界人工智能大会:定义AI计算的千亿未来 ...
全球3000亿颗芯片的生态霸主Arm,如何定义AI计算未来?世界人工智能大会(WAIC 2025)是全球 AI 领域最具影响力的行业盛会之一,Arm 作为业界领先的低功耗、高性能计算平台,在 7 月 27 日大会期间,Arm 将带来以“AI 无处不在:从云到边尽在 Arm”为主题的技术论坛,与产业生态共探 AI 未来,共创智能科技新篇章。
【2025面包板社区内容狂欢节】发帖/回帖赢25万E币!
活动时间:即日起——2025年全年(发完20万E币为止!)
E币兑换「你的愿望清单,社区来买单!」
为了把E币兑换变成更懂你们的“小确幸”,我们决定开启「社区心愿兑换」计划! 简单来说:你留言想要什么礼品,直接告诉我们,我们整理后纳入兑换;
【2025第1期拆解活动】拆解——洞见电子产品设计智慧!
本期活动已结束,数据暂未统计完毕,请耐心等待。新一期活动正在准备中...
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2025汽车电子峰会
2025 AI+IoT 生态大会
2025MCU及嵌入式论坛
直播:介电常数那些事儿
汽车全域ADAS方案
行业及技术活动
研华嵌入式论坛(深圳 武汉 苏州)
嵌入式设计资源库
杂志免费订阅
EE直播间
白皮书
小测验
在线研讨会
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
文章评论(0条评论)
登录后参与讨论