久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
求大神幫我看看顯示板的控制
[打印本頁]
作者:
1314love
時間:
2024-8-22 20:25
標題:
求大神幫我看看顯示板的控制
屏幕截圖 2024-08-22 200937.png
(255.23 KB, 下載次數: 7)
下載附件
2024-8-22 20:24 上傳
3個數碼管顯示這些玩意兒,但是我現在沒有什么思路,請大神幫我搭個框架,謝謝你們
作者:
飛云居士
時間:
2024-8-23 11:14
#include <REGX51.H>
#define uchar unsigned char
#define uint unsigned int
// 數碼管顯示數字的編碼
uchar code num_table[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
// 假設數碼管的段選連接到P0口,位選連接到P2口
sbit DIGIT1 = P0;
sbit DIGIT2 = P2;
// 按鍵定義
sbit KEY_SET = P3^0; // 設置鍵
sbit KEY_PLUS = P3^1; // 加鍵
sbit KEY_MINUS = P3^2; // 減鍵
sbit KEY_START = P3^3; // 開始鍵
// 全局變量
uchar timeSet = 5; // 設置的時間,默認5分鐘
uchar degreeSet = 4; // 設置的焦度,默認4檔
uchar timeCount = 0; // 計時器變量
bit isTimerRunning = 0; // 計時器運行狀態
// 延時函數
void DelayMs(uint ms) {
uint i, j;
for (i = ms; i > 0; i--)
for (j = 110; j > 0; j--);
}
// 數碼管顯示函數
void DisplayDigit(uchar pos, uchar num) {
if (pos == 1) {
DIGIT1 = 0xFF; // 關閉所有數碼管
DIGIT2 = num_table[num]; // 顯示數字
} else {
DIGIT2 = 0xFF; // 關閉所有數碼管
DIGIT1 = num_table[num]; // 顯示數字
}
}
// 更新時間顯示
void UpdateTimeDisplay() {
uchar minutes = timeSet / 10;
uchar seconds = timeSet % 10;
DisplayDigit(1, minutes); // 分鐘十位
DisplayDigit(2, seconds); // 分鐘個位
}
// 更新焦度顯示
void UpdateDegreeDisplay() {
DisplayDigit(3, degreeSet); // 焦度
}
// 按鍵掃描函數
void KeyScan() {
if (KEY_SET == 0) { // 設置模式
// 進入設置模式,可能需要額外的邏輯來設置時間和焦度
while (KEY_SET == 0); // 等待按鍵釋放
}
if (KEY_PLUS == 0) { // 增加時間或焦度
if (isTimerRunning) {
timeSet++;
if (timeSet > 59) timeSet = 59; // 時間限制為0-59分鐘
} else {
degreeSet++;
if (degreeSet > 8) degreeSet = 8; // 焦度限制為1-8檔
}
while (KEY_PLUS == 0); // 等待按鍵釋放
}
if (KEY_MINUS == 0) { // 減少時間或焦度
if (isTimerRunning) {
timeSet--;
if (timeSet < 1) timeSet = 1; // 時間限制為1-59分鐘
} else {
degreeSet--;
if (degreeSet < 1) degreeSet = 1; // 焦度限制為1-8檔
}
while (KEY_MINUS == 0); // 等待按鍵釋放
}
if (KEY_START == 0) { // 開始計時
isTimerRunning = !isTimerRunning;
timeCount = timeSet; // 重置計時器
while (KEY_START == 0); // 等待按鍵釋放
}
}
// 定時器中斷服務程序
void Timer0_isr() interrupt 1 {
TH0 = (65536 - 500) / 256; // 重新加載定時器初值
TL0 = (65536 - 500) % 256;
if (isTimerRunning) {
timeCount--;
if (timeCount == 0) {
isTimerRunning = 0; // 停止計時器
// 可以添加代碼來處理計時結束的事件
}
}
}
void main() {
TMOD = 0x01; // 設置定時器模式
TH0 = (65536 - 500) / 256; // 定時器初值設置
TL0 = (65536 - 500) % 256; // 定時器初值設置
ET0 = 1; // 開啟定時器0中斷
EA = 1; // 開啟全局中斷
TR0 = 1; // 啟動定時器
while (1) {
KeyScan(); // 掃描按鍵
UpdateTimeDisplay(); // 更新時間顯示
UpdateDegreeDisplay(); // 更新焦度顯示
// 可以添加其他功能,如翻面提醒等
}
}
程序包括了以下功能:
數碼管顯示時間和焦度。
按鍵控制時間和焦度的設置。
定時器中斷用于計時功能。
開始/停止計時器的功能。
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
在线观看日本
|
国产一区二区精品在线
|
日韩欧美国产综合
|
又黄又爽又刺激的视频
|
中文字幕二区
|
国产在线色
|
91欧美日韩
|
国产精品一区二区三区四区
|
欧美 日韩 国产 成人 在线
|
免费看毛片的网站
|
黄色一级大片在线免费看国产一
|
一区二区国产精品
|
99视频
|
伊人国产女
|
久久精品在线
|
成人国产网站
|
香蕉视频一直看一直爽
|
国产日韩久久
|
欧美一级日韩一级
|
国产无遮挡又黄又爽免费网站
|
狠狠干综合网
|
户外少妇对白啪啪野战
|
av免费网站
|
九九久久久
|
亚洲a视频
|
午夜成人影片
|
日韩中文一区
|
午夜精品国产精品大乳美女
|
九九热免费视频
|
亚洲人成免费
|
精品少妇3p
|
国产视频一区在线
|
午夜精品久久
|
日本中文字幕网站
|
日本丰满肉感bbwbbwbbw
|
欧美伊人久久
|
狠狠做深爱婷婷综合一区
|
免费视频成人
|
亚洲久久久久久
|
青青青草视频在线观看
|
黄色网址在线播放
|