打印

C8051F驱动74HC164问题

[复制链接]
1655|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
纳米小芯|  楼主 | 2012-9-24 00:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾,我写了一个74HC164 的代码,就想把0XF0 发到端口上去,但是一直不行,求指教,源码如下:

#include "C8051F320.h"
#include "intrins.h"
#define uint unsigned int
// ========BIT 位寻址定义==========
sbit bell = P1^2;
sbit a_138 = P1^3;
sbit b_138 = P1^4;
sbit c_138 = P1^5;
sbit ab_164 = P1^6;
sbit CLK_164= P1^7;
sbit clr_164= P2^0;
//==================================
//=========== 内部12M===========
void Oscillator_Init()
{
OSCICN    = 0x83;
}
//=========== poart io init===========
void Port_IO_Init()
{
P1MDOUT = 0xff;
P2MDOUT = 0xff;
P1SKIP = 0x00;
P2SKIP = 0x00;
XBR1  = 0x40;
}
// Initialization function for device,
void Init_Device()
{
PCA0MD &= ~0x40;  //  关闭看门狗
Port_IO_Init();
Oscillator_Init();
}
//=========delay===========================
void delay(uint z)
{
uint a,b;
for(a=z;a>0;a--)
  for(b=10;b>0;b--);
// while(z--);
}
//=========================================
// ============ wirte LED data ============
sbit num0=ACC^0;
void led()
{
uint i=0,num=0xf0;
ACC=0xf0;
  for(i=0;i<8;i++)
{
  CLK_164=0; delay(10); ab_164=num0; delay(10); CLK_164=1; ACC=ACC>>1;delay(10);
  _nop_();
}
}
//=========================================
//=========== main ========================
main()
{
Init_Device();

clr_164=1; // 一直拉高 164的清除端口
bell=0;  // 关闭蜂鸣器
a_138=0; // 打开LED 电源
b_138=0;
c_138=0;
led();
while(1)
{
  ;
}
}

相关帖子

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

本版积分规则

18

主题

36

帖子

0

粉丝