ZKX's LAB

求89c52单片机 C语言实现数字时钟程序 单片机数字时钟c语言程序

2020-09-26知识25

求单片机 数字钟 c语言代码注释 #includeunsigned char code su[11]={0x3f,0x06,0x5b,0X4F,0x66,0X6D,0x7d,0x07,0x7f,0x6f,0x40};数码管显示unsigned char xian[8]={0,0,10,0,0,10,0,0};unsigned char sen=0,min=0,hou=0,sen2=0,min2=0,hou2=0,sen3=59,min3=59,hou3=23,num;变量定义引脚定义sbit ks=P1^4;秒按键sbit km=P1^5;分按键sbit kh=P1^6;时按键sbit ds=P1^7;sbit bb=P3^4;8个数码管位显示接口sbit P20=P2^0;sbit P21=P2^1;sbit P22=P2^2;sbit P23=P2^3;sbit P24=P2^4;sbit P25=P2^5;sbit P26=P2^6;sbit P27=P2^7;bit jp1,jp2,jp3;位定义int n=0,jp4;演示程序void daly(){unsigned char j;for(j=60;j;j-);for循环}数码管显示void show(){xian[0]=hou/10;时的十位xian[1]=hou%10;时的个位xian[3]=min/10;分的十位xian[4]=min%10;分的个位xian[6]=sen/10;秒的十位xian[7]=sen%10;秒的个位P0=su[xian[7]];八段数码管显示秒的个位P20=0;动态显示,打开第一个数码管daly();延时P20=1;动态显示,关闭第一个数码管P0=su[xian[6]];八段数码管显示秒的十位P21=0;动态显示,打开第二个数码管daly();延时P21=1;动态显示,打开第二个数码管P0=su[xian[5]];注:你xian[3]。

求89c52单片机 C语言实现数字时钟程序 单片机数字时钟c语言程序

用C语言编写程序使89C52单片机实现数字时钟功能,显示时分秒的数码管,p1~p7接a~G急求! 我的83039052@.qq.com 当一盘好人,给个例程,自己研究吧??#include<;reg52.h>;char code duma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};0-9数码管,。

求89c52单片机 C语言实现数字时钟程序 单片机数字时钟c语言程序

求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 。

求89c52单片机 C语言实现数字时钟程序 单片机数字时钟c语言程序

C语言 单片机 数字钟 includesbit ksec=P3^0;sbit kmin=P3^1;sbit khour=P3^2;unsigned char secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0;unsigned int num=0,sec=0,min=0,hour=0;unsigned char code table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delay(unsigned int z){unsigned int x,y;for(x=z;x>;0;x-)for(y=110;y>;0;y-);}void keyscan();void display();void main(){TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;while(1){display();keyscan();}}void time0()interrupt 1{num+;TH0=(65536-50000)/256;TL0=(65536-50000)%256;}void display(){if(num=20){num=0;sec+;if(sec=60){sec=0;min+;if(min=60){min=0;hour+;if(hour=24){hour=0;min=0;sec=0;}}}}secge=sec%10;secshi=sec/10;minge=min%10;minshi=min/10;hourge=hour%10;hourshi=hour/10;P2=0xfe;P0=table[secge];delay(5);P2=0xfd;P0=table[secshi];delay(5);P2=0xfb;P0=0x40;delay(5);P2=0xf7;P0=table[minge];delay(5);P2=0xef;P0=table[minshi];delay(5);P2=0xdf;P0=0x40;delay(5);P2=0xbf;P0=table[hourge];delay(5);P2=0x7f;P0=table[hourshi]。

c语言做一个51单片机数字时钟问题?if语句对程序影响

求!!!数字时钟种中的单片机的C语言编程 #includeincludeincludedefine unit unsigned intdefine uchar unsigned chardefine HZ 12sbit key0=P0^0;分钟调整sbit key1=P0^1;小时调整sbit P2_0=P2^7;秒 指示灯sbit MN_RXD=P3^6;sbit MN_TXD=P3^7;uchar data CLOCK[4]={0,0,0,12};存放时钟时间(百分秒,秒,分,和时位)数码管显示表0-f 灭uchar code TABLE[]={0xBE,0x06,0xEA,0x6E,0x56,0x7C,0xFC,0x0E,0xFE,0x7E,0x00};模拟串口发送一个字节数据 函数void SendData(unsigned char senddata){unsigned char i;for(i=0;i;i+){if((senddata&0x01)=0)MN_RXD=0;elseMN_RXD=1;nop_();MN_TXD=0;nop_();MN_TXD=1;senddata=senddata>;>;1;}}显示程序函数void display(void){unsigned int n;uchar temp;temp=CLOCK[1];temp=temp%10;SendData(TABLE[temp]);temp=CLOCK[1];temp=temp/10;SendData(TABLE[temp]);temp=CLOCK[2];temp=temp%10;SendData(TABLE[temp]);temp=CLOCK[2];temp=temp/10;SendData(TABLE[temp]);temp=CLOCK[3];temp=temp%10;SendData(TABLE[temp]);temp=CLOCK[3];temp=temp/10;SendData(TABLE[temp]);for(n=0;n;n+);for(n=0;n;n+){SendData(TABLE[10]);}}按键控制函数void 。

数字时钟C语言设计.用的是51单片机。 00 秒 00 分 00 小时 还有小数点。 麻烦把程序代码告诉我把 includeincludeunsigned char data dis_digit;unsigned char key_s,key_v;unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};共阳0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00 共阴unsigned char data dis_buf[6];unsigned char data dis_index;unsigned char hour,min,sec;unsigned char sec100;sbit K1=P3^0;sbit K2=P3^1;bit scan_key();void proc_key();void inc_sec();void inc_min();void inc_hour();void display();void delayms(unsigned char ms);void main(void){P1=0x00;P2=0x00;TMOD=0x11;定时器0,1工作模式1,16位定时方式TH1=0xdc;11.0592MHZTH0=0xFC;TL0=0x17;hour=12;min=00;sec=00;sec100=0;dis_buf[0]=dis_code[hour/10];时十位dis_buf[1]=dis_code[hour%10];时个位dis_buf[2]=dis_code[min/10];分十位dis_buf[3]=dis_code[min%10];分个位dis_buf[4]=dis_code[sec/10];秒十位dis_buf[5]=dis_code[sec%10];秒个位dis_digit=0xfe;dis_index=0;TCON=0x01;IE=0x8a;使能timer0,1 中断TR0=1;TR1=1;key_v=0x03;while(1){if(scan_key()){delayms(10);if(scan_key()){key_v=key_s;proc_。

求助单片机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语言编的。1075831465 @qq.com 单片机程序是基于硬件基础上开发的,你至少添加注释和硬件环境说明,不然大家都不知道怎么帮你。你直接给出代码,也不清楚需要指正什么,这里也没有设置时间/闹钟的代码,发文前应该清楚表达要问的内容。1)假设你的晶振是12MHz,那一个机器周期是1MHz,定时器的最长定时周期是(65535/10^6)你想要1/6秒触发一次中断就必须结合软件计时,为了尽量精确:硬件计时40000次,软件计时25次那么定时器的设这应该是TH1=(65535-40000)%256;TL1=(65535-40000)%256,(注意计数器大部分是加法计数)2)按键监听没有给出思路,也没有处理按键抖动,我只能分析程序:有一个外部中断触发时间设置,P34设置小时、P35设置分钟,但是调整时间后没有进行显示,你至少要让数码管显示结果才能知道怎么调整。

求89c52单片机 C语言实现数字时钟程序 /*-*/文件名称:SZ01.c*/程序功能:带定时闹铃时钟*/include<;AT89X51.H>;/*包含器件配置文件*/define uchar unsigned chardefine uint unsigned intchar DATA_7SEG[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};0~9的数码管段码*/uchar hour=0,min=0,sec=0;时、分、秒单元清零*/uchar deda=0;5mS计数单元清零*/bit d_05s=0;0.5秒标志*/uchar set=0;模式设定标志*/uchar m=0;uchar flag=0;RAM掉电标志*/void delay(uint k);延时?函数*/void conv();走时单元转换*/void disp();走时时间显示?函数*/走时?函数部分-*/定时器T0 5mS初始化*/void init_timer(){TMOD=0x01;TH0=-(4800/256);TL0=-(4800%256);IE=0x82;TR0=1;}5mS定时中断服务?函数*/void T0_srv(void)interrupt 1{TH0=-(4800/256);TL0=-(4800%256);deda+;}时、分、秒单元及走时单元转换*/void conv(){if(deda)d_05s=0;else d_05s=1;if(deda>;=200){sec+;deda=0;}if(sec=60){min+;sec=0;}if(min=60){hour+;min=0;}if(hour=24){hour=0;}}显示?函数部分-*/走时时间显示?函数*/void disp(){P0=DATA_7SEG[hour/10];P2=0xf7;delay(1);P0=DATA_7SEG[hour%10];P2=0。

#char函数#数码管#单片机#char#中断服务程序

随机阅读

qrcode
访问手机版