4079|14

4

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

串行输入信息中“1”数检测器设计 [复制链接]

设计任务与要求:  设计一个能够统计串行输入的N位二进制数X中“1”的个数的数字系统。该系统完成如下功能:对串行输入数据X的位数进行累计,也就是对串行输入数据中“1”、“0”的个数进行统计。对串行输入数据X进行“0”、“1”判断。当X=1时,“1”数计数器加1计数。判断X的全部数位是否统计完毕,输出串行输入的N位二进制数X中“1”的个数值,工作结束。
没太明白这个原理,我该怎么下手呢。

此帖出自模拟电子论坛

最新回复

楼主的设计图还在吗。。。一样的课题,想参考一下  详情 回复 发表于 2016-6-14 13:15
点赞 关注

回复
举报

9790

帖子

24

TA的资源

版主

沙发
 
定义一个256字节的数组常量,存储对应索引的1的个数,读取的串口一个字节数据,通过数组得到这个字节1的个数。
此帖出自模拟电子论坛
 
 

回复

2万

帖子

0

TA的资源

超级版主

板凳
 
说是“串行输入信息”,想必至少是个单片机之类的器件。那么楼主的工作纯粹是软件工作。
单片机之类,串行输入通常是一个字节一个字节地传输。每个字节是8位,那么只可能有256个码。接收到一字节,与256个码进行比较,符合某个码跳转到对应分支,准备用于存储“1”的个数的计数器加上对应的数即可,例如接收到字符“U”计数器加4(字符“U”二进制为01010101)。
这是最简单也是最笨的方法。
此帖出自模拟电子论坛
 
 
 
 

回复

1万

帖子

25

TA的资源

版主

4
 
用中断计数也比较简单。
此帖出自模拟电子论坛

点评

在波特率较高时,两个“1”之间的时间不足以执行中断。 此外,串行码中连续两个“1”或者连续三个“1”,怎么计数?  详情 回复 发表于 2015-1-2 22:42
 
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

5
 
dcexpert 发表于 2015-1-2 20:34
用中断计数也比较简单。

在波特率较高时,两个“1”之间的时间不足以执行中断。
此外,串行码中连续两个“1”或者连续三个“1”,怎么计数?
此帖出自模拟电子论坛

点评

先将数据读入缓冲区,等有时间了再慢慢比较。  详情 回复 发表于 2015-1-3 07:36
 
 
 
 

回复

1080

帖子

2

TA的资源

五彩晶圆(中级)

6
 



maychang 发表于 2015-1-2 22:42
在波特率较高时,两个“1”之间的时间不足以执行中断。
此外,串行码中连续两个“1”或者连续三个“1”,怎么计数?


先将数据读入缓冲区,等有时间了再慢慢比较。
此帖出自模拟电子论坛
 
 
 
 

回复

3471

帖子

13

TA的资源

五彩晶圆(高级)

7
 
”串行输入“   指的是串口吗。如果是的话,可以用中断接收,存入缓冲,到需要统计的时候,把“1”和“0”的个数都算出来就行了啊
此帖出自模拟电子论坛
 
 
 
 

回复

377

帖子

0

TA的资源

纯净的硅(中级)

8
 
楼主只说是串行信息~~~连个相关上下文都没,你的串行数据是几位的啊?虽然几乎都是8位的,不过谁知道具体情况呢?
使用的是MCU之类的器件而不是通用逻辑器件?
如果是MCU之类的器件,很简单,对输入字节进行移位判断。8位一个字节的数据,8次移位+判断就OK了,很简单。
此帖出自模拟电子论坛

点评

不能使用单片机哦。数字电路  详情 回复 发表于 2015-1-26 16:08
 
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

9
 
littleshrimp 发表于 2015-1-2 16:11
定义一个256字节的数组常量,存储对应索引的1的个数,读取的串口一个字节数据,通过数组得到这个字节1的个懂了
此帖出自模拟电子论坛
 
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

10
 
huayuliang 发表于 2015-1-3 17:37
楼主只说是串行信息~~~连个相关上下文都没,你的串行数据是几位的啊?虽然几乎都是8位的,不过谁知道具体情况呢?
使用的是MCU之类的器件而不是通用逻辑器件?
如果是MCU之类的器件,很简单,对输入字节进行移位判断。8位一个字节的数据,8次移位+判断就OK了,很简单。



不能使用单片机哦。数字电路
此帖出自模拟电子论坛
 
 
 
 

回复

1万

帖子

28

TA的资源

裸片初长成(高级)

11
 

此帖出自模拟电子论坛
 
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

12
 
关键是你的协议怎么定义的叫1?如果高代表1,低代表0,那计数器就可实现。
此帖出自模拟电子论坛
 
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

13
 
cd4017可计10个,还有cd4060之类太多了。
此帖出自模拟电子论坛
 
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

14
 
已经解决了,谢谢大家
此帖出自模拟电子论坛
 
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

15
 
楼主的设计图还在吗。。。一样的课题,想参考一下
此帖出自模拟电子论坛
 
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表