光衰代码整理学习
来源:互联网 发布:网络教育专科报名 编辑:程序博客网 时间:2024/05/17 05:53
硬件使用c8051f411。
一、首先是关闭看门狗,看门狗在PCA0MD的第6位。
关闭代码:
二、初始化端口
http://blog.csdn.net/xiaoshengyige/article/details/7819051
四、串口初始化
需要设置波特率为9600:
波特率的定义是:串行口每秒钟发送的位数称为波特率。比如说2400的波特率就是每秒钟发送2400个位数。
波特率=(2*SMOD)/32*定时器T1的溢出率
定时器T1的溢出率=单片机内部时钟频率/(256-X)X是定时器的初值
五、PCA初始化
1.开启PCA计时器
2.设置PCA时钟
3.使能看门狗
六、DAC初始化
设置IDA0CN寄存器,设置为写IDA0H触发DAC输出更新,2.0mA满度输出电流。
一、首先是关闭看门狗,看门狗在PCA0MD的第6位。
关闭代码:
- /*关闭看门狗*/
- void disable_watchdog(void)
- {
- PCA0MD |= 0xff;
- PCA0MD &= 0<<6;
- }
http://blog.csdn.net/xiaoshengyige/article/details/7819051
端口I/O初始化 端口 I/O 初始化包括以下步骤:
1. 用端口输入方式寄存器(PnMDIN)选择所有端口引脚的输入方式(模拟或数字)。
2. 用端口输出方式寄存器(PnMDOUT)选择所有端口引脚的输出方式(漏极开路或推挽)。
3. 用端口跳过寄存器(PnSKIP)选择应被交叉开关跳过的那些引脚。
4. 将引脚分配给要使用的外设(XBR0、XBR1)。
5. 使能交叉开关(XBARE = ‘1’)。
简单来说就是对需要的I/O配置输入模式、输出模式、用的引脚在跳过寄存器中置位表示使用。
三、系统时钟
使用内部晶振24.5MHZ。
- void sysclk_init(void)
- {
- OSCICN = 0xc7; //开启内部晶振、不分频
- }
四、串口初始化
需要设置波特率为9600:
波特率的定义是:串行口每秒钟发送的位数称为波特率。比如说2400的波特率就是每秒钟发送2400个位数。
波特率=(2*SMOD)/32*定时器T1的溢出率
定时器T1的溢出率=单片机内部时钟频率/(256-X)X是定时器的初值
串口的操作步骤:
>先设置波特率
>>设置定时器T1为工作方式2(设置TMOD寄存器)>>给计数器赋初值(工作方式2会自动重装)所以TH1 = 256 - T1clk / T1_Overflow_Rate然后T1clk是什么?在这里就有Timers的时钟控制(CKCON),设置成12分频:所以最后TH1 = 256 - T1CLK / BaudRate / 2 = 256 - sysclk/12 /BaudRate /2
>设置串口工作方式:
>>设置SCON(如果允许)
>如果使用中断方式,那么打开相应的中断和总中断。
>打开定时器T1,开始产生波特率。
>>设置TRx
- void uart_init(void)
- {
- int sysclk = 24500000;
- int baudrate = 9600;
- /*1.设置波特率*/
- TMOD &= ~0xF0; //清除定时器1的模式
- TMOD |= 0x20; //设置定时器1为定时,设置为工作方式2
- CKCON &= ~0x0b; //T1M=0,SCA1:SCA0=0:0,系统时钟的12分频
- TH1 = 0xff - (sysclk/12/baudrate/2); //设置TH1
- TL1 = TH1; //必须设置TL1的初始值
- /*2.设置串口工作方式*/
- SCON0 = 0X10; //8-bit模式,停止位逻辑电平忽略,开启接收
- /*3.开启定时器1*/
- TR1 = 1;
- /*4.开启串口中断*/
- ES0 = 1;
- /*5.设置UART0为高优先级*/
- PS0 = 1;
- }
五、PCA初始化
1.开启PCA计时器
2.设置PCA时钟
3.使能看门狗
- /*PCA初始化*/
- void pca_init(void)
- {
- /*开启PCA定时器*/
- PCA0CN = 0x40;
- PCA0MD = 0x60; //system clock?应该是0x08。开启看门狗无法修改
- PCA0CPL2 = 0xff; //设置看门狗32ms
- }
六、DAC初始化
设置IDA0CN寄存器,设置为写IDA0H触发DAC输出更新,2.0mA满度输出电流。
- void DAC_Init(void)
- {
- IDA0CN = 0xf7;
- }
0
上一篇:nucleus plus学习总结(后续)
下一篇:C# 串口总结
相关热门文章
- SHTML是什么_SSI有什么用...
- 查看linux中某个端口(port)...
- 卡尔曼滤波的原理说明...
- shell中字符串操作
- 关于java中的“错误:找不到或...
给主人留下些什么吧!~~
评论热议
阅读全文
0 0
- 光衰代码整理学习
- 光类型 重新整理总结
- 光耦学习
- unity3d代码设置环境光
- 我的C#入门学习代码整理
- 深度学习的资料和代码整理
- IOS学习整理---- 代码库下载网站
- 【Matlab学习】自己的Matlab代码整理
- live555的有关代码学习笔记整理
- Leafletjs学习教程和相关代码整理
- 【icourse163】学习python爬虫的代码整理
- python光流算法学习
- 光衰、功率匹配
- Deep Learning(深度学习)代码/课程/学习资料整理
- 代码整理
- 代码整理
- 光
- 光
- nucleus学习
- nucleus plus学习总结
- nucleus 学习 中断
- 解决html表格字体
- nucleus plus学习总结(后续)
- 光衰代码整理学习
- 5-32 哥尼斯堡的“七桥问题”(并查集+度的判断)
- C# 串口总结
- STM32的结构和启动模式
- GIS二次开发牛人博客
- 电源控制和备份区域
- 复位和时钟控制(RCC)
- PCB一些设置记录
- RCC初始化学习
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
水果水果是什么歌
长沙水果
水果价格
四川水果
水果店陈列
水果罐头
湛江水果
水果沙拉要哪些水果
水果店批发了四种水果
水果筐价格
水果订购网
反季节水果
水果筐批发
水果批发价
水果收银称
昆明水果
所有水果
适合做水果沙拉的水果
水果醋
国外水果店
水果店水果架
精品水果店
新鲜水果茶
水果蔬菜简笔画
什么水果去火
不常见的水果
水果玉米怎么吃
水果卡通图片
卡通水果图片
各种水果图片
水果的营养价值
水果用英语怎么说
水果忍者下载
水果有哪些图片
水果大全名字
水果品种大全名字图片
水果名称大全
罕见热带水果图片名称
中国水果交易网
水果图片简笔画
煮水果全做法