//***********************************************************************
// 包含文件
//***********************************************************************
#include #include #define F_CPU 16000000 // 单片机主频为16MHz,用于延时子程序,熔丝位必须设置到外部高频晶振才行 #include #include #include #include #include "Config.h" //*********************************************************************** // 定义变量区 //*********************************************************************** uint tx_count=200,tx_flag=0xff; static uchar A1,A2,A3; uchar usart_rx_data=0xff; //*********************************************************************** // IO端口初始化 //*********************************************************************** void system_init() { LED = 0xFF; //数据口为输出 LEDDDR=0xFF; //设置为输出 } //************************************************************************* // 将收到的串口数据显示到LED发光二极管,可以根据自己的情况更改 //************************************************************************* void Display_Uart(uint Data_Rev) { LED = Data_Rev; } void usart_init() { UCSR0A=0x00; //单倍速模式 UCSR0B=0x98; //接收中断允许,发送结束和寄存器空中断关闭,采用查询发送模式 UCSR0C=(1< UBRR0H=baud_h; //写波特率的值 UBRR0L=baud_l; } //************************************************************************* // 数据处理函数 //************************************************************************* void data_do(uchar temp_d) { uchar A2t; A1=temp_d/100; //分出百,十,和个位 A2t=temp_d%100; A2=A2t/10; A3=A2t%10; } //************************************************************************* // 串口相关中断服务子程序 //************************************************************************* //数据发送结束中断向量 ISR(USART0_TX_vect) //中断服务程序 { delay_ms(10); //相关操作 } //数据接收结束中断向量 ISR(USART0_RX_vect) //中断服务程序 { usart_rx_data=UDR0; //将接收到的数据取出 Send_SingleChar(usart_rx_data); //接收到的数据再发回电脑,显示在串口调试助手上 } //数据寄存器空中断向量 void Send_SingleChar(uchar usart_tx_data) { while(!(UCSR0A&(1< UDR0=usart_tx_data; //写入发送数据 while(!(UCSR0A&(1< UCSR0A|=(1< } //************************************************************************* // 主程序 //************************************************************************* int main(void) { uchar i; system_init(); //系统初始化 usart_init(); //usart串口初始化配置 for(i=1;i<=200;i++) { Send_SingleChar(i); //发送01到200 } SREG|=0x80; //开启全局中断 while(1); }
上一篇:Atmega128a的4位独立键盘控制程序
下一篇:一个单片机IO口与74HC573及数码管显示应用
推荐阅读
史海拾趣
无锡友达电子有限公司自2002年成立以来,就致力于半导体集成电路设计领域。在初创阶段,公司凭借对高性能模拟和数模混合集成电路的深刻理解,迅速推出了多款性能优异的功放、电源等系统方案。这些产品在电视机、音响设备等领域的广泛应用,为公司赢得了市场的初步认可。通过不断的技术创新,无锡友达逐渐在电子行业崭露头角。
随着电子行业的快速发展和市场竞争的加剧,eMemory始终保持着对新技术和新市场的敏锐洞察力。公司不断推出新的硅智财产品和解决方案,以满足客户不断变化的需求。同时,eMemory还积极拓展国际市场,与全球多家知名芯片设计厂商建立了长期稳定的合作关系。这些努力使得eMemory在电子行业中保持着领先地位,并为其未来的发展奠定了坚实的基础。
Aydin Corp公司诞生于电子行业的初期,当时的市场充满了机遇与挑战。创始人凭借对电子技术的深厚理解和对市场需求的敏锐洞察,决定投身于这一领域。初创时期,公司面临着资金短缺、技术瓶颈和市场竞争等多重困难。然而,通过不懈的努力和持续的创新,Aydin Corp逐渐在市场中站稳了脚跟。
DCCOM公司自创立之初,就注重技术创新和研发投入。在成立初期,公司研发团队成功开发出一种具有高性能和低功耗特点的电子元件,这一创新技术迅速赢得了市场的认可。随着技术的不断迭代和升级,DCCOM逐渐在电子元件市场上占据了一席之地。
关于在WIN CE设备上的TTS(语音合成)技术开发包的两个问题,请教大家! QUESTION1:微软的speech SDK5.1是否支持wince的各种平台? QUESTION2: 在wince上做TEXT TO SPEECH一般都有哪些免费或者是收费的SDK啊? 请各位多多指教,有什么看法和意见都可以留下来我参考,先谢谢各位! 关于在WIN CE设备上的TTS(语音合成 ...… 查看全部问答∨ |
|
我是GPRS的新手,公司想把GPRS用于三表行业,不知道有没有朋友做这方面开发的,我想问一下这种数据传输是不是采用TCP方式传,要用 SIM卡吗?… 查看全部问答∨ |
我用dsPIC30F2012做一个A/D转换,正参考电压接在Vref+上,负参考电压接在Vref-上,VCC经过滤波后接在了AVDD上,现在AVss不知如何处理,因为要求转换的电压是有负电压的,我能不能直接将AVss接地。A/D转换的参考电压选用的是Vref+和Vref-。请前辈高 ...… 查看全部问答∨ |
选择HSI做为主时钟,16MHz void CLK_Init(void) { CLK_DeInit(); CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); } //SPI初始化 void SPI_MyInit(void) { SPI_DeInit(); ...… 查看全部问答∨ |
|
以前编程序,用到数学公式中的三角函数,开方函数..公式的时候,自己使用泰勒展开并取到5阶.以前的IQmath用在DSP上比较多,许多的使用文档都是基于TMS320F281xx处理器的,现在好像IQmath能用在LM3S芯片上.麻烦问下TI专家,IQmath如何使用,其中的cmd文件如 ...… 查看全部问答∨ |