完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
基于8950单片机和PCF8591转换器和LCD显示屏的实现。
想把这里面的报警部分去掉和大概功能就是通过改变电压大小再通过A/D转换器把电压信号传到单片机再传到LCD显示屏(程序部分我不太明白)求大神帮忙,再有一个星期就要答辩了!!就差程序实现! 下面是我在网上找的一个代码: include"reg51.h" include define DD P2 ***it CS=P1^0; ***it CLK=P1^1; ***it Do=P1^2; ***it Di=P1^3; ***it KEY=P1^7; ***it buzzer=P0^0; ***it Rs=P1^4; ***it Rw=P1^5; ***it E=P1^6; ***it busy_p=ACC^7; unsigned char CH=0x02,key_count=1; unsigned char HC[6]={0}; unsigned char BZ=0; void delay_1ms(unsigned char i) { unsigned char j; while(i--) for(j=0;j<125; j++); } void delay_10ns(unsigned char i) { unsigned char j; while(i--) for(j=0;j<10; j++); } void xiezhiling(unsigned char com,bit p) { if(p) delay_10ns(5); E=0; Rs=0; Rw=0; DD=com; delay_10ns(50); E=1; delay_1ms(2); E=0; delay_10ns(4); } void xieshuju(unsigned char DATA) { delay_10ns(50); E=0; Rs=1; Rw=0; DD=DATA; delay_10ns(50); E=1; 39 delay_10ns(50); E=0; delay_10ns(4); } void init(void) { delay_1ms(15); xiezhiling(0x38,0); delay_1ms(5); xiezhiling(0x38,0); delay_1ms(5); xiezhiling(0x38,0); delay_1ms(5); xiezhiling(0x38,1); xiezhiling(0x08,1); xiezhiling(0x01,1); xiezhiling(0x06,1); xiezhiling(0x0c,1); } unsigned char ADconv(void) { unsigned char i; unsigned intdata_f=0,data_c=0; Di=1; CS=1; _nop_(); CS=0; Di=1; ; CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); _nop_(); CLK=1; Di=(bit)(0x02&CH); _nop_(); CLK=0; _nop_(); _nop_(); CLK=1; Di=(bit)(0x01&CH); _nop_(); _nop_(); CLK=0; Di=1; CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); CLK=1; for(i=8;i>0;i--) { data_f|=Do; data_f<<=1; CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); } for(i=8;i>0;i--) { data_c<<=1; data_c|=Do; _nop_(); CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); } CLK=0; _nop_(); _nop_(); CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); _nop_(); CLK=1; _nop_(); CS=1; _nop_(); _nop_(); return daa_f; } void xs_int(unsigned int shuju) { if(shuju < 10) BZ = 1; else if(shuju < 100) BZ =2; else if(shuju < 1000) BZ =3; else if(shuju < 10000) BZ= 4; else if(shuju < 65535) BZ= 5; switch(BZ) { case 5:HC[5] = shuju/10000; case 4:HC[3] =shuju%10000/1000; case 3:HC[2] =shuju%1000/100; case 2:HC[1] =shuju%100/10; case 1:HC[0] = shuju%10; break; default:break; } } void main(void) { unsigned int data_temp=0; init(); TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; ET0=1; TR0=1; while(1) { data_temp=ADconv(); if(data_temp>128) { EA=1; } else { EA=0; buzzer=0; } P3=~data_temp; xs_int(196*data_temp); if(KEY==0) { delay_1ms(10); if(KEY==0) while(!KEY); key_count++; if(key_count==3) key_count=1; xiezhiling(0x01,0); } if(key_count==1) { xiezhiling(0x80,1); xieshuju('P'); xieshuju('R); xieshuju('E'); xieshuju('S); xieshuju('S'); xieshuju('U'); xieshuju('R); xieshuju('E'); xieshuju('-'); xieshuju(HC[5]+0x30); xieshuju(HC[3]+0x30); xieshuju(HC[2]+0x30); xieshuju('.'); xieshuju(HC[1]+0x30); xieshuju('P'); xieshuju('a'); xiezhiling(0x80+0x40,1); xieshuju('A'); xieshuju('l'); xieshuju('a'); xieshuju('r'); xieshuju('m'); xieshuju(' '); xieshuju('S'); xieshuju('t'); xieshuju('a'); xieshuju('t'); xieshuju('u'); xieshuju('s'); xieshuju('-'); xieshuju('-'); xieshuju('O'); xieshuju('N'); } if(key_count==2) { xiezhiling(0x80,1); xieshuju('P'); xieshuju('r'); xieshuju('e'); xieshuju('s'); xieshuju('s'); xieshuju('u'); xieshuju('r'); xieshuju('e'); xieshuju(' '); xieshuju('i'); xieshuju('s'); xieshuju(' '); xieshuju('O'); xieshuju('K'); xieshuju(' '); xieshuju(' '); xiezhiling(0x80+0x40,1); xieshuju('m '); xieshuju('a'); xieshuju('d'); xieshuju('e'); xieshuju(' '); xieshuju('B'); xieshuju('Y'); xieshuju(' '); xieshuju('y'); xieshuju('u'); xieshuju('a'); xieshuju('n'); xieshuju('s'); xieshuju('h'); xieshuju('u'); xieshuju('o'); xieshuju(' '); } } } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; buzzer=!buzzer;} |
|
相关推荐
1个回答
|
|
PCF8591是用来AD采集还有一路DA。你又加了显示模块,你的毕业设计具体做什么的。PCF591小弟我N年前就用烂了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
489 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
498 浏览 0 评论
655 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1329 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
558 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11753 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 19:31 , Processed in 0.770968 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号