STC 89C52RC单片机向TXD端口发送指定数据的程序要怎么写

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-03
怎么读取STC89C52单片机的p1.0至p1.7的八个端口的电平值?也就是是0还是1 ,怎么写程序?

如果是用汇编的话直接mov a,p1,在A就可以看得到端口的电压值了。C语文也类似。

STC89C52RC单片机下载程序的接口是:P3.0、P3.1。
1、关于ISP和IAP的概念:简单的讲,ISP模式是其它电路直接操作单片机的几根专用的端口(比如AT89S51的3根,但其不是JTAG口,只是硬件接口类似)完成烧录,属于硬件烧录模式;IAP模式是单片机通过串口接收到需要烧录的程序代码,然后进行“自编程”完成烧录。区别在“自编程”(关于ISP和IAP,可以看一下我以前的一个回答,里面简单说明了单片机下载烧录的原理,应该对你有帮助的
2、关于仿真器,你的理解是正确的;而仿真芯片一般只是用来做仿真器的。
3、关于在线调试,分为两种情况:一种是将仿真器的仿真头插在用户板上,从而实现全速、断点、单步调试;第二种则是单片机自身具备这种接口,比如JTAG接口,只需通过串口实现全速、断点、单步调试。这两种都叫在线调试。而IAP和ISP只是编程烧录操作,含义不一样。
4、第一句话含义是兼容ISP、IAP。第二句话意思是在单片机的ROM区包含了实现单片机自编程的代码,可以通过串口实现编程操作。第三句话的意思是可以由用户自己编制编程软件,从而在最终的应用里实现代码的自编程操作。关于第二和第三句话的详细含义都可以看上面的连接。
在板子上设计232接口连接到单片机的UART,只要单片机支持IAP就可以实现下载程序的功能;同样,如果单片机具备JTAG接

请提前计算一下所选晶振能达到的最高速度,波特率不能超过最高速度
(1) 波特率加倍(SMOD=1):  Max_Baud = FOSC/12/16
(2) 波特率不加倍(SMOD=0):Max_Baud = FOSC/12/32
例如:22.1184MHz晶振,波特率加倍时,最大波特率=22118400/12/16=115200#define FOSC 11059200 //振荡频率
#define BAUD 9600 //波特率
#define SMOD 1 //是否波特率加倍
#if SMOD
#define TC_VAL (256-FOSC/16/12/BAUD)
#else
#define TC_VAL (256-FOSC/32/12/BAUD)
#endif
 
typedef unsigned char uint8;
typedef unsigned int uint16;