hotpower

    1. 一个困扰我一整天的问题 5/5362 单片机 2008-03-19
      89S52不怎么样,用其他的51吧...
    2. 哈哈~~~俺现在只喜欢CVI~~~
    3. 我的单片机为什么老掉程序呢? 6/15018 单片机 2007-12-07
      1.用的是C8051F060,采用充电电池供电。 2.当电池耗完之后,程序就丢失了,给电池充满电后就再也起不来了。 3.而正常供电的情形下,从来未见有程序丢失的现象。 1.充电电池不会也不应该过放电.   程序最好在过放电前进入休眠状态. 2."程序就丢失了"???   FLASH被擦除了???还是按复位键后才能继续正常工作???   来电后关中断后,再应该软件延时一段时间等待系统正常.(特别是有索相环电路) 3.这再次证明了电池供电系统不应该过放电.
    4. 我的单片机为什么老掉程序呢? 6/15018 单片机 2007-12-07
      该是初始化程序不好~~~
    5. 关于PTR8500在使用过程中出现的问题 3/7222 嵌入式系统 2007-11-15
      哈哈~~~讯通搞得鬼~~~ void TimeInit() using 0 {   TMOD = 0x21;                //timer1 working mode 1   SCON = 0x58;                //uart mode 1,ren==1 //  PCON = 0x00;   PCON = 0x80; /*----------------------------------       定时器0定时参数设置 ----------------------------------*/   TL0 = 0;   TH0 = T0_5mS;   TR0 = 1;//启动定时器0   SystemBuffers.DisplayCount = 0; /*----------------------------------       定时器1定时参数设置 ----------------------------------*/   TL1 = 0xfd;                       TH1 = 0xfd;
    6. 51反汇编磨练人的意志 7/14484 51单片机 2007-11-14
      很经典的P89V58RD2串口反汇编程序注解及图示 ;;;;串口中断服务子程序;;;;;;;;;;;;;; L4E60:        PUSH  PSW;保护现场     PUSH  ACC     PUSH  DPL     PUSH  DPH     PUSH  B     SETB  RS1     CLR   RS0;选择第1组寄存器组,这样可以不保护08H~0FH,R0~R7=08H~0FH     JNB   TI,L4E8E;不是发送中断 ;;;;串口发送中断服务子程序;;;;;;;;;;;     CLR   TI;清除发送中断标志 ;;;;串口发送中断空(R4=1为空)判断;;;;;;;;;;;     DJNZ  R4,L4E78;发送缓冲区未满继续(最大256个字节)     LJMP  L4E8E;发送缓冲区已满退出(估计要丢数据~~~应该做成滚筒式的) L4E78:        MOV   DPL,R0;当前发送缓冲区低8位地址     MOV   DPH,R1;发送缓冲区高8位地址     MOVX  A,@DPTR;从发送缓冲区中取出数据     INC   DPTR;移动发送缓冲区指针     MOV   SBUF,A;通过串口硬件模块发送数据     MOV   R0,DPL;保存发送缓冲区低8位地址     MOV   R1,DPH;保存发送缓冲区高8位地址 ;;;;串口发送中断缓冲区越界判断;;;;;;;;;;;     MOV   A,R1     CJNE  A,#03FH,L4E8E;串口发送中断缓冲区未越界 ;;;;越界处理;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     MOV   R0,#000H;发送缓冲区头低8位地址     MOV   R1,#03EH;发送缓冲区头高8位地址(3E00H~3EFEH共255个字节缓冲区)     MOV   R4,#001H;越界标志(发送缓冲区已满) L4E8E:        JNB   RI,L4EAA;不是接收中断     CLR   RI;清除接收中断标志     MOV   A,SBUF;通过串口硬件模块接收数据     MOV   DPL,R2;当前接收缓冲区低8位地址     MOV   DPH,R3;当前接收缓冲区高8位地址     MOV   R7,#003H;设置接收中断软件标志,表示刚收到过数据 ;;;;终止或特殊字符判断;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     CJNE  A,#07EH,L4E9F;不为终止或特殊字符7EH     INC   R5;找到1个终止或特殊字符,记录次数 L4E9F:        MOVX  @DPTR,A;保存到接收缓冲区     INC   DPTR;移动接收缓冲区指针     LCALL S4EB5;DPH=3CH或3DH     CLR   A;零标志表示已经存入数据???     MOVX  @DPTR,A;????估计是软件握手之类或标志等     MOV   R2,DPL;保存接收缓冲区低8位地址     MOV   R3,DPH;保存接收缓冲区高8位地址 L4EAA:;总之该汇编串口接收发送中断服务程序写得非常不错,应该表扬~~~        POP   B;恢复现场     POP   DPH     POP   DPL     POP   ACC     POP   PSW     RETI   ;;;;DPH=3CH或3DH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; S4EB5:        PUSH  ACC     MOV   A,DPH     ANL   A,#001H     ORL   A,#03CH     MOV   DPH,A     POP   ACC     RET   
    7. 51反汇编磨练人的意志 7/14484 51单片机 2007-11-14
      很经典的W77E58P串口反汇编程序注解及图示 ;;;;串口中断服务子程序;;;;;;;;;;;;;; L76B4:        PUSH  PSW;保护现场     PUSH  ACC     PUSH  DPL     PUSH  DPH     PUSH  B     SETB  RS1     CLR   RS0;选择第1组寄存器组,这样可以不保护08H~0FH,R0~R7=08H~0FH     JNB   TI,L76D9;不是发送中断 ;;;;串口发送中断服务子程序;;;;;;;;;;;     CLR   TI;清除发送中断标志     INC   R1;移动发送缓冲区指针 ;;;;串口发送中断越界判断;;;;;;;;;;;     MOV   A,R0;发送缓冲区尾指针     MOV   B,R1;当前发送缓冲区指针     CJNE  A,B,L76D1;发送缓冲区未满继续     LJMP  L76D9;发送缓冲区已满退出(估计要丢数据~~~应该做成滚筒式的) L76D1:        MOV   DPL,R1;当前发送缓冲区低8位地址     MOV   DPH,#021H;发送缓冲区高8位固定地址     MOVX  A,@DPTR;从发送缓冲区中取出数据     MOV   SBUF,A;通过串口硬件模块发送数据 L76D9:        JNB   RI,L76E9;不是接收中断 ;;;;串口接收中断服务子程序;;;;;;;;;;;     CLR   RI;清除接收中断标志     MOV   R6,#002H;设置接收中断软件标志,表示刚收到过数据     MOV   A,SBUF;通过串口硬件模块接收数据     MOV   DPL,R2;当前接收缓冲区低8位地址     MOV   DPH,#020H;接收缓冲区高8位固定地址(估计为256个字节,应该是滚筒式的)     MOVX  @DPTR,A;保存到接收缓冲区     INC   R2;移动接收缓冲区指针 L76E9:;总之该汇编串口接收发送中断服务程序写得非常不错,应该表扬~~~     POP   B;恢复现场     POP   DPH     POP   DPL     POP   ACC     POP   PSW     RETI;中断返回
    8. 51反汇编磨练人的意志 7/14484 51单片机 2007-11-14
      现在真的很庆幸自己当年退出PC软件的举动~~~ 那是美国佬上门找事后明智的决定~~~ 虽然俺现在很贫穷,但俺没"做梦带手铐"
    9. 51反汇编磨练人的意志 7/14484 51单片机 2007-11-14
      DOS启动自动查杀大麻病毒,再用16个字节常住内存阻止病毒攻击硬盘主引导扇区,阻止对硬盘的格式化. 哈哈~~~那时攻击硬盘主引导扇区像玩一样~~~ 后来不玩了,也不敢玩这些了~~~ 那时用PCTOOLS和DEBUG真是"无所不能"... 直接写屏,鼠标程序都是自己编写,速度真快~~~ 现在单位的foxprox还是用ucdos,自己编写的菜单制作程序,直接访问fox数据库. 现在还在用,比windows快多了~~~鼠标+键盘+菜单+数据库+并口+串口. 虽然系统也升级到xp了,但是DOS的优点还是很多的~~~ 反汇编很锻炼人的反应能力,它时刻让你猜出作者的心思... 从中看出他的诡计和不足~~~ 现在大家都害怕被人"盗版",俺认为被人盗是好事~~~ 这说明你编的程序好~~~ 如果被人反汇编了,并在无硬件或功能说明下被人猜到了,那就说明你自己的不足了~~~需要继续努力~~~ 反汇编可以看出程序运行的效率,可以看出你程序框架的好坏,也能更好地找出 C语言不能察觉到的bug!!! 一般说C语言不用关心硬件,但反汇编后很容易分析出时序的出问题所在. 为什么好的调试环境都会有反汇编窗口呢??? 道理不说自明~~~
    10. 51反汇编磨练人的意志 7/14484 51单片机 2007-11-14
      虽然现在很少用汇编,并且几乎不用51系列了,但它给俺打下了MCU深厚的"水底"~~~
    11. 单键多选一,如何实现? 11/8750 单片机 2007-11-06
      哈哈~~~灵活呀,有谁知道用户再提什么功能???
    12. 单键多选一,如何实现? 11/8750 单片机 2007-11-06
      搞个单总线,8PIN的MCU
    13. 烙铁的威力(有图) 4/355920 单片机 2007-10-29
      应该和595一样好用的串入并出,估计是时序问题 数据输入4094时候要使STB为0,8位输入完了使STB=1,然后再变为STB= 0 但最好: 数据输入4094时候要使STB为0,8位输入完了使STB=1,(延时几uS)然后再变为STB= 0
    14. 51单片机简单通讯的奇怪现象 7/14719 51单片机 2007-08-22
      虚焊???
    15. 请教各位大虾:NTC测温的精度问题 13/19290 单片机 2007-08-20
      我一般+-1度,用10位AD, 0.05度估计高位ADC分辨率能做到,精度估计计量部门可以~~~
    16. 请教各位大虾:NTC测温的精度问题 13/19290 单片机 2007-08-20
      还选51还不如跨入ARMC8051Fx的ADC确实不错,带差分放大,这比ST好. 不过温度是测电压,所以让我选肯定是ARM或DSP~~~的世界~~~
    17. 请教各位大虾:NTC测温的精度问题 13/19290 单片机 2007-08-20
      选ST的ARM吧~~~你不跑OS裸奔也行.搞个最便宜的玩玩... 或用DS18b20之类的温度传感器也是不错的选择. 现在温度传感器器件很多~~~
    18. 请教各位大虾:NTC测温的精度问题 13/19290 单片机 2007-08-20
      估计很难~~~
    19. 编译问题求助 5/10784 单片机 2007-08-13
      要设置生成Hex文件的~~~不过忘了~~~

最近访客

< 1/1 >

统计信息

已有6162人来访过

  • 芯积分:-9
  • 好友:--
  • 主题:4
  • 回复:19

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言