⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch452ss.c

📁 PIC单片机控制CH452的数码管显示程序
💻 C
字号:
//计时程序,精度为0.01秒
#include <pic.h>
#include "ch452ss.h"//CH452驱动头文件

uint  s[]={0,0,0,0,0,0,0,0};//时间位存储空间
uint   sreg=0;//中断次数累计
//系统初始化函数*/
void initial()
{
	INTCON=0x00;
	ADCON1=0x07;
	PIE1=0;
	PIE2=0;
	}
//TMR0 初始化子程序
void tmint()
{
T0CS=0;//TMR0工作于定时器方式
PSA=1; //TMR0不用分频
T0IF=0; //清除TMR0 的中断标志
T0IE=1;//TMR0中断允许
}

void dealtime()
{
  sreg=sreg+1; //中断计数器加1
if(sreg==40) //中断次数为40 后,才对S0,S1,S2,S3 操作
{
sreg=0;
s[0]=s[0]+1;
if(s[0]==10){
s[0]=0;
s[1]=s[1]+1;
if(s[1]==10){
s[1]=0;
s[2]=s[2]+1;
if(s[2]==10){
s[2]=0;
s[3]=s[3]+1;
if(s[3]==6) {
s[3]=0;
s[4]=s[4]+1;
if(s[4]==10){
s[4]=0 ;
s[5]=s[5]+1;
if(s[5]==6){
s[5]=0;
s[6]=s[2]+1;
if(s[6]==10){
s[6]=0;
s[7]=s[7]+1;
if(s[7]==6) 
s[7]=0 ;
}}}}}}}}
}
//显示函数
void display()
{
  intBit_Display_Num(7,s[0]);
  intBit_Display_Num(6,s[1]);
  intBit_Display_Num1(5,s[2]);
  intBit_Display_Num(4,s[3]);
  intBit_Display_Num1(3,s[4]);
  intBit_Display_Num(2,s[5]);
  intBit_Display_Num1(1,s[6]);
  intBit_Display_Num(0,s[7]);
}
void main()
{ 
 
    TRISD=0x00; 
  CLEAR_INTER_FLAG;
   initial(); 
	InitCh452();
  tmint();
    GIE=1;
ENABLE_INTERRUPT;

while(1)display();
}


void interrupt keyint()
{
   if(T0IF==1)
     {
       TMR0=0X13;
       T0IF=0;
       dealtime();
       
      }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -