51系列单片机之串口通信
时间:11-20
来源:互联网
点击:
单片机的串口通信看起来是很复杂的,主要是因为他用到了更多的寄存器,与前面的知识相比他更具综合能力,写起来考虑的问题自然也变多了.而前面学习过的定时器与中断将是单片机通信的基础.
单片机的中断系统中第4个中断就是串口中断,要进行串口通信首先就要打开CPU总中断EA,还要打开串口通信中断ES,这是串口通信的前堤,而串口通信也跟计时器一样有很多的模式,因此我们还要设置SCON寄存器来指定采用哪一种方式进行通信,而在通信的过程中,我们还要设定通信的波特率,不然的话,单片机是没办法进行采样的,这样也不会得到正确的结果了.我在实验过程中用到的是1号定时器来设定的波特率,用到了计时器方式2,也就是8位自动重装,这样可以简化编程,她的实现思想就是将常数放入TH,而TL中则是初始化参数,当溢出时,单片机会自动将TH中的常数装入TL中.

再来说说波特率,我们为什么要设定波特率,因为单片机会以16倍波特率的速度进行采样,而在实验中我们用的是10位异步收发方式,因此要将SM0置0,SM1置1.而其中的10位有8位数据位,第一位和最后一位是发送数据的起始与结束.采用高的皮特率就不会出错啦.而波特率是有一个公式的:
方式0的波特率 = fosc/12
方式2的波特率 =(2SMOD/64)· fosc
方式1的波特率 =(2SMOD/32)·(T1溢出率)
方式3的波特率 =(2SMOD/32)·(T1溢出率)
T1 溢出率 = fosc /{12×[256 -(TH1)]}
根据公式我们很容易就算出当晶振为110592HZ时,要达到9600的波特率,我们只需要将TL1置FDH即可,如下图:

除此之外,你还要将SCON中的REN位置1,不然的话,单片机是不会接收数据的.
还有不要忘了选择定时器的工作方式,设置TMOD为0x20既是工作方式2,8位自动重装定时器.
这样一来,初始批工作算是差不多了.而串口通信分为中断方式,和查询方式,如果你想用查询方式你也不用设置IE寄存器了.
在串口通信中,还有一个很重要的寄存器SBUF,其实也不是一个,是两个,只是它们共用同一个地址,再热气表达式的不同,单片机会自动选择使用哪一个SBUF.
单片机的中断系统中第4个中断就是串口中断,要进行串口通信首先就要打开CPU总中断EA,还要打开串口通信中断ES,这是串口通信的前堤,而串口通信也跟计时器一样有很多的模式,因此我们还要设置SCON寄存器来指定采用哪一种方式进行通信,而在通信的过程中,我们还要设定通信的波特率,不然的话,单片机是没办法进行采样的,这样也不会得到正确的结果了.我在实验过程中用到的是1号定时器来设定的波特率,用到了计时器方式2,也就是8位自动重装,这样可以简化编程,她的实现思想就是将常数放入TH,而TL中则是初始化参数,当溢出时,单片机会自动将TH中的常数装入TL中.

再来说说波特率,我们为什么要设定波特率,因为单片机会以16倍波特率的速度进行采样,而在实验中我们用的是10位异步收发方式,因此要将SM0置0,SM1置1.而其中的10位有8位数据位,第一位和最后一位是发送数据的起始与结束.采用高的皮特率就不会出错啦.而波特率是有一个公式的:
方式0的波特率 = fosc/12
方式2的波特率 =(2SMOD/64)· fosc
方式1的波特率 =(2SMOD/32)·(T1溢出率)
方式3的波特率 =(2SMOD/32)·(T1溢出率)
T1 溢出率 = fosc /{12×[256 -(TH1)]}
根据公式我们很容易就算出当晶振为110592HZ时,要达到9600的波特率,我们只需要将TL1置FDH即可,如下图:

除此之外,你还要将SCON中的REN位置1,不然的话,单片机是不会接收数据的.
还有不要忘了选择定时器的工作方式,设置TMOD为0x20既是工作方式2,8位自动重装定时器.
这样一来,初始批工作算是差不多了.而串口通信分为中断方式,和查询方式,如果你想用查询方式你也不用设置IE寄存器了.
在串口通信中,还有一个很重要的寄存器SBUF,其实也不是一个,是两个,只是它们共用同一个地址,再热气表达式的不同,单片机会自动选择使用哪一个SBUF.
51系列单片机串口通 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
閻忓繐瀚伴。鑸电▔閹捐尙鐟归柛鈺冾攰椤斿嫰寮▎鎴旀煠闁规亽鍔忓畷锟�
- 濡ゅ倹岣挎鍥╀焊閸曨垼鏆ョ€规悶鍎抽埢鑲╂暜閸繂鎮嬮柟瀛樺姇閻撹法鎷嬮鐔告畬缂佸顑呴〃婊呮啑閿燂拷
闁稿繈鍔嶉弻鐔告媴瀹ュ拋鍔呭☉鏃傚Т閻ㄧ姵锛愰幋婊呯懇濞戞挻姘ㄩ悡锛勬嫚閸☆厾绀夐柟缁樺姇瀹曞矂鎯嶉弬鍨岛鐎规悶鍎扮紞鏃堟嚄閽樺顫旈柨娑樿嫰婵亪骞冮妸銉﹀渐闂侇偆鍠愰崹姘舵⒐婢舵瓕绀嬪ù鍏坚缚椤懘鎯冮崟顐ゆ濡増鍨垫导鎰矙鐎n亞鐟�...
- 濞戞搩鍘炬鍥╀焊閸曨垼鏆ョ€规悶鍎抽埢鑲╂暜閸繂鎮嬮柟瀛樺姇閻撹法鎷嬮鐔告畬缂佸顑呴〃婊呮啑閿燂拷
缂侇噣绠栭埀顒婃嫹30濠㈣埖宀稿Λ顒備焊閸曨垼鏆ラ柛鈺冾攰椤斿嫮鎷犻崜褉鏌ら柨娑樺缁楁挾鈧鍩栧璺ㄦ嫚閹惧懐绀夐柛鏂烘櫅椤掔喖宕ㄥΟ鐑樺渐闂侇偆鍠曢幓顏堝礆妫颁胶顏卞☉鎿冧簻閹酣寮介悡搴f濡増鍨垫导鎰矙鐎n亞鐟庨柣銊ュ椤╋箑效閿燂拷...
- Agilent ADS 闁轰焦鐟ラ鐔煎春绾拋鍞查悹鍥у⒔閳诲吋绺藉Δ鍕垫
濞戞挻鎸搁宥夊箳閸綆鍤﹂柨娑樿嫰閸欏繘妫冮姀锝庡敼閻熸瑯鏋僁S闁告艾瀚~鎺楀礉閻旇鍘撮柛婊冭嫰娴兼劗绮欑€n亞瀹夐柣銏╃厜缁遍亶宕濋埡鍌氫憾闁烩偓鍔嶅〒鍫曟儗椤撶姵鐣遍柡鍐ㄧ埣濡法鈧冻缂氱槐鐧咲S...
- HFSS閻庢冻缂氱弧鍕春绾拋鍞查悹鍥у⒔閳诲吋绺藉Δ鍕垫
閻犙冨缁讳焦绋夐幘鎰佸晙闁瑰搫鐗愰鎶芥晬鐏炶棄寮块梻鍫涘灱椤斿骞掗崷娆禨S闁汇劌瀚慨娑㈡嚄閽樺瀚查幖瀛樻⒒閺併倝鏁嶇仦钘夌盎闁告柡鏅滈崑宥夊礂閵娾晜妗ㄧ紒顖濆吹缁椽宕烽弶娆惧妳濞戞梻濮电敮澶愬箵椤″锭SS...
- CST鐎甸偊鍠楃亸婵嗩啅閵夈倗绋婇悗骞垮€曢悡璺ㄦ媼椤撶喐娈岀紒瀣儏椤ㄦ粎鎲楅敓锟�
闁哄瀛╁Σ鎴澝虹€b晛鐦滈悹浣筋嚋缁辨繈宕楅妸鈺傛〃閻犱礁寮跺绶維T闁告艾瀚伴妴宥夊礉閻旇鍘撮柛婊冭嫰娴兼劗绮欑€n亞瀹夐柣銏╃厜缁辨繈宕濋埡鍌氫憾闊浂鍋婇埀顒傚枙閸ゆ粎鈧冻闄勭敮澶愬箵椤″T閻犱焦宕橀鍛婃償閺冨倹鏆�...
- 閻忓繐瀚伴。鍫曞春閾忚鏀ㄩ柛鈺冾攰椤斿嫮鎷犻崜褉鏌�
濞戞挸娲g粭鈧Δ鍌浬戦妶濂哥嵁閸愬弶鍕鹃悹褍鍤栫槐婵囨交濞嗗海鏄傞悹鍥у⒔閳诲吋绋夋潪鎵☉闁革负鍔岄惃鐘筹紣閹寸偛螚闁哄牜鍨堕。顐﹀春閻旀灚浜i悘鐐存礃鐎氱敻鎳樺鍓х闁瑰灚鎸风粭鍛村锤濮橆剛鏉介柣銊ュ缁楁挻绋夊顒傚敤缁绢厸鍋�...
- 鐎甸偊鍠楃亸婵堜焊閸曨垼鏆ユ繛鏉戭儔閸f椽骞欏鍕▕闁糕晝顢婇鍕嫚閸撗€鏌ら柛姘墦濞夛拷
閻犳劦鍘洪幏閬嶅触閸儲鑲犻柡鍥ㄦ綑閻ゅ嫰骞嗛悪鍛缂傚啯鍨甸崹搴ㄥΥ娓氣偓椤e墎鎷崣妯哄磿闁靛棔鑳堕妵姘枖閵忕姵鐝ら柕鍡曟娣囧﹪宕i柨瀣埍闁挎稑鏈崹婊呮啺娴e湱澹夐柡宥夘棑缁ㄥ潡鏌呴敓锟�...
栏目分类