导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→您进来看看,替换AT89C51,S51,C52,S52;W7[guest]

 *第22159篇: 您进来看看,替换AT89C51,S51,C52,S52;W78E58B,516B的产品。

  
楼 主:guest 2004年5月21日12:34
 您进来看看,替换AT89C51,S51,C52,S52;W78E58B,516B的产品。
我是南京汉能科技的职员,我给大家介绍的是台湾新茂的51系列单片机,SM8951A可替换AT89C51,89S51;你的程序不须改动,直接烧写,上机就可以用。SM8952A可替换AT89C52,89S52;SM8958A可替换W78E58B,AT89C55;SM89516A或SM5964可替换W78E516B,价格比同类产品低5%。性能好,抗干扰性强,是工业级产品(零下40-高温80)。有想知道更多信息的请于我联系!!!
      电话:025-84630257,手机:13851569636
       孙先生
  
2楼:Lichunfu 2004年5月28日16:18
 给您一个程序,是8位ADC,但转换时间比较长。
;================== I/O定义 =======================
AD_CON  BIT  P3.7  ;ADC充、放电控制
Key  BIT  P3.2  ;按键

ADC  BIT  P3.6  ;ADC输入

;================= RAM定义 ======================
TL0Back DATA  1DH
TH0Back DATA  1EH  ;定时/计数器基数备份
WF0  DATA  20H  ;工作标志
F_Xms  BIT  WF0.0  ;软件定时器溢出标志
SendEN  BIT  WF0.1  ;发射允许

;================= 常数定义 ======================
STACK  EQU  30H  ;30H-3FH:共16字节堆栈
PAULSL  EQU  9AH
PAULSH  EQU  0F9H  ;1.638毫秒定时器
DELAY50L EQU  0B0H
DELAY50H EQU  3CH  ;50毫秒定时器
TXFREQ  EQU  0E6H  ;发射频率38.4KHz(12.00MHz晶体)
TXMODE  EQU  22H  ;发射时工作于自动重装载模式(模式2)
TMMODE  EQU  21H  ;定时时工作于16位计数器模式(模式1)
INITWF0 EQU  00H
Baud  EQU  0E6H  ;Baud Rate =1200BPS(osc=12.00MHz)
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
;
;    主程序开始
;
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 

 ORG 0000H
 AJMP MainProg

 ORG 000BH
 AJMP TM0INTServe

 ORG 001BH
MainProg:
 MOV IE, #00H
 MOV SP, #STACK
 CLR TR0
 CALL INITSystem
 SETB TR1
 SETB EA
 SETB ET0
 SETB Key
StartWork:
 SETB Key
 JB Key, StartWork
 MOV A, #1    ;****
 CALL Delay_50ms
 JB Key,StartWork   ;****
 CALL ADCProg
 MOV SBUF, A   ;****
 JNB TI, $
 CLR TI
 JNB Key, $
 AJMP StartWork
;=========================================================
;系统初始化
INITSystem:
 MOV WF0, #INITWF0
 MOV TMOD, #TXMODE
 MOV TH1, #Baud
 MOV TL1, #Baud
 MOV SCON, #40H
 RET
;=========================================================
;AD转换程序
ADCProg:
 SETB ADC
 MOV R6, #2
 MOV R7, #0
AD_Start:
 MOV R5, #0
AD_Loop:
 JB ADC, HighLevel
 CLR AD_CON
 DEC R5
 AJMP AD_Count
HighLevel:
 SETB AD_CON
 NOP
 NOP
 NOP
 NOP
AD_Count:
 CALL Delay_10us
 DJNZ R7, AD_Loop
 DJNZ R6, AD_Start
 MOV A, R5
 SETB AD_CON
 RET
;=========================================================
;10us延迟
Delay_10us:
 MOV R4, #5
 DJNZ R4, $
 RET
;=========================================================
;秒级延迟程序(分辨率=0.05s)
Delay_50ms:
 MOV TMOD, #TMMODE
 CLR SendEN
 CLR F_Xms
Delay50P0:
 MOV TL0, #DELAY50L
 MOV TH0, #DELAY50H
 SETB TR0
Delay50P1:
 ORL PCON, #01H   ;IDL(PCON.0)=1,进入睡眠模式
 JNB F_Xms, Delay50P1
 CLR TR0
 CLR F_Xms
 DEC A
 JNZ Delay50P0
 RET
;=========================================================
;定时器0中断服务程序
TM0INTServe:
 SETB F_Xms
 RETI

  
3楼:mufan700 2006年1月10日00:51
 自制编程器设想
利用89S51的在线编程功能,替换下89C5x监控芯片,制作一个简易ISP下载线烧入下位机程序,就可以制作成啦~!可以解决自制编程器需要先烧写监控芯片的麻烦了吧,不知此方案怎么没有大侠研究呢?

>>>>>>对该主题发表你的看法

本主题贴数3,分页: [第1页]


[上一篇主题]:我昨天发的求助贴,咋每人回复呢!

[下一篇主题]:有人想写CPLD/FPGA方面的书吗?