登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 学习单片机内部PWM,内部EEPROM,AD转换

[复制链接]
发表于 2019-2-16 18:21:16 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 单片机内部PWM,
单片机内部EEPROM,
AD转换
学习安排: 参照单片机器件手册能完成部分功能
开始时间: 2019-02-13
结束时间: 2019-02-16
   金沙滩里讲的标准51内核,而我们用的STC12C5A60S2有更多模块,这几天尝试看着STC12C5A60S2的器件手册,使用更多的模块
单片机内部PWM器件手册P357
  用定时器可以产生PWM信号,但这会占用定时器,STC12C5A60S2可以用PCA模块产生PWM信号,参照器件手册P357和《爱上单片机》,做了个用PWM控制的呼吸灯,呼吸灯实现249级亮度渐亮和渐暗,比用中断产生容易控制占空比,通过更改CCAP0H和CCAP0L的值就可以更改占空比,
内部EEPROM
器件手册P423

  单片机内的flash空间也能做到掉电不丢失,也能实现EEPROM的功能,这款单片机有两个扇区可以用作EEPROM来储存数据,一个扇区就有512字节的空间,空间不小,比AT24C02的存取要快,并且更容易操作,但是内部EEPROM字节编程不能把“0”变成“1”,所以修改一个数据就可能需要把整个扇区擦除才可以,这一点没有AT24C0X好用,用这个模块改进了之前做的音乐盒的程序,实现了启动时默认播放上次断电时所播放的歌曲。音乐盒程序用多文件编写的,压缩到一块附在下面了。

AD转换器件手册P335

   AD转换就时数字信号和模拟信号的转换,好吧打反了,“A”表示模拟信号“D”表示数字信号,因为只有单词数码digit认识我,所以没记混,金沙滩教程里用的PCF8591和基准电压来实现AD转换,咱的板子上没有这个芯片,当时就把视频看了看,以为不能做,这几天看器件手册的时候发现有A/D转换器,今天用这个模块实现了P1^0引脚电压的测量,刚开始看部里的原理图的时候想着AD转换时把模拟信号变成‘0’和“1”,但是还想怎么没有留输入电压的排针和AD转换的电位器相连,原来那是留着测量电压的。





左边用中断右边用模块

左边用中断右边用模块

音乐盒程序.zip

67.74 KB, 下载次数: 192

呼吸灯.zip

5.51 MB, 下载次数: 186

好懒~~不想说~~~
 楼主| 发表于 2019-2-16 21:30:26 | 显示全部楼层
排版不知道乱了
内部EEPROM器件手册P423

  单片机内的flash空间也能做到掉电不丢失,也能实现EEPROM的功能,这款单片机有两个扇区可以用作EEPROM来储存数据,一个扇区就有512字节的空间,空间不小,比AT24C02的存取要快,并且更容易操作,但是内部EEPROM字节编程不能把“0”变成“1”,所以修改一个数据就可能需要把整个扇区擦除才可以,这一点没有AT24C0X好用,用这个模块改进了之前做的音乐盒的程序,实现了启动时默认播放上次断电时所播放的歌曲。音乐盒程序用多文件编写的,压缩到一块附在下面了
好懒~~不想说~~~
发表于 2019-2-17 22:32:46 | 显示全部楼层
图上两种pwm产生方式都好让人头痛难以理解,建议直接在中断中计数和使能。
Carpe.Diem.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表