MSM82c54,脉冲计数器

huayangshiboqi 2016-10-11 12:07:29
有没有哪位大神以前用过82C54,或有正在用的同学吗?
可以共享一下你们是怎么看这款芯片资料的,怎么编的程序吗?
捣拾了两三天了,datasheet也差不多,可是里面没有C编程的例子,一直不知道自己到底哪编的不对,求共享一下。
...全文
407 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Miseli 2016-11-17
  • 打赏
  • 举报
回复
您好,可以把您改好的代码发给我学习学习么?最近在学习这个芯片的使用呢,一直不得法! xaojoe@126.com 麻烦您了.
huayangshiboqi 2016-10-15
  • 打赏
  • 举报
回复
已解决,重点是时序对其他部分的影响,没有注意到时序的关闭,和各个阶段时序产生的其他的作用。
huayangshiboqi 2016-10-14
  • 打赏
  • 举报
回复
http://wenku.baidu.com/view/9dc8e64769eae009581becc0.html?from=search 82C54的百度文库资料 // 我的程序 void Delay(unsigned int c); // 10ms void main() { unsigned int a=1; LCD_init(); //显示初始化 clk1=0; //counter 2 的CLK信号 Gate1=0; //counter2的门信号 WR1=1; //counter2的WR信号 cs=1; A1=1; A0=1; cs=0; WR1=0; RD1=1; GP3=0x92; //DATE0-8,连接的是P3口 Delay(20); /* cs=1; //写控制字 RD1=0; WR1=1;*/ cs=1; WR1=1; Delay(5); A1=1; A0=0; cs=0; RD1=1; WR1=0; GP3=0xaa; Delay(4); GP3=0xaa; // cs=1; //装值 cs=1; RD1=0; WR1=1; clk1=1; Delay(4); clk1=0; Delay(4); clk1=1; Delay(4); //由CPU提供时钟,装入控制字 RD1=1; WR1=0; Delay(4); RD1=0; WR1=1; Delay(4); clk1=1; Delay(4); clk1=0; Delay(4); clk1=1; Delay(4); RD1=1; //由CPU提供时钟,装入初始值 Gate1=1; cs=0; //打开COUNTER 2门信号Gate, 让它开始工作 clk1=1; Delay(4); clk1=0; Delay(4); clk1=1; Delay(4); clk1=0; Delay(4); clk1=1; Delay(4); clk1=0; //由CPU提供时钟,计数 /* Delay(4); clk1=1; Delay(4); clk1=0; Delay(4); clk1=1; Delay(4); */ Gate1=0; //关闭COUNTER 2 A1=1; A0=1; cs=0; WR1=0; RD1=1; GP3=0xe8; Delay(20); // cs=1; //写控制字 Delay(8); cs=1; RD1=0; WR1=1; clk1=1; Delay(4); clk1=0; Delay(4); clk1=1; RD1=1; WR1=0; //提供时钟,装入控制字 GP3=0xff; //将51的P3引脚,设置为输入 Delay(5); cs=0; A1=1; A0=0; RD1=0; WR1=1; //读值 Delay(50); /*RD1=1; WR1=1; RD1=0; WR1=0;*/ a=GP3; while(1) h(a); //显示函数 } 请大神帮忙,看一下我这个程序那里写的有问题。// 显示程序一定没问题,主要是对82C54的编程有问题。
huayangshiboqi 2016-10-11
  • 打赏
  • 举报
回复
没人吗? 在从计数器中读数据时,应该有低八位和高八位,怎样一一读取出来呢?

2,425

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 其他硬件开发
社区管理员
  • 其他硬件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧