中易网

共阴极7段数码管显示C程序

答案:1  悬赏:40  
解决时间 2021-01-22 01:47
共阴极7段数码管显示C程序
最佳答案
照着这个去改写吧:
单片机7段数码管动态显示程序代码及其说明如下:
#include
#include
#include
unsigned char data dis_digit; //dis_digit---位选通值, 传送到P2口用于选通当

//前数码管的数值, 如等于0xfe时,选通P2.0口数码管
unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3
0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off
unsigned char data dis_buf[8]; // dis_buf --- 显于缓冲区基地址
unsigned char data dis_index; // dis_index --- 显示索引, 用于标识当前显示的数码 //管和缓冲区的偏移量
Void delay(int t)
{
int i;
while(t--) {
for(i=0;i<120;i++)
{;}
}
}
Void main()
{
P0 = 0xff;
P2 = 0xff;
TMOD = 0x01; //定时器0工作于方式1
TH0 = 0x8C;
TL0 = 0x8B;
IE = 0x8A; //开总中断和定时器1中断允许

dis_buf[0] = dis_code[0x1];
dis_buf[1] = dis_code[0x2];
dis_buf[2] = dis_code[0x3];
dis_buf[3] = dis_code[0x4];
dis_buf[4] = dis_code[0x5];
dis_buf[5] = dis_code[0x6];
dis_buf[6] = dis_code[0x7];
dis_buf[7] = dis_code[0x8];
dis_digit = 0xf9; //控制在数码管上显示的数字效果,按位
dis_index = 0;
TR0 = 1;
while(1);

}

Void timer0() interrupt 1
//定时器0中断服务程序, 用于数码管的动态扫描
//dis_index --- 显示索引, 用于标识当前显示的数码管和缓冲区的偏移量
//dis_digit --- 位选通值, 传送到P2口用于选通当前数码管的数值,

//如等于0xfe时, 选通P2.0口数码管 dis_buf --- 显于缓冲区基地址
{
TH0 = 0x8C;
TL0 = 0x8B;
P2 = 0xff; // 先关闭所有数码管
P0 = dis_buf[dis_index]; // 显示代码传送到P0口
P2 = dis_digit;

dis_digit = _crol_(dis_digit,2); // 位选通值左移, 下次中断时选通下一位数码管
delay(500);
dis_index++;
dis_index &= 0x07; // 8个数码管全部扫描完一遍之后,再回到第一个开始下一次扫描

}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
李文轩的山水画《云山飞瀑》市场价位?
如何用数字万用表知道电容放完电了
苏州圆融的安德玛在哪啊!?
咬肌不对称脸会变的一边凸起一边凹吗
妖娆可以形容做人做事和自己的性格吗?如果能
按确定会怎样呢
听说黑人雄性激素分泌水平高于白人,那么黄种
双绞线用作监控摄像头连接线的接线方法?
张学良1天几包烟 烟龄多长?
求家用升压稳压变压器
小孩长红色胎记是什么原因
大型设备托运地址在什么地方,想过去办事
关于Excel中自动设置编码的问题
文翮的意思是什么?文翮的释义是什么啊?
吉林最新造价信息去哪查。
推荐资讯
word2010“拼音指南”无法自动加拼音
为什么眼睛越大的女孩子眼袋越重,怎么消掉呢
为什么李秀珍能成功解除这次天津之围呢
毛衣加绒的好不好
大腿撕裂缝针后伤疤会不会留
我帮老板打i工别人要包给我怎办
孩子们从大墙下走过,都说什么,仿写句子
您好!朋友您也是联宝的职员吗?我今年3月签
带孙字的成语,孙字成语大全,孙的成语有哪些
请问大侠们:我面试辉瑞了,HR是最后一关,可
html5用cnavas画白云怎么画
求解液化气减压阀如何调节
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?