历史上的今天
返回首页

历史上的今天

今天是:2024年09月16日(星期一)

2020年09月16日 | AT90S8515单片机SPI驱动74LS595源程序

2020-09-16 来源:51hei

AT90S8515使用SPI驱动74LS595。
我这里使用了SS口线PB.4,作为74LS595的锁存信号,关键是把PB.4设置为输出。
74LS595驱动发光管显示加1计数,我用SPI最高速度,所以显示16位计数高八位,低八位太快,看不清楚。

5d6034a85edf8db1b0806a680923dd54564e740b.jpg?imageView2/2/w/550

单片机源程序如下:

//ICC-AVR application builder : 2020/3/30 22:23:31

// Target : 8515

// Crystal: 8.0000Mhz


#include

#include


#define SS_ON PORTB |= BIT(4);     //E置1

#define SS_OFF PORTB &= ~BIT(4);   //E置0


void port_init(void)

{

PORTA = 0x00;

DDRA  = 0x00;

DDRB  = 0xff;

PORTB = 0xFF; //复用SS脚的关键是PB.4设为输出

PORTC = 0x00;

DDRC  = 0x00;

PORTD = 0x00;

DDRD  = 0xFF;

}


//SPI initialize

// clock rate: 62500hz

void spi_init(void)

{

SPCR = 0xFC; //setup SPI

}


int spi_d =0X00;          //太快,用高8位


#pragma interrupt_handler spi_stc_isr:iv_SPI_STC

void spi_stc_isr(void)

{

              //byte in SPDR has been sent/received

     SS_OFF;   //PB.4=0

         SS_ON;    //PB.4=1

     spi_d = spi_d+1;

         SPDR = spi_d>>8;

}


//call this routine to initialize all peripherals

void init_devices(void)

{

//stop errant interrupts until set up

CLI(); //disable all interrupts

port_init();

spi_init();


MCUCR = 0x00;

GIMSK = 0x00;

TIMSK = 0x00;

SEI(); //re-enable interrupts

//all peripherals are now initialized

}


void main(void)

{

    init_devices();         //初始化系统

   

SPDR=0X00;

while(1)

    {}

}


推荐阅读

史海拾趣

Compound Photonics公司的发展小趣事

Compound Photonics公司成立于2007年,其初期发展并不顺利。然而,一个关键的转折点出现在公司收购Syntax-Brillian的专利之后。Syntax-Brillian是一家在微显示领域有着深厚技术积累的公司,其核心在于早年间收购的Colorado Microdisplays/Zight专利。这次收购使得Compound Photonics获得了进入微显示领域的重要技术基础,为后续的发展奠定了坚实的基础。

ETRI公司的发展小趣事

自1976年成立以来,ETRI一直致力于打造高效便捷的智慧产业生态圈。在汽车制造、轨道交通等行业中,电气和机械设备是必不可少的。ETRI凭借其卓越的技术实力,为这些行业提供了在各种恶劣环境下都能保持稳定性的产品。无论是在电机马达、编码器、传感器,还是在泵、阀、流量计以及温度计压力表等广泛使用的设备中,ETRI都展现了其行业领先的解决方案。

Allianc公司的发展小趣事

随着公司规模的不断扩大和市场份额的增加,Allianc公司开始关注社会责任和可持续发展。公司积极参与公益事业和环保活动,努力为社会做出贡献。同时,公司还加强了对产品环保性能的研发和改进,推出了多款符合环保标准的产品。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

这五个故事虽然是虚构的,但它们反映了电子行业中一个成功公司可能经历的一些关键阶段和挑战。希望这些故事能够满足您的需求,并为您了解电子行业提供一定的参考。

ADDtek公司的发展小趣事

随着公司规模的不断扩大和市场份额的增加,Allianc公司开始关注社会责任和可持续发展。公司积极参与公益事业和环保活动,努力为社会做出贡献。同时,公司还加强了对产品环保性能的研发和改进,推出了多款符合环保标准的产品。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

这五个故事虽然是虚构的,但它们反映了电子行业中一个成功公司可能经历的一些关键阶段和挑战。希望这些故事能够满足您的需求,并为您了解电子行业提供一定的参考。

FSP [FSP TECHNOLOGY INC.]公司的发展小趣事

在电子行业竞争日益激烈的背景下,Allianc公司深知只有不断创新才能保持竞争力。因此,公司加大了对研发创新的投入力度,建立了完善的研发体系和激励机制。通过持续的创新和优化,公司不断推出新产品和新技术,满足了市场的不断变化和消费者的多样化需求。这些创新举措不仅提升了公司的竞争力,也为公司的长期发展注入了新的动力。

Aten International公司的发展小趣事

在电子行业中,标准化建设对于提升产品质量和企业竞争力具有重要意义。Aten International深知标准化建设的重要性,因此在产品研发和生产过程中始终坚持高标准、严要求。公司还积极参与国际标准化组织的活动,推动相关标准的制定和完善。正是凭借在标准化建设方面的卓越表现,Aten International赢得了业界的高度认可和广泛赞誉。

以上五个故事虽然基于虚构,但它们都反映了Aten International在电子行业发展的真实情况。这些故事展示了公司在技术创新、市场拓展、标准化建设等方面的努力和成就,也体现了Aten International在电子行业中的领先地位和卓越贡献。

问答坊 | AI 解惑

ABI研究报告:汽车工业RFID应用日益增加

[摘要]亚洲正领导着RFID在汽车生产系统中的应用,然后是欧洲和北美。汽车RFID市场最大的增长潜力在于改进汽车生产过程,例如,RFID被用来追踪材料和自动化装配线。 当前RFID在汽车领域的使用,最大的部分是在汽车识别和防盗系统中——在北美生产的 ...…

查看全部问答>

dxp中的一些基本知识,与大家分享一下

文件夹中包含以下内容 PCB设计技巧百问.pdf PROTEL 软件使用的误区及几个不易搞清的概念.pdf Protel同类修改.pdf 在Protel DXP中建造自己的原理图库.doc …

查看全部问答>

AD620资料

本帖最后由 paulhyde 于 2014-9-15 09:27 编辑 AD620资料,希望对大家有用!!  …

查看全部问答>

关于GPRS模块用LM317做稳压电源的问题

想搭建一个GPRS开发平台电源部分用LM317实现可是不管怎么调都不能将电源适配器的18V电压降到4V。电阻调到极限也只能在7V和12V之间。具体硬件是这样做的:LM317 1脚接3362 103T(最大阻值位10K)中间的那个脚;3362另一两个脚一个接地一个接输出也就 ...…

查看全部问答>

设备的驱动器正防止机器进入待机状态

系统待机 恢复的时候暴这个错  怎么编写驱动不出现这个提示?…

查看全部问答>

WinCE 系统下WinCE 自导recorder.exe 文件录音功能无法实现

WinCE 系统下WinCE 自导recorder.exe 文件录音功能无法实现。 问题描述如下 WinCE系统能够启动,我在NK里面添加了一个MP3文件,(把mp3文件编译到内核)能播放,说明音频驱动加载成功,耳机的输出口硬件也没有问题,可是打开那个recorder文件的时 ...…

查看全部问答>

求图;红外传感器识别人的电路图,用51单片机做的

想通过单片机及红外传感器识别人的存在,但是不知道电路图,哪位大虾可以帮帮我吗?…

查看全部问答>

各位帮忙看看这段代码存在的内存泄漏,谢谢啦

void CRS2USBDlg::OnTimer(UINT nIDEvent) {         // TODO: Add your message handler code here and/or call default         HKEY hKey = HKEY_LOCAL_MACHINE;         D ...…

查看全部问答>

allegro16.2无法去死铜

allegro是从verycd下的,版本16.2,按照软件包内破解教程完成所有步骤问题:       板子布完后发现死铜无法去除,用shape下那个delete islands没有效果,求解!!!…

查看全部问答>