⑴ 单片机最小系统
开发单片机最小系统是我们的任务。该系统包括以下功能:
1. 具备2位LED数码管显示功能。
2. 具有八路发光二极管显示各种流水灯效果。
3. 可以完成各种奏乐、报警等发声音类实验。
4. 具备复位功能。
功能分析如下:
1. 两位LED数码管显示功能,可以通过单片机的P0口连接两个数码管实现。
2. 八路发光二极管显示,可通过P1口连接八个发光二极管来实现。
3. 各种奏乐、报警等发声功能,可以采用P2.0引脚连接蜂鸣器来实现。
4. 通过单片机的第9脚,可以设计成复位系统,采用按键复位;利用单片机的18、19脚可以设计成时钟电路,采用内部振荡方式设计。
为了实现这些功能,我们设计了以下硬件电路:
1. 数码管:共阴极2只(分立)。
2. 电解电容:10UF的一只。
3. 30PF的电容2只。
4. 220欧的电阻9只。
5. 4.7K的电阻一只。
6. 1.2K的电阻一只。
7. 4.7K的排阻一只。
8. 12MHZ的晶振一只。
9. 有源5V蜂鸣器一只。
10. AT89S51单片机一片。
11. 常开按钮开关1只。
12. 紧锁座一只(方便芯取下来的,绿色的)。
13. 发光二极管(5MM红色)8只。
14. 万能板电路版15*17CM。
15. S8550三极管一只。
16. 4.5V电池盒一只,导线若干。
按照电路图焊接元件,详细步骤省略。
为了实现上述功能,编写了相关程序:
1. 第一个发光二极管点亮,同时数码管显示“1”。
2. 第二个发光二极管点亮,同时数码管显示“2”。
3. 依次类推到第八个发光二极管点亮,同时数码管显示“8”。
以上出现的是流水灯效果。
4. 所有的发光二极管灭了,同时数码管现实“0”。
5. 数码管显示“1”。
6. 数码管显示“2、……”直到“9、A、B、C、D、E、F、Y”。
7. 蜂鸣器发出九声报警声后重复上面所有步骤。
⑵ 用单片机c51,c语言编0-9计数器程序!谢谢!!!
你的硬件电路有问题啊,单片机31号脚要接高电平
还有,你的数码管接法也不对啊
看你的排阻接法,你的数码管要用共阴极的
当加到9之后,再按一下,是不是又恢复到0啦???
下面是更改的回答
#include<reg51.h>
unsignedchara;
unsignedcharcodetable[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x67};
voidinit(void)
{
EA=1;
EX0=1;
IT0=1;
}
voidmain(void)
{
init();
while(1)
{
P0=table[a];
}
}
voidEX_0(void)interrupt0
{
a++;
if(a>9)
a=0;
}
望采纳
⑶ 51单片机的P0口如何接上拉电阻
第一种,第二种电源直接接负载单片机控制没作用,第三种如果单片机输出低电平容易损坏!