SWITCH&7-SEG元件控制 嵌入式作業系統實作 11/17.

Slides:



Advertisements
Similar presentations
单片机 C 语言应用程序设计 主讲教师:廉哲 QQ: 电话: 办公室:综合楼 C318.
Advertisements

While 迴圈 - 不知重複執行次數
现代电子技术实验 ——综合实验之单片机部分
股指期货的风险及防范.
第二节 时间和位移.
产学研项目财务管理若干问题 鲁春艳
寫作教學—標點符號.
TMS320F2812串行外设接口 Serial Peripheral Interface (SPI)
Loops.
嵌入式图形显示.
高架水塔扶搖直上 南區水塔定案設計說明-眾志成城 廣告塔樓:夜間以LED燈光輔助效果 太陽能板: 提供抽水機電力及夜間照明用電使用
关注品德与生活课的 探究性学习和微课程的发展
主讲:江西财经职业学院傅文清 联系电话: 教学模式与课程教学设计 主讲:江西财经职业学院傅文清 联系电话:
22 第 课 增强自我保护的意识和能力.
在课题探索中成长 东风东路小学 王洁华 全国红领巾示范学校 广东省一级学校
关注女职工劳动保护,维护女职工合法权益 ——《女职工劳动保护特别规定》解读
第6章 PLC控制系统设计与应用 教学目的与要求:熟悉相关指令的综合应用,掌握PLC控制系统设计方法,掌握PLC程序编制方法,巩固所学内容。
CH2 開發環境介紹 最簡單的互動設計 – Arduino一試就上手 孫駿榮、吳明展、盧聰勇.
Timer & KEYPAD 11/24.
VHDL數位電路實習與專題設計 文魁資訊-UE301
液晶显示 技术 wateryear.
第十八章 鍵盤與電容式觸控介面應用實作 讀取鍵盤輸入 按鍵偵測與掃描原理 認識Arduino的String(字串)程式庫
编译原理与技术 类型检查 2018/11/21 《编译原理与技术》-类型检查.
Arduino 藍牙通訊模組.
第五章 单片机的C语言程序设计及仿真调试.
JAVA程序设计 第5章 深入理解JAVA语言----补充.
8-1 功能簡介 8-4 實驗成果 8-2 電路說明 8-5 延伸應用與練習 8-3 程式設計
CH.8 硬體管理.
第十三章 其他的C語言課題.
初始化串列通訊埠 在啟始串列傳輸介面時有以下3個步驟:假設傳輸的通訊協定為9600bps,傳送8個位元資料,沒有同位位元,1個停止位元。
第七章 定时/计数器.
語法:Variables & Functions 實作:Digital out (Button+LED) 簡報:廖崇義
K60基础课程 02 首都师范大学物理系 王甜.
第十章 人机交互接口 本章学习目标 掌握键盘接口技术 掌握数码、液晶显示技术 了解数码管显示驱动和键盘扫描控制专用芯片.
Ch9 Communicating with Hardware
中文缺字在數位典藏系統之應用 ~網頁缺字處理技術
電子音樂 通訊系 B 楊穎穆.
6-1 功能簡介 6-4 實驗成果 6-2 電路說明 6-5 延伸應用與練習 6-3 程式設計
開發環境安裝.
C语言概述 第一章.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
亚博科技 Arduino视频教程 第8讲 蜂鸣器发声实验.
程式結構&語法.
4 條件選擇 4.1 程式基本結構 循序式結構 選擇式結構 重複式結構 4-3
程式設計期末測驗 通訊一甲 B 楊穎穆.
亚博科技 Arduino视频教程 第12讲 8乘8点阵.
水利绿色发展问题与建议 姜文来 中国农业科学院农业资源与农业区划研究所.
程式的時間與空間 Time and Space in Programming
第十四章 若干深入问题和C独有的特性 作业: 函数指针 函数作参数 函数副作用 运算 语句 位段 存储类别 编译预处理
Arduino智慧機器人 觸鬚的觸碰式導航
实验2.9 RC一阶电路的响应测试 一、实验目的 2. 学习电路时间常数的测量方法。 3. 掌握有关微分电路和积分电路的概念。
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
第二章 类型、对象、运算符和表达式.
单片机原理及应用 实践部分 主讲人:刘 强 四川工商学院单片机教学团队 单片机原理及应用 实践部分 主讲人:刘 强
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
Introduction to the C Programming Language
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
英語職涯規劃 移民署職場生涯 5.2.1善用慈濟資源‧提升職涯就業力.
§4 连续型随机变量.
BP-450 使用说明.
查表法&電腦IO Port二進制轉七段顯示器
Arduino 藍牙通訊模組.
變數、資料型態、運算子.
第2章 Java语言基础.
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
6.1.1 平方根.
資料!你家住哪裏? --談指標 綠園.
第2章 Arduino编程.
Presentation transcript:

SWITCH&7-SEG元件控制 嵌入式作業系統實作 11/17

週邊I/O map IO_REG0 0X0C00 7 Segment(七段顯示器) IO_REG1 0X0C02 offset 說明 IO_REG0 0X0C00 7 Segment(七段顯示器) IO_REG1 0X0C02 Switch和Keypad讀入 IO_REG2 0X0C04 LED和Keypad Scan輸出 Ox3F00C06 IO_REG2 2byte = 16bits Ox3F00C04 IO_REG1 2byte = 16bits Ox3F00C02 IO_REG0 2byte = 16bits Ox3F00C00 Ox3F00000

各I/O之位元定義 7 6 5 4 3 2 1 15 14 13 12 11 10 9 8 IO_REG0 IO_REG1 IO_REG2 15 14 13 12 11 10 9 8 IO_REG0 SEG_H SEG_G SEG_F SEG_E SEG_D SEG_C SEG_B SEG_A COM3 COM2 COM1 COM0 IO_REG1 S1.7 S1.6 S1.5 S1.4 S1.3 S1.2 S1.1 S1.0 SCAN_ I3 I2 I1 I0 IO_REG2 SCAN_O3 SCAN_O2 SCAN_O1 SCAN_O0 D7 D6 D5 D4 D3 D2 D1 D0 bit Reg

DIP Switch & 7 Segment DIP SWITCH 7 Segment Creator提供之switch(S1.0~S1.7),邏輯0代表ON,邏輯1代表OFF 7 Segment Creator提供之7段顯示器的7個LED(SEG_A~SEG_G)以及1個小數點(SEG_H),邏輯0代表亮,邏輯1代表滅

7 Segment  IO_REG0 = 0xfe92 (在COM0顯示5) COM0 = 0 則 D5 會亮 若要顯示數字5,則 SEG_A = SEG_F = SEG_G = SEG_C = SEG_D = 0 SEG_B = SEG_E = SEG_H = 1  IO_REG0 = 0xfe92 (在COM0顯示5)

7 Segment 數字 0xc0 1 0xf9 2 0xa4 3 0xb0 4 0x99 5 0x92 6 0x82 7 0xd8 8 SEG_H SEG_G SEG_F SEG_E SEG_D SEG_C SEG_B SEG_A 0xc0 1 0xf9 2 0xa4 3 0xb0 4 0x99 5 0x92 6 0x82 7 0xd8 8 0x80 9 0x98

使SEG_A~SEG_H不亮 並且關閉COM0~COM3 顯示多個七段顯示器一同顯示 由於IO_REG0只有一組顯示七段顯示器的輸出,而4510的版子卻有4組七段顯示器,如何一起顯示出多個七段顯示器 ? 利用RC充放電非瞬間 可完成 使SEG_A~SEG_H不亮 並且關閉COM0~COM3 重新輸入想要的COM 以及七段顯器 Delay(10) 使其充電達到一定亮度

變數定義 (def.h) #define U32 unsigned int #define U16 unsigned short #define S32 int #define S16 short int #define U8 unsigned char #define S8 char #define UL U32 #define UI U16 #define UC U8 #define C S8 #define I S16 #define L S32 /*** return flag ***/ #define OK 1 #define YES 1 #define ON 1 #define TRUE 1 #define FALSE 0 #define UM 0 #define OFF 0 #define NO 0 #define STRMATCH 0

Example UC ch; ch = IO_REG1; Ch為8 bits變數, IO_REG1為16 bits 故 ch = IO_REG1 取 IO_REG1 較低8位元為變數存放值 7 6 5 4 3 2 1 0 IO_REG1 S1.7 S1.6 S1.5 S1.4 S1.3 S1.2 S1.1 S1.0 SCAN_ I3 I2 I1 I0 15 14 13 12 11 10 9 8

範例程式 //number array int number[10] = {0x0fc0, 0x0ff9, 0x0fa4, 0x0fb0, 0x0f99,0x0f92, 0x0f82, 0x0fD8, 0x0f80, 0x0f98}; //segment array int seg[4] = {0x0eff, 0x0dff, 0x0bff, 0x07ff};

範例程式 void segment(int com, int value) { //what segment will light IO_REG0 = seg[com]; //what number will light IO_REG0 &= number[value]; }

範例程式(1) int main(void) { unsigned char dip; while(1) { segment(3,7); //display “7” in COM3 } return 0;

範例程式(2) int main(void) { unsigned char dip; while(1) { IO_REG0 = 0x0fff; //clear all seg & com segment(3,7); Delay(10); segment(2,6); // display “7” in COM3 and “6” in COM2 } return 0;

實習 實習一:將範例上的七階顯示器的程式改成顯示為閃爍的〝5684〞 實習二:將範例上的七階顯示器的程式改成以SWITCH的二進位來控制的七 段顯示器(範圍0~255,顯示為10進位) EX:  00000111b  “7”  0007 實習三:實作出一個可即時改變上數下數的記數器,每0.4s跳動一次,並以swtich0做開關控制(範圍0~9999) (swtch0 off = 上數) (swtch0 ON = 下數) (當9999往上數0000) (當0000往下數9999) 作完請找助教檢查