完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
求大神查看我的仿真图是否正确,为什么总显示乱码。我搜了好多没看到关于TLC549 的仿真图!
附程序: #include //定义显示数组d[4]以及一个变量n用于动态显示 unsigned char d[4],n; //定义显示用的查找表 unsigned char code table[11]={0x3f,6,0x5b,0x4f, 0x66,0x6d,0x7d,7,0x7f,0x6f,0}; //0--9 最后再有一个空 unsigned char code digit[4]={0xf7,0xf6,0xf5,0xf4}; //定义TLC549转换接口 ***it tlc549_cs=P1^4; ***it tlc549_clk=P1^3; ***it tlc549_data=P1^5; //定义可位寻址的变量adc用于存放ad转换值, //以及一个bit变量用于移位,它指示了ad的最最低一位 unsigned char bdata adc; ***it adclow=adc^0; //ad转换函数 unsigned char adconvert() { unsigned char i; tlc549_cs=1; tlc549_cs=0; tlc549_clk=0; for(i=0;i<8;i++) { tlc549_clk=1; adclow=tlc549_data; tlc549_clk=0; if(i<7) adc=adc<<1; } tlc549_clk=0; tlc549_cs=1; return(adc); } /******将ad转换BCD码值显示出来**********/ vtobcd(unsigned int hexs) { d[0]=hexs/1000; hexs=hexs % 1000; d[1]=hexs/100; hexs=hexs % 100; d[2]=hexs/10; hexs=hexs % 10; d[3]=hexs; return 0; } /*******延时函数***********/ void delay(unsigned char dy) { while(--dy); } /*****定时器初始化函数********/ void Init_timer (void) { TMOD=0X21; TR0=1; ET0=1; EA=1; } /**********定时器0中断服务函数*****************/ void timer0() interrupt 1 using 1 { TH0=(65536-1000)/256; TL0=(65536-1000)%256; n=n++; if(n>3) n=0; P0=0; P2=digit[n]; P0=table[d[n]]; } /******主函数main*************/ //效果就是显示测量的电压值; //电压值用mv为单位,范围 0--5000mv //由于测量值的范围为0--255,所以中间要乘一个系数19.6 /*****************************/ void main() { unsigned char ad,j; Init_Timer(); //变量初始化 n=0; while(1) { ad=adconvert(); //ad转换 vtobcd(ad*19.6); //将ad转换BCD码 for(j=0;j<200;j++) delay(250); } }
|
|
相关推荐
1个回答
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
3787 浏览 3 评论
5075 浏览 1 评论
5352 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
7072 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1198 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 14:56 , Processed in 0.348182 second(s), Total 43, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号