山东大学单片机实验-(实验7).doc

山东大学单片机实验-(实验7).doc

ID:58581393

大小:512.50 KB

页数:9页

时间:2020-10-19

山东大学单片机实验-(实验7).doc_第1页
山东大学单片机实验-(实验7).doc_第2页
山东大学单片机实验-(实验7).doc_第3页
山东大学单片机实验-(实验7).doc_第4页
山东大学单片机实验-(实验7).doc_第5页
资源描述:

《山东大学单片机实验-(实验7).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、信息科学与工程学院2016-2017学年第二学期实验报告课程名称:单片机原理与应用实验名称:3.8ADC0808/9信号采集实验实验报告【实验题目】本实验利用LCD1602和AD0808实现简单的交流信号过零检测与频率分析。要求信号幅度变化时(满量程的5%~95%),不影响检测的结果。频率检测的结果通过LCD1602的第1行显示出来,信号过零时,能够通过P2.6输出一个脉冲宽度为5微秒的脉冲信号。【实验要求】1.编写源程序并进行必要的注释;2.记录实验过程;3.记录程序运行结果;【实验过程及结果记录】自我完成实验A.电路图B.运行结果频率监测过零检

2、测【实验源程序】#include#include#defineuintunsignedint#defineucharunsignedcharsbitLCD_RS=P2^0;sbitLCD_RW=P2^1;sbitLCD_EN=P2^2;sbitAD_CLK=P2^3;sbitStart=P2^4;sbitOE=P2^5;sbitOut_pulse=P2^6;sbitEOC=P2^7;uchartx50=0;ucharf=0;uchardate,lastdate,ge,shi;voiddelay_ms(uint

3、xms){uinti,j;for(i=xms;i>0;i--){for(j=110;j>0;j--);}}bitlcd_busy(){bitresult;LCD_RS=0;LCD_RW=1;LCD_EN=1;_nop_();_nop_();_nop_();_nop_();result=(bit)(P1&0x80);LCD_EN=0;returnresult;}voidlcd_wcmd(ucharcmd){while(lcd_busy());LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P1=cmd;_nop_

4、();_nop_();_nop_();_nop_();LCD_EN=1;_nop_();_nop_();_nop_();_nop_();LCD_EN=0;}voidlcd_clr(){lcd_wcmd(0x01);delay_ms(2);}voidlcd_wdat(uchardat){while(lcd_busy());LCD_RS=1;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P1=dat;_nop_();_nop_();_nop_();_nop_();LCD_EN=1;_nop_();_nop_();_nop_();_

5、nop_();LCD_EN=0;}voidlcd_init()//初始化子程序{delay_ms(15);lcd_wcmd(0x38);//8位数据总线,显示2行,5*7点阵delay_ms(5);lcd_wcmd(0x0c);//显示开,关光标,不闪烁delay_ms(5);lcd_wcmd(0x06);//进入模式设置指令中,地址自动增加delay_ms(5);lcd_wcmd(0x01);//清楚LCD显示内容delay_ms(5);}voids_timer0()interrupt1{TH0=0x3c;TL0=0xb0;tx50=tx50+1

6、;if(tx50==20){TR0=0;tx50=0;f=f/2;shi=f/10;shi=shi+'0';ge=f%10;ge=ge+'0';lcd_wcmd(0x80);lcd_wdat('F');delay_ms(5);lcd_wdat('=');delay_ms(5);lcd_wdat(shi);delay_ms(5);lcd_wdat(ge);delay_ms(5);lcd_wdat('H');delay_ms(5);lcd_wdat('z');f=0;TR0=1;}}voids_timer1()interrupt3{AD_CLK=~AD

7、_CLK;}voidmain(){delay_ms(10);lcd_init();lcd_clr();delay_ms(2);TMOD=0x21;TH1=0xfd;TL1=0xfd;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;while(1){Start=1;Start=0;while(EOC!=1);OE=1;P0=0xff;lastdate=date;date=P0;OE=0;if(((lastdate<128)&&(date>=128))

8、

9、((lastdate>=128)&&(date<12

10、8))){f++;Out_pulse=1;_nop_();_nop_();_nop_();_nop_();Out_puls

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。