ZKX's LAB

基于单片机的数字时钟设计程序 基于单片机的数字时钟设计方案

2020-07-19知识5

求:一个基于51单片机的数字时钟程序 给你ds18b20温度传感器代码你参考,我的空间还有些资料DS18B20温度传感器/作者:jammylee日期:2008-2-25版本:V1.0晶振:12MHZ包含头文件includeincludetypedef unsigned char uint8;定义八位无符号变量定义引脚(根据硬件改变)sbit highbit=P2^7;sbit lowbit=P2^6;sbit DQ=P3^0;温度传感器数据引脚通信定义unsigned char Code[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};定义数字显示数组0,1,2 3 4 5 6 7 8 9定义延时子函数void mDelay(uint8 Delay){while(Delay-);}温度传感器DS18B20的初始化函数Init_DS18B20(void){uint8 x=0;DQ=1;DQ复位信号mDelay(8);延时DQ=0;将DQ电平拉低mDelay(80);延时大于480usDQ=1;将DQ电平拉高mDelay(14);延时x=DQ;如果x=0则初始化成功,x=1则初始化失败mDelay(20);延时}读一个字节ReadOneChar(void){uint8 i=0;uint8 dat=0;for(i=8;i>;0;i-){DQ=0;低电平脉冲信号dat>;>;=1;dat右移一位DQ=1;高低平脉冲信号if(DQ){dat|=0x80;}mDelay(4);延时}return(dat);返回dat值}写一个字节WriteOneChar(uint8 dat){uint8 i=0;for(i=8;i>;0;i-){DQ=0;低电平脉冲信号DQ=dat&0x01;mDelay(5);延时DQ=1;。基于单片机的数字时钟设计方案 数字钟〔★〕这里用了两种编写方法(即汇编语言与C语言)(1.开机时,显示12:00:00的时间开始计时;(2.P0.0/AD0控制“秒”的调整,每按一次加1秒;(3.P0.1/AD1控制“分”的调整,每按一次加1分;(4.P0.2/AD2控制“时”的调整,每按一次加1个小时;2.电路原理图3.系统板上硬件连线(1.把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上;(2.把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;(3.把“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上;4.相关基本知识(1.动态数码显示的方法(2.独立式按键识别过程(3.“时”,“分”,“秒”数据送出显示处理方法5.程序框图6.汇编源程序SECOND EQU 30HMINITE EQU 31HHOUR EQU 32HHOURK BIT P0.0MINITEK BIT P0.1SECONDK BIT P0.2DISPBUF EQU 40HDISPBIT EQU 48HT2SCNTA EQU 49HT2SCNTB EQU 4AHTEMP EQU 4BHORG 00HLJMP STARTORG 0BHLJMP INT_T0START:MOV SECOND,#00HMOV MINITE,#00HMOV HOUR,#12MOV DISPBIT。基于单片机的数字时钟设计 那你肯定是共阴数码管啦,肯定能增大驱动啊,三极管就是以小信号控制大信号,它单片就就是一个控制信号,而数码管接的是三极管就是三极管给它供电,三极管的带负载能力不错的,所以能提高驱动。希望我的回答能帮到您基于51单片机的数字时钟设计,需要程序和电路图,哪位帮帮忙 谢谢 include\"reg51.h\"#define uint unsigned int#define uchar unsigned char unsigned char code led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};uchar sec。

#dq#unsigned#单片机#时钟信号

随机阅读

qrcode
访问手机版