标题:
单片机之串口通讯、ADC、其它
[打印本页]
作者:
51hei不
时间:
2016-6-19 16:40
标题:
单片机之串口通讯、ADC、其它
51系列单片机与上位机通讯有两种串口通讯方式:
方式一.使用自带串口通讯模块,使用RxD/TxD口,用内置定时器产生波特率,通过中断方式得到发送和接收数据
方式二.使用任一IO端口,自已进行收发解码操作。这种模式需要注意的地方比较多,比如
A.常用串口数据帧格式: 0+8位data+1, 0是起始位,1是停止位,是中间放8位数据
B.波特率,需要自已控制,而且了为采样准确,通常使用16分频方式,取中间几段来确定是否是有效数据。
串口通讯最重要的工作就是控制波特率,比如9600、19200等,如果使用不精确的内部RC震荡器,需要注意不要使用过高的波特率,
否则有可能丢数据或错位。
研究了一晚上,把这两种方式都试通了,现在可以用PC机用串口助手可向单片机发指令来控制单片机的状态,单片机也可以向PC机报告自已的数据。
之后测试了一个光敏电阻数模转换ADC试验,成功的把模拟的光线亮度转换成 0-255的分量,然后通过串口报告给主机。
想起很多前年,我的资本家同学XY给过我一个数码尺,可以把测量出来的长度数据直接用串口输出,当时我觉得这玩意太神奇了,完全不知道是怎么实现的。现在想想,感觉自已完全可以实现一个了,不外乎ADC+UART+MCU罢了,呵呵。
话说咱这块STC的MCU的ADC功能还是比较强大的(STC 12C5202AD),有8个模拟量采样口,可以并发进行8通道的256级采样。虽然精度不高,但对很多应用已经足够了。其实别说256级了,很多时候简单的开关两级变化就已经很有用了。
上周末还把我的四相步机电机研究了一下,写了一个小程序控制步进电机连续运动,也就是几个二进制状态的切换问题,没有技术含量,不叙。
红外遥控技术也研究了一下,原理同口串口通讯,只是波特率固定为38Khz,然后发的数据帧不同罢了。搞清原理,没有继续实验。
难怪外面有卖万能遥控器的,这里面就是一个红外串行通讯。万能遥控就是先收原厂遥控的码,再发出来罢了。实在不行,把所有的码都发一编,总有一个适合你。外面那些个汽车的电子钥匙解码器怕不会也是这个原理吧,也就是说,你蹲在人家汽车旁边,开个机器收无线码,然后就可以复制,或者自已发码,暴力破解?
研究了十几天的单片机和周边,感觉这块大体清楚了怎么回事,后面该干点啥子哩?
专用炒股机?声控小玩具?智能炸弹?无人机?激光窃听器?
。。。???。。。这才是大问题啊。
作者:
腾飞的龙
时间:
2016-6-19 18:37
哈哈哈你要研究疯啦。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1