⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 mega128通过SPI方式控制74hc595芯片驱动数码管程序。
💻 C
字号:
/****************************************************************************************/
/*	SPI测试程序(基于74HC595)															*/
/*																						*/	
/*	程序设计:sdfdlut																	*/
/*																		2008年10月20日	*/
/*	本程序已在mega128exb实验开发板上测试成功,使用时请将与SPI有关的短路片短路。			*/
/****************************************************************************************/
/*	程序现象:																			*/
/*	数码管循环显示0~9的数字和A~E的字母。												*/
/****************************************************************************************/
/*	时钟采用7.3728MHz外部晶振,请在Makefile中指定。										*/
/****************************************************************************************/

#include <avr/io.h>
#include <avr/delay.h>
#include <avr/signal.h>
#include <avr/interrupt.h>

#include "SPI.h"

unsigned char seg[16]={0b11000000,0b11111001,0b10100100,0b10110000,0b10011001,0b10010010,0b10000010,0b111111000,0b10000000,
						0b10010000,0b10001000,0b10000011,0b11000110,0b10100001,0b10000110,0b10001110};//数字的字模
//数码管段位排列为:上a,右上b,中间g
/*-----------------------------------------------------------------------
HC595_Show: 	用74HC595显示数字

输入参数:		ch: 要显示的数字
返回值:			无
-----------------------------------------------------------------------*/
void HC595_Show(unsigned char ch)
{
	unsigned char rdata;
	if (ch<0x10)
		rdata = SPI_Byte(seg[ch]);
}

int main()
{
	unsigned char i,j;

	SPI_Init();

	while(1)
	{
		for (i=0;i<0x10;i++)
		{
			HC595_Show(i);
			
			for (j=0;j<10;j++)
			{
				_delay_ms(50000);
			}
		}
	}
	return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -