欢迎来到天天文库
浏览记录
ID:57059237
大小:576.00 KB
页数:21页
时间:2020-07-30
《SoC型单片机原理及应用课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SoC型单片机原理和应用_75.6UART通信设计F320的UART原理1)UART0波特率由定时器1工作在8位自动重装载方式产生。发送(TX)时钟由TL1产生。定时器1应被配置为方式2,即8位自动重装载方式。定时器1的重载值应设置为使其溢出频率为所期望的波特率频率的两倍。注意,定时器1的时钟可以在6个时钟源中选择:SYSCLK、SYSCLK/4、SYSCLK/12、SYSCLK/48、外部振荡器时钟/8和外部输入T1。对于任何给定的定时器1时钟源,UART0的波特率由以下方程决定:baud=clk/(256-TH1)/22)SCON0与传统的
2、SCON不太一样,地址是一样的:0x98。位7:S0MODE:串行口工作方式选择位,0:方式0:波特率可编程的8位。1:方式1:波特率可编程的9位。位6:未使用。位5:MCE0:多处理器通信允许,该位的功能取决于串行口工作方式。S0MODE=0:检查有效停止位。0:停止位的逻辑电平被忽略。1:只有当停止位为逻辑‘1’时RI0激活。位4:REN0:接收允许,0:UART0接收禁止。1:UART0接收允许。位3:TB80:第9发送位位2:RB80:第9接收位位1:TI0:发送中断标志,当UART0发送完一个字节数据后该位被硬件置‘1’(在8位UAR
3、T方式时,是在发送第8位后;在9位UART方式时,是在停止位开始)。当UART0中断被允许时,置‘1’该位将导致CPU转到UART0中断服务程序。该位必须用软件清‘0’。位0:RI0:接收中断标志,当UART0接收到一个字节数据时该位被硬件置‘1’(在停止位后)。当UART0中断被允许时,置‘1’该位将会使CPU转到UART0中断服务程序。该位必须用软件清‘0’。3)SBUF0和传统的一样。4)TXD,RXD引脚TXD:P0.4,RXD:P0.5程序详解/*********************************************
4、********************byMaHuimin,2011.09.23.从PC传来的数据加1,回发给PC机,端口为RX=P0.5,TX=P0.4******************************************************************/#include#defineucharunsignedchar#defineuintunsignedintcharg;chars;unsignedcharDispData0[8]={"UARTDis"};unsignedcharDi
5、spData1[8]={"play"};//unsignedintx;unsignedchar*lcdpoint0;//指向lcddata数组的指针unsignedchar*lcdpoint1;//指向lcddata数组的指针sbitrs=P2^3;sbite=P2^5;bitcom_disp;//通信态_显示态//--------------------------------------------------------------//函数定义//----------------------------------------------
6、----------------voidPORT_Init(void);voidPORT_Init2(void);voidSYSCLK_Init(void);voidLCD_Init(void);voidSEND_LCD(unsignedcharlcd_data_count);voidLCD_Instruction(unsignedcharcomnd);voidLCD_Data(unsignedchardata0);intii;/*************************************************端口初始化函数**
7、**********************************************/voidPORT_Init(void){P0MDOUT=0xFF;//P0asDigitalOutputP2MDOUT=0xFF;//P2asdigitaloutputXBR0&=0xFE;//xxxxxxx0//XBR0=0x01;//交叉开关接通UARTXBR1=0x40;//交叉开关起作用}XBR0说明/*************************************************UART0初始化函数*************
8、***********************************/voidUART0_Init(void){SCON0
9、=0x10;//允许接收
此文档下载收益归作者所有