完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
//--------------------------------------------------------------------- //名称:数码管显示两路A/D转换结果 //说明:调节RV1,RV2时,两路模拟电压将显示在8只集成式数码管上 //注:用PROTEUS仿真,只能看到ADC0这一路 //--------------------------------------------------------------------- #define F_CPU 4000000UL #include #includetil/delay.h> #define INT8U unsigned char #define INT16U unsigned int //各数字的数码和管段码,最后一位为空白 const INT8U SEG_CODE[]= {0XC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; //两路模拟转换结果显示缓冲,显露格式为:X.XX X.XX,第4位和第8位不显示 INT8U Display_Buffer[]={0,0,0,10,0,0,0,10}; //---------------------------------------------------------------------- //对通道CH进行模/数转换 //---------------------------------------------------------------------- void ADC_Convert(INT8U CH) { int Result; ADMUX=CH; //ADC通道选择 //读取转换结果,并转换为电压值 Result=(int)((ADCL+(ADCH<<8))*500.0/1023.0); //将10位的模/数转换结果0X0000-0X03FF(即0-1023)转换为000-500之间的 //待显示的数(电压0.00-5.00V) //或使用语句:Result=(int)(ADC*500.0/1023.0); //ADC0的结果放入数组0,1,2单元,ADC1的结果放入数组4,5,6单元 Display_Buffer[CH*4]=Result/100; Display_Buffer[CH*4+1]=Result/10%10; Display_Buffer[CH*4+2]=Result%10; } //-------------------------------------------------------------------- //主程序 //-------------------------------------------------------------------- int main() { INT8U i; DDRA=0XFC; //11111100,配置A/D转换端口ADC0,ADC1为输入 DDRC=0XFF;PORTC=0X00; //配置数码管显示端口 DDRD=0XFF;PORTD=0X00; ADCSRA=0XE6; //11100110,ADC转换置位置,启动转换,64分频 _delay_ms(300); //延时等待系统稳定,时间长时,等一个会才显示 while(1) { ADC_Convert(0); ADC_Convert(1); //对2个通道进行A/D转换 for(i=0;i<8;i++) { PORTC=0XFF; //先关闭段码 PORTD=_BV(i); //发送数码管位码 PORTC=SEG_CODE[Display_Buffer]; //发送数字段码 if(i==0||i==4) PORTC&=0X7F; //对整数位加小数点 _delay_ms(4); } } } 附件为Proteus文件和HEX文件:
数码管显示两路AD转换结果.rar
(152.85 KB, 下载次数: 1
)
|
|
相关推荐
5 个讨论
|
|
|
好的,谢谢楼主
|
|
|
|
|
|
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
234 浏览 0 评论
514 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
826 浏览 0 评论
1366 浏览 2 评论
814 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16907 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 22:36 , Processed in 0.772233 second(s), Total 54, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3345