- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《串行模拟信号采集2
课程设计报告
设计课题: 串行模拟信号采集(2)
专业班级:
学生姓名:
指导教师:
设计时间:
串行模拟信号采集(2)
课程设计目的
1.熟悉单片机有关器件,掌握单片机工作原理
2.熟练运用单片机编程的一般技巧,对单片机进行编程
3.掌握ADC0831的工作原理与单片机接口原理及其应用
4.掌握单片机系统调试的一般步骤及方法
二、课程设计题目(问题)描述和要求
对ADC0831的输入信号进行采集,然后对所采集的信号进行数字滤波后,应用串口液晶对所采集的数据进行显示。
三、系统分析与设计
系统总体设计
信号采集:通过ADC0831对模拟信号进行采集,转换成数字信号输出
串并转换:利用编程实现对ADC0831输出的串行数字信号进行采集,转换为并行信号
数字滤波:是通过程序编程完成的,原理是将采集的十个数进行比较,去掉其中最大的和最小的信号,然后将剩余的八个信号进行求平均值,得出平均信号的值。
信号输出:利用液晶显示器LCD1602对输出信号进行串行显示
系统详细设计
接口电路
图一 SCLD接口电路图
图2 89C51单片机接口电路图
图3 ADC0831与单片机的接口电路图
程序流程图
源程序清单
#includereg52.h
#includeintrins.h
#includeabsacc.h
#include Dis_slcd1.h
sbit Ldat=P3^5; /*LCD数据端接P3.5*/
sbit L=P3^4; /*LCD时钟端接P3.4*/
sbit p0831cs=P3^3; /*0831片选接P3.3*/
sbit p0831clk=P3^4; /*0831时钟接P3.4*/
sbit p0831data=P3^5; /*0831数据端接P3.5*/
sbit bflag=ACC^7;
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
uchar tempdata[10];
uchar dis[3];
uchar read0831( )
{
uchar idata m,TempData=0 ;
p0831cs=0;
p0831clk=1;
p0831clk=0;
p0831clk=1;
for(m=0;m9;m++) /*进行采集,循环采集8次*/
{
TempData=1;
p0831clk=0;
if(p0831data==1) TempData|=0x01; /*用TempDATA循环存入0831输出的内容*/
p0831clk=1;
}
p0831clk=0;
p0831clk=1;
p0831cs=1;
return TempData ; /*返回值*/
}
uchar ave0831() /*数字滤波程序,取10个数比较去掉最大和最小的数然后进行取平均值*/
{
uint min,max,i,ave=tempdata[0];
min=tempdata[0];
max=tempdata[0];
for(i=1;i10;i++) /*将采集到的十个数据排序*/
{
if(tempdata[i]min)min=tempdata[i];
if(tempdata[i]max)max=tempdata[i];
ave+=tempdata[i];
}
ave=ave-min-max; /*去掉最大值和最小值求和*/
ave/=8; /*取平均值*/
return ave;
/*返回值*/
}
Delay() /*延时子程序*/
{
uint i;
for(i=60000;i0;i--);
}
main()
{ uchar p,n,i;
uint p0831ave;
while(1)
{
for(p=0;p10;p++) /*采集10个0831输出的数据*/
{
tempdata[p]=read0831();
}
Delay();
p0831ave=ave0831(); /*数字滤波*/
p0831ave=p0831ave*100/51; /*取回的数经过
您可能关注的文档
- 《中考需要默写诗文复习资料.doc
- 《中职学前教育专业手工课技能训练教学之浅谈.doc
- 《中职学校学生自主学习现状.doc
- 《五年级通分及异分母分数的大小比较.doc
- 《中职学校校企合作培养模式的研究与实践.doc
- 《中职学校校园文化规划.doc
- 《中职数学课堂教学指导意见.doc
- 《五年级阅读与写作第二期.doc
- 《中职生市场营销职业生涯规划.doc
- 《五年级阅读理解Grade5.doc
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
文档评论(0)