标题:
详解单片机数码管怎么使用仿真 带程序
[打印本页]
作者:
heicc
时间:
2016-5-29 15:56
标题:
详解单片机数码管怎么使用仿真 带程序
单片机数码管仿真的原理图
0.png
(25.31 KB, 下载次数: 88)
下载附件
2016-5-29 15:55 上传
0.png
(69.38 KB, 下载次数: 103)
下载附件
2016-5-29 15:55 上传
仿真文件下载:
http://www.51hei.com/bbs/dpj-50777-1.html
#include <reg51.h>
#define uchar unsigned char
uchar count = 0;
uchar switc[9] = {0X7F, 0XBF, 0XDF, 0XEF, 0XF7, 0XFB, 0XFD, 0XFE}; //控制哪一个数码管亮
unsigned char disNumber[10] = {0xFF,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数码管显示的数
unsigned char disNumber_index;
void delay2ms(void) //误差 0us
{
unsigned char a,b;
for(b=4;b>0;b--)
for(a=248;a>0;a--)
;
}
void time1() interrupt 1 //定时器中断
{
uchar tempValue = 0;
count++;
if(count == 20)
{
count = 0;
disNumber_index++;
if(disNumber_index == 9)
disNumber_index =0;
}
TH0=(65536-50000)/256; //16位定时器0x60B0 高八位TH0 60低八位 B0 定时50000微秒触发定时器
TL0=(65536-50000)%256;
}
void main(void)
{
TMOD=0x01;//设置定时器0为工作方式1
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;//打开中断总开关
ET0=1;//开定时器0中断
TR0=1;//启动定时器0
P2 = 0x00;
while(1)
{
P0 = disNumber[disNumber_index];
}
}//小月子2016年5月21日编辑 如果您有什么不理解的地方请加小月子QQ:616142166
//小月子是个电子发烧友,小月子电子网店卖的是电子电路类、编程类学习资料教学视频
//请关注我的网
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1