电子
proteus折腾第一步,led闪起来!
标签(空格分隔): 电子
写实验预习报告的时候突然诞生一个想法,把和追求的女性首次外出玩密室逃脱内破解的定时炸弹复刻一个。然后她过生日的时候送给她,会不会很浪漫。我天生缺乏这方面的东西,就不妄加判断了,总之有想法首先需要去做啊。
首先列下大概的思路:
- 需要一个光线或者热源传感器,用来启动数码管开始计时
- 需要若干个中断,用来减少时间或者控制一个弹出开关一类的东西
- 基本的复位电路是必须的,这样可以反复玩啊
- 最好能配合键盘做到可编程,这个只能说是尽力吧
由此推出可能需要的元器件:
- 51单片机一个
- 晶振
- 6位或者8位数码管
- 键盘
- 插线孔一类的东西
然而我当然不可能一下子就把上面的事情全部搞掂啦。首先需要做的就是在笔记本上测试下我的想法,这时候我就找到了神软proteus。主要是因为网上资料比较多而且这个软件也的确很小。
安装过程还算简单,反正按照步骤走就ok啦。接下来步入正题,如何做一个最基本的led循环闪烁的电路。必须了解的一点就是proteus默认隐藏了vcc和gnd,所以最小系统就不用做啦。
- 首先添加必要元件
先点击小箭头,再点击p,这样就可以在元件库里面搜索元件啦。这次要用到的是80c51、led-red,搜索完添加即可。
- 添加完后,再在设计网格内放置元件并连线
- 最后给单片机载入hex文件并仿真。选定单片机,按下ctrl+e,然后选择你编译得到的hex文件。
- 最后按下ctrl+f12就可以看到仿真结果啦
附上代码(乱写的,只求有个效果,不严谨之处还望见谅):123456789101112131415161718sbit led=P1^4;void timer(unsigned char x){ int j,k; for(j=x;j>0;j--) for(k=10;k>0;k--);}void main(){ while(1) { led = 1; timer(1); led = 0; timer(1); }}