完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
# include
# include unsigned int temperture[]={49,46,48,48,45,0}; unsigned int smg_8_show[]={0x81,0xb7,0xc2,0x92,0xb4,0x98,0x88,0xb3,0x80,0x90}; void delay(unsigned int x) { unsigned int i,j; for(i=x;i>0;i--) { for(j=0;j<1141;j++) { ;; } } } void Port_init()//端口初始化 { DDRA&=~BIT(0); PORTA&=~BIT(0); } void USART_Init( unsigned int baud )//串口初始化 { UBRRH = (unsigned char )(baud>>8);/*设置波特率,baud的值查数据手册*/ UBRRL = (unsigned char ) baud;/* 接收器与发送器使能*/ UCSRB = (1< void USART_Receive(unsigned int r) { while ( !(UCSRA & (1< } //AD转换初始化函数 void ADC_Init() { ADMUX |= (1< //AD转换函数 unsigned int ADC_GetData() { ADCSRA |= (1 < } void put_s_1(unsigned int *s) { while(*s) { USART_Receive(*s); s++; } } void main() { unsigned int res,cr; //unsigned int re_0,re_1,re_2,re_3; DDRD =0Xff; Port_init();//初始化PA通道 USART_Init(51);//串口初始化 ADC_Init();//ADC初始化 while(1) { res = ADC_GetData(); //变换得到电压整数位 cr = ((int)((long)res*5000/1024)); temperture[0]=cr/1000+48; temperture[1]=(cr%1000)/100+48; temperture[2]=(cr%100)/10+48; temperture[3]=(cr%10)+48; put_s_1(temperture); delay(1000); } } //我用的是往串口显示+了48,不知道其他地方有什么问题没,显示各种不对。 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5667 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
8123 浏览 0 评论
3370 浏览 2 评论
3354 浏览 1 评论
10525 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-9 13:53 , Processed in 0.632578 second(s), Total 58, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2982