📄 soft74hc165.c
字号:
//------------------------------------------------------------------------------------
// hw6b595.c
//------------------------------------------------------------------------------------
// Copyright 2003 NCD.Ltd.
//
// AUTH: Jhonsun
// DATE: 8 Apr 03
//
// This program flashes the green LED and the red LED on the C8051F020 test board .
// Target: C8051F02x
//
// Tool chain: KEIL Eval 'c'
//
//------------------------------------------------------------------------------------
// Includes
//------------------------------------------------------------------------------------
#include <c8051f020.h>
#include <intrins.h>
//sbit MOSI = P0^4; //define the data pin
//sbit SCK = P0^2; //define the clock pin
//bit LED1input;
//bit LED2input;
//#define SETSPICS1 P5 |= 0x10 //P5.7 connect to the RCK
//#define CLRSPICS1 P5 &= ~(0x10)
//#define SETSPICS2 P5 |= 0x20
//#define CLRSPICS2 P5 &= ~(0x20)
sbit CLK = P0^3;
sbit SH = P0^0;
sbit CLKINH = P0^2;
sbit QH = P0^1;
void SYSCLK_Init (void)
{
int i; // delay counter
OSCXCN = 0x67; // start external oscillator with
// 11.0592MHz crystal
for (i=0; i < 256; i++) ; // Wait for osc. to start up
while (!(OSCXCN & 0x80)) ; // Wait for crystal osc. to settle
OSCICN = 0x88; // select external oscillator as SYSCLK
// source and enable missing clock
// detector
}
void delay(unsigned int t)
{
unsigned int i,j; //delay counter
for(i=0;i<t;i++)
for(j=0;j<10;j++)
{
_nop_();
}
}
main()
{
/* unsigned int LED[]={0x0001,0x0002,0x0004,0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,0x0200,0x0400,0x0800,0x1000,0x2000,0x4000,0x8000};
unsigned int i; */
unsigned char xdata j,i;
// unsigned char LED1,LED2;
WDTCN = 0xde;
WDTCN = 0xad; //关看门狗
// SYSCLK_Init (); //初始化时钟
// OSCICN=0x07;
//for(i=0;i<256;i++);
//while(!(OSCICN&0x10));
//OSCICN|=0x80;
//XBR0 = 0x06; // Enable SMBus, SPI0, and UART0
SYSCLK_Init();
XBR1 = 0x00;
XBR2 =0x40;
P0MDOUT = 0x0d;
QH = 1;
SH = 1;
// P74OUT = 0x08;
while(1)
{
i = 0;
// CLKINH = 1;
CLK = 0;
SH = 0;
_nop_();
_nop_();
_nop_();
_nop_();
//delay(10);
SH = 1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
//CLK = 0;
//delay(20);
CLKINH = 0;
for(j=0;j<8;j++)
{
i = i<<1;
CLK = 1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
i |=QH;
//delay(10);
CLK = 0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
// delay(10);
}
_nop_();
_nop_();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -