打印
[STC单片机]

纠结的星期天,纠结的IAP15W4K58S4

[复制链接]
8180|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
34af9uc|  楼主 | 2015-1-18 23:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 34af9uc 于 2015-1-18 23:32 编辑

  STCIAP系列单片机可以支持USB下载了,还支持6PWM这是我正想测试的功能,某宝上弄了几片打上驱动还真好用,我的没安装稳压管倒也可用,最后出于安全考虑接了10个4148:'(一切都准备好了可是问题来了,,,,,只能下载一次再下载就得重新插一下u口6pwm按照数据手册一条一条写吧,先要一个脚出波形,就PWM2吧28脚,等我配置完烧入单片机无论怎么调整参数都输出50%的方波,,怎么也换不到PWM2_2上。好了那就在线仿真吧keil怎么也连不上后来一看只支持232口,好吧又换回usb-232接口这回连上了。指令是可以一条一条的单步了
PWM部分没有反应了代码如下:
#include<STC15.H>
void main()
{
P3M1        &=~0x80;
P3M0        &=~0x80;                //设PWM2为准双向输出
//P2M1        &=~0x80;
//P2M0        &=~0x80;                //设PWM2_2为准双向输出
//PWMCFG        |=0x01;                        //PWM2输出端口初始电平为高电平
//PWMCR        |=0x80;                        //使能PWM波形发生器
PWMCR        |=0x01;                        //PWM通道2的端口为PWM输出口
PWMCH        =0x7f;                        //PWM计数器高字节               
PWMCL        =0xff;                        //PWM计数器低字节
//PWMCKS        |=0x00;                        //PWM时钟为系统时钟
PWM2T1H        =0x00;                        //PWM2第一次翻转计数器高字节
PWM2T1L        =0x04;//假设0x08//PWM2第一次翻转计数器低字节
PWM2T2H        =0x70;//假设0x10//PWM2第二翻转计数器低字节
PWM2T2L        =0x00;                        //PWM2第二次翻转计数器低字节
//这条指令不起作用//PWM2CR        |=0x08;                        //PWM的输出管脚为PWM2:P2_7
PWMCR        |=0x80;                        //使能PWM波形发生器
//IAP_CONTR=0x60;
while(1);


}

相关帖子

沙发
lnulibin| | 2015-1-19 08:58 | 只看该作者
示波表,设备挺全啊。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
34af9uc + 1
板凳
autopccopy| | 2015-1-19 12:36 | 只看该作者
【安全考虑接了10个4148】:用3.3-3.6V稳压管啊,也可以在电源串2个1N4007降电压降到3.6V。因这个不是保护作用,而是USB D+/D-的电平箝位作用,实验要求不高是不接也是可以的,只是USB电平不对,实际操作没什么影响。

KEIL在线仿真要先将芯片设置为仿真芯片才可以,另不要占用仿真器的保留资源。

(57)

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
34af9uc + 1
地板
coody| | 2015-1-19 16:24 | 只看该作者
LZ,这个IC可以仿真的,但是要使用串口才可以下载仿真。
我觉得USB下载合适现场更新,因为每下载一次,就要重新插入USB一次,每插一次USB只能下载一次。并且,USB下载不能更改时钟频率。
如果是开发,则应该使用串口。
另外,这个MCU增加了6路15位PWM,并且相关的十几个IO上电都是高阻,所以如果用到这些IO,要设置一下IO模式。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
34af9uc + 1
5
autopccopy| | 2015-1-19 17:34 | 只看该作者
coody 发表于 2015-1-19 16:24
LZ,这个IC可以仿真的,但是要使用串口才可以下载仿真。
我觉得USB下载合适现场更新,因为每下载一次,就要 ...

我也发现了【USB下载不能更改时钟频率】,而且电脑如先插着IPHONE或IPAD,再插入STC单片机则USB LOW SPEED WRITER不能识别。:(

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
34af9uc + 1
6
34af9uc|  楼主 | 2015-1-19 19:28 | 只看该作者
autopccopy 发表于 2015-1-19 12:36
【安全考虑接了10个4148】:用3.3-3.6V稳压管啊,也可以在电源串2个1N4007降电压降到3.6V。因这个不是保护 ...

0.7v*5=3.5v用于钳位没有问题,就是有点浪费。。。保留资源指的是什么反正也不知道不管了。

使用特权

评论回复
7
cainiao_123| | 2015-1-19 19:42 | 只看该作者
34af9uc 发表于 2015-1-19 19:28
0.7v*5=3.5v用于钳位没有问题,就是有点浪费。。。保留资源指的是什么反正也不知道不管了。 ...

资料里面好像有例程,可以先试试例程

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
34af9uc + 2
8
34af9uc|  楼主 | 2015-1-19 20:50 | 只看该作者
coody 发表于 2015-1-19 16:24
LZ,这个IC可以仿真的,但是要使用串口才可以下载仿真。
我觉得USB下载合适现场更新,因为每下载一次,就要 ...

能做的都做了,您还有何高见?仿真的时候与pwm无关。

使用特权

评论回复
9
34af9uc|  楼主 | 2015-1-19 23:25 | 只看该作者
今天参考下载器里的列程终于找到问题,有些寄存器是在特殊寄存器组    P_SW2        |=0x80;        //扩展sfr访问位    这条指令真是疏忽了希望给后面的人一些参考吧代码如下
#include<STC15.H>
void main()
{
P3M1        &=~0x80;
P3M0        &=~0x80;                //设PWM2为准双向输出
P2M1        &=~0x80;
P2M0        &=~0x80;                //设PWM2_2为准双向输出
//PWMCFG        |=0x01;                        //PWM2输出端口初始电平为高电平
//PWMCR        |=0x80;                        //使能PWM波形发生器
PWMCR        |=0x01;                        //PWM通道2的端口为PWM输出口
P_SW2        |=0x80;                        //扩展sfr访问位
PWMCH        =0x7f;                        //PWM计数器高字节               
PWMCL        =0xff;                        //PWM计数器低字节
//PWMCKS        |=0x00;                        //PWM时钟为系统时钟
PWM2T1H        =0x00;                        //PWM2第一次翻转计数器高字节
PWM2T1L        =0x04;//假设0x08//PWM2第一次翻转计数器低字节
PWM2T2H        =0x08;//假设0x10//PWM2第二翻转计数器低字节
PWM2T2L        =0x00;                        //PWM2第二次翻转计数器低字节
PWM2CR        |=0x08;                        //PWM的输出管脚为PWM2:P2_7
P_SW2        &=~0x80;                        //扩展sfr访问位清除
PWMCR        |=0x80;                        //使能PWM波形发生器
//IAP_CONTR=0x60;
while(1)
P4^=0X02;


}

使用特权

评论回复
10
34af9uc|  楼主 | 2015-1-19 23:39 | 只看该作者
coody 发表于 2015-1-19 16:24
LZ,这个IC可以仿真的,但是要使用串口才可以下载仿真。
我觉得USB下载合适现场更新,因为每下载一次,就要 ...

仿真对PWM部分不起作用,试完给你回的贴。

使用特权

评论回复
11
coody| | 2015-1-20 12:11 | 只看该作者
我用官方给的6路PWM程序,仿真正常。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

300

主题

457

帖子

59

粉丝