完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
#include
#include void display(unsigned char* lp,unsigned char lc);//数字的显示函数,lp为指向数组的地址,lc为显示的个数 void displaystr(unsigned char*lp,unsigned char lc);//数字的显示函数,同上 void delay();//延时子函数,5个空指令 code unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00}; //共阴顺序小数点暗(0-9),--,全灭 unsigned char l_tmpdate[8]={0,1,2,3,4,5,6,7}; //定义数组变量,并赋值0,1,2,3,4,5,6,7,就是本程序要显示的八个数 code unsigned char l_24C02[5]={0x5b,0x66,0x39,0x3f,0x5b}; //定义数组常量 void main(void) { unsigned char i=0; while(1) { display(l_tmpdate,8);//用数字显示函数显示八个数字 displaystr(l_24C02,5);//或者用这个函数显示5个字符 } } void display(unsigned char* lp,unsigned char lc) //显示 { unsigned char i; P2=0; //端口2为输出 P1=P1&0xF8; //将P1口的前3位输出0,对应74LS138译门输入脚,全0为第一位数码管 for(i=0;i P2=table[lp]; delay(); if(i==7);//检测显示完8位否,完成直接退出,不让P1口再加1,否则进位影响到第四位数据 break; P2=0; //清零端口,准备显示下位 P1++; //下一位数码管 } } void displaystr(unsigned char*lp,unsigned char lc) //显示 { unsigned char i; P2=0; P1=P1&0xF8; for(i=0;i P2=lp; //直接输出显示设定好的数值到数码段 delay(); if(i==7); break; P2=0; //清零端口,准备显示下位 P1++; //下一位数码管 } } void delay(void) //空5个指令 { _nop_();_nop_();_nop_();_nop_();_nop_(); } |
|
相关推荐
1个回答
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2580 浏览 0 评论
5185 浏览 0 评论
PROTUES仿真no model specified for adc0809,谁有ADC0809的model?
17577 浏览 1 评论
单片机应用技术的ISIS professional电路设置仿真老是报错怎么办
17875 浏览 0 评论
21137 浏览 3 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 03:22 , Processed in 0.710948 second(s), Total 76, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
5462