第6讲 DSP系统硬件设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 代码节选(汇编语言) * * .title lcd_controller.asm .mmregs stack .usect STACK, 10h .bss LCD_DATA, 1 .bss LCD_CMD, 1 COMMP .set 0CFFFH DATAP .set 0EFFFH .def _c_int00 .def LCD_Init,Delay .data ;… .text _c_int00: STM #stack+10h, SP CALL LCD_Init B $ LCD_Init: CALL Delay ST #30H, LCD_CMD CALL Write_CMD ST #0CH, LCD_CMD CALL Write_CMD ST #01H, LCD_CMD CALL Write_CMD ST #06H, LCD_CMD CALL Write_CMD RET Write_CMD: CALL Delay PORTW LCD_CMD, COMMP RET Write_DAT: CALL Delay PORTW LCD_DATA, DATAP RET Read_DAT: CALL Delay PORTR DATAP, LCD_DATA RET Delay: ;… RET .end ;此代码为原理性阐述,实际实现会根据实际硬件设计有所调整! 代码节选(C语言) * * #include stdio.h #include math.h #include MyC5402.h #include MyCommon.inc ioport unsigned int * PortCmd=(unsigned int*)0x0cfff; ioport unsigned int * PortData=(unsigned int*)0x0efff; #define PORTCMD (* PortCmd) #define PORTDATA (* PortData) unsigned int LCD_DATA; unsigned int LCD_CMD; void InitLCD(void); void WriteCmd(unsigned int); void WriteDat(unsigned int); void Delay(unsigned int); void main(void) { InitLCD(); } void InitLCD(void) { LCD_DATA=0x30; WriteCmd(LCD_DATA); LCD_DATA=0x0C; WriteCmd(LCD_DATA); LCD_DATA=0x01; WriteCmd(LCD_DATA); LCD_DATA=0x06; WriteCmd(LCD_DATA); } void WriteCmd(unsigned int bCommand) { PORTCMD=bCommand; Delay(100); } void WriteDat(unsigned int bData) { PORTDATA=bData; Delay(100); } void Delay(unsigned int nDelay) { int ii,jj,kk=0; for ( ii=0;iinDelay;ii++ ); } //… //此代码为原理性阐述,实际实现会根据实际硬件设计有所调整! 扩展I/O接口—键盘 由若干个按键所组成的开关阵列,分为编码键盘和非编码键盘两种; 编码键盘 除了设有按键外,还包括有识别按键闭合产生键码的硬件电路,只要有按键闭合,硬件电路就能产生这个按键的键码,并产生一个脉冲信号,以通知CPU接收键码; 非编码键盘 由一些按键排列成的行列式开关矩阵。按键的作用只是简单地实现开关的接通和断开,在相应程序配合下才能产生按键的键码; 非编码键盘硬件电路极为简单,几乎不需要附加什么硬件电路,故能广泛用于各种微处理器所组成的系统中; * * 扩展I/O接口—非编码键盘 C5402非编码键盘扩展方案设计 51系列单片机常用I/O口扫描方式扩展键盘; C5402的I/O有限,故不宜直接由I/O进行非编码键盘的扩展; 做法: 将键盘当作一个普通外设,利用锁存器以总线方式扩展非编码键盘; 优点: 扫描码都通过总线方式发送和读取 大大降低键盘对I/O端口的占用 只需通过普通的I/O读写指令即可获取键盘扫描码 * * 扩展I/O接口—非编码键盘 锁存器74HC573 输 入 输 出 OE LE D Q L

文档评论(0)

20010520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档