`
文章列表
步进电机应用广泛, 例如打印机、磁盘驱动器、玩具、汽车雨刷、手机震动、机械夹具、刻录机等各种机械控制场合 一些概念: 拍数N定子控制绕组每改变一次通电方式,即为一拍一个磁场通电周期是  A-B-C-D-A完成一个磁场周期 ...
STC单片机的内部EEPROM是用DATAFLASH模拟出来的,不是真正的EEPROM存储器,不能用普通的方法来操作下面是一些注意点:1.字节写之前要先将这个字节所在扇区的其它有效数据读取到RAM暂存(这步不是必须的)2.暂存完之后再对整个扇区(512字节)进行擦除操作,擦拭完后,整个扇区每个地址中数据都变成0xFF3.将欲写入的N个字节数据,用字节写函数写入EEPROM4.将暂存到RAM的其它有用的EEPROM值再用字节写函数写回EEPROM5.STC用FLASH模拟出来的EEPROM的字节写功能只能将1变成0,而不能将0变成1,  只有扇区擦除后数据才是全1,  例如:在地址0x21f0 ...
正点原子的ALIENTEK遥控器 用户码00ff 16进制键值码表45    46    4744    40    4307    15    0916    19    0d0c    18    5e08    1c     5a42    ☻     4a     红外接收管  通用型即可   ----------------------------------- ...
百度ds1302 写道 DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时 ...
  #include "my51.h" #include "smg.h" #include "ds18b20.h" void main() //测试 ,6位数码管显示温度值 { u8 i=0; u16 temp=0; while(1) { temp=ds18b20_readTemperaData(); for(i=0;i<100;i++) { displaySMG(ds18b20_proces ...
纯山寨tx-1c开发板 ,第一次动手焊板子,   ,*_*, 可以兼容以前写的程序 板子右边还有些空间,准备加上lcd接口 反正是低频的, 各种飞线, 飞来飞去 单体的数码管焊接有些麻烦,9*15cm的板子要尽量挤挤, 5V的供电直接用手机充电器,手上有好几个呢, 用7805反而麻烦, 反正电脑USB口也是5V的可以用.  板子上没加TTL与232转换部分,我的台式机和笔记本上都没有232,只有usb口  所以平时都是用一个专用的下载器编程,(自己用2303做也可以) 用下载器直接插到usb口上,keil中点击编译成功后就会自动下载,不需要按开关冷启动 内置保险丝防止 烧 ...
之前的电子钟程序中,用的按键消抖处理方法是10ms的延时,这种方法效率比较低 所以现在利用状态机原理重写一下,效率很高啊   4个独立按键中用到3个, keys5用于切换对时分秒等状态,keys2是减小数值,keys3是增加数值   同时可以判断按键的"短按,长按,连发"等功能 小于2秒视为短按, 大于2秒视为长按, 在长按状态下每0.2秒自动连发一次, 这样对时的时候就不用按N次了   欢迎一起交流,qq 102351263   验证码 iteye 程序分很多个文件 ,Keil uVision4 打包     #include " ...
硬件上由于24c01的A0A1A2管脚不允许悬空,故暂时的想法是兼容24c02 ---24c16 使用一个dip8封装的芯片插座,A0 A1 A2管脚都悬空即可,换芯片方便 软件上24c02地址只有8位,而其他型号是大于8位的,故地址参数使用16位 256个字节作为一个大页,即largePage,测试芯片24c04空间有512字节   上代码,求测试和讨论 #include "MY51.H" //转载请注明:http://xouou.iteye.com 求测试讨论 //stc89c52rc,11.0592MHz晶振 sbit sda=P2^0; // ...
AT24C02A, 2K SERIAL EEPROM: Internally organized with 32 pages of 8 bytes each,the 2K requires an 8-bit data word address for random word addressing. 24c02有32个页,每页8字节,本帖中不讨论页写的方式 -------------------------------------------------------------------    AT24C02内部设有一个8位控制寄存器,其每一位的含义如下: Bit7 Bit6 B ...
TX-1C板   操作并行模式的1602液晶液晶第1,2脚是gnd和vcc第3脚是对比度调节第4脚是数据/指令选择端RS第5脚是读写选择端R/W,我们这次只写不读,故直接接地第6脚是读写使能EN第7到14脚是数据口,我们接STC89C52RC的P0口第15,16脚是背光源   最终液晶显示 Tom is playing  the TNT game! #include <reg52.h> #include "MY51.H" void write_data(uchar dataValue); //写数据 void write_cmd(uchar ...
电位器调节待检测电压值,在数码管上显示出来, 代码大多从书上搬过来的,书上例5.3.1要求前3个数码管显示AD转换后的8位数字量(即0~255) 我这里让前4个数码管显示具体电压值,比如1.352   #include <reg52.h> #include "MY51.H" void initSMG() //数码管初始化信息 { //上电时,都为高电平 P0=0xff; wela=open; P0=0xff; wela=lock; P0=0; dula=open; P0=0; dula=lock; } ...
芯片STC89C52RC   在PC端向单片机发送任意数据后, 单片机向PC端发送4行文本, 由于在windos下,回车换行用\r\n       #include <reg52.h> #include "MY51.h" void initSer(); //串口初始化 uchar sendFlag = 0; //未发送数据时 uchar receFlag =0; //未接受到数据时 code uchar TEXT0[] = "*************************** ...
今天学习了下矩阵键盘, 4*4,  分别代表0~F这16个数字 我们按了哪个键就显示到数码管上   看完郭老师讲解原理后就自己动手写了,郁闷的是 在keil软件中,我在switch-case语句中 少了个冒号,竟然编译通过! 结果当然不正确了,然后我再keil中调试代码,那更郁闷了,P3口在扫描到第2行键盘时就 会复位成0xff,怎么赋值都没用,其实是没写冒号啊!   调了半天都不行,最后不得不将STC89C52RC换上仿真芯片SST89E516,在线调试后才发现的错误, 然后参考书上的代码才调试成功的,表示无语~~~   mark下   #include <r ...
本篇是对上一篇的改进,昨天学习了第4章 中的独立键盘的使用  独立键盘拥有自己独有的IO口,所以比较简单,我上一篇写的电子钟程序只能烧程序对时, 不能手动按键对时,这肯定是最差劲的做法,所以学习了按键之后,就立马动手改进我的电子钟了  同时改进了数码管小数点的显示,消除了叠影    使用芯片STC89C52RC, 2个锁存器 6个带小数点共阴极数码管显示一个24时制时钟 没有时钟芯片,所以掉电后时间会复位 原理图为TX-1C开发板   ============================== 最终显示的<时.分.秒>是 16.31.37  形式   使用 ...
使用芯片STC89C52RC, 2个锁存器 6个带小数点共阴极数码管显示一个24时制时钟 没有时钟芯片,所以掉电后时间会复位 原理图为TX-1C开发板   暂时显示了半小时,一秒不差, 未验证有无其他bug,代码贴上来,欢迎高手指点     ============================== 最终显示的<时.分.秒>是 16.31.37  形式 #include <reg52.h> #include "MY51.H" void show(); uint8 shi=15; //初始时间15:45:00 按 ...
Global site tag (gtag.js) - Google Analytics