完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)
图1 二,调整原理图大小,适合可视,另存工程文件。(如下图2,3,4所示) 图2 图3 图4 三,点击Source Code标签。(如下图5所示) 图5 四,编辑main.c 代码如Proteus8.9 VSM Studio WINAVR编译器仿真ATmega16系列a08_AD转换结果 (如下图6所示) 图6 五,Main.c 代码: #include “myfunc01.h” //两路模拟转换结果显示缓冲,显示格式为:X.XX X.XX ,第4位和第8位不显示 extern INT8U Display_Buffer[]; //----------------------------------------------------------------- // 主程序 //----------------------------------------------------------------- int main() { INT8U i; DDRA= 0xFC; DDRC= 0xFF; PORTC= 0x00; DDRD= 0xFF; PORTD= 0x00; ADCSRA= 0xE6; _delay_ms(3000); while(1) { ADC_Convert(0); ADC_Convert(1); 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); } } } Myfunc01.h: //****************************************************************************************** #ifndef MYFUNC01_H #define MYFUNC01_H //#define F_CPU 2000000UL #include #include #include #define INT8U unsigned char #define INT16U unsigned int //各数字的数码管段码,最后一位为空白 static INT8U SEG_CODE[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF}; void ADC_Convert(INT8U CH); #endif 六,点击构建工程按钮,编译工程。(如下图7所示) 图7 七,点击窗口左下方仿真按钮,可见虚拟数字屏显示。 (如下图8,9,10所示) 图8 图9 图10 八,选择release,点击构建工程按钮,编译工程生成Hex文件。(如下图11所示) 图11 附件Proteus8.9 VSM Studio WINAVR编译器仿真ATmega16系列a08_AD转换结果在已安装Proteus8.9的计算机文件夹中打开即可 |
|
|
|
只有小组成员才能发言,加入小组>>
3316 浏览 9 评论
2995 浏览 16 评论
3494 浏览 1 评论
9060 浏览 16 评论
4088 浏览 18 评论
1180浏览 3评论
605浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
599浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2335浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1896浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 01:34 , Processed in 1.095598 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号