




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳理工大学课程设计1设计要求利用软硬件对电阻进行测量,对未知电阻经行测量,并在液晶屏上现实测量数值,通过单片机的程序运行计算出电阻的值并在数字管(LED)中显示出电阻的值,测量的精度为欧姆,实现数字化。2设计方案与论证2.1方案 第一次电容的充放电: P1.0和P1.1口置输入,P1.2输出高电平直到电容C充电完成,电容两端的电压Vc=Voh,再P1.2置输入,P1.0置输出0,开始放电,检测P1.2由1置成0,记下放电时间记为T1。 第二次电容的充放电: P1.0和P1.1口置输入,P1.2输出高电平直到电容C充电完成,电容两端的电压Vc=Voh,再P1.2置输入,P1.0置输出0,开始放电,检测P1.2由1置成0,记下放电时间记为T2。2.2设计框图设计框图2.3 电阻值的识别方法电阻阻值识别有直接编号和色环法,下面主要介绍色环电阻的识别 目前,电子产品广泛采用色环电阻,其优点是在装配、调试和修理过程中,不用拨动元件,即可在任意角度看清色环,读出阻值,使用方便。一个电阻色环由4部分组成不包括精密电阻。四个色环的其中第一、二环分别代表阻值的前两位数;第三环代表倍率;第四环代表误差。 掌握此方法有以下几个要点:(1)熟记第一、二环每种颜色所代表的数。如下: 棕=1 红=2, 橙=3, 黄=4, 绿=5, 蓝=6, 紫=7, 灰=8, 白=9, 黑=0。 (2)第三环颜色代表阻值范围,这一点是关键。具体范围如下: 金色:几点几 黑色:几十几 棕色:几百几 红色:几点几 k 橙色:几十几 k 黄色:几百几 k 绿色:几点几 M 蓝色:几十几 M 从数量级来看,在体上可把它们划分为三个大的等级,即:金、黑、棕色是欧姆级的;红是千欧级橙、黄色是十千欧级的;绿是兆欧级、蓝色则是十兆欧级的。这样划分一下是为了便于记忆。 (3)当第二环是黑色时,第三环颜色所代表的则是整数,即几,几十,几百 k等,这是读数时的特殊情况,要注意。例如第三环是红色,则其阻值即是整几k的。 (4)记住第四环颜色所代表的误差,即:金色为5;银色为10;无色为20。 下面举例说明: 例1当四个色环依次是黄、橙、红、金色时,因第三环为红色、阻值范围是几点几k 的,按照黄、橙两色分别代表的数4和3代入,,则其读数为4.3k。第环是金色表示误差为5。 例2当四个色环依次是棕、黑、橙、金色时,因第三环为橙色,第二环又是黑色,阻值应是整几十k的,按棕色代表的数1代入,读数为10 k。第四环是金色,其误差为5。3设计原理及电路图3.1硬件设计3.1.1电路图模拟电路图3.1.2 AT89C52引脚功能说明AT89c52引脚图1-8引脚,属于P1口,与c51不同的是,其p1.0与p1.1可以作为定时/计数器的外部输入,作为定时计数器用,p1口是内置上拉电阻的io口,可以输入输出电流,单引脚20ma,如果是给外部芯片赋值,可直接接入,如果要驱动外部电路,比如,发光二极管,需要再接上限流电阻电阻。因为单片机的输出电流毕竟都非常小,如果要有更大的电流,如驱动蜂鸣器,继电器,则接三极管作为反相且放大大电流的作用。与之相对应的,p0口并不具有内置上拉电阻,所以必须加上10k的排阻,否则置一的时候输出为高阻态,加上10k或者4.7k都可以,置一的时候便可以为一了,这就是io口的普通应用。 另外,p2,p3口也都有内置上拉电阻,置一变为1,置零便是0,另外的一些端口,如第九管脚,属于复位管脚,有复位电路要牢牢记住,机给其高电平两个机器周期,十二个时钟周期,就可以达到复位功能,即使其重新执行程序。第十八十九管脚为外部时钟输入管脚,时钟电路应该牢牢记住,at89c52单片机的晶振为11.0592hz。第二十九三十三十一管脚是决定是否在外部程序存储器中执行程序的管脚,因为我们的应用有限,写不了很大的程序,所以只要内部程序存储器就可以满足我们的要求,所以可以将第三十一管脚接1,另外两个悬空即可。最后是p3口的应用,其中第十管脚和第十一管脚属于串口通信的管脚,max232就是通过这两个管脚实现了程序下载,wr和rd我们是不用的。最后的测量结果为,RX= Rf ( T1/T2 +1)3.2软件设计3.2.1流程图流程图4元器件清单:原件型号数目主要参数备注单片机AT89C511单片机电容0.1uf10.1uf电阻电阻20K120K欧姆电容电阻1K101K欧姆电阻电阻1001100欧姆电阻电阻10K110k欧姆电阻三极管(NPN)BD2374LED管SRK420561K17段LED数码管元器件清单5 硬件与软件的调试5.1硬件 根据设计电路查找所需的元件,待元件查找确定完毕后根据设计的电路图进行焊接,在焊接过程过程中可要确定元件之间的连接及元件位置的准确性,同时要保证焊点的牢固。若元器件多次测量还不显示,可能是焊接接点松动或者电路连接错误。5.2软件设计(运行程序)void LcdInit( void ) /unsigned char Clear; / Pull-up on reset pin,上电复位端口,此时为高,不复位; PORTB |= LCD_RST_PIN; / Set output bits on port B,设置输出口; DDRB |= LCD_RST_PIN | LCD_DC_PIN | LCD_CE_PIN | SPI_MOSI_PIN | SPI_CLK_PIN; Delay(); / Toggle display reset pin. PORTB &= LCD_RST_PIN; /上电复位; Delay(); PORTB |= LCD_RST_PIN; /复位完; / SPI初始化;Enable SPI port: No interrupt, MSBit first, Master mode, CPOL-0, CPHA-0, Clk/4 SPCR = BIT(SPE)|BIT(MSTR); /使能SPI,主机模式; /SPSR = 0x00; /Clear= SPSR; /Clear= SPDR; / Disable LCD controller PORTB |= LCD_CE_PIN; LcdSend( 0x21, 0 ); / LCD Extended Commands. LcdSend( 0xC8, 0 ); / Set LCD Vop (Contrast). LcdSend( 0x06, 0 ); / Set Temp coefficent. LcdSend( 0x13, 0 ); / LCD bias mode 1:48. LcdSend( 0x20, 0 ); / LCD Standard Commands, Horizontal addressing mode. LcdSend( 0x0C, 0 ); / LCD in normal mode. LcdClear(); void LcdClear(void)unsigned int i;LcdSend(0x0c, 0); LcdSend(0x80, 0); /此时操作被默认为清屏for (i=0; i Coordinate for new cursor position. Range: 1,1 . 14,6 void LcdGotoXY(unsigned char X, unsigned char Y)LcdSend(0x40 | Y, 0); / columnLcdSend(0x80 | X, 0); / rowstatic void LcdSend (unsigned char data, unsigned char command)PORTB &= LCD_CE_PIN ; / 使能LCDif (command = 0)PORTB &= LCD_DC_PIN ; /命令传送elsePORTB |= LCD_DC_PIN ; /数据传送SPDR = data; / 传送数据到SPI寄存器while (SPSR & 0x80) = 0); / 等待数据传送完毕PORTB |= LCD_CE_PIN ; / 关闭LCDstatic void Delay ( void ) int i; for ( i = -12000; i 1000) tmp=r/1000; for(i=0;i100) tmp=(r%1000)/100; for(i=0;i10) tmp=(r%100)/10; for(i=0;i5;i+) LcdSend(FontLookuptmpi,1); tmp=r%10; for(i=0;i5;i+) LcdSend(FontLookuptmpi,1); / 小数点 for(i=0;i5;i+) LcdSend(FontLookup10i,1); for(i=0;i5;i+) LcdSend(FontLookupDOTi,1);void main(void) unsigned char X; /v=0,按行显示,x对应某个bank(083) LcdInit(); while(1) LcdGotoXY(X_Init,Y_Init); for(X=0;XX_Length;X+)LcdSend(X_TABX,1);void main(void)unsigned int time1=0,time2=0; float RF=46.0,R=0.0; unsigned int R_TMP=0,DOT=0; timer_count=0; init_devices(); /全部输入,内部上拉 DDRA |=(12); PORTA |=(12); /PA2 输出,充电状态 Delay1s(1); /延时等待完成充电 _NOP(); DDRA &=(12); /输入, PORTA &=(12); timer0_init(); DDRA |=(11); / PORTA &=(11); /PA1 输出低,放电 while(PINA&(12); /等待,放电完成,PINA2被拉低 TCCR0 = 0x00; /stop timer time1=timer_count; /记录标准电阻的放电时间 timer_count=0; init_devices(); /全部输入,内部上拉 DDRA |=(12); PORTA |=(12); /PA2 输出,充电 Delay1s(1); /延时等待充满 _NOP(); DDRA &=(12); /输入 PORTA &=(12); /清内部上拉 timer0_init(); DDRA |=(10); / PORTA &=(10); /PA0 输出低,放电 while(PINA&(12); /等待,放电完成,PINA2被拉低 TCCR0 = 0x00; /stop timer time2=timer_count; /记录待测电阻的放电时间 /计算阻值 R=RF*time2/time1; /R=1234; LcdInit(); LcdGotoXY(X_Init,Y_Init); R_TMP=R; DOT=(R-R_TMP)*10; lcd_show(R_TMP,DOT); while(1):设计心得通过本次试验,我学到了很多的东西,在准备阶段我通过上网和去图书馆查找资料对AT89C52单片机由不认识不了解到初步了解认识再到可以使用,感受到科技电子产品中蕴含了无穷无尽的知识,自己必须保持一颗不坚持学习汲取新的知识的心态。同时在准备过程中对电阻的识别方法也加以复习,能够熟练准确的识别电阻的阻值。焊接的过程中出现了一些小的问题,让我意识到搞科学研究是不容得一丝的马虎,必须保持一颗一丝不苟的心态去对待每一个小的细节。在设计电路的过程中我深刻认识到自己的不足,体会到书本上的知识远远满足不了生活实践当中的需求,我们必须不断的学习课内及课外的各种知识,并能灵活运用,跟需要不断的参加实践,提高自己的动手能力及思维的灵活性,争取做到活学活用。参考文献【1】 作者 程尚松电子测量与仪器电子工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 连轴器生产销售合同范本
- 五多人合伙协议合同范本
- 数字人产品采购合同范本
- 舟字的演变课件
- 怎样代签房租合同协议书
- 租赁车辆抵押车合同范本
- 混凝土设备代理合同范本
- 大型停车场租赁协议合同
- 4s店合同工协议书范本
- 未签订合同进场施工协议
- 《全球哮喘管理和预防策略(GINA 2025)》解读
- 2025年人教版(2024)小学信息科技四年级(全一册)教学设计(附教材目录 P208)
- 20G361预制混凝土方桩
- 2025四川农商联合银行信息科技部社会招聘笔试历年典型考题及考点剖析附带答案详解
- 菜鸟驿站合伙合同协议
- 工业视觉入门培训课件
- 下一代互联网技术
- 皮肤知识与问题性皮肤分析(入行必看)
- 单位消防安全评估报告(模板)
- 电子加速器辐照项目可行性研究报告写作范文
- 江西之江化工“7.2”压力容器爆炸事故
评论
0/150
提交评论