




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 程序架构include HY11P35.inc ;35头文件include MyDefine.h ;自定义头文件include MyMacro.h ;自定义宏org 00h ;nopjmp Reset ;org 04h ;中断入口地址nop ;include IntISR.asm ;这两句也可JMP IntIsr中断处理程序Reset:call SystemInit ;call SoftwareInit ;;调试段DEFINE TESTAD = 0 ;选择编绎IF TESTAD = 1 ;Test_AD: jmp Test_AD ;ELSE ;ENDIF ;;MainLoop: JB Flag0, F_AutoOff, StopMode ;。;用户程序jmp MainLoop ;StopMode: call DataStoring ;数据存储call CloseDevices ;关闭设备CLR_ INTF1 ;清中断标志nop ;NOP必须nop SLP睡眠;nop ;nop ; ;NOP必须jmp Reset ; Include file ;include Init.asm ;END二 系统初始化设置LDI MACRO M1, const ; mvl const ; mvf M1,1,0 ; ENDM ;SystemInit: ;1cwdt ;清看门狗2LBSR1 ;当a=1时,选择LBSR所指的块区3,LDI MCKCN1, 00000001b ;内部2M时钟选择NOP;NOP;4LDI MCKCN2, 00000001b ;CPU时钟选择HS_DCK为1M, INST_CK=4uSNOP;NOP;5CLR_ WREG ;清系统相关寄存器 CLR_ Status ; CLR_ PStatus ; CLR_ INTE1 ; CLR_ INTF1 ; CLR_ INTE2 ; CLR_ INTF2 ;6call ClearRAM ;清用户内存7call ClearLCD ;清LCD显示8CALL IO_Port1:;端口初始化LDI PT1DA, 00000100B ;数字模拟口的设置PT1.2为模拟口LDI PT1PU, 01011011B ;输入的上拉设置LDI TRISC1, 10100000B ;端口方向设置LDI PT1, 11011111B ;端口值设置CLR_ PT1M1 ;中断触发方式设置为下降沿。INTEG0=00, INTEG1=00CLR_ PT1M2 ;9LDI OPCN1, 01001011B ;运算放大器的设置正负输入端分别为AI7, AI6,;输入正向偏移量 LNOP1暂不开启,先准备好。10CALLInitADC;AD-LCD相关初始化LDI MCKCN3, 01001000b ;LCD工作频率为PERA-CK/4,PERA-CK时钟源选择HS-DCK/32LDI PWRCN, 11110000b ;稳压电源VDDA启用,稳压2。4V,开启ACM参考电压call Delay10ms ; 等待电压稳定 LDI LVDCN, 00001111b ;VLDX=0101(1.2V)清低电标志,检测P12口电压与1。2V的比较call Delay10ms ; 等待电压稳定LDI ADCCN1, 00011110b ;先设置好增益倍率16*8=128,其它先关闭;LDI ADCCN2, 00001101b ; VREGN=1(VR1/2),参考电压的设置,DCSET=101(-1/4),0点偏移的设置,此处很重要。LDI ADCCN3, 11000000b ;ADC速率设置LDI AINET1, 01101100b ;LDI AINET2, 01000110b ;LDI LCDCN1, 11011100b ;VLCDX=01=3.05V内部,1/3BIAS,ENLCD(开启)LDI LCDCN2, 01100000b ; 1/4 duty11LDI TMACN, 11010000b ; Timer启动F TMA/16 PERA_CK关WDT13BSF ADCCN1, ENADC ; BSF INTE1, ADCIE ;BSF INTE1, TMAIE ; BSF INTE1, GIE ;三运算放大器加捕获配合定时器B,可以测频率,可用于人体测脂电阻。CCP0Init: ;捕捉模式初始化LDI OPCN1, 01001011B ;运算放大器的设置正负输入端分别为AI7, AI6,;输入正向偏移量 LNOP1暂不开启,先准备好。BSF OPCN1, ENOP ;开启运放LDI CCPCN, 00000111B ;CCP0M=0111(16 raise edge)16次捕获事件产生一次中断,定时器B计一次数LDI TMBCN, 10000100B ;TMBS=00(TM_CK/1)定时器B速率CLRF TMBRH ;清16位计数器CLRF TMBRL ;BSF INTE2, CCP0IE ;开启捕获中断BSF INTE1, GIE ;开启总中断当预定捕获的次数完成,读取定时器B的计数,即可算出频率。四: 查表示例标准字符LCD显示代码表格Table_LCD: ; addf PCLATL, 1, 0 ; RETL 01011111B ;0 RETL 00000110B ;1 RETL 01101011B ;2 RETL 00101111B ;3 RETL 00110110B ;4; -; RETL 00111101B ;5 RETL 01111101B ;6 RETL 00000111B ;7 RETL 01111111B ;8 RETL 00111111B ;9使用: mvf LCD_BUF, 0, 0 ; call Table_LCD ; mvf Char1, 1, 0 ; Char1为LCD RAM。五跳转示例KeyScan: ; mvf KS_Status, 0, 0 ; KS_Status-A jmp Table_KeyScan ;Table_KeyScan: ; addf PCLATL, 1, 0 ;根据偏移量跳转 rj KeyScan00 ; rj KeyScan01 ; rj KeyScan02 ;六注意事项IC内部提供的LCD驱动电压VLCD误差达到正负10%,需谨慎使用。进入中断时硬件自动关总中断,离开中断时硬件自动开总中断。须自已手动保护ACC,STATUS等寄存器。七H08A指令集八系统寄存器九头文件;=; Filename: HY11P35.inc; Chip : HY11P35; Author : Gary GUO; Date : 2012-08-08; Usage : Register Address Definition;=;*; System Register Address 000h-199h ;*;-; Indirect data memory(address data) ;-;INDF0 EQU 000h ;Contents of FSR0 to address data memory-value of FSR0 not changedPOINC0 EQU 001h ;Contents of FSR0 to address data memory-value of FSR0 post-incrementedPODEC0 EQU 002h ;Contents of FSR0 to address data memory-value of FSR0 post-incrementedPRINC0 EQU 003h ;Contents of FSR0 to address data memory-value of FSR0 pre-incrementedPLUSW0 EQU 004h ;Contents of FSR0 to address data memory-value of FSR0 offset by W;-;INDF1 EQU 005h ;Contents of FSR0 to address data memory-value of FSR1 not changedPOINC1 EQU 006h ;Contents of FSR0 to address data memory-value of FSR1 post-incrementedPODEC1 EQU 007h ;Contents of FSR0 to address data memory-value of FSR1 post-incrementedPRINC1 EQU 008h ;Contents of FSR0 to address data memory-value of FSR1 pre-incrementedPLUSW1 EQU 009h ;Contents of FSR0 to address data memory-value of FSR1 offset by W;-; Indirect data memory(address point) ;-;FSR0H EQU 00fh ;FSR0H9:8FSR0L EQU 010h ;FSR0H7:0;-;FSR1H EQU 011h ;FSR1H9:8FSR1L EQU 012h ;FSR1H7:0;-; Top-of-Stack (Hight&Low) Byty ;-;TOSH EQU 016h ;TOSH13:8TOSL EQU 017h ;TOSH7:0;-; Stack control register ;-;STKPTR EQU 018h ;STKFL EQU 7 ;STKUN EQU 6 ;STKOV EQU 5 ; EQU 4 ; EQU 3 ;STKPRT2 EQU 2 ;STKPRT1 EQU 1 ;STKPRT0 EQU 0 ;-; Program Counter register ;-;PCLATH EQU 01ah ;PCLATH13:8PCLATL EQU 01bh ;PCLATL7:0;-; Program Memory Table Pointer Hight&Low Byte ;-;TBLPTRH EQU 01dh ;TBLPTRH13:8TBLPTRL EQU 01eh ;TBLPTRL7:0;-; Program Memory Table Latch Hight&Low Byte ;-;TBLDH EQU 01fh ;TBLDL EQU 020h ;-; Product Register of Multiply Hight&Low Byte ;-;PRODH EQU 021h ;PRODL EQU 022h ;-; Interrupt 1 enable register ;-;INTE1 EQU 023h ;GIE EQU 7 ;ADCIE EQU 6 ;TMCIE EQU 5 ;TMBIE EQU 4 ;TMAIE EQU 3 ;WDTIE EQU 2 ;E1IE EQU 1 ;E0IE EQU 0 ;-; Interrupt 2 enable register ;-;INTE2 EQU 024h ;CCP1IE EQU 1 ;CCP0IE EQU 0 ;-; Interrupt 1 flag register ;-;INTF1 EQU 026h ; EQU 7 ;ADCIF EQU 6 ;TMCIF EQU 5 ;TMBIF EQU 4 ;TMAIF EQU 3 ;WDTIF EQU 2 ;E1IF EQU 1 ;E0IF EQU 0 ;-; Interrupt 2 flag register ;-;INTF2 EQU 027h ;CCP1IF EQU 1 ;CCP0IF EQU 0 ;-; Working register ;-;WREG EQU 029h ;-; Memory Aear for read or write flag ;-;BSRCN EQU 02ah ;BSR EQU 0 ;-; Status register ;-;STATUS EQU 02bh ;C EQU 4 ;DC EQU 3 ;N EQU 2 ;OV EQU 1 ;Z EQU 0 ;-; Chip opration status register ;-;PSTATUS EQU 02ch ;PD EQU 7 ;TO EQU 6 ;IDLEB EQU 5 ;BOR EQU 4 ; EQU 3 ;SKERR EQU 2 ; EQU 1 ; EQU 0 ;-; Low voltage detect register ;-;LVDCN EQU 02dh ; EQU 7 ;LVDFG EQU 6 ;LVD EQU 5 ;LVDON EQU 4 ;VLDX3 EQU 3 ;VLDX2 EQU 2 ;VLDX1 EQU 1 ;VLDX0 EQU 0 ;-; Power system control register ;-;PWRCN EQU 030h ;ENVDDA EQU 7 ;VDDAX1 EQU 6 ;VDDAX0 EQU 5 ;ENACM EQU 4 ;-; Work clock control 1 register ;-;MCKCN1 EQU 031h ;ADCS2 EQU 7 ;ADCS1 EQU 6 ;ADCS0 EQU 5 ;ADCCK EQU 4 ;XTHSP EQU 3 ;XTSP EQU 2 ;ENXT EQU 1 ;ENHAO EQU 0 ;-; System clock control 2 register ;-;MCKCN2 EQU 032h ;LSCK EQU 5 ;HSCK EQU 4 ;HSS1 EQU 3 ;HSS0 EQU 2 ;CPUCK1 EQU 1 ;CPUCK0 EQU 0 ;-; Periphery clock control register ;-;MCKCN3 EQU 033h ;LCDS2 EQU 7 ;LCDS1 EQU 6 ;LCDS0 EQU 5 ; EQU 4 ;PERCK EQU 3 ;BZS2 EQU 2 ;BZS1 EQU 1 ;BZS0 EQU 0 ;-; Low Noise OPAMP control register ;-;OPCN1 EQ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年化工工艺工程师面试题及解析
- 2025年计算机编程技能测试模拟题集PythonJava等含答案解析
- 2025年特岗教师招聘笔试初中地理高频考点归纳与解析
- 2025年银行安保岗位保安业务笔试题目及答案
- 骨质疏松的概念症状临床诊断及护理要点
- 甲状腺彩超课件
- 甲烷和烷烃课件
- 中班小朋友教学课件模板
- 书签超链接的教学课件
- 江苏苏州2020-2022年中考满分作文41篇
- DB65-T 4846-2024 工贸行业企业重大事故隐患认定
- 化学实验室通风柜安装安全操作规程
- 【川剧剧本欣赏】《白蛇传》
- 放射科护理服务规范礼仪课件
- 机场绿化应急预案及保障措施
- 鼻腔内窥镜上颌窦手术配合
- 充电桩安装与使用管理制度
- 海尔采购管理
- 《跨境电商基础与实务》全套教学课件
- 物料提升机安全知识培训
- 出生医学证明警示教育培训
评论
0/150
提交评论