ZKX's LAB

分析下列C程序,是单片机做数字时钟的 c数字时钟程序

2020-10-07知识8

四位数字时钟设计 C语言程序 include<;stdio.h>;#include<;reg51.h>;sbit p20=P2^0;sbit p21=P2^1;sbit led=P2^7;main(){ unsigned int dis_1[4]={0x01,0x02,0x04,0x08};unsigned int dis_2[10]={0xc0,0xf9。

c语言程序设计-数字时钟 include#include#include#include#include initialize(){ int driver,gmode;driver=VGA;gmode=VGAHI;initgraph(&driver,&gmode,\"F:\\\\turboc\");} void main(){ struct time 。

c语言程序设计-数字时钟 /*开发环境:turbo c 2.0模拟时钟转动程序代码*/include\"graphics.hinclude\"math.hinclude\"dos.hdefine pi 3.1415926define X(a,b,c)x=a*cos(b*c*pi/180-pi/2)+300define Y(a,b,c)y=a*sin(b*c*pi/180-pi/2)+240define d(a,b,c)X(a,b,c);Y(a,b,c);line(300,240,x,y)void init()/*划时钟边框函数*/{int i,l,x1,x2,y1,y2;setbkcolor(1);circle(300,240,200);circle(300,240,205);circle(300,240,5);for(i=0;i;i+)/*划钟点上的短线*/{if(i%5=0)l=15;elsel=5;x1=200*sin(i*6*pi/180)+300;y1=200*cos(i*6*pi/180)+240;x2=(200-l)*sin(i*6*pi/180)+300;y2=(200-l)*cos(i*6*pi/180)+240;line(x1,y1,x2,y2);}}main(){int x,y,i,k=1;int gdriver=9,gmode=2;unsigned char h,m,s;int o,p,q;float n;struct time t[1];struct date d[1];initgraph(&gdriver,&gmode,\"c:\\\\tc\");initgraph(&gdriver,&gmode,\"c:\\\\tc\");for(i=0;i;i+){settextstyle(TRIPLEX_FONT,HORIZ_DIR,i);控制输出字符的字体,方向,大小*/cleardevice();settextjustify(1,1);在指定坐标上输出字符串*/outtextxy(300,80,\"12\");outtextxy(300,390,\"6\");outtextxy(140,230,\"9\");outtextxy(460,。

求解答一个C语言编程: 数字时钟程序 #includeincludeint main(){time_t rawtime;struct tm*timeinfo;while(1){time(&rawtime);timeinfo=localtime(&rawtime);printf(\"%02d:%02d:%02d\\n\",timeinfo->;tm_hour,timeinfo->;tm_min,timeinfo->;tm_sec);sleep(1000);system(\"cls\");}return 1;}include<;time.h>;-必须的时间函数头文件time_t-时间类型(time.h 定义)struct tm-时间结构,time.h 定义如下:int tm_sec;int tm_min;int tm_hour;int tm_mday;int tm_mon;int tm_year;int tm_wday;int tm_yday;int tm_isdst;time(&rawtime);获取时间,以秒计,从1970年1月一日起算,存于rawtimelocaltime(&rawtime);转为当地时间,tm 时间结构sleep(1000);等待1秒继续执行system(\"cls\");命令行清屏

求助单片机c语言数字时钟设计程序连接图!!!! 我有汇编语言的,你可以参考下:ORG 0000HLJMP MAIN;上电,转主程序ORG 0003H;外部中断0入口地址LJMP KEY1;跳转至校时程序ORG 001BH;定时器1中断入口地址LJMP TIME;跳转至时间服务程序ORG 0013H;外部中断1入口地址LJMP KEY2;跳转至校分程序ORG 0200HMAIN:MOV TMOD,#10H;设置T1为工作模式1MOV TH1,#3CHMOV TL1,#0F0H;赋初值,定时50msMOV R7,#20;设置中断次数MOV A,#00HMOV 30H,A;秒个位单元清零MOV 31H,A;秒十位单元清零MOV 32H,A;分个位单元清零MOV 33H,A;分十位单元清零MOV 34H,A;时个位单元清零MOV 35H,A;时十位单元清零SETB EA;CPU开中断SETB ET1;允许T1中断SETB EX0;允许外部中断0中断SETB IT0;选择边沿触发方式SETB EX1;允许外部中断1中断SETB IT1;选择边沿触发方式SETB TR1;启动T1定时LCALL DISPLAYSJMP$;等待TIME:MOV TH1,#3CHMOV TL1,#0F0H;重新赋初值SECOND:DJNZ R7,RETURN;判断是否达到1sMOV R7,#20INC 30H;秒个位单元加1MOV A,30HCJNE A,#10,RETURN;如果秒个位等于10,则清零MOV 30H,#00HINC 31H;秒十位单元加1MOV A,31HCJNE A,#6,RETURN;如果秒十位等于6,则清零MOV 31H,#00HINC 32H;分个位单元加1MINENT:MOV A,32H。

怎么用C语言编程数字时钟 1、以下例程实现时e5a48de588b6e79fa5e9819331333337623364钟的实时显示基本要求:1)自行设计界面,模拟表盘式时钟。要求界面美观,清晰。2)数字同步显示时间信息。2、例程:includeincludeincludedefine PI 3.1415926屏幕中心的坐标(640X480模式下)define mid_x 320define mid_y 240int main(){ int graphdriver=DETECT,graphmode;int end_x,end_y;struct time curtime;float th_hour,th_min,th_sec;initgraph(&graphdriver,&graphmode,\"C:\\\\TC2\");初始化VGA屏幕模式setbkcolor(BLACK);使用黑色的背景色while。kbhit(0))/若有键盘输入,则跳出,即是结束程序{ setcolor(GREEN);把画笔设为绿色circle(mid_x,mid_y,180);钟的外圆circle(mid_x,mid_y,150);钟的内圆circle(mid_x,mid_y,1);画出钟的圆心gettime(&curtime);取得系统当前时间th_sec=(float)curtime.ti_sec*0.1047197551;把秒针的角度化为弧度,为以后绘制时方便,下同th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0;分针的弧度th_hour=(float)curtime.ti_hour*0.5235987755+th_min/12.0;时度的弧度,注意整时是12等分的,所时乘的是3.14/180*5计算出时针的尾的坐标(时针。

求89c52单片机 C语言实现数字时钟程序 result equ 40hone equ 41hten equ 42horg 0000hjmp mainorg 001bhjmp changeorg 0040hmain:MOV IE,#88H;T1 中断 允许mov r2,#10h;X 秒中断一次mov result,#00hmov one,#00hmov ten,#00hmov dptr,#0bfffhmov a,#80hmovx@dptr,a;8255工作方式mov Tmod,#10h;定时器 工作方式acall timershow:mov r1,#02hmov r0,#41hloopLed:mov a,r1mov dptr,#conmovc a,@a+dptr;送给 B口 的数据 以 选择 ledmov dptr,#9fffhmovx@dptr,amov dptr,#tabmov a,@r0movc a,@a+dptrcpl a;查表取得 相应位数上的 数值mov dptr,#8fffh;A口movx@dptr,ainc r0call delaydjnz r1,loopLed;循环 3 次,显示完 三个 ledmov a,resultcjne a,#3ch,nextjmp mainnext:jmp show中断 相应程序change:dec r2mov a,r2jnz ignoreinc resultcall Displaymov r2,#10h;ignore:call timerretitab:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h;0-9 的数据 表con:db 00h,40h,80h;修改 LED 选择的表timer:mov tl1,#0cfhmov th1,#03ah;定时50mssetb tr1;启用T1定时器ret;Display:;将采集到得数分解成2个 数mov a,resultmov b,#0ahdiv abmov 。

分析下列C程序,是单片机做数字时钟的 #include<;reg51.h>;/头文件unsigned char a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};unsigned char b[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};unsigned char c[8]={0,0,10,0,0,10,0,0};unsigned char second,minite,hour;unsigned char tcnt;unsigned char m;sbit k1=P3^0;sbit k2=P3^1;sbit k3=P3^2;k1,k2,k3位定义void delay(void)/延时函数{ unsigned char i,j;for(i=4;i>;0;i-)for(j=248;j>;0;j-);}void main(){ TMOD=0x01;使计数器工作在第一种方式*/TH0=(65536-50000)/256;TL0=(65536-50000)%256;给高四位和低四位装初值,使得中断间隔时间为50毫秒TR0=1;是开定时器ET0=1;定时器中断执行*/EA=1;中断总开关置1时打开中断开关*/while(1){if(k1=0)/检测k1是否按下{delay();消抖if(k1=0)/确定k1是否真的按下{second+;秒加一if(second=60){second=0;}/如果等于60清零c[1]=second/10;将秒数的十位上的数字赋给c[1];c[0]=second%10;将秒数的个位上的数字赋给c[0];while(k1=0);松手检测}}if(k2=0)/同上{delay();if(k2=0){minite+;if(minite=60){minite=0;}c[4]=minite/10;c[3]=minite%10;while(k2=0);}}if(k3=0){。

#时钟同步#include#单片机#c语言

随机阅读

qrcode
访问手机版