4-16 SLEEP0 HT66F70A.

Slides:



Advertisements
Similar presentations
等可能性事件的概率(二) 上虞春晖中学数学组欢迎你! 1 本课件制作于 §10.5 等可能事件 的概率 ( 二 )
Advertisements

第一节三 怎样实现合理膳食. 饮食与健康 探 究 竟探 究 竟 1. 根据课本后的部分食物营养成分表(附表一),分组将聪聪和明明一天所吃的 食物重量分别换算成糖类、蛋白质、脂肪和钙的重量。 聪聪(女 12 岁)明明(男 13 岁) 鸡 蛋 75g 油 条 200g 牛 奶 250g.
《地方名人文化资源网站的建设与应用研究》. 乐至名人 叶 镛 KJ09001 乐至县吴仲良中学 邓祖明.
計算機程式語言實習課.
科學論文 鰂魚涌街的衛生情況 作者:廖梓芯 學校:北角官立上午小學 班級:P.5A.
C语言程序设计 主讲教师 :张群燕 电话:
簡報大綱 前言 為何會有異質採購最低標 異質採購最低標法令規定 各種決標方式之履約成果分析.
作者簡介 路寒袖.
教 师:曾晓东 电 话: E_mail: 计算机软件技术基础 教 师:曾晓东 电 话: E_mail:
《成佛之道》序~第三章 圓融 /
第一章 C语言概述 计算机公共教学部.
大气的受热过程 周南中学.
第8章低功耗设计问题 功耗问题是近几年来人们在嵌入式系统的设计中普遍关注的难点和热点,它严重地制约着嵌入式系统的应用与发展。
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 霹靂燈 2018年11月7日 8051 單晶片實習---E0902霹靂燈.
C语言程序设计 第十二章 位运算.
第七章 MSP430時脈計時器A模組.
补充内容 结构体 概述 定义结构体类型和定义结构体变量 结构体变量的引用 结构体变量的初始化 指针与结构体 用typedef定义类型的别名.
第3章 C 語言的基本知識.
第十一章 复位、时钟和省电方式控制.
2-1 接腳說明 2018/11/30 第2章 系統分析.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
微處理機-期末專題報告 骰骰子 四電通一A 4990D027 劉志彥 四電通一A 4990D033 王俊龍.
嵌入式系統進階 日期 : 2018/12/4.
5-8 光遮斷器控制實習.
介面設計專題實務 Object Teaching of Interface Design 實驗五 CPU計時器實驗
4-13 ETM輸出PWM HT66F70A.
用開關選擇動作狀態 單晶片微電腦控制實習 輸入埠基礎實習 國立大甲高工 電機科 2019年1月16日
第三节 整数类型.
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
4-15 WDT HT66F50.
Holtek C Compiler V3--advanced
性騷擾之調查與防治 主講人:龜山分局 家防官 劉淑卿.
第七單元 正反器 (教科書第四章) 數位系統實驗
办公自动化基础 主讲教师:韩伟颖. 办公自动化基础 主讲教师:韩伟颖 第十章 数据的处理与分析 10.1 数据排序 10.2 数据筛选 10.3 分类汇总 10.4 创建与编辑图表.
C语言复习3----指针.
5-13 串列通訊實習.
綠色能源.
单片机原理与应用 主讲人:张荣刚 福建师范大学福清分校.
程式設計期末測驗 通訊一甲 B 楊穎穆.
第11章 位运算 为了节省内存空间,在系统软件中常将多个标志状态简单地组合在一起,存储到一个字节(或字)中。C语言是为研制系统软件而设计的,所以她提供了实现将标志状态从标志字节中分离出来的位运算功能。 所谓位运算是指,按二进制位进行的运算。 11.1 数值在计算机中的表示 11.2.
基本IO.
4-10 STM Timer/Counter 與比較吻合輸出
4-9 CTM Timer/Counter Moded 控制實驗
C语言程序设计 李祥 QQ:
4.19 Fsys _ SLOW MODE HT66F70A.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
數位邏輯設計與實習 Ch08實驗室實習.
4-12 外部中斷 HT66F70A.
第二章 类型、对象、运算符和表达式.
单片机原理及应用 实践部分 主讲人:刘 强 四川工商学院单片机教学团队 单片机原理及应用 实践部分 主讲人:刘 强
第二章 基本数据类型 ——数据的表示.
自停式向下計數器 通訊一甲 B 楊穎穆.
#include <iostream.h>
利用HT66F50 SIM模組單元中PCK腳位輸出特性 控制speaker 發聲 SIM 串列界面模組
4-14 類比中斷 HT66F70A.
遙控車程式流程圖規劃 學號:B 姓名:楊 穎 穆 老師:田 慶 誠.
第十二章 位运算.
4.11 ADC.
《数据结构与算法设计》第一部分 面向对象的C++程序设计基础.
单片机应用技术 (C语言版) 第4章 C51程序设计入门
查表法&電腦IO Port二進制轉七段顯示器
微算機(二) -- ADC0804 measurement
LED Pili LED 中州技術學院 電子系 副教授 余文俊.
第二章 计算机中的信息表示.
6-1磁的基本概念 沒有磁沒有人類 磁力的由來 磁能
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
4-13 ETM輸出PWM HT66F50.
Lab#9 Serial Port 實驗.
微 處 理 機 專 題 – 8051 C語言程式設計 主題:階乘計算
2-4 中斷.
Presentation transcript:

4-16 SLEEP0 HT66F70A

操作選擇結構

SMOD 控制暫存器 Bit [7:5] : CKS[2:0] 系統時脈選擇位元 Bit [4] : FSTEN 快速喚醒功能控制位元 NAME CKS2 CKS1 CKS0 FSTEN LTO HTO IDLEN HLCLK Bit 7 6 5 4 3 2 1 Bit [7:5] : CKS[2:0] 系統時脈選擇位元 僅HLCLK=「0」時有效,此時系統時脈為 : 000 : fsys=fSUB(fLXT或fLIRC) 100 : fsys=fH/16 001 : fsys=fSUB(fLXT或fLIRC) 101 : fsys=fH/8 010 : fsys=fH/64 110 : fsys=fH/4 011 : fsys=fH/32 111 : fsys=fH/2 Bit [4] : FSTEN 快速喚醒功能控制位元 1 = 致能快速喚醒功能 0 = 禁能快速喚醒功能 Bit [3] : LTO 低頻系統震盪器狀態旗標 1 = 低頻系統震盪器已經備妥 0 = 低頻系統震盪器尚未備妥 Bit [2] : HTO 高頻系統震盪器狀態旗標 1 = 高頻系統震盪器已經備妥 0 = 高頻系統震盪器尚未備妥

SMOD 控制暫存器 Bit [1] : IDLEN 「IDLE」模式控制位元 Bit [0] : HLCLK 系統時脈選擇位元 NAME CKS2 CKS1 CKS0 FSTEN LTO HTO IDLEN HLCLK Bit 7 6 5 4 3 2 1 Bit [1] : IDLEN 「IDLE」模式控制位元 1 = 致能「IDLE」模式 0 = 禁能「IDLE」模式 Bit [0] : HLCLK 系統時脈選擇位元 1 : fsys = fH 0 : fsys = fL或fH/2~ fH/64

SLEEP0 IDLEN(SMOD暫存器) = 0 LVDEN位元(LVDC暫存器) = 0 執行「HALT」指令 進入後關閉CPU、停止fsub與fH供應、關閉WDT功能 喚醒省電模式 外部硬體重置 WDT計時溢位重置 中斷喚醒 PA 1-> 0位準變化

4-16 SLEEP0 #include <HT66F70A.h> #define SEG_Port _pc #define SEG_PortC _pcc #define wake_up _pa3 #define wake_upC _pac3 #define wake_upPU _papu3 #define SW0 _pa4 #define SW0C _pac4 #define SW0PU _papu4 //外部中斷INT0 PA.4 Wake-up 喚醒 CPU typedef unsigned char u8; typedef unsigned short u16; const u8 SEG_TAB[] = { //七段顯示器顯示碼(共陰) 0x3F,0x06,0x5B,0x4F,0x66, 0x6D,0x7D,0x07,0x7F,0x67}; void Delay100us(u16); //函式原型宣告 u8 i=0,SLP_count=50; //將i與SLP_count設為全域並設定初值

主程式 void main() { _wdtc=0b10101111; //關閉看門狗計時器 SEG_PortC=0x00; //規劃SEG_Port為輸出模式 wake_upC=1; wake_upPU=1; //規劃wake_up為輸入模式並啟用內部提升電阻 SW0C=1; SW0PU=1; //規劃SW0為輸入模式並啟用內部提升電阻 _pawu4=1; //設定PA4快速喚醒功能 _integ=0b00000010; //設定INT0觸發條件 _ifs0=0b00000000; //設定INT0輸入腳位 _idlen=0; _lvden=0; _emi=1; //致能中斷致能位元 while(1) { SEG_Port=SEG_TAB[i]; //查表並遞增索引值 if(!SW0) { if(++i>9)i=0; SLP_count=50; } //重置計數 Delay100us(1000); //延遲0.1毫秒 if(--SLP_count==0) //當按鈕5秒後未按下即進入省電模式 { SEG_Port=0x00; _int0e=1; //致能INT0 GCC_HALT(); } //進入省電模式 }

副程式 void Delay100us(u16 del) //延遲del*200指令週期 { u16 k,j; //@fSYS=8MH,延遲del*100us for(k=0;k<del;k++) for(j=0;j<=25;j++) GCC_NOP(); } DEFINE_ISR(ISR_INT0,0x04) //外部中斷喚醒並使七段顯示器由a~g輪流點亮 { u8 j; u16 k; SEG_Port=0x80; for(j=0;j<7;j++) { SEG_Port=SEG_Port>>1; for(k=0;k<25000;k++)GCC_NOP();} _int0f=0; //清除INT0旗標 _int0e=0; //禁能INT0 SLP_count=50; //重置計數