4.2 单片机系统的工作原理
 图4.1 单片机系统框图
单片机最小系统是将单片机接上时钟电路和复位电路所得,使用的单片机是AT89S52,在单片机最小系统上加上温度传感器DS18B20、放大电路OP07、模/数转换器ADC0809就可以进行温度数据的采样。工控机与单片机之间连上MAX232进行MODBUS协议通讯。
AT89S52的功能:
① 拥有灵巧的8位CPU和在系统可编程Flash
② 晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)
③ 内部程序存储器(ROM)为 8KB
④ 内部数据存储器(RAM)为 256字节
⑤ 32 个可编程I/O 口线
⑥ 8 个中断向量源
⑦ 三个 16 位定时器/计数器
⑧ 三级加密程序存储器
⑨ 全双工UART串行通道
4.3 单片机系统的流程图
图4.2 单片机系统主程序流程图
初始化程序
{     SCON=0x50;                //UART为模式1,8位数据,允许接收
    TMOD=0x21;                //定时器1为模式2,8位自动重装,由TCON中的TRx控制
    PCON=0x00;                //SMOD=0
    TH1=0xFD;                //Baud:9600  fosc="11".0592MHz,波特率可变UART为模式1            
    TL1=0x00;
        PS=1;                //串口优先最高
    EA=1;                    //总中断
        ES=1;                //串口中断
    TR1=1;                    //timer 1 run
        Rptr=0;                
    RecvOk=0;
}            
串口中断程序
void Uart() interrupt 4 using 1//串口中断
{     byte m;
    ES=0;
        if(TI)
                TI=0;
    else if(RI)                //判断串口接收寄存器SBUF是否满了,满则RI由硬件置1
        {    RI=0;            //软件清零
            m=SBUF;
            if(Rptr<BufMax)//初始化BufMax=20
            {    Rbuf[Rptr]=m;//将接收到的数据存到数组里(除了HEAD)
                Rptr++;
            }
            if(m==HEAD)
                Rptr=0;
        if(m==OVER)            //判断是否接收完毕
                RecvOk=1;    //接收完毕标志位
        }
上一篇:AT89C51单片机智能恒温混水阀控制器的设计
下一篇:西门子SIMATIC S7-300系列驱动与调试+梯形图

软PLC技术电梯控制与实现+梯形图

小型静止无功发生器的分析与设计

高频逆变电源的分析与设计

基于simulink的三相桥式全控...

英汉数字文化差异与翻译

基于PSCAD的船舶区域配电系...

PLC自动过筛设备设计与控制+程序

谷度酒庄消费者回访调查问卷表

辩护律师的作证义务和保...

国内外无刷直流电动机研究现状

浅谈传统人文精神茬大學...

高校网球场馆运营管理初探【1805字】

浅谈新形势下妇产科护理...

拉力采集上位机软件开发任务书

多元化刑事简易程序构建探讨【9365字】

《醉青春》导演作品阐述

中国古代秘书擅权的发展和恶变