c8051f320学习,单片机不外乎时钟、IO、串口、USB等外设用法
IO
须被使能。当交叉开关被禁止时,端口输出驱动器被禁止。P2.4 ~ P2.7 和P3.0 总是作为标准
GPIO 使用
USB时钟
可以通过对OSCICN 和OSCICL 寄存器编程来使能/ 禁止内部振荡器和调节其输出频率(如图
13.1 所示)。系统时钟(SYSCLK )可以来自内部振荡器、外部振荡器电路或4 倍时钟乘法器
二分频。USB 时钟(USBCLK )可以来自内部振荡器、外部振荡器电路或4 倍时钟乘法器。
表13.3 给出了内部振荡器的电气特性
1 .通过向寄存器CLKMUL写0x00来复位时钟乘法器。
2 .用MULSEL位选择时钟乘法器的输入。
3 .用MULEN位使能时钟乘法器(CLKM UL | = 0x80 )。
4 .延时大于5 µs 。
5 .用MULINIT位初始化时钟乘法器(CLKMUL | = 0 x C 0 )。
6 .查询等待MULRDY => ‘1 ’。
{
INT8U i;
if( ( CLKMUL & ( 1<<5 ) ) ) return;//如乘法寄存器锁定,则返回
CLKMUL = 0;
CLKMUL |= ( 1<<7 );//时钟乘法器使能位
for( i = 0; i < 250; i ++ );//延迟
CLKMUL |= 0xC0;//1100 0000 ,初始化时钟乘法器
for( i = 0; i < 250; i ++ );
while( !( CLKMUL & ( 1<<5 ) ) );//时钟乘法器稳定后,MULRDY的读出值为‘1 ’
CLKSEL = ( 2<<0 );
}
{
XBR1 = 0x40; // Enable crossbar and weak pullups
XBR0 = 0x01;
P0MDOUT |= 0x10; // Set TX pin to push-pull
}
{
SCON0 = 0x10; // 0x0001 0000 8位UART 无 停止位的逻辑电平被忽略 UART0接收允许
// level of STOP bit is ignored
// RX enabled
// ninth bits are zeros
// clear RI0 and TI0 bits
TH1 = -(SYSCLK/BAUDRATE/2);
CKCON |= 0x08; // T1M = 1; SCA1:0 = xx
} else if (SYSCLK/BAUDRATE/2/256 < 4) {
TH1 = -(SYSCLK/BAUDRATE/2/4);
CKCON &= ~0x0B; // T1M = 0; SCA1:0 = 01
CKCON |= 0x01;
} else if (SYSCLK/BAUDRATE/2/256 < 12) {
TH1 = -(SYSCLK/BAUDRATE/2/12);
CKCON &= ~0x0B; // T1M = 0; SCA1:0 = 00
} else if (SYSCLK/BAUDRATE/2/256 < 48) {
TH1 = -(SYSCLK/BAUDRATE/2/48);
CKCON &= ~0x0B; // T1M = 0; SCA1:0 = 10
CKCON |= 0x02;
} else {
while (1); // Error. Unsupported baud rate
}
TL1 = TH1; // init Timer1
TMOD &= ~0xf0; // TMOD: timer 1 in 8-bit autoreload
TMOD |= 0x20;
TR1 = 1; // START Timer1
TI0 = 1; // Indicate TX0 ready
}
// conversion triggered on TMR2 overflow ADC0用时钟2来触发
AMX0N = 0x1F; // ADC0 negative input = GND
// i.e., single ended mode
void SMBus_ISR(void);
c8051f320学习,单片机不外乎时钟、IO、串口、USB等外设用法的更多相关文章
- 怎样以学习单片机为契机,逐步成为优秀的project师
现状 不知道阅读本文的读者,在初学单片机时是否和我以前一样迷茫.看到各种新的术语,疑惑不解:不知道从何学起:照着书中的样例一步一步做都没有问题,可是自己试着做东西,遇到各种问题却不会解决,向别人提问, ...
- STM32学习笔记(二)——串口控制LED
开发板芯片:STM32F407ZGT6 PA9-USART1_TX,PA10-USART1_RX; PF9-LED0,PF10-LED1; 一.串口1配置过程(不使用串口中断): 1.使能时钟,包括G ...
- STM32学习笔记(四)——串口控制LED(中断方式)
目录: 一.时钟使能,包括GPIO的时钟和串口的时钟使能 二.设置引脚复用映射 三.GPIO的初始化配置,注意要设置为复用模式 四.串口参数初始化配置 五.中断分组和中断优先级配置 六.设置串口中断类 ...
- 51单片机GPIO口模拟串口通信
51单片机GPIO口模拟串口通信 标签: bytetimer终端存储 2011-08-03 11:06 6387人阅读 评论(2) 收藏 举报 本文章已收录于: 分类: 深入C语言(20) 作者同 ...
- 单片机和Linux都想学_换个两全的方法学习单片机
本节教你如何学习单片机,如何选择合适的开发板和开发工具. 现在我们知道单片机是要学习的,那么怎么去学习单片机?在上一课我们说不要使用老一套的方法学习,实际上是指的两个问题. 第一:选择什么开发板: 第 ...
- AVR单片机教程——数字IO寄存器
前两篇教程中我们学习了LED.按键.开关的基本原理,数字输入输出的使用以及两者之间的关系.我们用到了 pin_mode . pin_read 和 pin_write 这三个函数,实际上它们离最底层(至 ...
- APUE学习笔记3_文件IO
APUE学习笔记3_文件IO Unix中的文件IO函数主要包括以下几个:open().read().write().lseek().close()等.这类I/O函数也被称为不带缓冲的I/O,标准I/O ...
- PIC单片机之时钟设置
PIC单片机之时钟设置 http://blog.csdn.net/superanters/article/details/8541650 内部时钟和外部时钟? PIC单片机有许多型号可以设置成 用外部 ...
- ROS 设置串口USB软连接
原创:未经同意,请勿转载 我们在windows 通过USB连接串口,在设备串口中可以观测到COM0或者COMx.当我们插入不同的USB口时会显示不同的COM. 在UBUNTU下,ROS下接收串口信息时 ...
随机推荐
- 实现如下类之间的继承关系,并编写Music类来测试这些类。
实现如下类之间的继承关系,并编写Music类来测试这些类. package com.hanqi.test; public class Instrument { //输出弹奏乐器 public void ...
- 开窗函数 --over()
一个学习性任务:每个人有不同次数的成绩,统计出每个人的最高成绩. 这个问题应该还是相对简单,其实就用聚合函数就好了. select id,name,max(score) from Student gr ...
- Linux IPC Pipe
mkfifo() //创建有名管道(FIFO special file),创建完了就像普通文件一样open(),再读写,成功返回0,失败返回-1设errno.VS$man 3 mkfifo #incl ...
- nginx日志切割脚本
#!/bin/bash ip=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d ...
- eclipse 提示错误**cannot be resolved to a type
这是某个对象不能识别为类型,比如你写了个类,名字叫Hello,如果你调用它的时候不小心写成hello,或者helo,那么就会报这样的错误,很容易改正的,只要你细心一点
- mysql行锁和表锁
mysql innodb支持行锁和表锁,但是MyIsam只支持表锁.现在我们说说mysql innodb的行锁和 有如下表id为主键 为了出现演示效果,我们将mysql的autocommit设置为0 ...
- C#基础----Linq之List<T>篇
最近有用到List处理排序以及分页的问题.想想还是写一个博客记录一下.以下围绕Person类实现,Person类只有Name和Age两个属性 一.List<T>排序 1.1 List& ...
- 连载《一个程序猿的生命周期》-28、被忽悠来的单身HR(女同志)
一个程序猿的生命周期 微信平台 口 号:职业交流,职业规划:面对现实,用心去交流.感悟. 公众号:iterlifetime 百木-ITer职业交流奋斗 群:141588103 微 博:h ...
- 原生的强大DOM选择器querySelector
在传统的 JavaScript 开发中,查找 DOM 往往是开发人员遇到的第一个头疼的问题,原生的 JavaScript 所提供的 DOM 选择方法并不多,仅仅局限于通过 tag, name, id ...
- AC日记——字符串P型编码 openjudge 1.7 31
31:字符串p型编码 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个完全由数字字符('0','1','2',…,'9')构成的字符串str,请写出str的p型编码串.例如: ...