89C52微控制器之串列埠

2021-08-02 16:26:31 字數 969 閱讀 5961

#include #include #define uint unsigned int

#define uchar unsigned char

uchar flag = 0;

uchar buf = 0x55; //u

void init_t1(); //定時器1

void uart_init(); //串列埠

void uart1_senddata(char dat); //傳送資料

void uart1_sendstring(char *s); //傳送字串

char putchar(char c); //重寫putchar

/************主函式******************/

void main()

}}/***********串列埠中斷***************/

void uart_isr(void) interrupt 4 using 0

/***************定時器1初始化****************/

void init_t1()

/****************串列埠初始化*************/

void uart_init()

/*************uart1 傳送串列埠資料**********/

void uart1_senddata(char dat)

/***********uart1 傳送字串*************/

void uart1_sendstring(char *s)

}/***********重寫putchar函式*************/

char putchar(char c) //printf函式會呼叫putchar()

89C52 微控制器LED閃爍(彙編)

org 0000h org是origin的起始位址,在此規定程式的起始位址為0000 start start與main均為使用者自定義標誌符,main為主程式,start為程式起始點 setb p2.0 第二個led暫存器置高電平 lcall del 呼叫子程式,相當於呼叫函式,子程式執行完後則執行...

微控制器89C52並行I O口實現多個LED顯示

2006 05 13 22 30 38 摘 要 介紹了一種利用89c52微控制器的乙個並行口實現多個led數碼管顯示的簡單方法,給出了利用此方法設計的多路led顯示系統的硬體電路結構原理圖和軟體程式流程,同時給出了採用mcs 51組合語言編寫的具體程式。在微控制器應用系統中,普遍使用成本低廉 配置靈...

89C52微控制器 計時器 中斷的使用

1.計時器 因為51微控制器的機器週期計算公式是12 晶振頻率mhz,若晶振為12mhz,則機器週期就是12 12 10 6 1us,也就是說計數器沒1us計數一次。一般來說,12mhz晶振下,16位定時器滿計數是65536次,每次1us,最大就能計時65.536ms,則65536減去多少就是定時多...