|
本帖最后由 51黑电子happy 于 2017-3-29 23:50 编辑
51单片机一位数码管循环显示0~9的仿真原理图(proteus工程文件可到本帖附件下载):
单片机源程序:
- //-----------------------------------------------------------------------------------
- //程序名: SMG7-4.ASM
- //程序功能:P0端口输出,一位数码管循环显示0~9
- //-----------------------------------------------------------------------------------
- #include <reg51.h>
- //定义位操作
- //sbit ls1=P2^0; //个位公共极
- #define Out P0 //定义数据输出端口
- void delay10ms(unsigned int count);
- unsigned char i=0;
- //共阳数码管数字显示表
- unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- // 对应显示 0 1 2 3 4 5 6 7 8 9
- //----------------------------------- 主函数 ----------------------------------
- main()
- {
- //ls1=0; //个位共阳极数码管供电
- while(1) //无限循环
- {
- Out=tab[i]; //输出
- i=(i+1)%10; //i加1,指向表中下一个码
- delay10ms(300); //调用延时函数
- }
- }
- //------------------------------------ 延时函数 ----------------------------------
- void delay10ms(unsigned int count) //总延时时间为10ms*count
- {
- unsigned int i,j,k;
- for(i=0; i<count; i++)
- for(j=0; j<10; j++)
- for(k=0; k<120; k++);
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
该系列源码包含有很多非常经典,代码风格十分规范,而且注释详细的单片机例程,还带仿真,对于MCU学习特别是初学者是很有帮助的,全部源码下载(共25个项目):http://www.51hei.com/bbs/dpj-79328-1.html
本例程下载(含proteus仿真工程文件与源码):
单片机一位数码管循环显示0~9实验.rar
(37.75 KB, 下载次数: 149)
|
评分
-
查看全部评分
|