Altium Designer画的AD接收UART发送模块电路原理图和PCB图如下:
【简要说明】
一、 尺寸:长50mmX宽25mmX高10mm
二、主要芯片:ATMEGA8
三、工作电压:直流5V
二、 特点:
1、检测模拟量电压范围0~5V
2、数码管显示范围0~5000
3、四位数码管显示
4、输入输出接线简单
5、AD转换频率125K,8位数据转换
6、波特率:9600 , 误差率:0.156%
三、 作用:将0~5V的模拟电压量转换成为0~5000的数字量,由数码管显示出来,并转换成为0~255的十六进制,由单片机UART(即,TXD口发出),经232电平转换后,可以和电脑直接通信。
AD接收UART发送模块AD转换数值显示
单片机源程序如下:
#include
#include #define uchar unsigned char #define uint unsigned int /******************************************************************** 数码管段码定义0123456789 *********************************************************************/ uchar Table[10]={0xc0,0Xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //所需的段的位码 uchar wei[4]={0X10,0X20,0X40,0X80}; //位的控制端 (仿真) //uchar wei[4]={0Xe0,0Xd0,0Xb0,0X70}; //位的控制端 (板子) uint date; //定义数据类型 uchar z,x,c,v; //定义数据类型 /********************************************************************** **********************************************************************/ void DelayMs(uint i) //0.25ms {uint j; for(;i!=0;i--) {for(j=8000;j!=0;j--) {;}} } /********************************************************************** 数码管动态扫描 *********************************************************************/ void Pre_Display() { /***********************数据转换*****************************/ z=date/1000; //求千位 x=date%1000/100; //求百位 c=date%100/10; //求十位 v=date%10; //求个位 PORTD=wei[0]; PORTB=Table[z]; DelayMs(1); PORTD=wei[1]; PORTB=Table[x]; DelayMs(1); PORTD=wei[2]; PORTB=Table[c]; DelayMs(1); PORTD=wei[3]; PORTB=Table[v]; DelayMs(1); } /********************************************************************** 电压值处理函数 **********************************************************************/ uint ADC_Convert(void) {uint temp1,temp2; temp1=(uint)ADCL;//先读ADCL temp2=(uint)ADCH;//再读ADCH temp2=(temp2<<8)+temp1;//求值 temp2=temp2*49/10;//求显示的电压值(0~5.12)V if(temp2>=5000)temp2=5000; return(temp2); } /********************************************************************** 初始化I/O口 **********************************************************************/ void Init_IO(void) //初始化I/O口 { DDRC=0x00; //设置C口为不带上拉输入; PORTC=0x00; DDRB=0xff; //设置B口为推挽1输出; PORTB=0xff; DDRD=0xFF; //设置D口为推挽1输出; PORTD=0xFF; } /******************************************************************** 串口初始化子程序 *********************************************************************/ void Uart_Init(void) { UCSRB = 0x00; //disable while setting baud rate UCSRA = 0x00; //Bit1为1则倍速发送 UCSRC = 0x86; UBRRL = 0x33; //波特率:9600 Bps UBRRH = 0x00; //误差率:0.156% UCSRB = 0x18; } /******************************************************************** 串口发送字节子程序 *********************************************************************/ void Putchar(unsigned char c) { while (!(UCSRA&(1< } /********************************************************************** 主函数 **********************************************************************/ void main(void) {uint i; uint B=50; uint TXD; Init_IO(); Uart_Init(); ADMUX=0x00; //选择第一通道; /**********************转换速率应在50~200K****************************/ ADCSR=0xe6; //125K转换速率,自由转换模式;启动AD转换器; DelayMs(1); //延时待系统稳定; while(1) { B--; i=ADC_Convert(); //显示电压值(0~1024) ……………………
上一篇:AVR单片机的TWI中断模式
下一篇:AVR定时器1快速PWM模式设置
推荐阅读
史海拾趣
ABOV(现代单片机)是一家韩国的半导体公司,以下是该公司发展的五个相关故事:
公司成立和初期发展: ABOV公司成立于1997年,总部位于韩国首尔。公司专注于设计、制造和销售嵌入式系统解决方案,主要产品包括微控制器(MCU)和嵌入式闪存等。成立初期,ABOV致力于技术创新和产品研发,建立起一支技术精湛的研发团队。
技术创新和产品推出: ABOV在技术创新方面投入了大量资源,不断推出新产品和解决方案。公司的现代单片机产品以其高性能、低功耗和丰富的功能而闻名。ABOV还在嵌入式闪存技术方面取得了重大突破,推动了嵌入式系统的发展和普及。
市场拓展和国际合作: 随着产品技术的不断成熟和市场需求的增长,ABOV积极拓展国际市场,并与全球各地的客户建立了合作关系。公司的现代单片机产品被广泛应用于消费电子、汽车电子、工业控制等领域,赢得了客户的信赖和认可。
持续投入研发和创新: ABOV持续投入研发,并不断提升产品性能和功能。公司注重与客户的密切合作,根据客户需求进行定制化开发,为客户提供个性化的解决方案。ABOV还与学术机构和合作伙伴合作,共同推动技术创新和产业发展。
未来展望和发展方向: ABOV将继续致力于技术创新和产品升级,加强在嵌入式系统领域的研发和应用。公司将继续拓展国际市场,加强与客户和合作伙伴的合作,推动现代单片机技术的发展和普及,为全球的电子行业做出更大的贡献。
随着产品技术的不断升级和完善,CAT开始积极寻求市场拓展的机会。公司不仅在国内市场取得了显著的成绩,还逐步打开了国际市场的大门。CAT的产品远销海外,赢得了全球客户的信赖和好评。同时,公司还注重品牌塑造,通过参加国际电子展会、举办技术研讨会等方式,不断提升品牌知名度和影响力。
面对未来,EOS制定了明确的发展战略和规划。他们将继续深耕红外探测器领域,不断提升产品性能和质量。同时,EOS也将积极布局新领域,探索新的增长点。他们关注新兴技术如人工智能、物联网等的发展动态,寻求与这些技术的深度融合和应用。通过不断创新和拓展新领域,EOS将为实现企业的可持续发展注入新的动力。
请注意,以上故事框架是基于EOS在红外探测器领域的发展情况和行业趋势进行构建的,具体细节和数据可能需要根据实际情况进行调整和完善。
2007年10月,G24i在英国建立了DSSC的30MW试产线,这是全球范围内的重要里程碑。这条生产线具备高效的生产能力,能够在不到3小时的时间内制造出长达约800米的太阳能电池,生产速度高达每分钟4米以上。这一成就不仅展示了G24i在规模化生产方面的实力,也为后续的商业化应用奠定了产能基础。尽管初期商业化模组产品的转换效率仅为3%,但G24i通过不断优化生产工艺和降低成本,逐步提升了产品的市场竞争力。
在电子行业竞争日趋激烈的背景下,Cotco公司深知供应链管理和成本控制的重要性。公司与主要供应商建立了长期稳定的合作关系,确保原材料的稳定供应和成本控制。同时,Cotco不断优化生产流程和物流管理,降低生产成本和运营成本。这些举措使得Cotco的产品在价格上具有更强的竞争力,进一步巩固了其在市场上的地位。
请教一个非常奇怪的问题:程序中定义了一个数组mempool,指向该数组的指针MpIsrOut和结构体MInfo及指向该结构体的指针MpIsrInfo,这个结构体和数字都在xdata空间。程序在一个函数中是以该数组指针和结构体指针来访问这两个实体的,在这个函数里,出 ...… 查看全部问答∨ |
|
我用的是C#写的,写在paint事件中,运行不到那里 我就改到构造函数中去绘制同样也没有显示出来 public ucDrawLine() { InitializeComponent(); &nb ...… 查看全部问答∨ |
|
驱动的makefile、sourse还有ini文件该怎么写? 请问一下,文件系统过滤驱动程序编译需要的makefile和source文件怎么来写,我编写时是使用的ifs kit中sfilter过滤驱动中的原文件修改。但编译后nms翻译提示没有时间戳和可能过期,还有安装后重起进不了系统。请高手 ...… 查看全部问答∨ |
|
刚装了Evc4+sp3+sdk4.2+ppc2003sdk,编译的时候报“The emulator coul not be found in the speci 模拟器已经装了阿,可以看到的,为什么编译出问题呢?模拟器的安装路径不能变吗?哪位能告诉我evc4怎么配置阿,有哪本书讲啊?… 查看全部问答∨ |
|