三、UART
三—(01)、UART相关应用和寄存器的介绍~~
一、UART0(UART1与UART0相同,只是增加了一个调制解调器(Moderm)接口~~我就不介绍了~~
1、特性:(个人感觉特性的了解是入门的必经之路~~尤其是FIFO的性能~~无人能挡啊~~)
1)16字节收发FIFO
2)寄存器位置符合‘550’工业标准
3)接收器FIFO触发点可以为1、4、8、和14字节
4)内置波特率发生器
2、管脚描述:
3、寄存器描述:(这个尤其的重要~~)
a、接收缓存寄存器
U0RBR 0XEOOOCOOO, DLAB=0, 只读(它包含了最早接收到的字符~~)
b、发送器保持寄存器
U0THR 0XE000C000, DLAB=0, 只写(它包含了TX FIFO中最新的字符~~)
c、除数锁存LSB寄存器
UODLL 0XEOOOCOOO, DLAB=1
除数锁存MSB寄存器 UODLM 0XE000C004, DLAB=1
d、中断使能寄存器
U0IER 0XE000C004, DLAB=0
U0IER用于使能4个UART0中断源
e、中断标识寄存器
UOIIR 0XE000C008 只读(U0IIR提供状态码用于指示一个挂起的中断源和优先级~~)
f、FIFO控制寄存器
U0FCR 0XE000C008
U0FCR控制UART0 Rx和Tx FIFO的操作
j、线控制寄存器
U0LCR 0XE000C00C
U0LCR决定发送和接收数据字符的格式
h、线状态寄存器
U0LSR 0XE000C014, 只读
U0LSR为只读寄存器,它提供UART0发送和接收模块的状态信息。
i、高速缓冲寄存器
U0SCR 0XE000C01C
在UART操作时,U0SCR无效。用户可以自由对寄存器进行度或者写。不提供个终端接口向主机指示U0SCR所发生的读或者写操作。
4、结构:
关键字:ARM7 单片机 UART
引用地址:
ARM7单片机(学习ing)—(三)、UART—01
推荐阅读最新更新时间:2024-03-16 15:34
PIC单片机定时器0的应用
#include #define uchar unsigned char #define uint unsigned int __CONFIG(0x3B31); void init(); uint intnum; void main() { init(); while(1) { if(intnum==5) { intnum=0; RD0=!RD0; } } } void init() { TRISD=0; PORTD=0; OPTION=0x07; INTCON=0xa0; TMR0=61; } void interrupt TIme0() { T0IF=0; TMR0=61; intnum++; }
[单片机]
ARM7加速度数据采集系统设计
引言
加速度传感器一直是加速度测试中的重要元件。随着微加速度计的应用越来越广泛,对于微加速度计的数据信号采集和存储变得极为重要。传统的数据采集方法多数是采用单片机完成的,编程简单、控制灵活,但控制周期长、速度慢,特别是对高速转换的数据来说,单片机的速度极大地限制了数据传输速度。
目前,嵌入式系统的应用已经进入到一个高低并行发展的阶段。ARM处理器凭借体积小、功耗低、集成度高、硬件调试方便和操作系统可移植等优点,获得广泛的应用。本文采用基于ARM7TDMI-S核的32位微处理器AT91SAM7X256为控制核心,利用其内部自带的A/D转换器对采集到的加速度值进行转换。
本文应用Model 1221单轴MEMS加速度计,输
[嵌入式]
【51单片机快速入门指南】4.3.3: MPU6050使用Mahony AHRS算法实现六轴姿态融合获取四元数、欧拉角
STC89C516 32MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10 移植自MPU6050姿态解算——Mahony互补滤波 —— 大写的小写字母 加入了输入数据范围的自动处理,即使更改量程也能正确解算。 源码 为了避免所用RAM超标,部分变量设为idata类型,移植时需注意。 所用MCU为STC89C516 晶振16MHz 6T模式 stdint.h见【51单片机快速入门指南】1:基础知识和工程创建 软件I2C程序见【51单片机快速入门指南】4: 软
[单片机]
STM32 | 分享一个简单易用的单片机裸机程序模板
前言 前不久,我有位做测试的朋友转去做开发的工作,面试遇到了一个问题,他没明白,打电话问了我。题目大概就是: 在单片机裸机开发时,单片机要处理多个任务,此时你的程序框架是怎样的呢? 这其实是个经典面试问题,我以前面试也被问过。 答案一:轮询系统 代码结构如: // 微信公众号:嵌入式大杂烩 int main(void) { init_something(); while(1) { do_something1(); do_something2(); do_something3(); } } 这种结构大概是我们初学单片机的时候的代码结构。在没有外部事件驱动时,可以较好使用。 只答出了
[单片机]
这些单片机按键设计方案,请拿好,不谢!
在单片机系统里,按键是常见的输入设备,在本文中介绍几种按键硬件、软件设计方面的技巧。一般的在按键的设计上,一般有四种方案。 一是GPIO口直接检测单个按键,如图1.1所示; 二是按键较多则使用矩阵键盘,如图1.2所示; 三是将按键接到外部中断引脚上,利用按键按下产生的边沿信号进行按键检测,如图1.3所示; 四是利用单片机的ADC,在不同的按键按下后,能够使得ADC接口上的电压不同,根据电压的不同,则可以识别按键,如图1.4所示。 图1.1方案一 图1.2方案二 图1.3方案三 图1.4方案四 在以上四种设计上,各有优点和不足。 第一种是最简单和最基础的,对于单片机初学者很
[单片机]
台媒:电源IC、MCU问题并不大
台积电涨价传闻持续发酵,加上此前联电等也都传出再次涨价的消息,引发业内对下游设计厂毛利率的担忧,但台媒分析指出,不同产品情况不同,如电源管理IC和MCU厂向下游转嫁成本问题不大。 钜亨网报道指出,部分电源管理IC厂近期陆续收到涨价通知,增加的成本已在新订单上反映给客户,大多数可以完全转嫁,体现需求仍然稳固,下半年毛利率有望维持第二季度的高水准。此外考虑到经济效益,电源管理IC多投片于8英寸,业内预期到明年底产能仍吃紧。 同样投片于8英寸的MCU情况类似,部分设计厂目前仍在议价中掌握主动权,成本仍可转嫁给客户,业内多数认为,从代理商、客户端的库存来看,MCU仍处于缺货状态,仍在积极拉货的趋势,除非第四季度终端销售状况大变,否则到年底
[手机便携]
关于单片机--蜂鸣器输出音调设置
根据查找资料,现做以总结和说明。 1. 首先要明确音调问题: 音调在简谱中的发音为:1 2 3 4 5 6 7 。读作多来米发梭拉西。重低音区的音调“拉”(6)。在各乐器中(电子琴、手风琴)的发声频率都是220Hz,低音区的“拉”为440Hz,中音区的“拉”为 880Hz,高音区为1760Hz。 世界范围内统一标准。以电子琴举例: 重低音“拉”与低音“拉”之间,间隔12个按键(白健加黑键)。相邻两个音调之间的频率成等比数列。 2.音调频率的计算: 如果设等比数列中的公比为q,则: 220*q*q*...*q (12个q) = 440,由此可得:q = 1.059463. 由此可计算每个按键的频
[单片机]
单片机定时/计数器设计输出PWM
一、定时/计数器PWM设计要点 根据 PWM 是利用微处理器的数字输出来对模拟电路进行控制的特点,在使用ATmega128的定时/计数器设计输出PWM时应注意以下几点: 1.首先应根据实际的情况,确定需要输出的PWM频率范围,这个频率与控制的对象有关。如输出PWM波用于控制灯的亮度,由于人眼不能分辨42Hz以上的频率,所以PWM的频率应高于42Hz,否则人眼会察觉到灯的闪烁。 2.快速PWM可以的到比较高频率的PWM输出,但占空比的调节精度稍微差一些。此时计数器仅工作在单程正向计数方式,计数器的上限值决定PWM的频率,而比较匹配寄存器的值决定了占空比的大小。PWM频率的计算公式为: 3.然后根据需要PW
[单片机]