例2 利用定时/计数器T0 的方式1,产生10ms 的定时,并使P1
0 引脚上输出周期为20ms的方波,采用中断方式,设系统时钟频率为12 MHz
解:1、计算计数初值X: 由于晶振为12 MHz,所以机器周期Tcy 为1 s
所以: N=t/ Tcy =10×10-3 / 1×10-6=10000 X=65536-10000=55536=D8F0H 即应将D8H 送入TH0 中,F0H 送入TL0 中 2、求T0 的方式控制字TMOD: M1M0=01,GATE=0,C/T=0,可取方式控制字为01H; ORG 0000H LJMP MAIN ;跳转到主程序 ORG 000BH ;T0 的中断入口地址 LJMP DVT0 ;转向中断服务程序 ORG 0100H MAIN:MOV TMOD,#01H ;置T0 工作于方式1 MOV TH0,#0D8H ;装入计数初值 MOV TL0,#0F0H SETB ET0 ;T0 开中断 SETB EA ;CPU 开中断 SETB TR0 ;启动T0 SJMP $ ;等待中断 DVT0:CPL P1
0 取反输出 MOV TH0,#0D8H ;重新装入计数值 MOV TL0,#0F0H RETI ;中断返回 END • 2、串 行 口方式1 的发 送和 接 收 例7-4:89C51 串 行 口按 双 工方式收 发 ASCII 字符 ,最 高 位 用来 作奇 偶 校 验 位 ,采用奇 校 验方式,要 求传 送的波特 率为1200b/s
编 写 有 关 的通 信 程序
解:7 位 ASCII 码 加 1 位 奇 校 验 共 8 位 数据 ,故 可采用串 行 口方式1
89C51 单 片 机的奇 偶 校 验 位 P 是 当 累 加 器A 中1 的数目 为奇 数时,P=1
如 果直接 把 P的值放入ASCII 码 的最