一个寄存器的设置不同,让我程序调了好几天!5555555~~~~~~~超汗~~~~
这个寄存器就是(I/O口工作类型设置)即PxM0,PxM1。
为什么这么郁闷呢?
我一开始用的是STC12C5410AD系列单片机,这个系列的单片机I/O口类型配置如下:
PxM0 PxM1 I/O口模式
0 0 准双向口,普通8051 I/O 口模式
0 1 推挽输出
1 0 高阻
1 1 开漏
我程序中要用的是PxM0=0x00; PxM1=0x01 也就是某I/O口(Px.0)设为推挽输出; 程序正常按设定情况顺利进行。
过了一个星期,我用STC12C5A60S2系列单片机来写程序,其单片机I/O口类型配置如下:
PxM1 PxM0 I/O口模式
0 0 准双向口,普通8051 I/O 口模式
0 1 推挽输出
1 0 高阻
1 1 开漏
我程序用的也是PxM0=0x00; PxM1=0x01 以为这个口也设成推挽输出(在写这个之前没去认真看上面I/O口配置),结果就是程序不能按期进行啊!!
总是以为程序的其它地方错了,或者是硬件有问题。程序改啊,硬件又重新连啊。。这样重复了好几好几遍!!
(55555~~~~~~太汗)其实呢,我也看过了好几次这款单片机的I/O口类型配置。总是被以前那款单片机
(STC12C5410AD)的配置思维左右!!。
可见STC的这一款单片机不同系列相同功能寄存器的配置还不一样!!!!!!!!!!!!!!
也就是这一点,花了我几天的时间来搞!幸亏有51hei单片机论坛上的朋友帮助才搞定,所以搞学问还是不能麻虎啊。
上一篇:单片机制作媚眼激活仪的c代码
下一篇:51单片机脉冲宽度调制(PWM)控制LED灯亮度
推荐阅读最新更新时间:2024-03-16 13:13