完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
数据DA输出出现问题,无法正常输出,求帮助,看是程序和电路仿真哪里出现错误
以下是相关电路图,和程序, #include #include #define uchar unsigned char #define uint unsigned int ***it rs=P2^6; ***it rw=P2^5; ***it e=P2^7; //LCD1602控制端 ***it cs=P2^0; ***it di=P2^2; ***it dox=P2^3; ***it clk=P2^1;//ADC0832控制端 ***it csd=P1^0; ***it wr1=P1^1;//DAC0832控制端 uchar code table1[]="INPUT CHANNEL "; //显示数据表 uchar code table2[]=" VOLTAGE: "; uchar code table3[]="0123456789."; uchar ge,shi,bai; //显示值存储变量 uchar adc_data; //A/D转换值存储变量 void delay() //误差 0us 5ms延时 { uchar a,b; for(b=19;b>0;b--) for(a=130;a>0;a--); } void write_dat(uchar dat) //LCD1602写数据 { rs=1; rw=0; P0=dat; delay(); //待数据稳定,待LCD1602响应完毕,否则LCD不显示. e=0; e=1; e=0; } void write_com(uchar com)//LCD1602写指令 { rs=0; rw=0; P0=com; delay(); e=0; e=1; e=0; } void top() //LCD1602显示第一行 { uchar i; write_com(0x80); for(i=0;i<14;i++) { write_dat(table1[i]); } write_dat(table3[(uchar)(F0)]); } void bot() //LCD1602显示第二行 { uchar i; write_com(0xc0); for(i=0;i<10;i++) { write_dat(table2[i]); } write_dat(table3[(uchar)(bai)]); write_dat(table3[10]); //显示小数点 write_dat(table3[(uchar)(shi)]); write_dat(table3[(uchar)(ge)]); } void init() //LCD1602初始化 { write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); } void adc() //ADC0832转换 { uchar i; cs=1; clk=0; cs=0; di=1; clk=1;//第一个脉冲 clk=0; clk=1;//第二个脉冲 clk=0; di=F0; clk=1;//第三个脉冲 clk=0; clk=1; for(i=0;i<8;i++) { clk=0; adc_data<<=1; adc_data|=(uchar)(dox); clk=1; } cs=1; } void da() { csd=0; wr1=0; P0=adc_data; } void adx() //ADC0832数制转换 { bai=adc_data/51; shi=((adc_data%51)*10)/51; ge=((((adc_data%51)*10)%51)*10)/51; } void main() { SP=0x30; init(); while(1) { da(); adc(); adx(); top(); bot(); delay(); } }
|
|
相关推荐
8个回答
|
|
这个你要分几步检查,第一个,单片机传到DA芯片的数据对不对,第二个,DA芯片的应用电路是不是对的。因为我没用过这款芯片,不太清楚它的应用电路有哪些需要注意的地方。
最佳答案
|
|
|
|
你的DA芯片片选脚和写使能脚置低之后没有恢复为高,会导致你控制液晶屏时的数据也被DA芯片接收,从而导致输出错误。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
求解adc_data|=(uchar)(dox);两个括号里是什么意思?
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
7975 浏览 0 评论
1815 浏览 0 评论
VL53L5CX #高达 8x8 多区域测距和 63°对角线宽视场 飞行时间多区域测距传感器
17155 浏览 0 评论
【罗姆传感器评估板试用体验连载】罗姆传感器整合进同一个示例程序
21838 浏览 0 评论
【罗姆传感器评估板试用体验连载】5.试用项目(高原列车车厢环境检测终端)+结语
7884 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-10 17:41 , Processed in 0.659714 second(s), Total 89, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191