《单片机课程设计电阻测量.docx》由会员分享,可在线阅读,更多相关《单片机课程设计电阻测量.docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计报告课程名称:单片机课程设计设计题目:电阻测量院 系:通信与掌握工程系专 业:通信工程班 级:同学姓名:学 号: 08409212起止日期:指导老师:教研室主任:主要功能特性与MCS 1产品指令和引脚完全兼容 8A字节可重擦写Flash闪速存储器1000次擦写周期 全静态操作:0Hz24MHz三级加密程序存储器 32个可编程口线低功耗空闲和掉电模式 3个16位定时/计数器可编程串行的7通道2. 3.2主要引脚功能VCC :电源GND 地H) : A)是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用 口。H : H 口是一个具有内部上拉电阻的8位双向7/9 口,H输出缓冲器能驱
2、动 4个7Tz规律电平。对灯端口写“1”时,内部上拉电阻把端口拉高,此时可以作为 输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的缘由,将输出电流 (/)。此外,H.0和尸1.2分别作定时器/计数器2的外部计数输入(H.0/72)和 时器/计数器2的触发输入(门. 1/72)。风:风口是一个具有内部上拉电阻的8位双向7/9 口,2输出缓冲器能驱动 4个77Z规律电平。对风端口写“1”时,内部上拉电阻把端口拉高,此时可以作为 输入口使用。作为输入使用时一,被外部拉低的引脚由于内部电阻的缘由,将输出电流 (/)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行加次 DPm
3、时,P2 口送出高八位地址。在这种应用中,风口使用很强的内部上拉发送lo 在使用8位地址(如MOVXR)访问外部数据存储器时,及口输出及锁存器的内容。 在fZas力编程和校验时,PZ 口也接收高8位地址字节和一些掌握信号。P1 口和P2 口的其次功能如下表1所示。表1)和H 口的其次功能引脚号M.O引脚号M.O功能特性72(定时/计数器2外部计数脉冲输入),时钟输出Pl. 172打(定时/计数2捕获/重载触发和方向掌握)P3 :为口是一个具有内部上拉电阻的8位双向 刃口,为口输出缓冲器能驱动4 个77Z规律电平。对用端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输 入口使用。作为输入使用
4、时,被外部拉低的引脚由于内部电阻的缘由,将输出电流 QHL)。P3 口亦作为4789 652特殊功能(其次功能)使用,在/Vas力编程和校验时, P3 口也接收一些掌握信号。详细功能如表2所示:表2 P3 口的其次功能端口引脚其次功能/B. 0四(串行输入口)1加(串行输出口)P3.2外中断0P3. 3外中断1处.470(定时/计数器0).571(定时/计数器1).6外部数据存储器写选通7外部数据存储器读选通RST-复位输入。晶振工作时,彩7脚持续2个机器周期高电平将使单片机复位。 看门狗计时完成后,脚输出96个晶振周期的高电平。特殊寄存器力处?(地址8M 上的/夕夕。位可以使此功能无效。S”
5、。默认状态下,复位高电平有效。ALE/PROG:地址锁存掌握信号(ALE)是访问外部程序存储器时,锁存低8位地 址的输出脉冲。在/7hs力编程时,此引脚(RMG)也用作编程输入脉冲。在一般状况 下,以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。 然而,特殊强调,在每次访问外部数据存储器时,脉冲将会跳过。假如需要,通 过将地址为8的S/W的第。位置“1”,操作将无效。这一位置“1”,ALE瓜 在执行初号或物力指令时有效。否则,少将被微弱拉高。这个46使能标志位(地 址为8的S/W的第0位)的设置对微掌握器处于外部执行模式下无效。尸SM外部程序存储器选通信号(PSE2是外部程序
6、存储器选通信号。当N789652 从外部程序存储器执行外部代码时,处以在每个机器周期被激活两次,而在访问外 部数据存储器时,乃将不被激活。4/牙:访问外部程序存储器掌握信号。为使能从0000到切7刃的外部程序存 储器读取指令,EA必需接GND。为了执行内部程序指令,EA应当接VCC.在flash 编程期间,口也接收12伏小少电压。小:振荡器反相放大器和内部时钟发生电路的输入端。M2:振荡器反相放大器的输出端。2. 4显示掌握电路的设计及原理显示子程序采纳动态扫描法实现4位数码管的数值显示。测量所得的转换 数据放70-77内存单元中,测量数据在显示时须经过转换成为十进制a7?码放在 78一7单元
7、中,其中78存放通道标志数。寄存器咫用作8路循环掌握,而用作 显示数据地址指针。本系统显示部分采纳4位数码管动态扫描显示。动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是 把全部显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM是 各自独立地受功线掌握。C%向字段输出口送出字形码时,全部显示器接收到相同 的字形码,但毕竟是那个显示器亮,则取决于。/端,而这一端是由掌握的, 所以我们就可以自行打算何时显示哪一位了。而所谓动态扫描就是指我们采纳分时的 方法,轮番掌握各个显示器的屐阳端,使各个数码管轮番点亮。本系统采纳4位共阴 极数码管,加端接接K0一及3端,
8、8个笔划段分别按挨次接)7一4)0,轮番 给风0T23 口低电平,使各个数码管轮番点亮。在轮番点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1必s),但由 于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点 亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪耀感。显示掌握电路由图7的8255芯片和图8的数码管显示电路两部分组成PA3 1PA2 2PAI 3PAO 4 P37 5 心 67 Al8 AO9 PC710 PC611 PC512 PC413 pan 4 PCI 15 PC216 PC317 PB018 PB119 PB220PA3PA4
9、PA2PA5PAIPA6PAOPA7/RD/WR心RESETGNDDOAlDIAOD2PC7D3PC6D4PCSD5PC4D6PCOD7PCIVCCPC2PB7PC3PB6PBOPB5PB1PB4PB2PB34039383736353433323l30292827262524232221PA4PA5PA6PA7P361RESETDODID2D3D4 1D5D6D7 VCCT7 6 5 4 3 B B B B B p -p - p -p .p图78255芯片IKIK901J图8数码管显示电路3、程序设计3.1初始化程序void Init ()ST = 0;0E = 0;a8255_C0N=0x8
10、1;PB=Oxff;PA=Oxff;)3. 2主程序void main ()uchar 1=0,J=0;uint RRR=0;Init ();while (1)GetResistance ();If (RRR=O)RRR=R_T;. 计算平均值.elseif(J=30) R=RRR;RRR=0;J=0; /J 为 30 个平均值 可改 else J+;Display ();)3. 3显示子程序void Display()uchar A;uint B=10000;for (A=0x02; A=0X40; A=l)if (R/B) if(A!=0X02)Delay(150);PB=OXFF;PA=
11、OXFF;PB=LED_CODE(R%(B*10)/(B);PA=A;B/=10;A/D转换测量子程序uchar Ad Cover ()(uchar ADDATA;ST = 0;ST = 1; 启动AD转换ST = 0;while (E0C=0)CLK =CLK;0E = 1;AD_DATA = P0;OE = 0;return ADDATA;4、系统调试与分析硬件调试硬件调试时可以检查印制板和外围电路是否有断路或短路问题,在检查无误的 状况下,通过外围电路接入一个被测电阻,检查数码管显示是否正常,若不正常,用 万用表检查出电路的问题所在,并订正电路的焊接问题。为了测量的精准度,用万用表选择1
12、KC的基准电阻,尽量使基准电阻接近1KQ, 削减测量的误差。3.4 软件调试将用keil编译产生的HEX文件下载到单片机开发板中,通过外围电路接入一个 已知的被测电阻,看数码管上的显示数值是否接近已知的电阻值,若不对,则反复调 试程序,直到正确为止。4. 3性能分析1 .误差W对一1 X 100%,如表3所示。RQ2 .误差分析AD的辨别率只有八位,辨别率小,所以测量小电阻的时候误差小,随着测量电阻的 变大误差变大。表3误差分析电阻抱负阻值R(K)万用表测量值RO (K)模拟测量值R1(K)误差w10. 990. 9950. 5%4.74.614. 5650. 98%0. 470. 4610.
13、 4620. 22%5、元件清单4总结与思索及致谢元件名称类型或量程数量芯片AT89C521片芯片82551片-4-H LJL 心片ADC08091片杜邦线2根万用表1个电阻IK、4.7K、0.47K各一个电源线供电电源线1根数码管HS310361K2个这次单片机课程设计意义非同一般,把我从单深化的理论编程到硬件软件综 合实现一个使用的电路。通过这学期的单片机的学习,知道了单片机在实际应用中占 据很重要的作用,也了解单片机本身的功能,用编程掌握;也了解了单片机的一些扩 展功能。通过这次设计,我更深化地了解到单片机的使用原理和功能。为期两周的设计中,我看到很多同学都很努力,很认真,我也不敢懈怠。
14、虽说两 周的时间有点仓促,但老师和同学们夜以继日在解决问题,我做电阻测量的设计中也 遇到些许问题,但通过他人的教导,并查阅很多有价值的书籍,我从中熟悉了不少。 也增加了自己发觉问题解决问题的力量。还有在编程的时候要认真,要实现一个完整 的功能就要考虑全面,在测试程序的时候要擅长发觉错误,而且可能是一些小问题, 比如说把马上数和地址混用,这是很常见的。两周的设计完满结束了,经过自己的努力和同学的帮忙最终有了成果,特殊离不 开指导老师方智文的悉心教育,我受益匪浅,信任他的工作作风和学问筑成都是我们 学习榜样,给我很大的启迪。感谢这些老师不畏辛苦,热心细心的指导。在这里向他 们说声感谢,你们辛苦了。
15、参考文献1张鑫.单片微机原理与应用.的北京.电子工业出版社.20222楼然苗.李光飞.单片机课程设计指导.加北京.航空航天高校出版社.20073长洪润.刘秀英.单片机应用设计200例(上、下).例 北京.航空航 天高校出版社.20064张毅刚.新编就3-51单片机应用设计(第3版).仞哈尔滨工业高校 出版社.20225马静.单片机原理与应用.仞 实践教学指导书中国计量出版社.2003附一:原理图a 6i Em. 於g E 二 KI二 oazi用 aaaaaaaae0R2 YOOVwuwrras 学 soY NuusoeoxtvrL; xllQmIKOlOJd寻 击d - E U3 ism 2d
16、 Nd 2d YdId 6IEd然留 ZZEsTV21 lowm olM 口 g N二学 c KK S Na I 2w& 【 md IMF n u自 nW fw占 直R 8SH2 dd/VW icwod COWOd Kwod Rss zavod R2- OOWOd UBOK0 rrnx rmx W3得 Iu -Sa a 03b OX UTS 932la M航社w Qwld E s Aid XHJUTEWId本设计电阻测量是采用4转换原理,将被测模拟量转换成数字量,并用数字方 式显示测量结果的电子测量仪表。通常测量电阻都采纳大规模的力转换集成电路, 测量精度高,读数便利,在体积、重量、耗电、稳定
17、性及牢靠性等方面性能指标均明 显优于指针式万用表。其中,A/力转换器将输入的模拟量转换成数字量,规律掌握电 路产生掌握信号,按规定的时序将/转换器中各组模拟开关接通或断开,保证 转换正常进行。力转换结果通过计数译码电路变换成BCD码,最终驱动显示器显示 相应的数值。本系统以单片机1789652为系统的掌握核心,结合/转换芯片60809 设计一个电阻测量表,能够测量肯定数值之间的电阻值,通过四位数码显示。具有读 数据精确,测量便利的特点。关键词:单片机(4789652);电压;A/D转换;4760809附二:程序ftinclude ftdefine uchar unsigned charftde
18、fine uint unsigned intsbit ST = P2 八 7;sbit EOC = P3 八 4;sbit OE = P2 八 3;sbit CLK = P2 八 0;xdata uchar PA at OxDIFF, PB at 0xD2FF, PC at 0xD5FF, a8255 CON at 0xD7FF;uint R=0, R_T;uchar code LED_CODE= OxAO, OxBB, 0x62, 0x2A, 0x39, 0x2C, 0x24, OxBA, 0x20, 0x28;void Init ()(ST = 0;OE = 0;a8255_C0N=0x8
19、1;PB=0xff;PA=0xff)uchar Ad_Cover()(uchar AD DATA;ST = 0;ST = 1;ST = 0;while (EOC=O)CLK = CLK;OE = 1;AD_DATA = PO;OE = 0;return AD_DATA;)void Get_Resistance() float c;uchar TEMP;TEMP=Ad_Cover();c=(float)(256-TEMP);c = 1000. 000* (c/(float)TEMP);R_T=(unsigned int)c;)void Delay(uint CNT)(while(CNT);)vo
20、id Display()(uchar A;uint B=10000;for (A=0x02; A=0X40; A=l)(if(R/B) if(A!=0X02)Delay(150);PB=0XFF;PA=0XFF;PB=LED_CODE(R%(B*10)/(B);PA=A;void main()(uchar 1=0, J=0;uint RRR=O;Init ();while (1)(Get_Resistance ();if(RRR=O)RRR=R_T;elseif(J=30)R=RRR;RRR=O;J=0;else J+;Display ();名目设计要求1、方案论证与对比 01.1方案一1L2
21、方案二01. 3方案对比与比较错误!未定义书签。2、系统硬件电路的设计12. 1 振荡电路模块13. 2 A/D转换电路模块2主要性能22. 2. 2 ADC0809芯片的组成原理32. 2.3 ADC0809 引脚功能32. 3主控芯片AT89C52模块4主要功能特性52. 3.2主要引脚功能52.4显示掌握电路的设计及原理73、程序设计83. 1初始化程序83. 2主程序93. 3显示子程序93. 4A/D转换测量子程序104、调试及性能分析104.1调试与测试104 2性能分析115、元件清单126、总结与思索及致谢错误!未定义书签。12参考文献附一:原理图15附二:程序15设计要求电阻
22、测量(需要简洁的外围检测电路,将电阻转换为电压)测量100, 1k, 4. 7k, 10k, 20k的电阻阻值,由数码管显示。测试:误差10%。1、方案论证与对比1.1方案一采用单稳或电容充放电规律等,可以把被测电阻量的大小转换成脉冲的宽窄, 即脉冲的宽度Tx与Rx成正比。只要把此脉冲和频率固定不变的方波(以下称为时钟 脉冲)相与,便可以得到计数脉冲,将它送给数字显示器。假如时钟脉冲的频率等参 数合适,便可实现测量电阻。计数掌握电路输出的脉冲宽度Tx应与Rx成正比,其电 路原理图及详细555单稳态触发器的构成及仿真如图1所示。用555构成的单稳态电路在正常工作条件下输出脉冲的宽度Tx与Rx的函
23、数 关系是:Tx = RxCx xln3所产生的时间误差可能达到百分之十五,再加上其他缘由产生的误差,测量是的 时间延迟太大。图1方案一原理图1 . 2方案二用ADC0809电阻测量,以一个1K的电阻作为基准电阻。和被测电阻进行分压,分压比例得出电阻比例。RI _ VIV2用ACD0809测量电阻时间误差为10以下,辨别率高,输出能与TTL电平兼容。其原理图如图2所示。图2方案二原理图1.3方案对比与比较由于课程设计的要求是电阻测量需要简洁的外围检测电路,将电阻转换为电压, 测量100, 1k, 4. 7k, 10k, 20k的电阻阻值,由数码管显示。测试:误差10%。通过比较 以上两个方案,
24、可知方案二相对来说比较适合。所以选用方案二作为试验方案。2、系统硬件电路的设计2.1振荡电路模块振荡电路通过这两个引脚外并接石英晶体振荡器和两只电容(电容和一般取 33M),这样就构成一个稳定的自激振荡器。为单片机供应时钟信号。如图3所示。8051XTAL1XTAL2dor图3.振荡电路2. 2 A/D转换电路模块助60809是米纳逐次靠近式原理的转换器。4760809的工作过程是:首先输入3位地址,并使4尺1,将地址存入地址锁存 器中。此地址经译码选通8路模拟输入之一到比较器。提升沿将逐次靠近寄存 器复位。下降沿启动/转换,之后%输出信号变低,指示转换正在进行。直到 4/转换完成,变为高电平
25、,指示4/转换结束,结果数据已存入锁存器,这 个信号可用作中断申请。当比输入高电平常,输出三态门打开,转换结果的数字量 输出到数据总线上,9电路图如图4所示。W5nnperJumperW4JumperU6P2010P27 6INO 26 ninyIN2 28IN3 123 ?5252423P27 7CLK VCCSTARTEOCINO OEINIIN2 IN3 IN4 IN5IN6 IN7ADDA ADDB ADDC ALEVREF+GND VREF-VCCH T7 P349 P230 12 317 DO14 DI15 D2 8D3 18419 D520D621 D7VCC12 T16ADC0
26、809 CCN图4 A/D转换电路原理图主要性能1辨别率为8位二进制数。2模拟输入电压范围05匕 对应A/D转换馆为。0HFFH。3每路转换完成时间为1004s。4允许输入4路模拟电压,通过具有锁存功能的4路模拟开关,可以分时进行4 路49转换。5工作频率为500kHz,输出与7TL电平兼容。2. 2. 2 ADC0809芯片的组成原理详细设计要求如图5所示,它是由地址锁存器、4路模拟开关、8位逐次A/D转 换器和三态锁存输出缓冲器构成。由3位地址输入线AODR4、ADDRB、AO3RC打 算4路模拟输入中的1路进8位A/D转换器,PJD转换值进入三态锁存输出缓冲器暂 存,在CPU发来输出允许
27、掌握信号。E后,三态门打开,经DB7 DBO进入CPU总、 线,完成一次转换全过程。U6VCCW3W3W4SimperP2010PZF6INO 26 mH7IN2 282445252423P27 713CLK STARTINOINIIN2IN3IN4IN5IN6IN7ADDA ADDB ADDCALEGNDVCCEOCOEDODID2D3D4D5D6D7VREF+VREF-ii T7 P349 P2317 DO IFdT15 D2 F-D3 TTd419 D5 2CTd621 D7VCC12 T16ADC0809 CCN图5 AZD转换电路原路图2.2.3 ADC0809引脚功能ADC0809
28、采纳28引脚的封装,双列直插式。A/D转换由集成电路ADC0809完 成。ADC0809具有8路模拟输入端口,地址线(23 25脚一即C,8,A)可打算对哪 一路模拟输入作AZD转换。22脚为地址锁存掌握(ALE),当输入为高电平常,对地 址信号进行锁存。6脚为测试掌握(START),当输入一个2s宽高电平脉冲时,就开 头AZD转换。7脚为A/D转换结束标志(&9C),当4D转换结束时,7脚输出高电 平。9脚为AZD转换数据输出允许掌握(OE),当OE脚为高电平常,A/D转换数据 从该端口输出。10脚为AQ00809的时钟输入端(CLOCK),采用单片机30脚的六分 频晶振频率再通过14024
29、二分频得到1MHz时钟。单片机的Pl、P3.0P3.3端口作 为四位LED数码管显示掌握。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口 用作单路显示时选择通道。P0端口作40转换数据读入用,P2端口用作A000809 的AZD转换掌握。2. 3主控芯片AT89C52模块N789/2是一个低电压,高性能6WS8位单片机,片内含84 bytes的可反复 擦写的&hs力只读程序存储器和256的随机存取数据存储器(砌粉,器件采纳/脸公司的高密度、非易失性存储技术生产,兼容标准底一51指令系统, 片内置通用8位中心处理器和Ras/存储单元,功能强大的4789652单片机可为 您供应很多较简单
30、系统掌握应用场合。1789652有40个引脚,32个外部双向输入/输出(7/9)端口,同时内含2个 外中断口。3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线, Z789652可以根据常规方法进行编程,也可以在线编程。其将通用的微处理器和 Has力存储器结合在一起,特殊是可反复擦写的b/as力存储器可有效地降低开发 成本。如图6所示为/T89652管脚图。VCCP1O 1pi.orr2vccP1.1/T2EXP0.0/AD0Pl.2PO.1/AD1Pl.3P0.2/AD2Pl.4P0.3/AD3P1.5/MOSIP0.4/AD4P1.6/MISOPO 5/AD5P1.7/SCKP
31、0.6/AD6RSTP0.7/AD7P3.0/RXD/EA/VPPP3.1)TXDALE/PROGP3.2/INT0/PSENP3.3/INT1P2.7/A15P3.4/T0P2.6/A14P3.5/TIP2.5/A13P3.6/WRP2.4/A12P3.7/RDP2.3/AUXTAL2P2.2/A10XTAL1P2.1/A9GNDP2.0/A840PU 239 DOP12 338 DIP13 437 D2P14 536 D3P15 635 D4P16 734 D5P17 833 D6RESET32 D7RXUO31 EATXD130 ALEP321229 PP331328P27P341427P26I/O 15264SP361625P24P371724P231823 Al1922 AO2021P20STC89C52图6 AT89C52管脚图