此源码在protues 7.5下测试通过。源码最下面是连线图。使用了两个74HC573锁存器,4个独立按键。
/*/****************************************/*/
#include <reg51.h>
unsigned char code show_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //数码管编码
sbit num_add=P1^0; // 加1功能
sbit num_dec=P1^1; //减1功能
sbit num_clear=P1^2;//清零功能
sbit num_auto=P1^3; //自动计数功能
sbit contrl_place=P2^1; //位选
sbit contrl_segment=P2^0;//段选
unsigned char show_one_digit=0; //个位
unsigned char show_ten_place=0; // 十位
unsigned char loop_ms=0;//毫秒用循环变量
unsigned char nums=0; //显示用变量
void delayms(unsigned int xms); //延时
void scan_key(); //键盘扫描
void display(unsigned char show_num);//显示
/*程序说明:用数码管的后两位循环显示数值,变化范围为00-59,上电显示为00。每按一次“加”按键,数值加1;
每按一次“减”按键,数值减1;按一次“清零”键,数码管显示为00;按一次自动计数键,将利用定时器零,
进行每一秒自动加1显示,再按一次,停止自动加1,保持原数显示。
*/
void main()
{
TMOD=0x01; //定义定时器
TH0=(65536-45872)/256; //初值50ms
TL0=(65536-45872)%256;
EA=1; //开CPU中断

这个C源码适用于Protues 7.5,使用了74HC573锁存器和四个独立按键,可在数码管的后两位显示00-59之间的数字。程序包括按键扫描、显示功能,支持手动加减计数和自动定时器计数。通过延时函数和中断处理来实现定时更新。
最低0.47元/天 解锁文章
4692

被折叠的 条评论
为什么被折叠?



