完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
这个程序是已经做好了的ad数据采集。。(硬件已经做好了)
希望大神修改使数据通过串口显示到labview里面,然后labview发送字符在液晶第二行后面显示。顺便能控制P3口两个led灯 #include #include "lcd1602.c" #define uint unsigned int #define uchar unsigned char /* ST--P1.0 EOC--P1.6 OE--P1.5 CLK--P1.4 A--P1.3 B--P1.2 C--P1.1 */ ***it OE = P1^0; //位定义 ***it EOC = P1^1; ***it ST = P1^2; ***it CLK = P1^3; void DelayMS(uint ms) //延时函数 { uchar i; while(ms--) { for(i=0;i<120;i++); } } void Display_Result(int x) { x=(x*3.9); // 255与1000转换 GotoXY(0,1); LCD_Write(1,x/1000+'0'); LCD_Write(1,x%1000/100+'0'); LCD_Write(1,x%100/10+'0'); LCD_Write(1,'.'); LCD_Write(1,x%10+'0'); } void main() { LCD_Initial(); //液晶屏初始化 GotoXY(0,0); //指针定位 Print("temp"); TMOD = 0x02; //0000 0010 定时计数器 高四位T1 低四位T0 gate c/t' m1 m0 TH0 = 0x14; //0001 0100 16+4=20 高八位 TL0 = 0x00; //0000 0000 低八位 IE = 0x82; //1000 0010 开中断 TR0 = 1; // 开启定时计数 P1 = 0x3f; //0011 1111 0 c1 c2 c3 clk st eoc oe while(1) { ST = 0; ST = 1; //当ST上跳沿时,所有内部寄存器清零 ST = 0; //下跳沿时,开始进行A/D转换 ,在转换期间,ST应保持低电平 while(EOC == 0); //当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换 OE = 1; //OE=1,输出转换得到的数据; DelayMS(40); Display_Result(P2) ; OE = 0; // OE=0,输出数据线呈高阻状态 } } void Timer0_INT() interrupt 1 //定时计数器0 { CLK = !CLK; //通常使用频率为500KHZ } |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之变量
472 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之本地脚本的编写和执行
654 浏览 0 评论
【xG24 Matter开发套件试用体验】深入了解Silicon Labs xG24 Matter开发套件
789 浏览 0 评论
702 浏览 0 评论
727 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10953 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-2 07:24 , Processed in 0.424389 second(s), Total 67, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191