在线时间0 小时
UID96793
注册时间2008-9-26
NXP金币0
该用户从未签到
新手上路
- 积分
- 1
- 最后登录
- 1970-1-1
|
接触单片机时间还不是很长,很多东西不太会。老师出了个题目做,感觉在串口通讯那有难度!题目如下:
设计以下系统,并编写软件
利用FREESCALE S12DG128单片机输出占空比可控的方波信号
要求:
1.方波输出要求为2路。
1)利用单片机PWM模块实现
a.脉冲占空比从0~1,占空比调节间隔1/256
b.方波频率为5kHz以上,不要求频率可在线调整。
2)利用单片机定时器模块实现
a.脉冲占空比从0~1,占空比调节间隔1/500
b.方波频率从20Hz~100Hz,要求频率可在线调整,即可通过串口控制其频率变化。
2.方波的参数控制(频率,占空比)通过串行口实现。
3.串口通讯协议如下:
计算机向单片机发送以下数据帧:
1)0x02,字节0,字节1,字节2,字节3,字节4,字节5,字节6,字节7,字节8,字节9,字节10,字节11
2)一帧数据数据字节个数固定为13个字节。
3)字节0为顺序号,字节0=字符“0”~字符“9”的ASC码
4)字节1,字节2,字节3:第1路占空比输出信号的占空比:000~256,000代表占空比为0,256代表占空比为1,001代表占空比为1/256。占空比等于256时字节1=字符"2"的ASC码,字节2=字符"5"的ASC码,字节"3"=字符6的ASC码
5)字节4,字节5,字节6:第2路占空比输出信号的占空比:000~500,000代表占空比为0,500代表占空比为1,001代表占空比为1/500。占空比等于498时字节4=字符"4"的ASC码,字节5=字符"9"的ASC码,字节6=字符"8"的ASC码
6)字节7,字节8,字节9:第2路占空比输出信号的频率:020~100,020代表频率为20Hz,100代表频率为100Hz,频率等于078时字节7=字符"0"的ASC码,字节8=字符"7"的ASC码,字节9=字符"8"的ASC码
7)字节10和字节11为校验和,校验和计算方法如下:
(1)将字节0~字节9相加,然后整除256取其余数。
(2)将此余数进行字节取反,如余数为116即16进制数74即二进制数01110100B,取反为二进制数10001011B即16进制数8BH。
(3)将取反后的数的16进制表示的数拆分为高位和低位,如上例中的8BH可拆分为8和B,则字节10=字符"8"的ASC码,字节11=字符"B"的ASC码
单片机在接收到正确数据后返回以下数据帧:
1)0x03,字节1,字节2,字节3,字节4
2)一帧数据数据字节个数固定为5个字节。
3)字节0=单片机接收计算机发送数据帧的字节0
4)字节1=字符"O"的ASC码
5)字节2=字符"K"的ASC码
6)字节3,字节4为校验和计算方法如上述说明
4.计算机端设计一个界面可对这两个占空比信号进行控制
我没有搞懂那个串口通讯协议到底是什么意思。是采用DG128上面的SCI口和PC机的COM1,用RS232电缆连么?那么这个关于这些数据帧的要求是如何实现的,是在SCI寄存器里面实现么?
|
|