TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
上传时间: 2015-01-08
上传用户:lifangyuan12
数据结构是编程的基础,本例是本人写的八个基本数据结构的实现方法,用C语言编写,在VC中调试成功,并带有少量的注释,有兴趣的可以研究一下。我在里面尽量使用了指针
上传时间: 2014-01-27
上传用户:silenthink
设计文档基本内容如下: 1) 整体框架 2) 词法分析 Class CTokenizer Class CScaner C关键字表 标识符词法 3) 语法分析 Class CParser Grammar 基本树形结构 支持的语句及运算 4) 建立符号表 Class LineListRec Class BucketListRec Class CSymbolTable Class CFunArgsCheck 5) 类型检测 Class CAnalyzer 类型匹配 函数调用参数检测 6) 代码生成 PCode 80X86 ASM 7) 总结 详细内容请阅读本文提供的设计文档与全部源代码。
标签: Class CTokenizer CScaner 分
上传时间: 2014-01-11
上传用户:qiaoyue
一:需求分析 1. 问题描述 魔王总是使用自己的一种非常精练而抽象的语言讲话,没人能听懂,但他的语言是可逐步解释成人能听懂的语言,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的: ----------------------------------------------------------- (1) a---> (B1)(B2)....(Bm) (2)[(op1)(p2)...(pn)]---->[o(pn)][o(p(n-1))].....[o(p1)o] ----------------------------------------------------------- 在这两种形式中,从左到右均表示解释.试写一个魔王语言的解释系统,把 他的话解释成人能听得懂的话. 2. 基本要求: 用下述两条具体规则和上述规则形式(2)实现.设大写字母表示魔王语言的词汇 小写字母表示人的语言的词汇 希腊字母表示可以用大写字母或小写字母代换的变量.魔王语言可含人的词汇. (1) B --> tAdA (2) A --> sae 3. 测试数据: B(ehnxgz)B 解释成 tsaedsaeezegexenehetsaedsae若将小写字母与汉字建立下表所示的对应关系,则魔王说的话是:"天上一只鹅地上一只鹅鹅追鹅赶鹅下鹅蛋鹅恨鹅天上一只鹅地上一只鹅". | t | d | s | a | e | z | g | x | n | h | | 天 | 地 | 上 | 一只| 鹅 | 追 | 赶 | 下 | 蛋 | 恨 |
上传时间: 2014-12-02
上传用户:jkhjkh1982
清华+殷人昆C++数据结构 幻灯片教学课件 通过本课程的学习,应达到知识和技能两方面的目标: 1、知识方面:从数据结构的类定义和对象的使用,以及存储表示和操作的实现两个层次,系统地学习和掌握常用的基本数据结构(包括数组、顺序表、多项式、字符串、链表、栈与队列、优先级队列、广义表、树与森林、二叉树、堆、集合、图、搜索结构、索引结构、散列结构等)及其不同的实现,了解并掌握分析、比较和选择不同数据结构、不同存储结构、不同算法的原则和方法,为后续课程的学习打好基础。
上传时间: 2017-04-11
上传用户:jichenxi0730
用C语言实现了基本数据结构与部分算法,采用了C语言基于接口的设计思路,对模块化设计的思路有不小的启发。
标签: C言语 数据结构 接口设计
上传时间: 2016-04-13
上传用户:kangjingyu
OpencV是用来实现计算机视觉相关技术的开放源码工作库,是计算机视觉、图像处理、模式识别、计算机图形学、信号处理、视频监控、科学可视化等相关从业人员的好工具。本书介绍了大约200多个典型的技术问题,覆盖了基于OpenCV基础编程的主要内容,利用大量生动有趣的编程案例和编程技巧,从解决问题和答疑解惑入手,以因特网上最新资料为蓝本,深入浅出地说明了OpenCV中最典型和用途最广的程序设计方法。全书结构清晰、合理,范例实用、丰富,理论结合实践,即使读者只是略懂计算机视觉原理,也能人手对相关理论方法直接进行编码实现。 "基于OPENCV的计算机视觉技术实现"的图书目录…… 前言 第一章 使用OpenCV实现计算机视觉技术 1.1 计算机视觉技术 1.2 什么是OpenCV 1.3 基于OpenCV库的编程方法 本章小结 第二章 OpenCV的编程环境 2.1 OpenCV环境介绍 2.2 OpenCV的体系结构 2.3 OpenCV实例演示 本章小结 第三章 OpenCV编程风格 3.1 命名约定 3.2 结构 3.3 函数接口设计 3.4 函数实现 3.5 代码布局 3.6 移植性 3.7 文件操作 3.8 文档编写 本章小结 第四章 数据结构 4.1 基本数据结构 4.2 数组有关的操作 4.3 动态结构 本章小结 第五章 数据交互 5.1 绘图函数 5.2 文件存储 5.3 运行时类型信息和通用函数 5.4 错误处理函数 5.5 系统函数 本章小结 第六章 图像处理 6.1 边缘检测 6.2 直方图 6.3 Hough变换 6.4 几何变换 6.5 形态学 本章小结 第七章 结构与识别 7.1 轮廓处理函数 7.2 计算几何 7.3 平面划分 7.4 目标检测函数 7.5 生成与控制贝塞尔曲线 7.6 用OpenCV进行人脸检测 本章小结 第八章 图形界面(HighGUI) 8.1 读取和保存图像 8.2 OpenCV中的实用系统函数 本章小结 第九章 视频处理(CvCAM) 9.1 使用HighGUI对视频进行读写处理 9.2 CvCam对摄像头和视频流的使用 本章小结 第十章 OpenCV附加库第一部分 10.1 附加库介绍 10.2 形态学(morhing functions) 本章小结 第十一章 OpenCV附加库第二部分——隐马尔可夫模型 11.1 隐马尔可夫模型概述 11.2 隐马尔可夫模型中的基本结构与函数介绍 11.3 隐马尔可夫模型中的函数介绍 11.4 人脸识别工具 本章小结 第十二章 核心库综合例程 12.1 检测黑白格标定板内指定矩形区域内的角点 12.2 解线性标定方程组程序 本章小结 第十三章 运动与跟踪 13.1 图像统计的累积函数 13.2 运动模板函数 13.3 对象跟踪 13.4 光流 13.5 预估器 13.6 Kalman滤波器跟踪示例 13.7 用Snake方法检测可变形体的轮廓 13.8 运动目标跟踪与检测 本章小结 第十四章 立体视觉第一部分——照相机定标 14.1 坐标系介绍 14.2 透视投影矩阵的获得 14.3 摄像机参数的获取 14.4 径向畸变的校正 14.5 使用OpenCV及CVUT进行摄像机定标 14.6 OpenCV中的定标函数 14.7 CVUT介绍 本章小结 第十五章 立体视觉第二部分——三维重建 15.1 极线几何 15.2 特征点匹配 15.3 三维重建 15.4 OpenCV中相关函数介绍 本章小结 第十六章 立体视觉第三部分——三维重建算法 16.1 图像校正 16.2 已校正图像的快速三维重建 16.3 Birchfield算法 16.4 OpenCV中相关函数介绍 本章小结 第十七章 立体视觉第四部分——立体视觉实例 17.1 图像校正实例代码 17.2 基于窗口的稀疏点匹配及三维重建之一 17.3 基于窗口的稀疏点匹配及三维重建之二 17.4 Birchfield算法的OpenCV实现 本章小结 第十八章 常见问题解疑 18.1 安装与编译出错解决方法 18.2 OpenCV库基本技术问题 18.3 OpenCV在Linux下的相关问题 18.4 OpenCV库中的陷阱和bug
上传时间: 2013-07-18
上传用户:huyiming139
氙灯作为高强度气体放电灯,其较好的显色性,高光效等优点大大超过传统的卤钨灯,越来越受到市场的青睐,与其配套的电子镇流器的研制也成了热点。鉴于氙灯复杂的启动特性,与模拟控制相比,数字控制因其较大的灵活性在此控制方面显示了较大的优势。本文将以数字控制的汽车头灯电子镇流器为研究课题,对其一些关键的问题加以研究和探讨。 论文的绪论部分将首先介绍汽车头灯的发展历史,接着对汽车头灯电子镇流器存在的难点问题做简要的分析,指出目前其所处的现状,并结合汽车头灯未来发展趋势谈谈本次课题的可行性和必要性。 第二章首先给出了目前氙灯电子镇流器的基本电路结构,考虑到第一级直流升压变流电路的重要性,较详细讨论了目前具备升压功能的几个典型电路的特点。鉴于氙灯较高的点火要求,对几种典型的点火电路做了分析比较,最后讨论了控制模式及其具体的控制方式。 第三章对汽车头灯电子镇流器进行了全面的设计。依据汽车头灯电子镇流器的主要技术指标,较详细给出了主电路的设计过程,并还对其做了相应的损耗分析及效率估计。接着介绍了单级电压递升式点火电路设计,模数控制方式的原理,及控制回路中典型控制电路的设计,最后通过实际样机的制作,论证其设计的合理性。 第四章详细分析了高强度气体放电灯的启动特性,并根据金卤灯和氙灯各自启动特点及相应要求,分别提出了适合各自启动要求的控制方法。此外,在大量文献阅读的基础上,比较了当前典型的恒功率控制方案。在这个基础上,提出了基于数模混合控制的新型恒功率控制方案。最后通过实验验证了这些控制方法的可行性及正确性。
上传时间: 2013-07-09
上传用户:kaka
低密度校验码(LDPC)是一种能逼近Shannon容量限的渐进好码,其长码性能甚至超过了Turbo码。低密度校验码以其迭代译码复杂度低,没有错误平层,码率和码长可灵活改变的优点成为Turbo码强有力的竞争对手。目前,LDPC码已广泛应用于深空通信、光纤通信、卫星数字视频和音频广播等领域,因此LDPC码编译码器的硬件实现已成为纠错编码领域的研究热点之一。 本文在分析LDPC码的基本编码结构基础上,首先研究了LDPC码的随机构造方法,并给出了有效的PEG算法实现方法,重点分析了用环消除(cycle elimination)算法实现的准循环LDPC码的构造。然后对LDPC码的几种不同译码算法进行分析比较,讨论了一种适合硬件实现的译码算法-TDMP算法,并对易于硬件实现的TDMP算法进行了性能仿真,仿真结果表明TDMP算法作为硬件实现的译码算法具有优异的性能优势。最后针对Altera公司的StratixEPIS25 FPGA芯片设计了一个基于TDMP算法的(4096,2048)非规则LDPC码译码器,内部用了4个单校验码译码器并行译1帧数据,3帧同时译码,作者详细介绍了该译码器芯片的设计过程和内部结构和工作流程。
上传时间: 2013-05-23
上传用户:fujun35303