久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
stm32驅動lcd1602秒表顯示的電路與源碼 打包帶走!
[打印本頁]
作者:
錦上送碳
時間:
2018-6-4 16:45
標題:
stm32驅動lcd1602秒表顯示的電路與源碼 打包帶走!
stm32驅動lcd1602秒表顯示電路原理圖如下:
0.png
(55.79 KB, 下載次數: 112)
下載附件
2018-6-4 17:42 上傳
0.png
(9.5 KB, 下載次數: 92)
下載附件
2018-6-4 17:42 上傳
單片機源程序如下:
/*
**************************************************************************************************
* 深圳新元電子工作室
* 文件名:stm32驅動LCD1602秒表主程序
* 描 述:
* 版本號:V0.0
* 備 注:
* 程序員:賈*
***************************************************************************************************
*/
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_tim.h"
#include "misc.h"
#include "stm32f10x_exti.h"
#include "lcd1602.h"
#include "pbdata.h"
void RCC_Configuration(void);
void GPIO_Configuration(void);
void NVIC_Configuration(void);
void TIM3_Configuration(void);
void EXTI_Configuration(void);
void LCD1602Display_Hour(void);
void LCD1602Display_Minute(void);
void LCD1602Display_Second(void);
void LCD1602Display_Millisecond(void);
volatile u8 hour =0;
volatile u8 second = 0;
volatile u8 minute = 0;
volatile u8 millisecond =0;
int main(void)
{
RCC_Configuration(); //系統時鐘初始化
GPIO_Configuration(); //端口初始化
TIM3_Configuration();
NVIC_Configuration();
EXTI_Configuration();
InitLcd1602();
LcdShowStr(0,0,"The stopwatch:");
LcdShowStr(4,1,": : :");
while(1)
{
LCD1602Display_Hour();
LCD1602Display_Minute();
LCD1602Display_Second();
LCD1602Display_Millisecond();
}
}
void RCC_Configuration(void)
{
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
//關閉調試 端口重新映射 使用仿真器調試時,不能用此語
}
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化GPIOA端口
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 |GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
//所有GPIO為同一類型端口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; //開漏輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //輸出的最大頻率為50HZ
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化GPIOB端口
// KEY
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA,&GPIO_InitStructure);
}
void TIM3_Configuration(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStruct;
TIM_ClearITPendingBit(TIM3,TIM_IT_Update);
TIM_TimeBaseStruct.TIM_Period = 20;
TIM_TimeBaseStruct.TIM_Prescaler = 35999;
TIM_TimeBaseStruct.TIM_ClockDivision = 0;
TIM_TimeBaseStruct.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStruct);
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);
TIM_Cmd(TIM3,DISABLE);
}
void EXTI_Configuration(void)
{
EXTI_InitTypeDef EXTI_InitStructure;
EXTI_ClearITPendingBit(EXTI_Line0);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0);
EXTI_InitStructure.EXTI_Line = EXTI_Line0;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
EXTI_ClearITPendingBit(EXTI_Line1);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource1);
EXTI_InitStructure.EXTI_Line = EXTI_Line1;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
EXTI_ClearITPendingBit(EXTI_Line2);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource2);
EXTI_InitStructure.EXTI_Line = EXTI_Line2;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
}
void NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); // 設置NVIC中斷分組2, 2位搶占優先級,2位響應優先級
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; // 設置外部中斷通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; // 搶占優先級為2
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; // 響應優先級為2
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; // 使能外部中斷通道
NVIC_Init(&NVIC_InitStructure); // 根據NVIC_InitStruct結構體中指定的參數初始化外設NVIC寄存器
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void LCD1602Display_Second(void)
{
u8 str[3];
str[0] = second/10 +'0';
str[1] = second%10 + '0';
str[2] = '\0';
LcdShowStr(8,1,str);
}
void LCD1602Display_Millisecond(void)
{
u8 str[3];
str[0] = millisecond/10 +'0';
str[1] = millisecond%10 + '0';
str[2] = '\0';
LcdShowStr(11,1,str);
}
void LCD1602Display_Minute(void)
{
u8 str[3];
str[0] = minute/10 +'0';
str[1] = minute%10 + '0';
str[2] = '\0';
LcdShowStr(5,1,str);
}
void LCD1602Display_Hour(void)
{
u8 str[3];
str[0] = hour/10 +'0';
str[1] = hour%10 + '0';
str[2] = '\0';
LcdShowStr(2,1,str);
}
復制代碼
所有資料51hei提供下載:
lcd1602秒表2.rar
(309.01 KB, 下載次數: 291)
2018-6-4 17:44 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
17806249183
時間:
2018-6-4 17:55
好好借鑒學習一下,謝謝大佬
作者:
zhang_huai
時間:
2018-6-5 11:33
謝謝大佬,很給力
作者:
gao376369127
時間:
2018-6-19 20:00
非常給力,感謝分享
作者:
kk960815
時間:
2018-11-27 14:01
謝謝大佬
作者:
maxttycer
時間:
2018-11-30 00:56
感謝大佬
作者:
User_Ard
時間:
2018-12-19 10:09
學習一下
作者:
User_Ard
時間:
2018-12-19 15:09
nice,頂一個
作者:
木頭note
時間:
2019-1-25 17:52
謝謝大佬
作者:
157673485
時間:
2019-6-4 21:05
在嗎?
作者:
luo5028
時間:
2019-6-22 20:18
這里有pcb圖嗎
作者:
mhunter
時間:
2019-6-23 10:52
好東西!學習!
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
精品91久久
|
中文字幕在线二区
|
九九热免费视频在线观看
|
99精品欧美一区二区蜜桃免费
|
亚洲精品久久久久久久久久吃药
|
日韩 欧美 综合
|
成人水多啪啪片
|
天天操天天操
|
国产精品欧美一区二区
|
亚洲精品乱码8久久久久久日本
|
91精品国产高清一区二区三区
|
亚洲国产精品久久
|
91啪亚洲精品
|
日本三级在线视频
|
欧美日韩专区
|
99久久精品免费看国产四区
|
中文字幕一区二区视频
|
大陆一级毛片免费视频观看
|
免费成人在线网站
|
亚洲一区二区三区四区五区午夜
|
国产精品美女久久久久aⅴ国产馆
|
日韩一区二区在线视频
|
国产高清视频在线
|
中文字幕第九页
|
久草成人网
|
一级欧美
|
av毛片免费
|
国产午夜精品福利
|
中文字幕免费视频
|
在线中文字幕国产
|
中文字幕在线观看一区
|
国产高清视频在线观看播放
|
国产精品久久久久婷婷二区次
|
在线中文字幕日韩
|
美女操网站
|
成人av观看
|
国产精品三级久久久久久电影
|
久久久亚洲一区
|
岛国精品
|
狠狠躁躁夜夜躁波多野结依
|
www.天天干.com
|