金沙滩里讲的标准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转换的电位器相连,原来那是留着测量电压的。
|